feat: noDojoRoomBuildStage cheat
All checks were successful
Build / build (22) (push) Successful in 36s
Build / build (18) (pull_request) Successful in 39s
Build / build (22) (pull_request) Successful in 51s
Build / build (20) (pull_request) Successful in 1m1s
Build / build (20) (push) Successful in 51s
Build / build (18) (push) Successful in 1m5s

This commit is contained in:
Sainan 2025-03-03 14:56:24 +01:00
parent fa793e49ca
commit b1c6f63652
6 changed files with 23 additions and 8 deletions

View File

@ -32,6 +32,7 @@
"unlockArcanesEverywhere": true,
"noDailyStandingLimits": true,
"instantResourceExtractorDrones": false,
"noDojoRoomBuildStage": true,
"noDojoResearchCosts": true,
"noDojoResearchTime": true,
"spoofMasteryRank": -1

View File

@ -3,6 +3,7 @@ import { IDojoComponentClient } from "@/src/types/guildTypes";
import { getDojoClient, getGuildForRequest } from "@/src/services/guildService";
import { Types } from "mongoose";
import { ExportDojoRecipes } from "warframe-public-export-plus";
import { config } from "@/src/services/configService";
interface IStartDojoRecipeRequest {
PlacedComponent: IDojoComponentClient;
@ -20,14 +21,20 @@ export const startDojoRecipeController: RequestHandler = async (req, res) => {
guild.DojoEnergy += room.energy;
}
guild.DojoComponents.push({
_id: new Types.ObjectId(),
pf: request.PlacedComponent.pf,
ppf: request.PlacedComponent.ppf,
pi: new Types.ObjectId(request.PlacedComponent.pi!.$oid),
op: request.PlacedComponent.op,
pp: request.PlacedComponent.pp
});
const component =
guild.DojoComponents[
guild.DojoComponents.push({
_id: new Types.ObjectId(),
pf: request.PlacedComponent.pf,
ppf: request.PlacedComponent.ppf,
pi: new Types.ObjectId(request.PlacedComponent.pi!.$oid),
op: request.PlacedComponent.op,
pp: request.PlacedComponent.pp
}) - 1
];
if (config.noDojoRoomBuildStage) {
component.CompletionTime = new Date(Date.now());
}
await guild.save();
res.json(getDojoClient(guild, 0));
};

View File

@ -58,6 +58,7 @@ interface IConfig {
unlockArcanesEverywhere?: boolean;
noDailyStandingLimits?: boolean;
instantResourceExtractorDrones?: boolean;
noDojoRoomBuildStage?: boolean;
noDojoResearchCosts?: boolean;
noDojoResearchTime?: boolean;
spoofMasteryRank?: number;

View File

@ -521,6 +521,10 @@
<input class="form-check-input" type="checkbox" id="instantResourceExtractorDrones" />
<label class="form-check-label" for="instantResourceExtractorDrones" data-loc="cheats_instantResourceExtractorDrones"></label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="noDojoRoomBuildStage" />
<label class="form-check-label" for="noDojoRoomBuildStage" data-loc="cheats_noDojoRoomBuildStage"></label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="noDojoResearchCosts" />
<label class="form-check-label" for="noDojoResearchCosts" data-loc="cheats_noDojoResearchCosts"></label>

View File

@ -112,6 +112,7 @@ dict = {
cheats_unlockArcanesEverywhere: `Arcane Adapters Everywhere`,
cheats_noDailyStandingLimits: `No Daily Standing Limits`,
cheats_instantResourceExtractorDrones: `Instant Resource Extractor Drones`,
cheats_noDojoRoomBuildStage: `No Dojo Room Build Stage`,
cheats_noDojoResearchCosts: `No Dojo Research Costs`,
cheats_noDojoResearchTime: `No Dojo Research Time`,
cheats_spoofMasteryRank: `Spoofed Mastery Rank (-1 to disable)`,

View File

@ -113,6 +113,7 @@ dict = {
cheats_unlockArcanesEverywhere: `Адаптеры для мистификаторов везде`,
cheats_noDailyStandingLimits: `Без ежедневных ограничений репутации`,
cheats_instantResourceExtractorDrones: `[UNTRANSLATED] Instant Resource Extractor Drones`,
cheats_noDojoRoomBuildStage: `[UNTRANSLATED] No Dojo Room Build Stage`,
cheats_noDojoResearchCosts: `[UNTRANSLATED] No Dojo Research Costs`,
cheats_noDojoResearchTime: `[UNTRANSLATED] No Dojo Research Time`,
cheats_spoofMasteryRank: `Подделанный ранг мастерства (-1 для отключения)`,