From d862a6ee4eae9a087084c449e8086b24c96660f4 Mon Sep 17 00:00:00 2001 From: Sainan Date: Mon, 6 Jan 2025 04:46:48 +0100 Subject: [PATCH] feat: infiniteEndo & infiniteRegalAya --- config.json.example | 2 ++ src/controllers/api/inventoryController.ts | 6 ++++++ src/services/configService.ts | 2 ++ src/services/inventoryService.ts | 8 ++++++-- src/services/purchaseService.ts | 3 ++- static/webui/index.html | 8 ++++++++ static/webui/script.js | 2 ++ 7 files changed, 28 insertions(+), 3 deletions(-) diff --git a/config.json.example b/config.json.example index 100dc42d..72cb9d38 100644 --- a/config.json.example +++ b/config.json.example @@ -17,6 +17,8 @@ "completeAllQuests": true, "infiniteCredits": true, "infinitePlatinum": true, + "infiniteEndo": true, + "infiniteRegalAya": true, "unlockAllShipFeatures": true, "unlockAllShipDecorations": true, "unlockAllFlavourItems": true, diff --git a/src/controllers/api/inventoryController.ts b/src/controllers/api/inventoryController.ts index 949cc11f..4b35a54a 100644 --- a/src/controllers/api/inventoryController.ts +++ b/src/controllers/api/inventoryController.ts @@ -74,6 +74,12 @@ export const inventoryController: RequestHandler = async (request, response) => inventoryResponse.PremiumCreditsFree = 999999999; inventoryResponse.PremiumCredits = 999999999; } + if (config.infiniteEndo) { + inventoryResponse.FusionPoints = 999999999; + } + if (config.infiniteRegalAya) { + inventoryResponse.PrimeTokens = 999999999; + } if (config.skipAllDialogue) { inventoryResponse.TauntHistory = [ diff --git a/src/services/configService.ts b/src/services/configService.ts index b2200ec4..43f7c2f1 100644 --- a/src/services/configService.ts +++ b/src/services/configService.ts @@ -43,6 +43,8 @@ interface IConfig { completeAllQuests?: boolean; infiniteCredits?: boolean; infinitePlatinum?: boolean; + infiniteEndo?: boolean; + infiniteRegalAya?: boolean; unlockAllShipFeatures?: boolean; unlockAllShipDecorations?: boolean; unlockAllFlavourItems?: boolean; diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index 652fcaf3..3968fc77 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -908,8 +908,12 @@ export const upgradeMod = async (artifactsData: IArtifactsRequest, accountId: st } } - inventory.RegularCredits -= Cost; - inventory.FusionPoints -= FusionPointCost; + if (!config.infiniteCredits) { + inventory.RegularCredits -= Cost; + } + if (!config.infiniteEndo) { + inventory.FusionPoints -= FusionPointCost; + } const changedInventory = await inventory.save(); const itemId = changedInventory.toJSON().Upgrades[itemIndex]?.ItemId?.$oid; diff --git a/src/services/purchaseService.ts b/src/services/purchaseService.ts index 502f0c21..6e8a38f6 100644 --- a/src/services/purchaseService.ts +++ b/src/services/purchaseService.ts @@ -24,6 +24,7 @@ import { ExportVendors, TRarity } from "warframe-public-export-plus"; +import { config } from "./configService"; export const getStoreItemCategory = (storeItem: string): string => { const storeItemString = getSubstringFromKeyword(storeItem, "StoreItems/"); @@ -152,7 +153,7 @@ export const handlePurchase = async ( purchaseResponse.InventoryChanges.MiscItems ??= []; (purchaseResponse.InventoryChanges.MiscItems as IMiscItem[]).push(invItem); - } else { + } else if (!config.infiniteRegalAya) { inventory.PrimeTokens -= offer.PrimePrice! * purchaseRequest.PurchaseParams.Quantity; } await inventory.save(); diff --git a/static/webui/index.html b/static/webui/index.html index e5c4eca8..9ffd8e88 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -235,6 +235,14 @@ +
+ + +
+
+ + +
diff --git a/static/webui/script.js b/static/webui/script.js index fd7fdf15..b0fa52c6 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -804,6 +804,8 @@ const uiConfigs = [ "completeAllQuests", "infiniteCredits", "infinitePlatinum", + "infiniteEndo", + "infiniteRegalAya", "unlockAllShipFeatures", "unlockAllShipDecorations", "unlockAllFlavourItems",