diff --git a/src/controllers/api/infestedFoundryController.ts b/src/controllers/api/infestedFoundryController.ts index 4fa5f6942..0f0833d62 100644 --- a/src/controllers/api/infestedFoundryController.ts +++ b/src/controllers/api/infestedFoundryController.ts @@ -223,6 +223,22 @@ export const infestedFoundryController: RequestHandler = async (req, res) => { break; } + case "custom_unlockall": { + const inventory = await getInventory(accountId); + inventory.InfestedFoundry ??= {}; + inventory.InfestedFoundry.XP ??= 0; + if (151875_00 > inventory.InfestedFoundry.XP) { + const recipeChanges = addInfestedFoundryXP( + inventory.InfestedFoundry, + 151875_00 - inventory.InfestedFoundry.XP + ); + addRecipes(inventory, recipeChanges); + await inventory.save(); + } + res.end(); + break; + } + default: throw new Error(`unhandled infestedFoundry mode: ${String(req.query.mode)}`); } diff --git a/static/webui/index.html b/static/webui/index.html index af629d1fe..e5c4eca8a 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -278,7 +278,8 @@
Account
- +

+
diff --git a/static/webui/script.js b/static/webui/script.js index 160ccfaef..fd7fdf15b 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -955,6 +955,12 @@ function unlockFocusSchool(upgradeType) { }); } +function doHelminthUnlockAll() { + revalidateAuthz(() => { + $.post("/api/infestedFoundry.php?" + window.authz + "&mode=custom_unlockall"); + }); +} + // Powersuit Route single.getRoute("#powersuit-route").on("beforeload", function () {