add instantResourceExtractorDrones cheat

This commit is contained in:
Sainan 2025-03-02 17:27:25 +01:00
parent 753f8dff39
commit 76f544693b
6 changed files with 11 additions and 3 deletions

View File

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

View File

@ -1,4 +1,5 @@
import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
import { config } from "@/src/services/configService";
import { addMiscItems, getInventory } from "@/src/services/inventoryService";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { getRandomElement, getRandomInt } from "@/src/services/rngService";
@ -37,10 +38,9 @@ export const dronesController: RequestHandler = async (req, res) => {
ActiveDrones: activeDrones
});
} else if ("droneId" in req.query && "systemIndex" in req.query) {
const instantResourceDrones = true;
const drone = inventory.Drones.id(req.query.droneId as string)!;
const droneMeta = ExportDrones[drone.ItemType];
drone.DeployTime = instantResourceDrones ? new Date(0) : new Date();
drone.DeployTime = config.instantResourceExtractorDrones ? new Date(0) : new Date();
if (drone.RepairStart) {
const repairMinutes = (Date.now() - drone.RepairStart.getTime()) / 60_000;
const hpPerMinute = droneMeta.repairRate / 60;
@ -50,7 +50,7 @@ export const dronesController: RequestHandler = async (req, res) => {
drone.System = parseInt(req.query.systemIndex as string);
const system = ExportSystems[drone.System - 1];
if (Math.random() < system.damageChance) {
drone.DamageTime = instantResourceDrones
drone.DamageTime = config.instantResourceExtractorDrones
? new Date()
: new Date(Date.now() + getRandomInt(3, 4) * 3600_000);
drone.PendingDamage = getRandomInt(system.droneDamage.minValue, system.droneDamage.maxValue);

View File

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

View File

@ -517,6 +517,10 @@
<input class="form-check-input" type="checkbox" id="noDailyStandingLimits" />
<label class="form-check-label" for="noDailyStandingLimits" data-loc="cheats_noDailyStandingLimits"></label>
</div>
<div class="form-check">
<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="noDojoResearchCosts" />
<label class="form-check-label" for="noDojoResearchCosts" data-loc="cheats_noDojoResearchCosts"></label>

View File

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

View File

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