diff --git a/config.json.example b/config.json.example index c464ad1a..fdf59b35 100644 --- a/config.json.example +++ b/config.json.example @@ -20,6 +20,7 @@ "infiniteRegalAya": false, "infiniteHelminthMaterials": false, "claimingBlueprintRefundsIngredients": false, + "dontSubtractVoidTraces": false, "dontSubtractConsumables": false, "unlockAllShipFeatures": false, "unlockAllShipDecorations": false, diff --git a/src/controllers/api/projectionManagerController.ts b/src/controllers/api/projectionManagerController.ts index 1f2554fb..cd209942 100644 --- a/src/controllers/api/projectionManagerController.ts +++ b/src/controllers/api/projectionManagerController.ts @@ -2,13 +2,16 @@ import { RequestHandler } from "express"; import { getAccountIdForRequest } from "@/src/services/loginService"; import { addMiscItems, getInventory } from "@/src/services/inventoryService"; import { ExportRelics, IRelic } from "warframe-public-export-plus"; +import { config } from "@/src/services/configService"; export const projectionManagerController: RequestHandler = async (req, res) => { const accountId = await getAccountIdForRequest(req); const inventory = await getInventory(accountId); const request = JSON.parse(String(req.body)) as IProjectionUpgradeRequest; const [era, category, currentQuality] = parseProjection(request.projectionType); - const upgradeCost = (request.qualityTag - qualityKeywordToNumber[currentQuality]) * 25; + const upgradeCost = config.dontSubtractVoidTraces + ? 0 + : (request.qualityTag - qualityKeywordToNumber[currentQuality]) * 25; const newProjectionType = findProjection(era, category, qualityNumberToKeyword[request.qualityTag]); addMiscItems(inventory, [ { diff --git a/src/services/configService.ts b/src/services/configService.ts index 8d3206ef..f17679d7 100644 --- a/src/services/configService.ts +++ b/src/services/configService.ts @@ -25,6 +25,7 @@ interface IConfig { infiniteRegalAya?: boolean; infiniteHelminthMaterials?: boolean; claimingBlueprintRefundsIngredients?: boolean; + dontSubtractVoidTraces?: boolean; dontSubtractConsumables?: boolean; unlockAllShipFeatures?: boolean; unlockAllShipDecorations?: boolean; diff --git a/static/webui/index.html b/static/webui/index.html index fae24828..be72a678 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -598,6 +598,10 @@ +
+ + +
diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js index 156063d2..3a02c037 100644 --- a/static/webui/translations/de.js +++ b/static/webui/translations/de.js @@ -132,6 +132,7 @@ dict = { cheats_infiniteRegalAya: `Unendlich Reines Aya`, cheats_infiniteHelminthMaterials: `Unendlich Helminth-Materialien`, cheats_claimingBlueprintRefundsIngredients: `Fertige Blaupausen erstatten Ressourcen zurück`, + cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`, cheats_dontSubtractConsumables: `Verbrauchsgegenstände (Ausrüstung) nicht verbrauchen`, cheats_unlockAllShipFeatures: `Alle Schiffs-Funktionen freischalten`, cheats_unlockAllShipDecorations: `Alle Schiffsdekorationen freischalten`, diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index 9dfeb21a..a8f8e858 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -131,6 +131,7 @@ dict = { cheats_infiniteRegalAya: `Infinite Regal Aya`, cheats_infiniteHelminthMaterials: `Infinite Helminth Materials`, cheats_claimingBlueprintRefundsIngredients: `Claiming Blueprint Refunds Ingredients`, + cheats_dontSubtractVoidTraces: `Don't Subtract Void Traces`, cheats_dontSubtractConsumables: `Don't Subtract Consumables`, cheats_unlockAllShipFeatures: `Unlock All Ship Features`, cheats_unlockAllShipDecorations: `Unlock All Ship Decorations`, diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js index 83cdc5fb..75757b7d 100644 --- a/static/webui/translations/es.js +++ b/static/webui/translations/es.js @@ -132,6 +132,7 @@ dict = { cheats_infiniteRegalAya: `Aya Real infinita`, cheats_infiniteHelminthMaterials: `Materiales Helminto infinitos`, cheats_claimingBlueprintRefundsIngredients: `Reclamar ingredientes devueltos por planos`, + cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`, cheats_dontSubtractConsumables: `No restar consumibles`, cheats_unlockAllShipFeatures: `Desbloquear todas las funciones de nave`, cheats_unlockAllShipDecorations: `Desbloquear todas las decoraciones de nave`, diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js index 9253bfff..63bdda1c 100644 --- a/static/webui/translations/fr.js +++ b/static/webui/translations/fr.js @@ -132,6 +132,7 @@ dict = { cheats_infiniteRegalAya: `Aya Raffiné infini`, cheats_infiniteHelminthMaterials: `Ressources d'Helminth infinies`, cheats_claimingBlueprintRefundsIngredients: `[UNTRANSLATED] Claiming Blueprint Refunds Ingredients`, + cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`, cheats_dontSubtractConsumables: `[UNTRANSLATED] Don't Subtract Consumables`, cheats_unlockAllShipFeatures: `Débloquer tous les segments du vaisseau`, cheats_unlockAllShipDecorations: `Débloquer toutes les décorations du vaisseau`, diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index a2bb6354..aa25b6a9 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -132,6 +132,7 @@ dict = { cheats_infiniteRegalAya: `Бесконечная Королевская Айя`, cheats_infiniteHelminthMaterials: `Бесконечные Выделения Гельминта`, cheats_claimingBlueprintRefundsIngredients: `[UNTRANSLATED] Claiming Blueprint Refunds Ingredients`, + cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`, cheats_dontSubtractConsumables: `Не уменьшать количество расходников`, cheats_unlockAllShipFeatures: `Разблокировать все функции корабля`, cheats_unlockAllShipDecorations: `Разблокировать все украшения корабля`, diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index a242891a..8f5077a7 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -132,6 +132,7 @@ dict = { cheats_infiniteRegalAya: `无限御品阿耶`, cheats_infiniteHelminthMaterials: `无限Helminth材料`, cheats_claimingBlueprintRefundsIngredients: `[UNTRANSLATED] Claiming Blueprint Refunds Ingredients`, + cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`, cheats_dontSubtractConsumables: `[UNTRANSLATED] Don't Subtract Consumables`, cheats_unlockAllShipFeatures: `解锁所有飞船功能`, cheats_unlockAllShipDecorations: `解锁所有飞船装饰`,