diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index 0986df62..e3f03c3f 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -1471,6 +1471,8 @@ const inventorySchema = new Schema( nemesisExtraWeapon: Number, playerSkillGainsMultiplierSpace: Number, playerSkillGainsMultiplierDrifter: Number, + extraMissionRewards: Number, + strippedItemRewardsMultiplier: Number, SubscribedToEmails: { type: Number, default: 0 }, SubscribedToEmailsPersonalized: { type: Number, default: 0 }, diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 8dc8b8e9..8f4c5c2a 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -1148,6 +1148,22 @@ export const addMissionRewards = async ( firstCompletion ); logger.debug("random mission drops:", MissionRewards); + + if (inventory.extraMissionRewards) { + for (let i = 0; i < inventory.extraMissionRewards; i++) { + logger.debug("generating extra mission rewards with new seed, this will mismatch the mission report."); + // otherwise would always get the same rewards + const extraDrops = getRandomMissionDrops( + inventory, + { ...rewardInfo, rewardSeed: generateRewardSeed() }, + missions, + wagerTier, + firstCompletion + ); + MissionRewards.push(...extraDrops); + } + } + const inventoryChanges: IInventoryChanges = {}; let SyndicateXPItemReward; let ConquestCompletedMissionsCount; @@ -1360,10 +1376,11 @@ export const addMissionRewards = async ( si.DropTable = droptableAliases[si.DropTable]; } const droptables = ExportEnemies.droptables[si.DropTable] ?? []; + const strippedItemRewardsMultiplier = inventory.strippedItemRewardsMultiplier ?? 1; if (si.DROP_MOD) { const modDroptable = droptables.find(x => x.type == "mod"); if (modDroptable) { - for (let i = 0; i != si.DROP_MOD.length; ++i) { + for (let i = 0; i != si.DROP_MOD.length * strippedItemRewardsMultiplier; ++i) { const reward = getRandomReward(modDroptable.items)!; logger.debug(`stripped droptable (mods pool) rolled`, reward); await addItem(inventory, reward.type); @@ -1380,7 +1397,7 @@ export const addMissionRewards = async ( if (si.DROP_BLUEPRINT) { const blueprintDroptable = droptables.find(x => x.type == "blueprint"); if (blueprintDroptable) { - for (let i = 0; i != si.DROP_BLUEPRINT.length; ++i) { + for (let i = 0; i != si.DROP_BLUEPRINT.length * strippedItemRewardsMultiplier; ++i) { const reward = getRandomReward(blueprintDroptable.items)!; logger.debug(`stripped droptable (blueprints pool) rolled`, reward); await addItem(inventory, reward.type); @@ -1398,7 +1415,7 @@ export const addMissionRewards = async ( if (si.DROP_MISC_ITEM) { const resourceDroptable = droptables.find(x => x.type == "resource"); if (resourceDroptable) { - for (let i = 0; i != si.DROP_MISC_ITEM.length; ++i) { + for (let i = 0; i != si.DROP_MISC_ITEM.length * strippedItemRewardsMultiplier; ++i) { const reward = getRandomReward(resourceDroptable.items)!; logger.debug(`stripped droptable (resources pool) rolled`, reward); if (Object.keys(await addItem(inventory, reward.type)).length == 0) { diff --git a/src/types/inventoryTypes/inventoryTypes.ts b/src/types/inventoryTypes/inventoryTypes.ts index ca1e691a..dfaf77cb 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -64,6 +64,8 @@ export interface IAccountCheats { nemesisExtraWeapon?: number; playerSkillGainsMultiplierSpace?: number; playerSkillGainsMultiplierDrifter?: number; + extraMissionRewards?: number; + strippedItemRewardsMultiplier?: number; } export interface IInventoryDatabase diff --git a/static/webui/index.html b/static/webui/index.html index 7b3c9262..d4141529 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -1075,6 +1075,20 @@ +
+ +
+ + +
+
+
+ +
+ + +
+
diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js index 556fa121..57410b8a 100644 --- a/static/webui/translations/de.js +++ b/static/webui/translations/de.js @@ -266,6 +266,8 @@ dict = { cheats_nemesisExtraWeapon: `[UNTRANSLATED] Extra Nemesis Weapon / Token On Vanquish (0 to disable)`, cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`, cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`, + cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`, + cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`, worldState: `Weltstatus`, worldState_creditBoost: `Event Booster: Credit`, diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index 349abd84..eb437318 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -265,6 +265,8 @@ dict = { cheats_nemesisExtraWeapon: `Extra Nemesis Weapon / Token On Vanquish (0 to disable)`, cheats_playerSkillGainsMultiplierSpace: `Intrinsics Gains Multiplier (Space)`, cheats_playerSkillGainsMultiplierDrifter: `Intrinsics Gains Multiplier (Drifter)`, + cheats_extraMissionRewards: `Extra Mission Rewards (0 to disable)`, + cheats_strippedItemRewardsMultiplier: `Stripped Item Rewards Multiplier`, worldState: `World State`, worldState_creditBoost: `Credit Boost`, diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js index 26ad669d..6ec6eafb 100644 --- a/static/webui/translations/es.js +++ b/static/webui/translations/es.js @@ -266,6 +266,8 @@ dict = { cheats_nemesisExtraWeapon: `[UNTRANSLATED] Extra Nemesis Weapon / Token On Vanquish (0 to disable)`, cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`, cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`, + cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`, + cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`, worldState: `Estado del mundo`, worldState_creditBoost: `Potenciador de Créditos`, diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js index 02c09b35..22ba2323 100644 --- a/static/webui/translations/fr.js +++ b/static/webui/translations/fr.js @@ -266,6 +266,8 @@ dict = { cheats_nemesisExtraWeapon: `[UNTRANSLATED] Extra Nemesis Weapon / Token On Vanquish (0 to disable)`, cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`, cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`, + cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`, + cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`, worldState: `Carte Solaire`, worldState_creditBoost: `Booster de Crédit`, diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index f1232512..d0ac3b2e 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -266,6 +266,8 @@ dict = { cheats_nemesisExtraWeapon: `Дополнительное оружие/активный Кардиомиоцит за победу над Противником (0 для отключения)`, cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`, cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`, + cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`, + cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`, worldState: `Состояние мира`, worldState_creditBoost: `Глобальный бустер Кредитов`, diff --git a/static/webui/translations/uk.js b/static/webui/translations/uk.js index 4228f292..65662aef 100644 --- a/static/webui/translations/uk.js +++ b/static/webui/translations/uk.js @@ -266,6 +266,8 @@ dict = { cheats_nemesisExtraWeapon: `Додаткова зброя/Жива сердцевина за перемогу над Недругом (0 для вимкнення)`, cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`, cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`, + cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`, + cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`, worldState: `Стан світу`, worldState_creditBoost: `Глобальне посилення Кредитів`, diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index a2ef0f35..31137028 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -266,6 +266,8 @@ dict = { cheats_nemesisExtraWeapon: `额外玄骸武器/代币 (0为禁用)`, cheats_playerSkillGainsMultiplierSpace: `內源之力获取倍率 (九重天)`, cheats_playerSkillGainsMultiplierDrifter: `內源之力获取倍率 (漂泊者)`, + cheats_extraMissionRewards: `额外任务奖励 (0为禁用)`, + cheats_strippedItemRewardsMultiplier: `隐藏战利品奖励倍率`, worldState: `世界状态配置`, worldState_creditBoost: `现金加成`,