diff --git a/src/controllers/api/inventoryController.ts b/src/controllers/api/inventoryController.ts index 100f0a1a..13bbd21a 100644 --- a/src/controllers/api/inventoryController.ts +++ b/src/controllers/api/inventoryController.ts @@ -486,19 +486,6 @@ export const getInventoryResponse = async ( } } - if (config.unlockAllSimarisResearchEntries) { - inventoryResponse.LibraryPersonalTarget = undefined; - inventoryResponse.LibraryPersonalProgress = [ - "/Lotus/Types/Game/Library/Targets/Research1Target", - "/Lotus/Types/Game/Library/Targets/Research2Target", - "/Lotus/Types/Game/Library/Targets/Research3Target", - "/Lotus/Types/Game/Library/Targets/Research4Target", - "/Lotus/Types/Game/Library/Targets/Research5Target", - "/Lotus/Types/Game/Library/Targets/Research6Target", - "/Lotus/Types/Game/Library/Targets/Research7Target" - ].map(type => ({ TargetType: type, Scans: 10, Completed: true })); - } - return inventoryResponse; }; diff --git a/src/controllers/custom/unlockAllSimarisResearchEntriesController.ts b/src/controllers/custom/unlockAllSimarisResearchEntriesController.ts new file mode 100644 index 00000000..fae3c55d --- /dev/null +++ b/src/controllers/custom/unlockAllSimarisResearchEntriesController.ts @@ -0,0 +1,20 @@ +import type { RequestHandler } from "express"; +import { getAccountIdForRequest } from "../../services/loginService.ts"; +import { getInventory } from "../../services/inventoryService.ts"; + +export const unlockAllSimarisResearchEntriesController: RequestHandler = async (req, res) => { + const accountId = await getAccountIdForRequest(req); + const inventory = await getInventory(accountId, "LibraryPersonalTarget LibraryPersonalProgress"); + inventory.LibraryPersonalTarget = undefined; + inventory.LibraryPersonalProgress = [ + "/Lotus/Types/Game/Library/Targets/Research1Target", + "/Lotus/Types/Game/Library/Targets/Research2Target", + "/Lotus/Types/Game/Library/Targets/Research3Target", + "/Lotus/Types/Game/Library/Targets/Research4Target", + "/Lotus/Types/Game/Library/Targets/Research5Target", + "/Lotus/Types/Game/Library/Targets/Research6Target", + "/Lotus/Types/Game/Library/Targets/Research7Target" + ].map(type => ({ TargetType: type, Scans: 10, Completed: true })); + await inventory.save(); + res.end(); +}; diff --git a/src/routes/custom.ts b/src/routes/custom.ts index 6f10f563..8f272e33 100644 --- a/src/routes/custom.ts +++ b/src/routes/custom.ts @@ -15,6 +15,7 @@ import { webuiFileChangeDetectedController } from "../controllers/custom/webuiFi import { completeAllMissionsController } from "../controllers/custom/completeAllMissionsController.ts"; import { addMissingHelminthBlueprintsController } from "../controllers/custom/addMissingHelminthBlueprintsController.ts"; import { unlockAllProfitTakerStagesController } from "../controllers/custom/unlockAllProfitTakerStagesController.ts"; +import { unlockAllSimarisResearchEntriesController } from "../controllers/custom/unlockAllSimarisResearchEntriesController.ts"; import { abilityOverrideController } from "../controllers/custom/abilityOverrideController.ts"; import { createAccountController } from "../controllers/custom/createAccountController.ts"; @@ -50,6 +51,7 @@ customRouter.get("/webuiFileChangeDetected", webuiFileChangeDetectedController); customRouter.get("/completeAllMissions", completeAllMissionsController); customRouter.get("/addMissingHelminthBlueprints", addMissingHelminthBlueprintsController); customRouter.get("/unlockAllProfitTakerStages", unlockAllProfitTakerStagesController); +customRouter.get("/unlockAllSimarisResearchEntries", unlockAllSimarisResearchEntriesController); customRouter.post("/abilityOverride", abilityOverrideController); customRouter.post("/createAccount", createAccountController); diff --git a/src/services/configService.ts b/src/services/configService.ts index 0d829b92..28ab1c3c 100644 --- a/src/services/configService.ts +++ b/src/services/configService.ts @@ -33,7 +33,6 @@ export interface IConfig { noDojoResearchCosts?: boolean; noDojoResearchTime?: boolean; fastClanAscension?: boolean; - unlockAllSimarisResearchEntries?: boolean; spoofMasteryRank?: number; relicRewardItemCountMultiplier?: number; nightwaveStandingMultiplier?: number; @@ -105,6 +104,7 @@ export const configRemovedOptionsKeys = [ "unlockExilusEverywhere", "unlockArcanesEverywhere", "unlockAllProfitTakerStages", + "unlockAllSimarisResearchEntries", "noDailyStandingLimits", "noDailyFocusLimit", "noArgonCrystalDecay", diff --git a/static/webui/index.html b/static/webui/index.html index b558edf7..28577b95 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -775,10 +775,6 @@ -
- - -
@@ -788,14 +784,15 @@
- + - + +
diff --git a/static/webui/script.js b/static/webui/script.js index 25f1ffe3..4e3e668c 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -2713,18 +2713,24 @@ async function doMaxPlexus() { } } -async function doUnlockAllMissions() { +async function unlockAllMissions() { await revalidateAuthz(); await fetch("/custom/completeAllMissions?" + window.authz); toast(loc("cheats_unlockAllMissions_ok")); } -async function doUnlockAllProfitTakerStages() { +async function unlockAllProfitTakerStages() { await revalidateAuthz(); await fetch("/custom/unlockAllProfitTakerStages?" + window.authz); toast(loc("cheats_unlockSucc")); } +async function unlockAllSimarisResearchEntries() { + await revalidateAuthz(); + await fetch("/custom/unlockAllSimarisResearchEntries?" + window.authz); + toast(loc("cheats_unlockSucc")); +} + const importSamples = { maxFocus: { FocusUpgrades: [