feat: dojo room destruction stage #1089
@ -33,6 +33,7 @@
 | 
				
			|||||||
  "noDailyStandingLimits": true,
 | 
					  "noDailyStandingLimits": true,
 | 
				
			||||||
  "instantResourceExtractorDrones": false,
 | 
					  "instantResourceExtractorDrones": false,
 | 
				
			||||||
  "noDojoRoomBuildStage": true,
 | 
					  "noDojoRoomBuildStage": true,
 | 
				
			||||||
 | 
					  "fastDojoRoomDestruction": true,
 | 
				
			||||||
  "noDojoResearchCosts": true,
 | 
					  "noDojoResearchCosts": true,
 | 
				
			||||||
  "noDojoResearchTime": true,
 | 
					  "noDojoResearchTime": true,
 | 
				
			||||||
  "spoofMasteryRank": -1
 | 
					  "spoofMasteryRank": -1
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,4 @@
 | 
				
			|||||||
 | 
					import { config } from "@/src/services/configService";
 | 
				
			||||||
import { getDojoClient, getGuildForRequest } from "@/src/services/guildService";
 | 
					import { getDojoClient, getGuildForRequest } from "@/src/services/guildService";
 | 
				
			||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -5,7 +6,9 @@ export const queueDojoComponentDestructionController: RequestHandler = async (re
 | 
				
			|||||||
    const guild = await getGuildForRequest(req);
 | 
					    const guild = await getGuildForRequest(req);
 | 
				
			||||||
    const componentId = req.query.componentId as string;
 | 
					    const componentId = req.query.componentId as string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    guild.DojoComponents.id(componentId)!.DestructionTime = new Date(Date.now() + 2 * 3600_000);
 | 
					    guild.DojoComponents.id(componentId)!.DestructionTime = new Date(
 | 
				
			||||||
 | 
					        Date.now() + (config.fastDojoRoomDestruction ? 5_000 : 2 * 3600_000)
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await guild.save();
 | 
					    await guild.save();
 | 
				
			||||||
    res.json(await getDojoClient(guild, 0, componentId));
 | 
					    res.json(await getDojoClient(guild, 0, componentId));
 | 
				
			||||||
 | 
				
			|||||||
@ -59,6 +59,7 @@ interface IConfig {
 | 
				
			|||||||
    noDailyStandingLimits?: boolean;
 | 
					    noDailyStandingLimits?: boolean;
 | 
				
			||||||
    instantResourceExtractorDrones?: boolean;
 | 
					    instantResourceExtractorDrones?: boolean;
 | 
				
			||||||
    noDojoRoomBuildStage?: boolean;
 | 
					    noDojoRoomBuildStage?: boolean;
 | 
				
			||||||
 | 
					    fastDojoRoomDestruction?: boolean;
 | 
				
			||||||
    noDojoResearchCosts?: boolean;
 | 
					    noDojoResearchCosts?: boolean;
 | 
				
			||||||
    noDojoResearchTime?: boolean;
 | 
					    noDojoResearchTime?: boolean;
 | 
				
			||||||
    spoofMasteryRank?: number;
 | 
					    spoofMasteryRank?: number;
 | 
				
			||||||
 | 
				
			|||||||
@ -525,6 +525,10 @@
 | 
				
			|||||||
                                        <input class="form-check-input" type="checkbox" id="noDojoRoomBuildStage" />
 | 
					                                        <input class="form-check-input" type="checkbox" id="noDojoRoomBuildStage" />
 | 
				
			||||||
                                        <label class="form-check-label" for="noDojoRoomBuildStage" data-loc="cheats_noDojoRoomBuildStage"></label>
 | 
					                                        <label class="form-check-label" for="noDojoRoomBuildStage" data-loc="cheats_noDojoRoomBuildStage"></label>
 | 
				
			||||||
                                    </div>
 | 
					                                    </div>
 | 
				
			||||||
 | 
					                                    <div class="form-check">
 | 
				
			||||||
 | 
					                                        <input class="form-check-input" type="checkbox" id="fastDojoRoomDestruction" />
 | 
				
			||||||
 | 
					                                        <label class="form-check-label" for="fastDojoRoomDestruction" data-loc="cheats_fastDojoRoomDestruction"></label>
 | 
				
			||||||
 | 
					                                    </div>
 | 
				
			||||||
                                    <div class="form-check">
 | 
					                                    <div class="form-check">
 | 
				
			||||||
                                        <input class="form-check-input" type="checkbox" id="noDojoResearchCosts" />
 | 
					                                        <input class="form-check-input" type="checkbox" id="noDojoResearchCosts" />
 | 
				
			||||||
                                        <label class="form-check-label" for="noDojoResearchCosts" data-loc="cheats_noDojoResearchCosts"></label>
 | 
					                                        <label class="form-check-label" for="noDojoResearchCosts" data-loc="cheats_noDojoResearchCosts"></label>
 | 
				
			||||||
 | 
				
			|||||||
@ -111,6 +111,7 @@ dict = {
 | 
				
			|||||||
    cheats_noDailyStandingLimits: `No Daily Standing Limits`,
 | 
					    cheats_noDailyStandingLimits: `No Daily Standing Limits`,
 | 
				
			||||||
    cheats_instantResourceExtractorDrones: `Instant Resource Extractor Drones`,
 | 
					    cheats_instantResourceExtractorDrones: `Instant Resource Extractor Drones`,
 | 
				
			||||||
    cheats_noDojoRoomBuildStage: `No Dojo Room Build Stage`,
 | 
					    cheats_noDojoRoomBuildStage: `No Dojo Room Build Stage`,
 | 
				
			||||||
 | 
					    cheats_fastDojoRoomDestruction: `Fast Dojo Room Destruction`,
 | 
				
			||||||
    cheats_noDojoResearchCosts: `No Dojo Research Costs`,
 | 
					    cheats_noDojoResearchCosts: `No Dojo Research Costs`,
 | 
				
			||||||
    cheats_noDojoResearchTime: `No Dojo Research Time`,
 | 
					    cheats_noDojoResearchTime: `No Dojo Research Time`,
 | 
				
			||||||
    cheats_spoofMasteryRank: `Spoofed Mastery Rank (-1 to disable)`,
 | 
					    cheats_spoofMasteryRank: `Spoofed Mastery Rank (-1 to disable)`,
 | 
				
			||||||
 | 
				
			|||||||
@ -112,6 +112,7 @@ dict = {
 | 
				
			|||||||
    cheats_noDailyStandingLimits: `Pas de limite de réputation journalière`,
 | 
					    cheats_noDailyStandingLimits: `Pas de limite de réputation journalière`,
 | 
				
			||||||
    cheats_instantResourceExtractorDrones: `Ressources de drone d'extraction instantannées`,
 | 
					    cheats_instantResourceExtractorDrones: `Ressources de drone d'extraction instantannées`,
 | 
				
			||||||
    cheats_noDojoRoomBuildStage: `No Dojo Room Build Stage`,
 | 
					    cheats_noDojoRoomBuildStage: `No Dojo Room Build Stage`,
 | 
				
			||||||
 | 
					    cheats_fastDojoRoomDestruction: `[UNTRANSLATED] Fast Dojo Room Destruction`,
 | 
				
			||||||
    cheats_noDojoResearchCosts: `Aucun coût de recherche (Dojo)`,
 | 
					    cheats_noDojoResearchCosts: `Aucun coût de recherche (Dojo)`,
 | 
				
			||||||
    cheats_noDojoResearchTime: `Aucun temps de recherche (Dojo)`,
 | 
					    cheats_noDojoResearchTime: `Aucun temps de recherche (Dojo)`,
 | 
				
			||||||
    cheats_spoofMasteryRank: `Spoofed Mastery Rank (-1 to disable)`,
 | 
					    cheats_spoofMasteryRank: `Spoofed Mastery Rank (-1 to disable)`,
 | 
				
			||||||
 | 
				
			|||||||
@ -112,6 +112,7 @@ dict = {
 | 
				
			|||||||
    cheats_noDailyStandingLimits: `Без ежедневных ограничений репутации`,
 | 
					    cheats_noDailyStandingLimits: `Без ежедневных ограничений репутации`,
 | 
				
			||||||
    cheats_instantResourceExtractorDrones: `[UNTRANSLATED] Instant Resource Extractor Drones`,
 | 
					    cheats_instantResourceExtractorDrones: `[UNTRANSLATED] Instant Resource Extractor Drones`,
 | 
				
			||||||
    cheats_noDojoRoomBuildStage: `[UNTRANSLATED] No Dojo Room Build Stage`,
 | 
					    cheats_noDojoRoomBuildStage: `[UNTRANSLATED] No Dojo Room Build Stage`,
 | 
				
			||||||
 | 
					    cheats_fastDojoRoomDestruction: `[UNTRANSLATED] Fast Dojo Room Destruction`,
 | 
				
			||||||
    cheats_noDojoResearchCosts: `[UNTRANSLATED] No Dojo Research Costs`,
 | 
					    cheats_noDojoResearchCosts: `[UNTRANSLATED] No Dojo Research Costs`,
 | 
				
			||||||
    cheats_noDojoResearchTime: `[UNTRANSLATED] No Dojo Research Time`,
 | 
					    cheats_noDojoResearchTime: `[UNTRANSLATED] No Dojo Research Time`,
 | 
				
			||||||
    cheats_spoofMasteryRank: `Подделанный ранг мастерства (-1 для отключения)`,
 | 
					    cheats_spoofMasteryRank: `Подделанный ранг мастерства (-1 для отключения)`,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user