feat: noKimCooldowns cheat
All checks were successful
Build / build (push) Successful in 1m27s

This commit is contained in:
Sainan 2025-04-13 05:21:08 +02:00
parent 20326fdaa0
commit 5780648bca
5 changed files with 11 additions and 1 deletions

View File

@ -32,6 +32,7 @@
"noArgonCrystalDecay": false, "noArgonCrystalDecay": false,
"noMasteryRankUpCooldown": false, "noMasteryRankUpCooldown": false,
"noVendorPurchaseLimits": true, "noVendorPurchaseLimits": true,
"noKimCooldowns": false,
"instantResourceExtractorDrones": false, "instantResourceExtractorDrones": false,
"noDojoRoomBuildStage": false, "noDojoRoomBuildStage": false,
"noDecoBuildStage": false, "noDecoBuildStage": false,

View File

@ -1,4 +1,5 @@
import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel"; import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
import { config } from "@/src/services/configService";
import { addEmailItem, getInventory, updateCurrency } from "@/src/services/inventoryService"; import { addEmailItem, getInventory, updateCurrency } from "@/src/services/inventoryService";
import { getAccountIdForRequest } from "@/src/services/loginService"; import { getAccountIdForRequest } from "@/src/services/loginService";
import { ICompletedDialogue, IDialogueDatabase } from "@/src/types/inventoryTypes/inventoryTypes"; import { ICompletedDialogue, IDialogueDatabase } from "@/src/types/inventoryTypes/inventoryTypes";
@ -24,7 +25,9 @@ export const saveDialogueController: RequestHandler = async (req, res) => {
throw new Error("bad inventory state"); throw new Error("bad inventory state");
} }
const inventoryChanges: IInventoryChanges = {}; const inventoryChanges: IInventoryChanges = {};
const tomorrowAt0Utc = (Math.trunc(Date.now() / 86400_000) + 1) * 86400_000; const tomorrowAt0Utc = config.noKimCooldowns
? Date.now()
: (Math.trunc(Date.now() / 86400_000) + 1) * 86400_000;
inventory.DialogueHistory.Dialogues ??= []; inventory.DialogueHistory.Dialogues ??= [];
const dialogue = getDialogue(inventory, request.DialogueName); const dialogue = getDialogue(inventory, request.DialogueName);
dialogue.Rank = request.Rank; dialogue.Rank = request.Rank;

View File

@ -38,6 +38,7 @@ interface IConfig {
noArgonCrystalDecay?: boolean; noArgonCrystalDecay?: boolean;
noMasteryRankUpCooldown?: boolean; noMasteryRankUpCooldown?: boolean;
noVendorPurchaseLimits?: boolean; noVendorPurchaseLimits?: boolean;
noKimCooldowns?: boolean;
instantResourceExtractorDrones?: boolean; instantResourceExtractorDrones?: boolean;
noDojoRoomBuildStage?: boolean; noDojoRoomBuildStage?: boolean;
noDojoDecoBuildStage?: boolean; noDojoDecoBuildStage?: boolean;

View File

@ -607,6 +607,10 @@
<input class="form-check-input" type="checkbox" id="noVendorPurchaseLimits" /> <input class="form-check-input" type="checkbox" id="noVendorPurchaseLimits" />
<label class="form-check-label" for="noVendorPurchaseLimits" data-loc="cheats_noVendorPurchaseLimits"></label> <label class="form-check-label" for="noVendorPurchaseLimits" data-loc="cheats_noVendorPurchaseLimits"></label>
</div> </div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="noKimCooldowns" />
<label class="form-check-label" for="noKimCooldowns" data-loc="cheats_noKimCooldowns"></label>
</div>
<div class="form-check"> <div class="form-check">
<input class="form-check-input" type="checkbox" id="instantResourceExtractorDrones" /> <input class="form-check-input" type="checkbox" id="instantResourceExtractorDrones" />
<label class="form-check-label" for="instantResourceExtractorDrones" data-loc="cheats_instantResourceExtractorDrones"></label> <label class="form-check-label" for="instantResourceExtractorDrones" data-loc="cheats_instantResourceExtractorDrones"></label>

View File

@ -136,6 +136,7 @@ dict = {
cheats_noArgonCrystalDecay: `No Argon Crystal Decay`, cheats_noArgonCrystalDecay: `No Argon Crystal Decay`,
cheats_noMasteryRankUpCooldown: `No Mastery Rank Up Cooldown`, cheats_noMasteryRankUpCooldown: `No Mastery Rank Up Cooldown`,
cheats_noVendorPurchaseLimits: `No Vendor Purchase Limits`, cheats_noVendorPurchaseLimits: `No Vendor Purchase Limits`,
cheats_noKimCooldowns: `No KIM Cooldowns`,
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_noDojoDecoBuildStage: `No Dojo Deco Build Stage`, cheats_noDojoDecoBuildStage: `No Dojo Deco Build Stage`,