diff --git a/src/helpers/relicHelper.ts b/src/helpers/relicHelper.ts index be79099f..4b5dee21 100644 --- a/src/helpers/relicHelper.ts +++ b/src/helpers/relicHelper.ts @@ -9,6 +9,7 @@ import { addMiscItems, combineInventoryChanges } from "../services/inventoryServ import { handleStoreItemAcquisition } from "../services/purchaseService.ts"; import type { IInventoryChanges } from "../types/purchaseTypes.ts"; import { config } from "../services/configService.ts"; +import { log } from "winston"; export const crackRelic = async ( inventory: TInventoryDatabaseDocument, @@ -46,6 +47,26 @@ export const crackRelic = async ( inventoryChanges, (await handleStoreItemAcquisition(reward.type, inventory, reward.itemCount)).InventoryChanges ); + + if (inventory.crackRelicForPlatinum) { + let platinumReward = 0; + switch (reward.rarity) { + case "COMMON": + platinumReward = inventory.relicPlatinumCommon ?? 2; + break; + case "UNCOMMON": + platinumReward = inventory.relicPlatinumUncommon ?? 5; + break; + case "RARE": + platinumReward = inventory.relicPlatinumRare ?? 12; + break; + case "LEGENDARY": + logger.warn(`got a legendary reward for a relic!`); + break; + } + logger.debug(`adding ${platinumReward} platinum to inventory for a ${reward.rarity} reward`); + inventory.PremiumCredits += platinumReward; + } } // Remove relic diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index b9cc2806..045c1234 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -1469,6 +1469,10 @@ const inventorySchema = new Schema( nemesisHintProgressMultiplierCorpus: Number, nemesisExtraWeapon: Number, extraRelicRewards: Number, + crackRelicForPlatinum: Boolean, + relicPlatinumCommon: Number, + relicPlatinumUncommon: Number, + relicPlatinumRare: Number, SubscribedToEmails: { type: Number, default: 0 }, SubscribedToEmailsPersonalized: { type: Number, default: 0 }, diff --git a/src/types/inventoryTypes/inventoryTypes.ts b/src/types/inventoryTypes/inventoryTypes.ts index 5f4ab2ad..3251f38b 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -62,6 +62,10 @@ export interface IAccountCheats { nemesisHintProgressMultiplierCorpus?: number; nemesisExtraWeapon?: number; extraRelicRewards?: number; + crackRelicForPlatinum?: boolean; + relicPlatinumCommon?: number; + relicPlatinumUncommon?: number; + relicPlatinumRare?: number; } export interface IInventoryDatabase diff --git a/static/webui/index.html b/static/webui/index.html index 46a90e93..5984d792 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -1064,6 +1064,31 @@ +
+ + +
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index 0a03a78b..cee454d3 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -263,6 +263,10 @@ dict = { cheats_nemesisHintProgressMultiplierCorpus: `Hint Progress Multiplier (Corpus)`, cheats_nemesisExtraWeapon: `Extra Nemesis Weapon / Token On Vanquish (0 to disable)`, cheats_extraRelicRewards: `Extra Relic Rewards`, + cheats_crackRelicForPlatinum: `Crack Relic for Platinum`, + cheats_relicPlatinumCommon: `Platinum on Common Rewards`, + cheats_relicPlatinumUncommon: `Platinum on Uncommon Rewards`, + cheats_relicPlatinumRare: `Platinum on Rare Rewards`, worldState: `World State`, worldState_creditBoost: `Credit Boost`, diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index 84d49823..17a915d7 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -264,6 +264,10 @@ dict = { cheats_nemesisHintProgressMultiplierCorpus: `解密进度倍率 (Corpus)`, cheats_nemesisExtraWeapon: `额外玄骸武器/代币 (0为禁用)`, cheats_extraRelicRewards: `额外遗物奖励`, + cheats_crackRelicForPlatinum: `打开遗物时获得白金`, + cheats_relicPlatinumCommon: `普通奖励的白金`, + cheats_relicPlatinumUncommon: `罕见奖励的白金`, + cheats_relicPlatinumRare: `稀有奖励的白金`, worldState: `世界状态配置`, worldState_creditBoost: `现金加成`,