From 09e2eb5abc265e233683975076fc42cf8d261167 Mon Sep 17 00:00:00 2001 From: Wofsauge Date: Wed, 10 Sep 2025 17:24:56 +0200 Subject: [PATCH] Added Necromancer transformation --- descriptions/rep+/en_us.lua | 3 ++ descriptions/rep+/transformations.lua | 6 ++- features/eid_api.lua | 10 ++-- features/eid_data.lua | 8 ++-- resources/gfx/eid_transform_icons.anm2 | 62 +++++++++++++++---------- resources/gfx/eid_transform_icons.png | Bin 7102 -> 21789 bytes 6 files changed, 56 insertions(+), 33 deletions(-) diff --git a/descriptions/rep+/en_us.lua b/descriptions/rep+/en_us.lua index d60ea2e6..925e0665 100644 --- a/descriptions/rep+/en_us.lua +++ b/descriptions/rep+/en_us.lua @@ -129,6 +129,9 @@ local abyssSynergies = { EID.descriptions[languageCode].abyssSynergies = {} EID:updateDescriptionsViaTable(abyssSynergies, EID.descriptions[languageCode].abyssSynergies) +---------- Transformations ---------- +EID.descriptions[languageCode].transformations[17] = "Necromancer" -- Add Necromancer transformation + -- If Debug enabled, add overwrite tables to the languagepack in order for the language completion script to be able to compare them if EID.enableDebug then diff --git a/descriptions/rep+/transformations.lua b/descriptions/rep+/transformations.lua index b783278e..d98eb6fe 100644 --- a/descriptions/rep+/transformations.lua +++ b/descriptions/rep+/transformations.lua @@ -13,7 +13,8 @@ "Bookworm", -- 12 "Spider Baby", -- 13 "Adult", -- 14 -"Stompy" -- 15 +"Stompy", -- 15 +"Necromancer", -- 16 ]]-- -- Repentance transformations @@ -21,5 +22,8 @@ local transformations = { -- Collectibles ["5.100.519"] = "4", -- Lil Delirium: Conjoined + ["5.100.35"] = "12,16", -- The Necronomicon: Necromancer + ["5.100.262"] = "16", -- Missing Page 2: Necromancer + ["5.350.48"] = "16", -- A Missing Page: Necromancer } EID:updateDescriptionsViaTable(transformations, EID.EntityTransformations) diff --git a/features/eid_api.lua b/features/eid_api.lua index 242b634e..4bbf6dec 100644 --- a/features/eid_api.lua +++ b/features/eid_api.lua @@ -2458,8 +2458,10 @@ function EID:evaluateTransformationProgress(transformation) local eType, eVariant, eSubType = entityString:match("([^.]+).([^.]+).([^.]+)") if tonumber(eType) == EntityType.ENTITY_PICKUP then if tonumber(eVariant) == PickupVariant.PICKUP_COLLECTIBLE then - local currentCount = EID.TransformationProgress[id][transformation] - if activesTable[tostring(eSubType)] then + -- Rep+ Exclusive: Only count a Transformation progress for Necromancer, if you own the Necronomicon + local isNecromancer = EID.isRepentancePlus and transformation == tostring(EID.TRANSFORMATION.NECROMANCER) + + if not isNecromancer and activesTable[tostring(eSubType)] then EID.TransformationProgress[id][transformation] = EID.TransformationProgress[id][transformation] + activesTable[tostring(eSubType)] else local collCount = player:GetCollectibleNum(eSubType, true) @@ -2474,8 +2476,8 @@ function EID:evaluateTransformationProgress(transformation) end end -- In AB+, only one copy of a given collectible is counted for trans - if not EID.isRepentance and EID.TransformationProgress[id][transformation] > currentCount + 1 then - EID.TransformationProgress[id][transformation] = currentCount + 1 + if not EID.isRepentance and EID.TransformationProgress[id][transformation] > EID.TransformationProgress[id][transformation] + 1 then + EID.TransformationProgress[id][transformation] = EID.TransformationProgress[id][transformation] + 1 end elseif tonumber(eVariant) == PickupVariant.PICKUP_TRINKET and player:HasTrinket(eSubType) then EID.TransformationProgress[id][transformation] = EID.TransformationProgress[id][transformation] + player:GetTrinketMultiplier(eSubType) diff --git a/features/eid_data.lua b/features/eid_data.lua index 4983710d..66f4f79d 100644 --- a/features/eid_data.lua +++ b/features/eid_data.lua @@ -52,7 +52,8 @@ EID.TRANSFORMATION = { ["ADULT"] = 14, ["SPIDERBABY"] = 13, ["SUPERBUM"] = 11, - ["STOMPY"] = 15 + ["STOMPY"] = 15, + ["NECROMANCER"] = 16 -- added in Rep+ } -- List of item Types @@ -351,8 +352,9 @@ EID.InlineIcons = { ["SuperBum"] = {"Transformation11", 0, 16, 16, 0, -1, EID.IconSprite}, ["Bookworm"] = {"Transformation12", 0, 16, 16, 0, -1, EID.IconSprite}, ["SpiderBaby"] = {"Transformation13", 0, 16, 16, 0, -1, EID.IconSprite}, - ["Adult"] = {"Transformation14",0,16, 16, 0, -1, EID.IconSprite}, - ["Stompy"] = {"Transformation15",0,16, 16, 0, -1, EID.IconSprite}, + ["Adult"] = {"Transformation14", 0, 16, 16, 0, -1, EID.IconSprite}, + ["Stompy"] = {"Transformation15", 0, 16, 16, 0, -1, EID.IconSprite}, + ["Necromancer"] = {"Transformation16", 0, 16, 16, 0, -1, EID.IconSprite}, -- Quality ["Quality0"] = {"Quality", 0, 10, 10, 0, 0}, diff --git a/resources/gfx/eid_transform_icons.anm2 b/resources/gfx/eid_transform_icons.anm2 index 3e312250..20442619 100644 --- a/resources/gfx/eid_transform_icons.anm2 +++ b/resources/gfx/eid_transform_icons.anm2 @@ -1,5 +1,5 @@ - + @@ -194,6 +194,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -251,30 +287,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/resources/gfx/eid_transform_icons.png b/resources/gfx/eid_transform_icons.png index 4345080fe0e8bea7be80b09b9ca6a2a8c6201f10..12e9973c48b5efc42c772e1b624fc222d481e692 100644 GIT binary patch literal 21789 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