From 3c64f17e34fcdaaaeadb8c6f4cd95e80de9ec40a Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Fri, 20 Jun 2025 04:42:11 -0700 Subject: [PATCH] feat: missionsCanGiveAllRelics cheat (#2217) Closes #1060 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2217 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- config.json.example | 1 + src/services/configService.ts | 1 + src/services/missionInventoryUpdateService.ts | 18 ++++++++++++++++++ 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, 30 insertions(+) diff --git a/config.json.example b/config.json.example index e35b62df..a92e3f8d 100644 --- a/config.json.example +++ b/config.json.example @@ -54,6 +54,7 @@ "noDojoResearchCosts": false, "noDojoResearchTime": false, "fastClanAscension": false, + "missionsCanGiveAllRelics": false, "spoofMasteryRank": -1, "nightwaveStandingMultiplier": 1, "worldState": { diff --git a/src/services/configService.ts b/src/services/configService.ts index 20515ee2..b4566096 100644 --- a/src/services/configService.ts +++ b/src/services/configService.ts @@ -60,6 +60,7 @@ export interface IConfig { noDojoResearchCosts?: boolean; noDojoResearchTime?: boolean; fastClanAscension?: boolean; + missionsCanGiveAllRelics?: boolean; spoofMasteryRank?: number; nightwaveStandingMultiplier?: number; worldState?: { diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index b8dc4c67..499115f9 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -2,6 +2,7 @@ import { ExportEnemies, ExportFusionBundles, ExportRegions, + ExportRelics, ExportRewards, IMissionReward as IMissionRewardExternal, IRegion, @@ -1805,6 +1806,23 @@ function getRandomMissionDrops( drops.push({ StoreItem: drop.type, ItemCount: drop.itemCount }); } } + + if (config.missionsCanGiveAllRelics) { + for (const drop of drops) { + const itemType = fromStoreItem(drop.StoreItem); + if (itemType in ExportRelics) { + const relic = ExportRelics[itemType]; + const replacement = getRandomElement( + Object.entries(ExportRelics).filter( + arr => arr[1].era == relic.era && arr[1].quality == relic.quality + ) + )!; + logger.debug(`replacing ${relic.era} ${relic.category} with ${replacement[1].category}`); + drop.StoreItem = toStoreItem(replacement[0]); + } + } + } + return drops; } diff --git a/static/webui/index.html b/static/webui/index.html index 3e0856bf..e80d9fe7 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -752,6 +752,10 @@ +