From 13aa690ac036f7d98b1bbf301032f9865bc84176 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Fri, 20 Jun 2025 03:34:35 +0200 Subject: [PATCH] feat: unlockAllProfitTakerStages cheat --- config.json.example | 1 + src/controllers/api/inventoryController.ts | 20 ++++++++++++++++++++ src/services/configService.ts | 1 + static/webui/index.html | 4 ++++ static/webui/translations/de.js | 1 + static/webui/translations/en.js | 1 + static/webui/translations/es.js | 1 + static/webui/translations/fr.js | 1 + static/webui/translations/ru.js | 1 + static/webui/translations/zh.js | 1 + 10 files changed, 32 insertions(+) diff --git a/config.json.example b/config.json.example index 8dfdfd31..e35b62df 100644 --- a/config.json.example +++ b/config.json.example @@ -43,6 +43,7 @@ "noDeathMarks": false, "noKimCooldowns": false, "syndicateMissionsRepeatable": false, + "unlockAllProfitTakerStages": false, "instantFinishRivenChallenge": false, "instantResourceExtractorDrones": false, "noResourceExtractorDronesDamage": false, diff --git a/src/controllers/api/inventoryController.ts b/src/controllers/api/inventoryController.ts index df04e9d4..cdaf8d4d 100644 --- a/src/controllers/api/inventoryController.ts +++ b/src/controllers/api/inventoryController.ts @@ -339,9 +339,29 @@ export const getInventoryResponse = async ( } } + if (config.unlockAllProfitTakerStages) { + inventoryResponse.CompletedJobChains ??= []; + const EudicoHeists = inventoryResponse.CompletedJobChains.find(x => x.LocationTag == "EudicoHeists"); + if (EudicoHeists) { + EudicoHeists.Jobs = allEudicoHeistJobs; + } else { + inventoryResponse.CompletedJobChains.push({ + LocationTag: "EudicoHeists", + Jobs: allEudicoHeistJobs + }); + } + } + return inventoryResponse; }; +const allEudicoHeistJobs = [ + "/Lotus/Types/Gameplay/Venus/Jobs/Heists/HeistProfitTakerBountyOne", + "/Lotus/Types/Gameplay/Venus/Jobs/Heists/HeistProfitTakerBountyTwo", + "/Lotus/Types/Gameplay/Venus/Jobs/Heists/HeistProfitTakerBountyThree", + "/Lotus/Types/Gameplay/Venus/Jobs/Heists/HeistProfitTakerBountyFour" +]; + const addString = (arr: string[], str: string): void => { if (arr.indexOf(str) == -1) { arr.push(str); diff --git a/src/services/configService.ts b/src/services/configService.ts index b14ffb67..20515ee2 100644 --- a/src/services/configService.ts +++ b/src/services/configService.ts @@ -49,6 +49,7 @@ export interface IConfig { noDeathMarks?: boolean; noKimCooldowns?: boolean; syndicateMissionsRepeatable?: boolean; + unlockAllProfitTakerStages?: boolean; instantFinishRivenChallenge?: boolean; instantResourceExtractorDrones?: boolean; noResourceExtractorDronesDamage?: boolean; diff --git a/static/webui/index.html b/static/webui/index.html index b6d87db4..3e0856bf 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -708,6 +708,10 @@ +
+ + +
diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js index 6672d726..bb7ec5dc 100644 --- a/static/webui/translations/de.js +++ b/static/webui/translations/de.js @@ -159,6 +159,7 @@ dict = { cheats_noDeathMarks: `Keine Todesmarkierungen`, cheats_noKimCooldowns: `Keine Wartezeit bei KIM`, cheats_syndicateMissionsRepeatable: `Syndikat-Missionen wiederholbar`, + cheats_unlockAllProfitTakerStages: `[UNTRANSLATED] Unlock All Profit Taker Stages`, cheats_instantFinishRivenChallenge: `Riven-Mod Herausforderung sofort abschließen`, cheats_instantResourceExtractorDrones: `Sofortige Ressourcen-Extraktor-Drohnen`, cheats_noResourceExtractorDronesDamage: `Kein Schaden für Ressourcen-Extraktor-Drohnen`, diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index f7869ac2..7a227acb 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -158,6 +158,7 @@ dict = { cheats_noDeathMarks: `No Death Marks`, cheats_noKimCooldowns: `No KIM Cooldowns`, cheats_syndicateMissionsRepeatable: `Syndicate Missions Repeatable`, + cheats_unlockAllProfitTakerStages: `Unlock All Profit Taker Stages`, cheats_instantFinishRivenChallenge: `Instant Finish Riven Challenge`, cheats_instantResourceExtractorDrones: `Instant Resource Extractor Drones`, cheats_noResourceExtractorDronesDamage: `No Resource Extractor Drones Damage`, diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js index 79aedacd..5ee94df3 100644 --- a/static/webui/translations/es.js +++ b/static/webui/translations/es.js @@ -159,6 +159,7 @@ dict = { cheats_noDeathMarks: `Sin marcas de muerte`, cheats_noKimCooldowns: `Sin tiempo de espera para conversaciones KIM`, cheats_syndicateMissionsRepeatable: `Misiones de sindicato rejugables`, + cheats_unlockAllProfitTakerStages: `[UNTRANSLATED] Unlock All Profit Taker Stages`, cheats_instantFinishRivenChallenge: `Terminar desafío de agrietado inmediatamente`, cheats_instantResourceExtractorDrones: `Drones de extracción de recursos instantáneos`, cheats_noResourceExtractorDronesDamage: `Sin daño a los drones extractores de recursos`, diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js index c605fce8..a4814e2f 100644 --- a/static/webui/translations/fr.js +++ b/static/webui/translations/fr.js @@ -159,6 +159,7 @@ dict = { cheats_noDeathMarks: `Aucune marque d'assassin`, cheats_noKimCooldowns: `Aucun cooldown sur le KIM`, cheats_syndicateMissionsRepeatable: `Mission syndicat répétables`, + cheats_unlockAllProfitTakerStages: `[UNTRANSLATED] Unlock All Profit Taker Stages`, cheats_instantFinishRivenChallenge: `Débloquer le challenge Riven instantanément`, cheats_instantResourceExtractorDrones: `Ressources de drones d'extraction instantannées`, cheats_noResourceExtractorDronesDamage: `Aucun dégâts aux drones d'extraction de resources`, diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index cb89fa7d..22277b35 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -159,6 +159,7 @@ dict = { cheats_noDeathMarks: `Без меток сметри`, cheats_noKimCooldowns: `Чаты KIM без кулдауна`, cheats_syndicateMissionsRepeatable: `[UNTRANSLATED] Syndicate Missions Repeatable`, + cheats_unlockAllProfitTakerStages: `[UNTRANSLATED] Unlock All Profit Taker Stages`, cheats_instantFinishRivenChallenge: `[UNTRANSLATED] Instant Finish Riven Challenge`, cheats_instantResourceExtractorDrones: `Мгновенные Экстракторы Ресурсов`, cheats_noResourceExtractorDronesDamage: `Без урона по дронам-сборщикам`, diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index 06b2ece9..44917ae8 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -159,6 +159,7 @@ dict = { cheats_noDeathMarks: `无死亡标记(不会被 Stalker/Grustrag 三霸/Zanuka 猎人等标记)`, cheats_noKimCooldowns: `无 KIM 冷却时间`, cheats_syndicateMissionsRepeatable: `集团任务可重复`, + cheats_unlockAllProfitTakerStages: `[UNTRANSLATED] Unlock All Profit Taker Stages`, cheats_instantFinishRivenChallenge: `立即完成裂罅挑战`, cheats_instantResourceExtractorDrones: `即时资源采集无人机`, cheats_noResourceExtractorDronesDamage: `资源提取器不会损毁`,