From 83b267bcf514aaff042c87ac28f85e9e19454e48 Mon Sep 17 00:00:00 2001 From: Sainan Date: Wed, 26 Mar 2025 14:22:09 -0700 Subject: [PATCH] fix: restrict transmutation polarity when a transmute core is being used (#1336) Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1336 --- src/controllers/api/artifactTransmutationController.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/controllers/api/artifactTransmutationController.ts b/src/controllers/api/artifactTransmutationController.ts index 3fd52535..78da93a1 100644 --- a/src/controllers/api/artifactTransmutationController.ts +++ b/src/controllers/api/artifactTransmutationController.ts @@ -53,6 +53,7 @@ export const artifactTransmutationController: RequestHandler = async (req, res) RARE: 0, LEGENDARY: 0 }; + let forcedPolarity: string | undefined; payload.Consumed.forEach(upgrade => { const meta = ExportUpgrades[upgrade.ItemType]; counts[meta.rarity] += upgrade.ItemCount; @@ -62,6 +63,13 @@ export const artifactTransmutationController: RequestHandler = async (req, res) ItemCount: upgrade.ItemCount * -1 } ]); + if (upgrade.ItemType == "/Lotus/Upgrades/Mods/TransmuteCores/AttackTransmuteCore") { + forcedPolarity = "AP_ATTACK"; + } else if (upgrade.ItemType == "/Lotus/Upgrades/Mods/TransmuteCores/DefenseTransmuteCore") { + forcedPolarity = "AP_DEFENSE"; + } else if (upgrade.ItemType == "/Lotus/Upgrades/Mods/TransmuteCores/TacticTransmuteCore") { + forcedPolarity = "AP_TACTIC"; + } }); // Based on the table on https://wiki.warframe.com/w/Transmutation @@ -74,7 +82,7 @@ export const artifactTransmutationController: RequestHandler = async (req, res) const options: { uniqueName: string; rarity: TRarity }[] = []; Object.entries(ExportUpgrades).forEach(([uniqueName, upgrade]) => { - if (upgrade.canBeTransmutation) { + if (upgrade.canBeTransmutation && (!forcedPolarity || upgrade.polarity == forcedPolarity)) { options.push({ uniqueName, rarity: upgrade.rarity }); } });