From 0cc56c6387f6d6b644860ed518129747a924fc34 Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sat, 30 Aug 2025 13:28:07 +0800 Subject: [PATCH 01/11] New IAccountCheats Fields --- src/controllers/custom/setAccountCheatController.ts | 2 +- src/models/inventoryModels/inventoryModel.ts | 9 +++++++++ src/types/inventoryTypes/inventoryTypes.ts | 9 +++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/controllers/custom/setAccountCheatController.ts b/src/controllers/custom/setAccountCheatController.ts index 5a188777..eaf2b5a6 100644 --- a/src/controllers/custom/setAccountCheatController.ts +++ b/src/controllers/custom/setAccountCheatController.ts @@ -14,5 +14,5 @@ export const setAccountCheatController: RequestHandler = async (req, res) => { interface ISetAccountCheatRequest { key: keyof IAccountCheats; - value: boolean; + value: undefined; } diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index ff017f5d..62342714 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -1462,6 +1462,15 @@ const inventorySchema = new Schema( flawlessRelicsAlwaysGiveSilverReward: Boolean, radiantRelicsAlwaysGiveGoldReward: Boolean, disableDailyTribute: Boolean, + nemesisAlwaysCorrect: Boolean, + nemesisHenchmenKillsMultiplierGrineer: Number, + nemesisHenchmenKillsMultiplierCorpus: Number, + nemesisHenchmenKillsMultiplierInfestation: Number, + nemesisHintProgressMultiplierGrineer: Number, + nemesisHintProgressMultiplierCorpus: Number, + nemesisWeaponFusionMultiplier: Number, + nemesisGainExtraRank: Number, + nemesisExtraWeaponOnKill: 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 df71f392..0baab0d8 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -55,6 +55,15 @@ export interface IAccountCheats { flawlessRelicsAlwaysGiveSilverReward?: boolean; radiantRelicsAlwaysGiveGoldReward?: boolean; disableDailyTribute?: boolean; + nemesisAlwaysCorrect?: boolean; + nemesisHenchmenKillsMultiplierGrineer?: number; + nemesisHenchmenKillsMultiplierCorpus?: number; + nemesisHenchmenKillsMultiplierInfestation?: number; + nemesisHintProgressMultiplierGrineer?: number; + nemesisHintProgressMultiplierCorpus?: number; + nemesisWeaponFusionMultiplier?: number; + nemesisGainExtraRank?: number; + nemesisExtraWeaponOnKill?: number; } export interface IInventoryDatabase -- 2.47.2 From 31e121ab2293959bb0c79272103bfb9f807c6e6d Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sat, 30 Aug 2025 21:12:41 +0800 Subject: [PATCH 02/11] data-loc-info from -inc with no imcompatible text --- static/webui/script.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/static/webui/script.js b/static/webui/script.js index 25f1ffe3..331fa547 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -220,6 +220,13 @@ function updateLocElements() { .join(", "); elm.title = `${loc("worldState_incompatibleWith")} ${incWith}`; }); + document.querySelectorAll("[data-loc-info]").forEach(elm => { + const incWith = elm + .getAttribute("data-loc-info") + .split("|") + .map(key => loc(key)); + elm.title = `${incWith}`; + }); document.querySelectorAll("[data-loc-replace]").forEach(elm => { elm.innerHTML = elm.innerHTML.replace("|VAL|", elm.getAttribute("data-loc-replace")); }); -- 2.47.2 From 90cb433f1068a9dc6af3acb7a7dfad45cd020ff3 Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sat, 30 Aug 2025 16:18:58 +0800 Subject: [PATCH 03/11] Nemesis cheats code and webUI adaption Nemesis Henchmen Kills Multiplier Nemesis Hint Progress Multiplier Nemesis Weapon Fusion Multiplier Nemesis Gain Extra Rank Nemesis Always Correct code fix webUI updates Live Heart Multiplier --- src/controllers/api/nemesisController.ts | 44 +++++++++---- src/services/inventoryService.ts | 10 ++- src/services/missionInventoryUpdateService.ts | 31 +++++++++- static/webui/index.html | 62 +++++++++++++++++++ static/webui/script.js | 11 +++- 5 files changed, 140 insertions(+), 18 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index 71329285..59379547 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -18,7 +18,7 @@ import { import { getJSONfromString } from "../../helpers/stringHelpers.ts"; import type { TInventoryDatabaseDocument } from "../../models/inventoryModels/inventoryModel.ts"; import { Loadout } from "../../models/inventoryModels/loadoutModel.ts"; -import { addMods, freeUpSlot, getInventory } from "../../services/inventoryService.ts"; +import { addMods, freeUpSlot, getInventory, getAccountCheats } from "../../services/inventoryService.ts"; import { getAccountForRequest } from "../../services/loginService.ts"; import { SRng } from "../../services/rngService.ts"; import type { IMongoDate, IOid } from "../../types/commonTypes.ts"; @@ -39,6 +39,7 @@ import { Types } from "mongoose"; export const nemesisController: RequestHandler = async (req, res) => { const account = await getAccountForRequest(req); + const accountCheats = await getAccountCheats(account._id.toString()); if ((req.query.mode as string) == "f") { const body = getJSONfromString(String(req.body)); const inventory = await getInventory(account._id.toString(), body.Category + " WeaponBin"); @@ -55,7 +56,8 @@ export const nemesisController: RequestHandler = async (req, res) => { // Upgrade destination damage value const destDamage = 0.25 + (destFingerprint.buffs[0].Value / 0x3fffffff) * (0.6 - 0.25); const sourceDamage = 0.25 + (sourceFingerprint.buffs[0].Value / 0x3fffffff) * (0.6 - 0.25); - let newDamage = Math.max(destDamage, sourceDamage) * 1.1; + const WeaponFusionMultiplier = accountCheats.nemesisWeaponFusionMultiplier ?? 1; + let newDamage = Math.max(destDamage, sourceDamage) * 1.1 * WeaponFusionMultiplier; if (newDamage >= 0.5794998) { newDamage = 0.6; } @@ -82,14 +84,18 @@ export const nemesisController: RequestHandler = async (req, res) => { let guessResult = 0; if (inventory.Nemesis!.Faction == "FC_INFESTATION") { for (let i = 0; i != 3; ++i) { - if (body.guess[i] == passcode[0]) { + if (body.guess[i] == passcode[0] || accountCheats.nemesisAlwaysCorrect) { guessResult = 1 + i; break; } } } else { for (let i = 0; i != 3; ++i) { - if (body.guess[i] == passcode[i] || body.guess[i] == GUESS_WILDCARD) { + if ( + body.guess[i] == passcode[i] || + body.guess[i] == GUESS_WILDCARD || + accountCheats.nemesisAlwaysCorrect + ) { ++guessResult; } } @@ -100,6 +106,7 @@ export const nemesisController: RequestHandler = async (req, res) => { account._id.toString(), "Nemesis LoadOutPresets CurrentLoadOutIds DataKnives Upgrades RawUpgrades" ); + const body = getJSONfromString(String(req.body)); if (inventory.Nemesis!.Faction == "FC_INFESTATION") { const guess: number[] = [body.guess & 0xf, (body.guess >> 4) & 0xf, (body.guess >> 8) & 0xf]; @@ -111,22 +118,27 @@ export const nemesisController: RequestHandler = async (req, res) => { encodeNemesisGuess([ { symbol: guess[0], - result: result1 + result: accountCheats.nemesisAlwaysCorrect ? GUESS_CORRECT : result1 }, { symbol: guess[1], - result: result2 + result: accountCheats.nemesisAlwaysCorrect ? GUESS_CORRECT : result2 }, { symbol: guess[2], - result: result3 + result: accountCheats.nemesisAlwaysCorrect ? GUESS_CORRECT : result3 } ]) ); // Increase antivirus if correct antivirus mod is installed const response: IKnifeResponse = {}; - if (result1 == GUESS_CORRECT || result2 == GUESS_CORRECT || result3 == GUESS_CORRECT) { + if ( + result1 == GUESS_CORRECT || + result2 == GUESS_CORRECT || + result3 == GUESS_CORRECT || + accountCheats.nemesisAlwaysCorrect + ) { let antivirusGain = 5; const loadout = (await Loadout.findById(inventory.LoadOutPresets, "DATAKNIFE"))!; const dataknifeLoadout = loadout.DATAKNIFE.id( @@ -149,7 +161,8 @@ export const nemesisController: RequestHandler = async (req, res) => { break; } } - inventory.Nemesis!.HenchmenKilled += antivirusGain; + inventory.Nemesis!.HenchmenKilled += + antivirusGain * (accountCheats.nemesisHenchmenKillsMultiplierInfestation ?? 1); if (inventory.Nemesis!.HenchmenKilled >= 100) { inventory.Nemesis!.HenchmenKilled = 100; @@ -192,10 +205,15 @@ export const nemesisController: RequestHandler = async (req, res) => { ]) ); } + if (accountCheats.nemesisAlwaysCorrect) { + body.guess = GUESS_WILDCARD | (GUESS_WILDCARD << 4) | (GUESS_WILDCARD << 8); + } // Evaluate guess const correct = - body.guess == GUESS_WILDCARD || getNemesisPasscode(inventory.Nemesis!)[body.position] == body.guess; + body.guess == GUESS_WILDCARD || + getNemesisPasscode(inventory.Nemesis!)[body.position] == body.guess || + accountCheats.nemesisAlwaysCorrect; // Update entry const guess = decodeNemesisGuess( @@ -232,9 +250,13 @@ export const nemesisController: RequestHandler = async (req, res) => { } } else { // Guess was incorrect, increase rank + const nemesisExtraRank = Math.floor(Math.random() * ((inventory.nemesisGainExtraRank ?? 0) + 1)); response.RankIncrease = 1; const manifest = getNemesisManifest(inventory.Nemesis!.manifest); - inventory.Nemesis!.Rank = Math.min(inventory.Nemesis!.Rank + 1, manifest.systemIndexes.length - 1); + inventory.Nemesis!.Rank = Math.min( + inventory.Nemesis!.Rank + 1 + nemesisExtraRank, + manifest.systemIndexes.length - 1 + ); inventory.Nemesis!.InfNodes = getInfNodes(manifest, inventory.Nemesis!.Rank); } await inventory.save(); diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index c8e25c1b..742cf90b 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -26,7 +26,8 @@ import type { INemesisWeaponTargetFingerprint, INemesisPetTargetFingerprint, IDialogueDatabase, - IKubrowPetPrintClient + IKubrowPetPrintClient, + IAccountCheats } from "../types/inventoryTypes/inventoryTypes.ts"; import { InventorySlot, equipmentKeys } from "../types/inventoryTypes/inventoryTypes.ts"; import type { IGenericUpdate, IUpdateNodeIntrosResponse } from "../types/genericUpdate.ts"; @@ -266,6 +267,13 @@ export const getInventory = async ( return inventory; }; +export const getAccountCheats = async (accountOwnerId: string): Promise> => { + const cheatProperties = Object.keys({} as IAccountCheats) as Array; + const inventoryWithCheats = await getInventory(accountOwnerId, cheatProperties.join(" ")); + + return inventoryWithCheats; +}; + export const productCategoryToInventoryBin = (productCategory: string): InventorySlot | undefined => { switch (productCategory) { case "Suits": diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 3f3b643c..fc7f753a 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -35,6 +35,7 @@ import { addStanding, applyClientEquipmentUpdates, combineInventoryChanges, + getAccountCheats, getDialogue, giveNemesisPetRecipe, giveNemesisWeaponRecipe, @@ -201,10 +202,33 @@ export const addMissionInventoryUpdates = async ( inventory.NemesisAbandonedRewards = inventoryUpdates.RewardInfo.NemesisAbandonedRewards; } if (inventoryUpdates.RewardInfo.NemesisHenchmenKills && inventory.Nemesis) { - inventory.Nemesis.HenchmenKilled += inventoryUpdates.RewardInfo.NemesisHenchmenKills; + let NemesisHenchmenKillsMultiplier = 1; + switch (inventory.Nemesis.Faction) { + case "FC_GRINEER": + NemesisHenchmenKillsMultiplier = inventory.nemesisHenchmenKillsMultiplierGrineer ?? 1; + break; + case "FC_CORPUS": + NemesisHenchmenKillsMultiplier = inventory.nemesisHenchmenKillsMultiplierCorpus ?? 1; + break; + case "FC_INFESTATION": + //antivirus progess is controlled in nemesisController + break; + } + inventory.Nemesis.HenchmenKilled += + inventoryUpdates.RewardInfo.NemesisHenchmenKills * NemesisHenchmenKillsMultiplier; } if (inventoryUpdates.RewardInfo.NemesisHintProgress && inventory.Nemesis) { - inventory.Nemesis.HintProgress += inventoryUpdates.RewardInfo.NemesisHintProgress; + let NemesisHintProgressMultiplier = 1; + switch (inventory.Nemesis.Faction) { + case "FC_GRINEER": + NemesisHintProgressMultiplier = inventory.nemesisHintProgressMultiplierGrineer ?? 1; + break; + case "FC_CORPUS": + NemesisHintProgressMultiplier = inventory.nemesisHintProgressMultiplierCorpus ?? 1; + break; + } + inventory.Nemesis.HintProgress += + inventoryUpdates.RewardInfo.NemesisHintProgress * NemesisHintProgressMultiplier; if (inventory.Nemesis.Faction != "FC_INFESTATION" && inventory.Nemesis.Hints.length != 3) { const progressNeeded = [35, 60, 100][inventory.Nemesis.Hints.length]; if (inventory.Nemesis.HintProgress >= progressNeeded) { @@ -891,10 +915,11 @@ export const addMissionInventoryUpdates = async ( att.push(rotBReward); if (value.killed) { + const tokenMultiplier = Math.max(1, inventory.nemesisExtraWeaponOnKill ?? 1); countedAtt = [ { ItemType: "/Lotus/Types/Items/MiscItems/CodaWeaponBucks", - ItemCount: getKillTokenRewardCount(inventory.Nemesis.fp) + ItemCount: getKillTokenRewardCount(inventory.Nemesis.fp) * tokenMultiplier } ]; addMiscItems(inventory, countedAtt); diff --git a/static/webui/index.html b/static/webui/index.html index b558edf7..c814456b 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -787,6 +787,68 @@ +
+ + +
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ + +
+ + +
+
+
+ + +
+ + +
+
diff --git a/static/webui/script.js b/static/webui/script.js index 331fa547..4d221407 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -1502,7 +1502,11 @@ function updateInventory() { }); for (const elm of accountCheats) { - elm.checked = !!data[elm.id]; + if (elm.type === "checkbox") { + elm.checked = !!data[elm.id]; + } else if (elm.type === "number" || elm.type === "text") { + elm.value = data[elm.id] !== undefined ? data[elm.id] : elm.getAttribute("data-default") || ""; + } } }); }); @@ -2337,15 +2341,16 @@ function doIntrinsicsUnlockAll() { }); } -document.querySelectorAll("#account-cheats input[type=checkbox]").forEach(elm => { +document.querySelectorAll("#account-cheats input[type=checkbox], #account-cheats input[type=number]").forEach(elm => { elm.onchange = function () { revalidateAuthz().then(() => { + const value = elm.type === "checkbox" ? elm.checked : elm.value; $.post({ url: "/custom/setAccountCheat?" + window.authz /*+ "&wsid=" + wsid*/, contentType: "application/json", data: JSON.stringify({ key: elm.id, - value: elm.checked + value: value }) }); }); -- 2.47.2 From 52393bcea3204b651423500e469859163ed3fad4 Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sat, 30 Aug 2025 22:47:28 +0800 Subject: [PATCH 04/11] loc data updates --- static/webui/translations/de.js | 11 +++++++++++ static/webui/translations/en.js | 11 +++++++++++ static/webui/translations/es.js | 11 +++++++++++ static/webui/translations/fr.js | 11 +++++++++++ static/webui/translations/ru.js | 11 +++++++++++ static/webui/translations/uk.js | 11 +++++++++++ static/webui/translations/zh.js | 11 +++++++++++ 7 files changed, 77 insertions(+) diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js index e6f07e28..561fc609 100644 --- a/static/webui/translations/de.js +++ b/static/webui/translations/de.js @@ -240,6 +240,17 @@ dict = { cheats_changeButton: `Ändern`, cheats_markAllAsRead: `Posteingang als gelesen markieren`, cheats_finishInvasionsInOneMission: `[UNTRANSLATED] Finish Invasions in One Mission`, + cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, + cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, + cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, + cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, + cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, + cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, + cheats_nemesisGainExtraRank: `[UNTRANSLATED] Extra Adversary Level`, + cheats_nemesisGainExtraRank_information: `[UNTRANSLATED] An incorrect guess may give your adversary extra level, up to the value you put in this setting. 0 to disable.`, + cheats_nemesisExtraWeaponOnKill: `[UNTRANSLATED] Extra Adversary Weapon On Vanquish`, + cheats_nemesisExtraWeaponOnKill_information: `[UNTRANSLATED] Random adversary weapons with identical elemental bonus stat will be sent to your foundry. This works as a multiplier for Live Heartcell. 0 to disable.`, worldState: `Weltstatus`, worldState_creditBoost: `Event Booster: Credit`, diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index 93359663..b6c4f19e 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -239,6 +239,17 @@ dict = { cheats_changeButton: `Change`, cheats_markAllAsRead: `Mark Inbox As Read`, cheats_finishInvasionsInOneMission: `Finish Invasions in One Mission`, + cheats_nemesisAlwaysCorrect: `Any Requiem / Antivirus Guess Is Correct`, + cheats_nemesisHenchmenKillsMultiplierGrineer: `Rage Progress Multiplier (Grineer)`, + cheats_nemesisHenchmenKillsMultiplierCorpus: `Rage Progress Multiplier (Corpus)`, + cheats_nemesisHenchmenKillsMultiplierInfestation: `Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisHintProgressMultiplierGrineer: `Hint Progress Multiplier (Grineer)`, + cheats_nemesisHintProgressMultiplierCorpus: `Hint Progress Multiplier (Corpus)`, + cheats_nemesisWeaponFusionMultiplier: `Valence Fusion Multiplier (Adversary Weapons)`, + cheats_nemesisGainExtraRank: `Extra Adversary Level`, + cheats_nemesisGainExtraRank_information: `An incorrect guess may give your adversary extra level, up to the value you put in this setting. 0 to disable.`, + cheats_nemesisExtraWeaponOnKill: `Extra Adversary Weapon On Vanquish`, + cheats_nemesisExtraWeaponOnKill_information: `Random adversary weapons with identical elemental bonus stat will be sent to your foundry. This works as a multiplier for Live Heartcell. 0 to disable.`, worldState: `World State`, worldState_creditBoost: `Credit Boost`, diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js index e7185a9e..e29e5f2f 100644 --- a/static/webui/translations/es.js +++ b/static/webui/translations/es.js @@ -240,6 +240,17 @@ dict = { cheats_changeButton: `Cambiar`, cheats_markAllAsRead: `Marcar bandeja de entrada como leída`, cheats_finishInvasionsInOneMission: `[UNTRANSLATED] Finish Invasions in One Mission`, + cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, + cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, + cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, + cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, + cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, + cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, + cheats_nemesisGainExtraRank: `[UNTRANSLATED] Extra Adversary Level`, + cheats_nemesisGainExtraRank_information: `[UNTRANSLATED] An incorrect guess may give your adversary extra level, up to the value you put in this setting. 0 to disable.`, + cheats_nemesisExtraWeaponOnKill: `[UNTRANSLATED] Extra Adversary Weapon On Vanquish`, + cheats_nemesisExtraWeaponOnKill_information: `[UNTRANSLATED] Random adversary weapons with identical elemental bonus stat will be sent to your foundry. This works as a multiplier for Live Heartcell. 0 to disable.`, 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 93d8fa94..15877d90 100644 --- a/static/webui/translations/fr.js +++ b/static/webui/translations/fr.js @@ -240,6 +240,17 @@ dict = { cheats_changeButton: `Changer`, cheats_markAllAsRead: `Marquer la boîte de réception comme lue`, cheats_finishInvasionsInOneMission: `[UNTRANSLATED] Finish Invasions in One Mission`, + cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, + cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, + cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, + cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, + cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, + cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, + cheats_nemesisGainExtraRank: `[UNTRANSLATED] Extra Adversary Level`, + cheats_nemesisGainExtraRank_information: `[UNTRANSLATED] An incorrect guess may give your adversary extra level, up to the value you put in this setting. 0 to disable.`, + cheats_nemesisExtraWeaponOnKill: `[UNTRANSLATED] Extra Adversary Weapon On Vanquish`, + cheats_nemesisExtraWeaponOnKill_information: `[UNTRANSLATED] Random adversary weapons with identical elemental bonus stat will be sent to your foundry. This works as a multiplier for Live Heartcell. 0 to disable.`, worldState: `Carte Solaire`, worldState_creditBoost: `Booster de Crédit`, diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index b24304b7..05e86e3a 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -240,6 +240,17 @@ dict = { cheats_changeButton: `Изменить`, cheats_markAllAsRead: `Пометить все входящие как прочитанные`, cheats_finishInvasionsInOneMission: `[UNTRANSLATED] Finish Invasions in One Mission`, + cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, + cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, + cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, + cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, + cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, + cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, + cheats_nemesisGainExtraRank: `[UNTRANSLATED] Extra Adversary Level`, + cheats_nemesisGainExtraRank_information: `[UNTRANSLATED] An incorrect guess may give your adversary extra level, up to the value you put in this setting. 0 to disable.`, + cheats_nemesisExtraWeaponOnKill: `[UNTRANSLATED] Extra Adversary Weapon On Vanquish`, + cheats_nemesisExtraWeaponOnKill_information: `[UNTRANSLATED] Random adversary weapons with identical elemental bonus stat will be sent to your foundry. This works as a multiplier for Live Heartcell. 0 to disable.`, worldState: `Состояние мира`, worldState_creditBoost: `Глобальный бустер Кредитов`, diff --git a/static/webui/translations/uk.js b/static/webui/translations/uk.js index 55d4a884..0065a3f7 100644 --- a/static/webui/translations/uk.js +++ b/static/webui/translations/uk.js @@ -240,6 +240,17 @@ dict = { cheats_changeButton: `Змінити`, cheats_markAllAsRead: `Помітити всі вхідні як прочитані`, cheats_finishInvasionsInOneMission: `[UNTRANSLATED] Finish Invasions in One Mission`, + cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, + cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, + cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, + cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, + cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, + cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, + cheats_nemesisGainExtraRank: `[UNTRANSLATED] Extra Adversary Level`, + cheats_nemesisGainExtraRank_information: `[UNTRANSLATED] An incorrect guess may give your adversary extra level, up to the value you put in this setting. 0 to disable.`, + cheats_nemesisExtraWeaponOnKill: `[UNTRANSLATED] Extra Adversary Weapon On Vanquish`, + cheats_nemesisExtraWeaponOnKill_information: `[UNTRANSLATED] Random adversary weapons with identical elemental bonus stat will be sent to your foundry. This works as a multiplier for Live Heartcell. 0 to disable.`, worldState: `Стан світу`, worldState_creditBoost: `Глобальне посилення Кредитів`, diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index 8998786d..67bda918 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -240,6 +240,17 @@ dict = { cheats_changeButton: `更改`, cheats_markAllAsRead: `收件箱全部标记为已读`, cheats_finishInvasionsInOneMission: `一场任务完成整场入侵`, + cheats_nemesisAlwaysCorrect: `玄骸密码总是正确`, + cheats_nemesisHenchmenKillsMultiplierGrineer: `怒气倍率(Grineer)`, + cheats_nemesisHenchmenKillsMultiplierCorpus: `怒气倍率(Corpus)`, + cheats_nemesisHenchmenKillsMultiplierInfestation: `杀毒进度(科腐者)`, + cheats_nemesisHintProgressMultiplierGrineer: `密码解密进度(Grineer)`, + cheats_nemesisHintProgressMultiplierCorpus: `密码解密进度(Corpus)`, + cheats_nemesisWeaponFusionMultiplier: `效价融合倍率(玄骸武器)`, + cheats_nemesisGainExtraRank: `额外玄骸等级`, + cheats_nemesisGainExtraRank_information: `猜错密码时玄骸可能会获得额外的等级, 最多为设置里的数. 设置为0禁用`, + cheats_nemesisExtraWeaponOnKill: `额外玄骸武器`, + cheats_nemesisExtraWeaponOnKill_information: `击杀玄骸额外奖励随机的武器, 元素加成与原武器相同, 一同发放到铸造厂. 击杀科腐者会奖励额外倍数的代币. 设置为0禁用`, worldState: `世界状态配置`, worldState_creditBoost: `现金加成`, -- 2.47.2 From e6d6ec2602599d454a588d3008a42e6b5d603377 Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sat, 30 Aug 2025 23:22:50 +0800 Subject: [PATCH 05/11] extra weapon cheat --- src/services/missionInventoryUpdateService.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index fc7f753a..7477c33c 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -875,6 +875,22 @@ export const addMissionInventoryUpdates = async ( const weaponType = manifest.weapons[inventory.Nemesis.WeaponIdx]; giveNemesisWeaponRecipe(inventory, weaponType, value.nemesisName, value.weaponLoc, profile); att.push(weaponType); + + if (inventory.nemesisExtraWeaponOnKill && inventory.nemesisExtraWeaponOnKill > 1) { + const weaponManifest = manifest.weapons; + for (let i = 0; i < inventory.nemesisExtraWeaponOnKill; i++) { + const randomIndex = Math.floor(Math.random() * weaponManifest.length); + const randomWeapon = weaponManifest[randomIndex]; + giveNemesisWeaponRecipe( + inventory, + randomWeapon, + value.nemesisName, + value.weaponLoc, + profile + ); + att.push(randomWeapon); + } + } } //if (value.petLoc) { if (profile.petHead) { -- 2.47.2 From 9c77b38bb4d320f01f5e97a0bcbea16b06c54754 Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sun, 31 Aug 2025 00:27:46 +0800 Subject: [PATCH 06/11] do not comsume charge if correct cheat enabled --- src/controllers/api/nemesisController.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index 59379547..919b5642 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -174,8 +174,10 @@ export const nemesisController: RequestHandler = async (req, res) => { } ]; inventory.Nemesis!.Weakened = true; - const upgrade = getKnifeUpgrade(inventory, dataknifeUpgrades, antivirusMods[passcode]); - consumeModCharge(response, inventory, upgrade, dataknifeUpgrades); + if (!accountCheats.nemesisAlwaysCorrect) { + const upgrade = getKnifeUpgrade(inventory, dataknifeUpgrades, antivirusMods[passcode]); + consumeModCharge(response, inventory, upgrade, dataknifeUpgrades); + } } } @@ -244,6 +246,9 @@ export const nemesisController: RequestHandler = async (req, res) => { const dataknifeUpgrades = inventory.DataKnives[0].Configs[dataknifeConfigIndex].Upgrades!; for (let i = 3; i != 6; ++i) { //logger.debug(`subtracting a charge from ${dataknifeUpgrades[i]}`); + if (accountCheats.nemesisAlwaysCorrect){ + break; + } const upgrade = parseUpgrade(inventory, dataknifeUpgrades[i]); consumeModCharge(response, inventory, upgrade, dataknifeUpgrades); } -- 2.47.2 From 859278df37afca012d08da967c227468c2bd04fb Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sun, 31 Aug 2025 00:27:55 +0800 Subject: [PATCH 07/11] fix up --- src/services/missionInventoryUpdateService.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 7477c33c..ca71dc82 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -1463,7 +1463,9 @@ export const addMissionRewards = async ( if (inventory.Nemesis.Faction == "FC_INFESTATION") { inventory.Nemesis.MissionCount += 1; - inventory.Nemesis.HenchmenKilled = Math.min(inventory.Nemesis.HenchmenKilled + 5, 95); // 5 progress per mission until 95 + let antivirusGain = 5; + antivirusGain *= inventory.nemesisHenchmenKillsMultiplierInfestation ?? 1; + inventory.Nemesis.HenchmenKilled = Math.min(inventory.Nemesis.HenchmenKilled + antivirusGain, 95); // 5 progress per mission until 95 inventoryChanges.Nemesis.MissionCount ??= 0; inventoryChanges.Nemesis.MissionCount += 1; -- 2.47.2 From 049153134f42b672e473647e182f4b9e02d273a4 Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sun, 31 Aug 2025 10:58:06 +0800 Subject: [PATCH 08/11] refactor getAccountCheats() as an internal method --- src/controllers/api/nemesisController.ts | 11 +++++++---- src/services/inventoryService.ts | 10 +--------- src/services/missionInventoryUpdateService.ts | 1 - 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index 919b5642..d995b093 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -18,7 +18,7 @@ import { import { getJSONfromString } from "../../helpers/stringHelpers.ts"; import type { TInventoryDatabaseDocument } from "../../models/inventoryModels/inventoryModel.ts"; import { Loadout } from "../../models/inventoryModels/loadoutModel.ts"; -import { addMods, freeUpSlot, getInventory, getAccountCheats } from "../../services/inventoryService.ts"; +import { addMods, freeUpSlot, getInventory } from "../../services/inventoryService.ts"; import { getAccountForRequest } from "../../services/loginService.ts"; import { SRng } from "../../services/rngService.ts"; import type { IMongoDate, IOid } from "../../types/commonTypes.ts"; @@ -30,7 +30,8 @@ import type { IUpgradeClient, IWeaponSkinClient, TEquipmentKey, - TNemesisFaction + TNemesisFaction, + IAccountCheats } from "../../types/inventoryTypes/inventoryTypes.ts"; import { InventorySlot, LoadoutIndex } from "../../types/inventoryTypes/inventoryTypes.ts"; import { logger } from "../../utils/logger.ts"; @@ -39,7 +40,9 @@ import { Types } from "mongoose"; export const nemesisController: RequestHandler = async (req, res) => { const account = await getAccountForRequest(req); - const accountCheats = await getAccountCheats(account._id.toString()); + const cheatProperties = Object.keys({} as IAccountCheats) as Array; + const accountCheats = await getInventory(account._id.toString(), cheatProperties.join(" ")); + if ((req.query.mode as string) == "f") { const body = getJSONfromString(String(req.body)); const inventory = await getInventory(account._id.toString(), body.Category + " WeaponBin"); @@ -246,7 +249,7 @@ export const nemesisController: RequestHandler = async (req, res) => { const dataknifeUpgrades = inventory.DataKnives[0].Configs[dataknifeConfigIndex].Upgrades!; for (let i = 3; i != 6; ++i) { //logger.debug(`subtracting a charge from ${dataknifeUpgrades[i]}`); - if (accountCheats.nemesisAlwaysCorrect){ + if (accountCheats.nemesisAlwaysCorrect) { break; } const upgrade = parseUpgrade(inventory, dataknifeUpgrades[i]); diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index 742cf90b..c8e25c1b 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -26,8 +26,7 @@ import type { INemesisWeaponTargetFingerprint, INemesisPetTargetFingerprint, IDialogueDatabase, - IKubrowPetPrintClient, - IAccountCheats + IKubrowPetPrintClient } from "../types/inventoryTypes/inventoryTypes.ts"; import { InventorySlot, equipmentKeys } from "../types/inventoryTypes/inventoryTypes.ts"; import type { IGenericUpdate, IUpdateNodeIntrosResponse } from "../types/genericUpdate.ts"; @@ -267,13 +266,6 @@ export const getInventory = async ( return inventory; }; -export const getAccountCheats = async (accountOwnerId: string): Promise> => { - const cheatProperties = Object.keys({} as IAccountCheats) as Array; - const inventoryWithCheats = await getInventory(accountOwnerId, cheatProperties.join(" ")); - - return inventoryWithCheats; -}; - export const productCategoryToInventoryBin = (productCategory: string): InventorySlot | undefined => { switch (productCategory) { case "Suits": diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index ca71dc82..c7786a1e 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -35,7 +35,6 @@ import { addStanding, applyClientEquipmentUpdates, combineInventoryChanges, - getAccountCheats, getDialogue, giveNemesisPetRecipe, giveNemesisWeaponRecipe, -- 2.47.2 From e2a73688646ecdab4bc1126d5f45b025745c034c Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sun, 31 Aug 2025 11:04:12 +0800 Subject: [PATCH 09/11] correct cheat change guess directly --- src/controllers/api/nemesisController.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index d995b093..7710b801 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -114,6 +114,11 @@ export const nemesisController: RequestHandler = async (req, res) => { if (inventory.Nemesis!.Faction == "FC_INFESTATION") { const guess: number[] = [body.guess & 0xf, (body.guess >> 4) & 0xf, (body.guess >> 8) & 0xf]; const passcode = getNemesisPasscode(inventory.Nemesis!)[0]; + + if (accountCheats.nemesisAlwaysCorrect) { + guess[0] = guess[1] = guess[2] = passcode; + } + const result1 = passcode == guess[0] ? GUESS_CORRECT : GUESS_INCORRECT; const result2 = passcode == guess[1] ? GUESS_CORRECT : GUESS_INCORRECT; const result3 = passcode == guess[2] ? GUESS_CORRECT : GUESS_INCORRECT; @@ -121,15 +126,15 @@ export const nemesisController: RequestHandler = async (req, res) => { encodeNemesisGuess([ { symbol: guess[0], - result: accountCheats.nemesisAlwaysCorrect ? GUESS_CORRECT : result1 + result: result1 }, { symbol: guess[1], - result: accountCheats.nemesisAlwaysCorrect ? GUESS_CORRECT : result2 + result: result2 }, { symbol: guess[2], - result: accountCheats.nemesisAlwaysCorrect ? GUESS_CORRECT : result3 + result: result3 } ]) ); -- 2.47.2 From 68d028d6b48a21fd86603f7e51eb4957b9e7ee61 Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sun, 31 Aug 2025 11:05:46 +0800 Subject: [PATCH 10/11] setAccountCheatController value type check --- src/controllers/custom/setAccountCheatController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/custom/setAccountCheatController.ts b/src/controllers/custom/setAccountCheatController.ts index eaf2b5a6..8f3ca5a8 100644 --- a/src/controllers/custom/setAccountCheatController.ts +++ b/src/controllers/custom/setAccountCheatController.ts @@ -14,5 +14,5 @@ export const setAccountCheatController: RequestHandler = async (req, res) => { interface ISetAccountCheatRequest { key: keyof IAccountCheats; - value: undefined; + value: boolean | number; } -- 2.47.2 From f4316948de39b9acbd6c3b35c1fc21f5b2f6330e Mon Sep 17 00:00:00 2001 From: AlexisinGit <136088944+AlexisinGit@users.noreply.github.com> Date: Sun, 31 Aug 2025 11:07:44 +0800 Subject: [PATCH 11/11] rename nemesisHenchmenKillsMultiplierInfestation as nemesisAntivirusGainMultiplier --- src/controllers/api/nemesisController.ts | 2 +- src/models/inventoryModels/inventoryModel.ts | 2 +- src/services/missionInventoryUpdateService.ts | 2 +- src/types/inventoryTypes/inventoryTypes.ts | 2 +- static/webui/index.html | 4 ++-- static/webui/translations/de.js | 2 +- static/webui/translations/en.js | 2 +- static/webui/translations/es.js | 2 +- static/webui/translations/fr.js | 2 +- static/webui/translations/ru.js | 2 +- static/webui/translations/uk.js | 2 +- static/webui/translations/zh.js | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/controllers/api/nemesisController.ts b/src/controllers/api/nemesisController.ts index 7710b801..236b8985 100644 --- a/src/controllers/api/nemesisController.ts +++ b/src/controllers/api/nemesisController.ts @@ -170,7 +170,7 @@ export const nemesisController: RequestHandler = async (req, res) => { } } inventory.Nemesis!.HenchmenKilled += - antivirusGain * (accountCheats.nemesisHenchmenKillsMultiplierInfestation ?? 1); + antivirusGain * (accountCheats.nemesisAntivirusGainMultiplier ?? 1); if (inventory.Nemesis!.HenchmenKilled >= 100) { inventory.Nemesis!.HenchmenKilled = 100; diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index 62342714..b381c1a7 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -1465,7 +1465,7 @@ const inventorySchema = new Schema( nemesisAlwaysCorrect: Boolean, nemesisHenchmenKillsMultiplierGrineer: Number, nemesisHenchmenKillsMultiplierCorpus: Number, - nemesisHenchmenKillsMultiplierInfestation: Number, + nemesisAntivirusGainMultiplier: Number, nemesisHintProgressMultiplierGrineer: Number, nemesisHintProgressMultiplierCorpus: Number, nemesisWeaponFusionMultiplier: Number, diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index c7786a1e..53508ee8 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -1463,7 +1463,7 @@ export const addMissionRewards = async ( if (inventory.Nemesis.Faction == "FC_INFESTATION") { inventory.Nemesis.MissionCount += 1; let antivirusGain = 5; - antivirusGain *= inventory.nemesisHenchmenKillsMultiplierInfestation ?? 1; + antivirusGain *= inventory.nemesisAntivirusGainMultiplier ?? 1; inventory.Nemesis.HenchmenKilled = Math.min(inventory.Nemesis.HenchmenKilled + antivirusGain, 95); // 5 progress per mission until 95 inventoryChanges.Nemesis.MissionCount ??= 0; diff --git a/src/types/inventoryTypes/inventoryTypes.ts b/src/types/inventoryTypes/inventoryTypes.ts index 0baab0d8..224d97cb 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -58,7 +58,7 @@ export interface IAccountCheats { nemesisAlwaysCorrect?: boolean; nemesisHenchmenKillsMultiplierGrineer?: number; nemesisHenchmenKillsMultiplierCorpus?: number; - nemesisHenchmenKillsMultiplierInfestation?: number; + nemesisAntivirusGainMultiplier?: number; nemesisHintProgressMultiplierGrineer?: number; nemesisHintProgressMultiplierCorpus?: number; nemesisWeaponFusionMultiplier?: number; diff --git a/static/webui/index.html b/static/webui/index.html index c814456b..56557915 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -806,9 +806,9 @@
- +
- +
diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js index 561fc609..060b689d 100644 --- a/static/webui/translations/de.js +++ b/static/webui/translations/de.js @@ -243,7 +243,7 @@ dict = { cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, - cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisAntivirusGainMultiplier: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index b6c4f19e..ea4dd03d 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -242,7 +242,7 @@ dict = { cheats_nemesisAlwaysCorrect: `Any Requiem / Antivirus Guess Is Correct`, cheats_nemesisHenchmenKillsMultiplierGrineer: `Rage Progress Multiplier (Grineer)`, cheats_nemesisHenchmenKillsMultiplierCorpus: `Rage Progress Multiplier (Corpus)`, - cheats_nemesisHenchmenKillsMultiplierInfestation: `Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisAntivirusGainMultiplier: `Antivirus Progress Multiplier (Techrot)`, cheats_nemesisHintProgressMultiplierGrineer: `Hint Progress Multiplier (Grineer)`, cheats_nemesisHintProgressMultiplierCorpus: `Hint Progress Multiplier (Corpus)`, cheats_nemesisWeaponFusionMultiplier: `Valence Fusion Multiplier (Adversary Weapons)`, diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js index e29e5f2f..b12e1a54 100644 --- a/static/webui/translations/es.js +++ b/static/webui/translations/es.js @@ -243,7 +243,7 @@ dict = { cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, - cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisAntivirusGainMultiplier: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js index 15877d90..0618520e 100644 --- a/static/webui/translations/fr.js +++ b/static/webui/translations/fr.js @@ -243,7 +243,7 @@ dict = { cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, - cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisAntivirusGainMultiplier: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index 05e86e3a..08b6ee3d 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -243,7 +243,7 @@ dict = { cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, - cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisAntivirusGainMultiplier: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, diff --git a/static/webui/translations/uk.js b/static/webui/translations/uk.js index 0065a3f7..860d02e2 100644 --- a/static/webui/translations/uk.js +++ b/static/webui/translations/uk.js @@ -243,7 +243,7 @@ dict = { cheats_nemesisAlwaysCorrect: `[UNTRANSLATED] Any Requiem / Antivirus Guess Is Correct`, cheats_nemesisHenchmenKillsMultiplierGrineer: `[UNTRANSLATED] Rage Progress Multiplier (Grineer)`, cheats_nemesisHenchmenKillsMultiplierCorpus: `[UNTRANSLATED] Rage Progress Multiplier (Corpus)`, - cheats_nemesisHenchmenKillsMultiplierInfestation: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, + cheats_nemesisAntivirusGainMultiplier: `[UNTRANSLATED] Antivirus Progress Multiplier (Techrot)`, cheats_nemesisHintProgressMultiplierGrineer: `[UNTRANSLATED] Hint Progress Multiplier (Grineer)`, cheats_nemesisHintProgressMultiplierCorpus: `[UNTRANSLATED] Hint Progress Multiplier (Corpus)`, cheats_nemesisWeaponFusionMultiplier: `[UNTRANSLATED] Valence Fusion Multiplier (Adversary Weapons)`, diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index 67bda918..c6e6cbe9 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -243,7 +243,7 @@ dict = { cheats_nemesisAlwaysCorrect: `玄骸密码总是正确`, cheats_nemesisHenchmenKillsMultiplierGrineer: `怒气倍率(Grineer)`, cheats_nemesisHenchmenKillsMultiplierCorpus: `怒气倍率(Corpus)`, - cheats_nemesisHenchmenKillsMultiplierInfestation: `杀毒进度(科腐者)`, + cheats_nemesisAntivirusGainMultiplier: `杀毒进度(科腐者)`, cheats_nemesisHintProgressMultiplierGrineer: `密码解密进度(Grineer)`, cheats_nemesisHintProgressMultiplierCorpus: `密码解密进度(Corpus)`, cheats_nemesisWeaponFusionMultiplier: `效价融合倍率(玄骸武器)`, -- 2.47.2