From b722c5ff4f0d5b693d5252c6df95cce3cbb248b2 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Tue, 12 May 2026 07:10:54 +0000 Subject: [PATCH 1/2] Apply changes from https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/9832 --- src/Data/ModCache.lua.rej | 10 +++++++ src/Data/SkillStatMap.lua | 6 +++++ src/Data/Skills/act_dex.lua.rej | 43 +++++++++++++++++++++++++++++++ src/Data/Skills/other.lua.rej | 13 ++++++++++ src/Data/Skills/sup_int.lua.rej | 11 ++++++++ src/Export/Skills/act_dex.txt.rej | 43 +++++++++++++++++++++++++++++++ src/Export/Skills/other.txt.rej | 13 ++++++++++ src/Export/Skills/sup_int.txt.rej | 11 ++++++++ src/Modules/CalcPerform.lua.rej | 23 +++++++++++++++++ src/Modules/ConfigOptions.lua.rej | 17 ++++++++++++ src/Modules/ModParser.lua.rej | 17 ++++++++++++ 11 files changed, 207 insertions(+) create mode 100644 src/Data/ModCache.lua.rej create mode 100644 src/Data/Skills/act_dex.lua.rej create mode 100644 src/Data/Skills/other.lua.rej create mode 100644 src/Data/Skills/sup_int.lua.rej create mode 100644 src/Export/Skills/act_dex.txt.rej create mode 100644 src/Export/Skills/other.txt.rej create mode 100644 src/Export/Skills/sup_int.txt.rej create mode 100644 src/Modules/CalcPerform.lua.rej create mode 100644 src/Modules/ConfigOptions.lua.rej create mode 100644 src/Modules/ModParser.lua.rej diff --git a/src/Data/ModCache.lua.rej b/src/Data/ModCache.lua.rej new file mode 100644 index 0000000000..36e50886e5 --- /dev/null +++ b/src/Data/ModCache.lua.rej @@ -0,0 +1,10 @@ +diff a/src/Data/ModCache.lua b/src/Data/ModCache.lua (rejected hunks) +@@ -7517,7 +7517,7 @@ c["Anger has 50% increased Aura Effect while at maximum Endurance Charges"]={{[1 + c["Anger has 50% increased Mana Reservation Efficiency"]={{[1]={[1]={includeTransfigured=true,skillName="Anger",type="SkillName"},flags=0,keywordFlags=0,name="ManaReservationEfficiency",type="INC",value=50}},nil} + c["Anger has 60% increased Aura Effect"]={{[1]={[1]={includeTransfigured=true,skillName="Anger",type="SkillName"},flags=0,keywordFlags=0,name="AuraEffect",type="INC",value=60}},nil} + c["Anger has no Reservation"]={{[1]={[1]={skillId="Anger",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="manaReservationFlat",value=0}},[2]={[1]={skillId="Anger",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="lifeReservationFlat",value=0}},[3]={[1]={skillId="Anger",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="manaReservationPercent",value=0}},[4]={[1]={skillId="Anger",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="lifeReservationPercent",value=0}}},nil} +-c["Animated Guardian deals 5% increased Damage per Animated Weapon"]={{[1]={[1]={includeTransfigured=true,skillName="Animate Guardian",type="SkillName"},flags=0,keywordFlags=0,name="MinionModifier",type="LIST",value={mod={[1]={actor="parent",type="Multiplier",var="AnimatedWeapon"},flags=0,keywordFlags=0,name="Damage",type="INC",value=5}}}},nil} ++c["Animated Guardian deals 5% increased Damage per Animated Weapon"]={{[1]={[1]={includeTransfigured=true,skillName="Animate Guardian",type="SkillName"},flags=0,keywordFlags=0,name="MinionModifier",type="LIST",value={mod={[1]={actor="parent",stat="ActiveAnimatedWeaponLimit",type="PerStat"},flags=0,keywordFlags=0,name="Damage",type="INC",value=5}}}},nil} + c["Animated and Manifested Minions' Melee Strikes deal 50% less Splash Damage"]={nil,"Animated and Manifested Minions' Melee Strikes deal 50% less Splash Damage "} + c["Animated and Manifested Minions' Melee Strikes deal 50% less Splash Damage You cannot have Non-Animated, Non-Manifested Minions"]={nil,"Animated and Manifested Minions' Melee Strikes deal 50% less Splash Damage You cannot have Non-Animated, Non-Manifested Minions "} + c["Animated and Manifested Minions' Melee Strikes deal Splash"]={nil,"Animated and Manifested Minions' Melee Strikes deal Splash "} diff --git a/src/Data/SkillStatMap.lua b/src/Data/SkillStatMap.lua index 1e2c80fc62..2540fd5d5b 100644 --- a/src/Data/SkillStatMap.lua +++ b/src/Data/SkillStatMap.lua @@ -2395,6 +2395,12 @@ return { ["base_number_of_skeletons_allowed"] = { mod("ActiveSkeletonLimit", "BASE", nil), }, +["base_number_of_animated_weapons_allowed"] = { + mod("ActiveAnimatedWeaponLimit", "BASE", nil), +}, +["base_number_of_support_ghosts_allowed"] = { + mod("ActivePhantasmLimit", "BASE", nil), +}, ["base_number_of_raging_spirits_allowed"] = { mod("ActiveRagingSpiritLimit", "BASE", nil), }, diff --git a/src/Data/Skills/act_dex.lua.rej b/src/Data/Skills/act_dex.lua.rej new file mode 100644 index 0000000000..57f951b0e8 --- /dev/null +++ b/src/Data/Skills/act_dex.lua.rej @@ -0,0 +1,43 @@ +diff a/src/Data/Skills/act_dex.lua b/src/Data/Skills/act_dex.lua (rejected hunks) +@@ -207,9 +207,6 @@ skills["AnimateWeapon"] = { + ["attack_maximum_added_physical_damage_for_ethereal_blades"] = { + mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "ActorCondition", actor = "parent", var = "AnimatingLingeringBlades" }) }), + }, +- ["base_number_of_animated_weapons_allowed"] = { +- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) +- }, + }, + baseFlags = { + spell = true, +@@ -309,11 +306,6 @@ skills["AnimateWeaponAltX"] = { + minionList = { + "AnimatedWeapon", + }, +- statMap = { +- ["base_number_of_animated_weapons_allowed"] = { +- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) +- }, +- }, + baseFlags = { + spell = true, + minion = true, +@@ -415,9 +407,6 @@ skills["AnimateWeaponAltY"] = { + ["attack_maximum_added_physical_damage_for_ethereal_blades"] = { + mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "ActorCondition", actor = "parent", var = "AnimatingLingeringBlades" }) }), + }, +- ["base_number_of_animated_weapons_allowed"] = { +- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) +- }, + }, + baseFlags = { + spell = true, +@@ -513,9 +502,6 @@ skills["VaalAnimateWeapon"] = { + ["base_movement_velocity_+%"] = { + mod("MinionModifier", "LIST", { mod = mod("MovementSpeed", "INC", nil) }), + }, +- ["base_number_of_animated_weapons_allowed"] = { +- mod("Multiplier:VaalAnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) +- }, + }, + baseFlags = { + spell = true, diff --git a/src/Data/Skills/other.lua.rej b/src/Data/Skills/other.lua.rej new file mode 100644 index 0000000000..1f94bc8367 --- /dev/null +++ b/src/Data/Skills/other.lua.rej @@ -0,0 +1,13 @@ +diff a/src/Data/Skills/other.lua b/src/Data/Skills/other.lua (rejected hunks) +@@ -4016,11 +4016,6 @@ skills["TriggeredSummonGhostOnKill"] = { + minionList = { + "SummonedPhantasm", + }, +- statMap = { +- ["base_number_of_support_ghosts_allowed"] = { +- mod("ActivePhantasmLimit", "BASE", nil), +- }, +- }, + baseFlags = { + spell = true, + minion = true, diff --git a/src/Data/Skills/sup_int.lua.rej b/src/Data/Skills/sup_int.lua.rej new file mode 100644 index 0000000000..5a1bb6e59c --- /dev/null +++ b/src/Data/Skills/sup_int.lua.rej @@ -0,0 +1,11 @@ +diff a/src/Data/Skills/sup_int.lua b/src/Data/Skills/sup_int.lua (rejected hunks) +@@ -6380,9 +6380,6 @@ skills["SupportSummonPhantasm"] = { + "SummonedPhantasm" + }, + statMap = { +- ["base_number_of_support_ghosts_allowed"] = { +- mod("ActivePhantasmLimit", "BASE", nil), +- }, + ["phantasm_minimum_added_physical_damage_to_grant"] = { + mod("PhysicalMin", "BASE", nil, ModFlag.Spell, 0, { type = "PerStat", stat = "ActivePhantasmLimit" }, { type = "GlobalEffect", effectType = "Buff", effectName = "Phantasmal Might", effectCond = "PhantasmalMight", allowTotemBuff = true }) + }, diff --git a/src/Export/Skills/act_dex.txt.rej b/src/Export/Skills/act_dex.txt.rej new file mode 100644 index 0000000000..31c9892687 --- /dev/null +++ b/src/Export/Skills/act_dex.txt.rej @@ -0,0 +1,43 @@ +diff a/src/Export/Skills/act_dex.txt b/src/Export/Skills/act_dex.txt (rejected hunks) +@@ -62,9 +62,6 @@ local skills, mod, flag, skill = ... + ["attack_maximum_added_physical_damage_for_ethereal_blades"] = { + mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "ActorCondition", actor = "parent", var = "AnimatingLingeringBlades" }) }), + }, +- ["base_number_of_animated_weapons_allowed"] = { +- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) +- }, + }, + #mods + +@@ -73,11 +70,6 @@ local skills, mod, flag, skill = ... + minionList = { + "AnimatedWeapon", + }, +- statMap = { +- ["base_number_of_animated_weapons_allowed"] = { +- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) +- }, +- }, + #baseMod skill("minionUseMainHandWeapon", true) + #mods + +@@ -103,9 +95,6 @@ local skills, mod, flag, skill = ... + ["attack_maximum_added_physical_damage_for_ethereal_blades"] = { + mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "ActorCondition", actor = "parent", var = "AnimatingLingeringBlades" }) }), + }, +- ["base_number_of_animated_weapons_allowed"] = { +- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) +- }, + }, + #mods + +@@ -122,9 +111,6 @@ local skills, mod, flag, skill = ... + ["base_movement_velocity_+%"] = { + mod("MinionModifier", "LIST", { mod = mod("MovementSpeed", "INC", nil) }), + }, +- ["base_number_of_animated_weapons_allowed"] = { +- mod("Multiplier:VaalAnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) +- }, + }, + #mods + diff --git a/src/Export/Skills/other.txt.rej b/src/Export/Skills/other.txt.rej new file mode 100644 index 0000000000..b03f8db6dc --- /dev/null +++ b/src/Export/Skills/other.txt.rej @@ -0,0 +1,13 @@ +diff a/src/Export/Skills/other.txt b/src/Export/Skills/other.txt (rejected hunks) +@@ -1037,11 +1037,6 @@ local skills, mod, flag, skill = ... + minionList = { + "SummonedPhantasm", + }, +- statMap = { +- ["base_number_of_support_ghosts_allowed"] = { +- mod("ActivePhantasmLimit", "BASE", nil), +- }, +- }, + #mods + + #skill SummonSentinelOfRadiance diff --git a/src/Export/Skills/sup_int.txt.rej b/src/Export/Skills/sup_int.txt.rej new file mode 100644 index 0000000000..ba26ae25c4 --- /dev/null +++ b/src/Export/Skills/sup_int.txt.rej @@ -0,0 +1,11 @@ +diff a/src/Export/Skills/sup_int.txt b/src/Export/Skills/sup_int.txt (rejected hunks) +@@ -916,9 +916,6 @@ local skills, mod, flag, skill = ... + "SummonedPhantasm" + }, + statMap = { +- ["base_number_of_support_ghosts_allowed"] = { +- mod("ActivePhantasmLimit", "BASE", nil), +- }, + ["phantasm_minimum_added_physical_damage_to_grant"] = { + mod("PhysicalMin", "BASE", nil, ModFlag.Spell, 0, { type = "PerStat", stat = "ActivePhantasmLimit" }, { type = "GlobalEffect", effectType = "Buff", effectName = "Phantasmal Might", effectCond = "PhantasmalMight", allowTotemBuff = true }) + }, diff --git a/src/Modules/CalcPerform.lua.rej b/src/Modules/CalcPerform.lua.rej new file mode 100644 index 0000000000..d35b32ab64 --- /dev/null +++ b/src/Modules/CalcPerform.lua.rej @@ -0,0 +1,23 @@ +diff a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua (rejected hunks) +@@ -1249,6 +1249,7 @@ function calcs.perform(env, skipEHP) + applyEnemyModifiers(env.minion, true) + end + applyEnemyModifiers(env.enemy, true) ++ local minionCount = {} + + for _, activeSkill in ipairs(env.player.activeSkillList) do + if activeSkill.skillTypes[SkillType.Brand] then +@@ -1331,6 +1332,13 @@ function calcs.perform(env, skipEHP) + if activeSkill.minion and activeSkill.minion.minionData and activeSkill.minion.minionData.limit then + local limit = m_floor(modDB:Override(nil, activeSkill.minion.minionData.limit) or (calcLib.val(activeSkill.skillModList, activeSkill.minion.minionData.limit) * activeSkill.skillModList:More(activeSkill.skillCfg, "ActiveMinionLimit"))) + output[activeSkill.minion.minionData.limit] = m_max(limit, output[activeSkill.minion.minionData.limit] or 0) ++ if not minionCount[activeSkill.minion.minionData.limit] then ++ env.player.modDB:NewMod("Multiplier:SummonedMinion", "BASE", output[activeSkill.minion.minionData.limit], "Config", { type = "Condition", var = "Combat" }) ++ if not activeSkill.skillTypes[SkillType.Vaal] then ++ env.player.modDB:NewMod("Multiplier:NonVaalSummonedMinion", "BASE", output[activeSkill.minion.minionData.limit], "Config", { type = "Condition", var = "Combat" }) ++ end ++ minionCount[activeSkill.minion.minionData.limit] = true ++ end + end + if activeSkill.skillTypes[SkillType.CreatesMinion] and not activeSkill.skillTypes[SkillType.MinionsAreUndamagable] then + modDB:NewMod("Condition:HaveDamageableMinion", "FLAG", true) diff --git a/src/Modules/ConfigOptions.lua.rej b/src/Modules/ConfigOptions.lua.rej new file mode 100644 index 0000000000..6888064c43 --- /dev/null +++ b/src/Modules/ConfigOptions.lua.rej @@ -0,0 +1,17 @@ +diff a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua (rejected hunks) +@@ -1108,11 +1108,11 @@ Huge sets the radius to 11. + { var = "multiplierNearbyCorpse", type = "count", label = "# of Nearby Corpses:", ifMult = "NearbyCorpse", apply = function(val, modList, enemyModList) + modList:NewMod("Multiplier:NearbyCorpse", "BASE", val, "Config", { type = "Condition", var = "Combat" }) + end }, +- { var = "multiplierSummonedMinion", type = "count", label = "# of Summoned Minions:", ifMult = "SummonedMinion", apply = function(val, modList, enemyModList) +- modList:NewMod("Multiplier:SummonedMinion", "BASE", val, "Config", { type = "Condition", var = "Combat" }) ++ { var = "multiplierSummonedMinion", type = "count", label = "# of Summoned Minions (if not maximum):", ifMult = "SummonedMinion", tooltip = "Use this to override the count if you do not have all your minions summoned", apply = function(val, modList, enemyModList) ++ modList:NewMod("Multiplier:SummonedMinion", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) + end }, +- { var = "multiplierNonVaalSummonedMinion", type = "count", label = "# of non-vaal skill Summoned Minions:", ifMult = "NonVaalSummonedMinion", apply = function(val, modList, enemyModList) +- modList:NewMod("Multiplier:NonVaalSummonedMinion", "BASE", val, "Config", { type = "Condition", var = "Combat" }) ++ { var = "multiplierNonVaalSummonedMinion", type = "count", label = "# of non-vaal skill Summoned Minions:", ifMult = "NonVaalSummonedMinion", tooltip = "Use this to override the count if you do not have all your minions summoned", apply = function(val, modList, enemyModList) ++ modList:NewMod("Multiplier:NonVaalSummonedMinion", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) + end }, + { var = "conditionOnConsecratedGround", type = "check", label = "Are you on Consecrated Ground?", tooltip = "In addition to allowing any 'while on Consecrated Ground' modifiers to apply,\nConsecrated Ground grants 5% ^xE05030Life ^7Regeneration to players and allies.", apply = function(val, modList, enemyModList) + modList:NewMod("Condition:OnConsecratedGround", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) diff --git a/src/Modules/ModParser.lua.rej b/src/Modules/ModParser.lua.rej new file mode 100644 index 0000000000..c538af8fd0 --- /dev/null +++ b/src/Modules/ModParser.lua.rej @@ -0,0 +1,17 @@ +diff a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua (rejected hunks) +@@ -1401,7 +1401,6 @@ local modTagList = { + ["per socketed gem"] = { tag = { type = "Multiplier", var = "SocketedGemsIn{SlotName}"}}, + ["for each impale on enemy"] = { tag = { type = "Multiplier", var = "ImpaleStacks", actor = "enemy" } }, + ["per impale on enemy"] = { tag = { type = "Multiplier", var = "ImpaleStacks", actor = "enemy" } }, +- ["per animated weapon"] = { tag = { type = "Multiplier", var = "AnimatedWeapon", actor = "parent" } }, + ["per grasping vine"] = { tag = { type = "Multiplier", var = "GraspingVinesCount" } }, + ["per fragile regrowth"] = { tag = { type = "Multiplier", var = "FragileRegrowthCount" } }, + ["per bark"] = { tag = { type = "Multiplier", var = "BarkskinStacks" } }, +@@ -1483,6 +1482,7 @@ local modTagList = { + ["per skeleton you own"] = { tag = { type = "PerStat", stat = "ActiveSkeletonLimit", actor = "parent" } }, + ["per summoned raging spirit"] = { tag = { type = "PerStat", stat = "ActiveRagingSpiritLimit" } }, + ["per summoned phantasm"] = { tag = { type = "PerStat", stat = "ActivePhantasmLimit" } }, ++ ["per animated weapon"] = { tag = { type = "PerStat", stat = "ActiveAnimatedWeaponLimit", actor = "parent" } }, + ["for each raised zombie"] = { tag = { type = "PerStat", stat = "ActiveZombieLimit" } }, + ["per zombie you own"] = { tag = { type = "PerStat", stat = "ActiveZombieLimit", actor = "parent" } }, + ["per raised zombie"] = { tag = { type = "PerStat", stat = "ActiveZombieLimit" } }, From e0e05289c884e8b8db230eb9b9e349941fed0363 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Sat, 23 May 2026 16:56:46 +1000 Subject: [PATCH 2/2] Remove extra PoB 1 lines --- src/Data/ModCache.lua.rej | 10 ------- src/Data/Skills/act_dex.lua.rej | 43 ------------------------------- src/Data/Skills/other.lua.rej | 13 ---------- src/Data/Skills/sup_int.lua.rej | 11 -------- src/Export/Skills/act_dex.txt.rej | 43 ------------------------------- src/Export/Skills/other.txt.rej | 13 ---------- src/Export/Skills/sup_int.txt.rej | 11 -------- src/Modules/CalcPerform.lua | 16 +++++++++++- src/Modules/CalcPerform.lua.rej | 23 ----------------- src/Modules/ConfigOptions.lua | 8 +++--- src/Modules/ConfigOptions.lua.rej | 17 ------------ src/Modules/ModParser.lua.rej | 17 ------------ 12 files changed, 19 insertions(+), 206 deletions(-) delete mode 100644 src/Data/ModCache.lua.rej delete mode 100644 src/Data/Skills/act_dex.lua.rej delete mode 100644 src/Data/Skills/other.lua.rej delete mode 100644 src/Data/Skills/sup_int.lua.rej delete mode 100644 src/Export/Skills/act_dex.txt.rej delete mode 100644 src/Export/Skills/other.txt.rej delete mode 100644 src/Export/Skills/sup_int.txt.rej delete mode 100644 src/Modules/CalcPerform.lua.rej delete mode 100644 src/Modules/ConfigOptions.lua.rej delete mode 100644 src/Modules/ModParser.lua.rej diff --git a/src/Data/ModCache.lua.rej b/src/Data/ModCache.lua.rej deleted file mode 100644 index 36e50886e5..0000000000 --- a/src/Data/ModCache.lua.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/src/Data/ModCache.lua b/src/Data/ModCache.lua (rejected hunks) -@@ -7517,7 +7517,7 @@ c["Anger has 50% increased Aura Effect while at maximum Endurance Charges"]={{[1 - c["Anger has 50% increased Mana Reservation Efficiency"]={{[1]={[1]={includeTransfigured=true,skillName="Anger",type="SkillName"},flags=0,keywordFlags=0,name="ManaReservationEfficiency",type="INC",value=50}},nil} - c["Anger has 60% increased Aura Effect"]={{[1]={[1]={includeTransfigured=true,skillName="Anger",type="SkillName"},flags=0,keywordFlags=0,name="AuraEffect",type="INC",value=60}},nil} - c["Anger has no Reservation"]={{[1]={[1]={skillId="Anger",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="manaReservationFlat",value=0}},[2]={[1]={skillId="Anger",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="lifeReservationFlat",value=0}},[3]={[1]={skillId="Anger",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="manaReservationPercent",value=0}},[4]={[1]={skillId="Anger",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="lifeReservationPercent",value=0}}},nil} --c["Animated Guardian deals 5% increased Damage per Animated Weapon"]={{[1]={[1]={includeTransfigured=true,skillName="Animate Guardian",type="SkillName"},flags=0,keywordFlags=0,name="MinionModifier",type="LIST",value={mod={[1]={actor="parent",type="Multiplier",var="AnimatedWeapon"},flags=0,keywordFlags=0,name="Damage",type="INC",value=5}}}},nil} -+c["Animated Guardian deals 5% increased Damage per Animated Weapon"]={{[1]={[1]={includeTransfigured=true,skillName="Animate Guardian",type="SkillName"},flags=0,keywordFlags=0,name="MinionModifier",type="LIST",value={mod={[1]={actor="parent",stat="ActiveAnimatedWeaponLimit",type="PerStat"},flags=0,keywordFlags=0,name="Damage",type="INC",value=5}}}},nil} - c["Animated and Manifested Minions' Melee Strikes deal 50% less Splash Damage"]={nil,"Animated and Manifested Minions' Melee Strikes deal 50% less Splash Damage "} - c["Animated and Manifested Minions' Melee Strikes deal 50% less Splash Damage You cannot have Non-Animated, Non-Manifested Minions"]={nil,"Animated and Manifested Minions' Melee Strikes deal 50% less Splash Damage You cannot have Non-Animated, Non-Manifested Minions "} - c["Animated and Manifested Minions' Melee Strikes deal Splash"]={nil,"Animated and Manifested Minions' Melee Strikes deal Splash "} diff --git a/src/Data/Skills/act_dex.lua.rej b/src/Data/Skills/act_dex.lua.rej deleted file mode 100644 index 57f951b0e8..0000000000 --- a/src/Data/Skills/act_dex.lua.rej +++ /dev/null @@ -1,43 +0,0 @@ -diff a/src/Data/Skills/act_dex.lua b/src/Data/Skills/act_dex.lua (rejected hunks) -@@ -207,9 +207,6 @@ skills["AnimateWeapon"] = { - ["attack_maximum_added_physical_damage_for_ethereal_blades"] = { - mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "ActorCondition", actor = "parent", var = "AnimatingLingeringBlades" }) }), - }, -- ["base_number_of_animated_weapons_allowed"] = { -- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) -- }, - }, - baseFlags = { - spell = true, -@@ -309,11 +306,6 @@ skills["AnimateWeaponAltX"] = { - minionList = { - "AnimatedWeapon", - }, -- statMap = { -- ["base_number_of_animated_weapons_allowed"] = { -- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) -- }, -- }, - baseFlags = { - spell = true, - minion = true, -@@ -415,9 +407,6 @@ skills["AnimateWeaponAltY"] = { - ["attack_maximum_added_physical_damage_for_ethereal_blades"] = { - mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "ActorCondition", actor = "parent", var = "AnimatingLingeringBlades" }) }), - }, -- ["base_number_of_animated_weapons_allowed"] = { -- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) -- }, - }, - baseFlags = { - spell = true, -@@ -513,9 +502,6 @@ skills["VaalAnimateWeapon"] = { - ["base_movement_velocity_+%"] = { - mod("MinionModifier", "LIST", { mod = mod("MovementSpeed", "INC", nil) }), - }, -- ["base_number_of_animated_weapons_allowed"] = { -- mod("Multiplier:VaalAnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) -- }, - }, - baseFlags = { - spell = true, diff --git a/src/Data/Skills/other.lua.rej b/src/Data/Skills/other.lua.rej deleted file mode 100644 index 1f94bc8367..0000000000 --- a/src/Data/Skills/other.lua.rej +++ /dev/null @@ -1,13 +0,0 @@ -diff a/src/Data/Skills/other.lua b/src/Data/Skills/other.lua (rejected hunks) -@@ -4016,11 +4016,6 @@ skills["TriggeredSummonGhostOnKill"] = { - minionList = { - "SummonedPhantasm", - }, -- statMap = { -- ["base_number_of_support_ghosts_allowed"] = { -- mod("ActivePhantasmLimit", "BASE", nil), -- }, -- }, - baseFlags = { - spell = true, - minion = true, diff --git a/src/Data/Skills/sup_int.lua.rej b/src/Data/Skills/sup_int.lua.rej deleted file mode 100644 index 5a1bb6e59c..0000000000 --- a/src/Data/Skills/sup_int.lua.rej +++ /dev/null @@ -1,11 +0,0 @@ -diff a/src/Data/Skills/sup_int.lua b/src/Data/Skills/sup_int.lua (rejected hunks) -@@ -6380,9 +6380,6 @@ skills["SupportSummonPhantasm"] = { - "SummonedPhantasm" - }, - statMap = { -- ["base_number_of_support_ghosts_allowed"] = { -- mod("ActivePhantasmLimit", "BASE", nil), -- }, - ["phantasm_minimum_added_physical_damage_to_grant"] = { - mod("PhysicalMin", "BASE", nil, ModFlag.Spell, 0, { type = "PerStat", stat = "ActivePhantasmLimit" }, { type = "GlobalEffect", effectType = "Buff", effectName = "Phantasmal Might", effectCond = "PhantasmalMight", allowTotemBuff = true }) - }, diff --git a/src/Export/Skills/act_dex.txt.rej b/src/Export/Skills/act_dex.txt.rej deleted file mode 100644 index 31c9892687..0000000000 --- a/src/Export/Skills/act_dex.txt.rej +++ /dev/null @@ -1,43 +0,0 @@ -diff a/src/Export/Skills/act_dex.txt b/src/Export/Skills/act_dex.txt (rejected hunks) -@@ -62,9 +62,6 @@ local skills, mod, flag, skill = ... - ["attack_maximum_added_physical_damage_for_ethereal_blades"] = { - mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "ActorCondition", actor = "parent", var = "AnimatingLingeringBlades" }) }), - }, -- ["base_number_of_animated_weapons_allowed"] = { -- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) -- }, - }, - #mods - -@@ -73,11 +70,6 @@ local skills, mod, flag, skill = ... - minionList = { - "AnimatedWeapon", - }, -- statMap = { -- ["base_number_of_animated_weapons_allowed"] = { -- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) -- }, -- }, - #baseMod skill("minionUseMainHandWeapon", true) - #mods - -@@ -103,9 +95,6 @@ local skills, mod, flag, skill = ... - ["attack_maximum_added_physical_damage_for_ethereal_blades"] = { - mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "ActorCondition", actor = "parent", var = "AnimatingLingeringBlades" }) }), - }, -- ["base_number_of_animated_weapons_allowed"] = { -- mod("Multiplier:AnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) -- }, - }, - #mods - -@@ -122,9 +111,6 @@ local skills, mod, flag, skill = ... - ["base_movement_velocity_+%"] = { - mod("MinionModifier", "LIST", { mod = mod("MovementSpeed", "INC", nil) }), - }, -- ["base_number_of_animated_weapons_allowed"] = { -- mod("Multiplier:VaalAnimatedWeapon", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }) -- }, - }, - #mods - diff --git a/src/Export/Skills/other.txt.rej b/src/Export/Skills/other.txt.rej deleted file mode 100644 index b03f8db6dc..0000000000 --- a/src/Export/Skills/other.txt.rej +++ /dev/null @@ -1,13 +0,0 @@ -diff a/src/Export/Skills/other.txt b/src/Export/Skills/other.txt (rejected hunks) -@@ -1037,11 +1037,6 @@ local skills, mod, flag, skill = ... - minionList = { - "SummonedPhantasm", - }, -- statMap = { -- ["base_number_of_support_ghosts_allowed"] = { -- mod("ActivePhantasmLimit", "BASE", nil), -- }, -- }, - #mods - - #skill SummonSentinelOfRadiance diff --git a/src/Export/Skills/sup_int.txt.rej b/src/Export/Skills/sup_int.txt.rej deleted file mode 100644 index ba26ae25c4..0000000000 --- a/src/Export/Skills/sup_int.txt.rej +++ /dev/null @@ -1,11 +0,0 @@ -diff a/src/Export/Skills/sup_int.txt b/src/Export/Skills/sup_int.txt (rejected hunks) -@@ -916,9 +916,6 @@ local skills, mod, flag, skill = ... - "SummonedPhantasm" - }, - statMap = { -- ["base_number_of_support_ghosts_allowed"] = { -- mod("ActivePhantasmLimit", "BASE", nil), -- }, - ["phantasm_minimum_added_physical_damage_to_grant"] = { - mod("PhysicalMin", "BASE", nil, ModFlag.Spell, 0, { type = "PerStat", stat = "ActivePhantasmLimit" }, { type = "GlobalEffect", effectType = "Buff", effectName = "Phantasmal Might", effectCond = "PhantasmalMight", allowTotemBuff = true }) - }, diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index cd5a2bc12d..60dd377cff 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -1069,7 +1069,7 @@ function calcs.perform(env, skipEHP) applyEnemyModifiers(env.enemy, true) local minionTypeCount, ammoTypeCount, grenadeTypeCount = 0, 0, 0 - local minionType, ammoType, grenadeType = { }, { }, { } + local minionCount, minionType, ammoType, grenadeType = { }, { }, { }, { } for _, activeSkill in ipairs(env.player.activeSkillList) do local skillFlags if env.mode == "CALCS" then @@ -1140,6 +1140,16 @@ function calcs.perform(env, skipEHP) local limit = activeSkill.skillModList:Sum("BASE", nil, activeSkill.minion.minionData.limit) output[activeSkill.minion.minionData.limit] = m_max(limit, output[activeSkill.minion.minionData.limit] or 0) end + if activeSkill.minion and activeSkill.minion.minionData and activeSkill.minion.minionData.limit then + local limit = m_floor(modDB:Override(nil, activeSkill.minion.minionData.limit) or (calcLib.val(activeSkill.skillModList, activeSkill.minion.minionData.limit) * activeSkill.skillModList:More(activeSkill.skillCfg, "ActiveMinionLimit"))) + output[activeSkill.minion.minionData.limit] = m_max(limit, output[activeSkill.minion.minionData.limit] or 0) + if not minionCount[activeSkill.minion.minionData.limit] then + env.player.modDB:NewMod("Multiplier:SummonedMinion", "BASE", output[activeSkill.minion.minionData.limit], "Config", { type = "Condition", var = "Combat" }) + env.player.modDB:NewMod("Multiplier:MinionPresenceCount", "BASE", output[activeSkill.minion.minionData.limit], "Config", { type = "Condition", var = "Combat" }) + minionCount[activeSkill.minion.minionData.limit] = true + t_insert(minionCount, activeSkill.minion.minionData.limit) + end + end if activeSkill.activeEffect.grantedEffect and activeSkill.skillTypes[SkillType.Minion] and activeSkill.skillTypes[SkillType.Persistent] and not minionType[activeSkill.activeEffect.grantedEffect.id] then minionTypeCount = minionTypeCount + 1 minionType[activeSkill.activeEffect.grantedEffect.id] = true @@ -1188,6 +1198,10 @@ function calcs.perform(env, skipEHP) -- Stat sorting category calcs output.EffectiveLootRarityMod = calcLib.mod(modDB, nil, "LootRarity") output.Spirit = m_floor(calcLib.val(modDB, nil, "Spirit")) + + if #minionCount == 1 then + modDB.conditions["OnlyMinion"] = true + end -- Special Rarity / Quantity Calc for Bisco's local lootQuantityNormalEnemies = modDB:Sum("INC", nil, "LootQuantityNormalEnemies") diff --git a/src/Modules/CalcPerform.lua.rej b/src/Modules/CalcPerform.lua.rej deleted file mode 100644 index d35b32ab64..0000000000 --- a/src/Modules/CalcPerform.lua.rej +++ /dev/null @@ -1,23 +0,0 @@ -diff a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua (rejected hunks) -@@ -1249,6 +1249,7 @@ function calcs.perform(env, skipEHP) - applyEnemyModifiers(env.minion, true) - end - applyEnemyModifiers(env.enemy, true) -+ local minionCount = {} - - for _, activeSkill in ipairs(env.player.activeSkillList) do - if activeSkill.skillTypes[SkillType.Brand] then -@@ -1331,6 +1332,13 @@ function calcs.perform(env, skipEHP) - if activeSkill.minion and activeSkill.minion.minionData and activeSkill.minion.minionData.limit then - local limit = m_floor(modDB:Override(nil, activeSkill.minion.minionData.limit) or (calcLib.val(activeSkill.skillModList, activeSkill.minion.minionData.limit) * activeSkill.skillModList:More(activeSkill.skillCfg, "ActiveMinionLimit"))) - output[activeSkill.minion.minionData.limit] = m_max(limit, output[activeSkill.minion.minionData.limit] or 0) -+ if not minionCount[activeSkill.minion.minionData.limit] then -+ env.player.modDB:NewMod("Multiplier:SummonedMinion", "BASE", output[activeSkill.minion.minionData.limit], "Config", { type = "Condition", var = "Combat" }) -+ if not activeSkill.skillTypes[SkillType.Vaal] then -+ env.player.modDB:NewMod("Multiplier:NonVaalSummonedMinion", "BASE", output[activeSkill.minion.minionData.limit], "Config", { type = "Condition", var = "Combat" }) -+ end -+ minionCount[activeSkill.minion.minionData.limit] = true -+ end - end - if activeSkill.skillTypes[SkillType.CreatesMinion] and not activeSkill.skillTypes[SkillType.MinionsAreUndamagable] then - modDB:NewMod("Condition:HaveDamageableMinion", "FLAG", true) diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index 721a758769..3ef05103af 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -960,11 +960,11 @@ Huge sets the radius to 11. { var = "multiplierNearbyCorpse", type = "count", label = "# of Nearby Corpses:", ifMult = "NearbyCorpse", apply = function(val, modList, enemyModList) modList:NewMod("Multiplier:NearbyCorpse", "BASE", val, "Config", { type = "Condition", var = "Combat" }) end }, - { var = "multiplierSummonedMinion", type = "count", label = "# of Summoned Minions:", ifMult = "SummonedMinion", apply = function(val, modList, enemyModList) - modList:NewMod("Multiplier:SummonedMinion", "BASE", val, "Config", { type = "Condition", var = "Combat" }) + { var = "multiplierSummonedMinion", type = "count", label = "# of Summoned Minions (if not maximum):", ifMult = "SummonedMinion", tooltip = "Use this to override the count if you do not have all your minions summoned", apply = function(val, modList, enemyModList) + modList:NewMod("Multiplier:SummonedMinion", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) end }, - { var = "multiplierMinionsInPresence", type = "count", label = "# of Minions in your Presence:", ifMult = "MinionPresenceCount", apply = function(val, modList, enemyModList) - modList:NewMod("Multiplier:MinionPresenceCount", "BASE", val, "Config", { type = "Condition", var = "Combat" }) + { var = "multiplierMinionsInPresence", type = "count", label = "# of Minions in your Presence:", ifMult = "MinionPresenceCount", tooltip = "Use this to override the count if you do not have all your minions summoned", apply = function(val, modList, enemyModList) + modList:NewMod("Multiplier:MinionPresenceCount", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) end }, { var = "conditionOnConsecratedGround", type = "check", label = "Are you on Consecrated Ground?", tooltip = "In addition to allowing any 'while on Consecrated Ground' modifiers to apply,\nConsecrated Ground grants 5% ^xE05030Life ^7Regeneration to players and allies.", apply = function(val, modList, enemyModList) modList:NewMod("Condition:OnConsecratedGround", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) diff --git a/src/Modules/ConfigOptions.lua.rej b/src/Modules/ConfigOptions.lua.rej deleted file mode 100644 index 6888064c43..0000000000 --- a/src/Modules/ConfigOptions.lua.rej +++ /dev/null @@ -1,17 +0,0 @@ -diff a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua (rejected hunks) -@@ -1108,11 +1108,11 @@ Huge sets the radius to 11. - { var = "multiplierNearbyCorpse", type = "count", label = "# of Nearby Corpses:", ifMult = "NearbyCorpse", apply = function(val, modList, enemyModList) - modList:NewMod("Multiplier:NearbyCorpse", "BASE", val, "Config", { type = "Condition", var = "Combat" }) - end }, -- { var = "multiplierSummonedMinion", type = "count", label = "# of Summoned Minions:", ifMult = "SummonedMinion", apply = function(val, modList, enemyModList) -- modList:NewMod("Multiplier:SummonedMinion", "BASE", val, "Config", { type = "Condition", var = "Combat" }) -+ { var = "multiplierSummonedMinion", type = "count", label = "# of Summoned Minions (if not maximum):", ifMult = "SummonedMinion", tooltip = "Use this to override the count if you do not have all your minions summoned", apply = function(val, modList, enemyModList) -+ modList:NewMod("Multiplier:SummonedMinion", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) - end }, -- { var = "multiplierNonVaalSummonedMinion", type = "count", label = "# of non-vaal skill Summoned Minions:", ifMult = "NonVaalSummonedMinion", apply = function(val, modList, enemyModList) -- modList:NewMod("Multiplier:NonVaalSummonedMinion", "BASE", val, "Config", { type = "Condition", var = "Combat" }) -+ { var = "multiplierNonVaalSummonedMinion", type = "count", label = "# of non-vaal skill Summoned Minions:", ifMult = "NonVaalSummonedMinion", tooltip = "Use this to override the count if you do not have all your minions summoned", apply = function(val, modList, enemyModList) -+ modList:NewMod("Multiplier:NonVaalSummonedMinion", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) - end }, - { var = "conditionOnConsecratedGround", type = "check", label = "Are you on Consecrated Ground?", tooltip = "In addition to allowing any 'while on Consecrated Ground' modifiers to apply,\nConsecrated Ground grants 5% ^xE05030Life ^7Regeneration to players and allies.", apply = function(val, modList, enemyModList) - modList:NewMod("Condition:OnConsecratedGround", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) diff --git a/src/Modules/ModParser.lua.rej b/src/Modules/ModParser.lua.rej deleted file mode 100644 index c538af8fd0..0000000000 --- a/src/Modules/ModParser.lua.rej +++ /dev/null @@ -1,17 +0,0 @@ -diff a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua (rejected hunks) -@@ -1401,7 +1401,6 @@ local modTagList = { - ["per socketed gem"] = { tag = { type = "Multiplier", var = "SocketedGemsIn{SlotName}"}}, - ["for each impale on enemy"] = { tag = { type = "Multiplier", var = "ImpaleStacks", actor = "enemy" } }, - ["per impale on enemy"] = { tag = { type = "Multiplier", var = "ImpaleStacks", actor = "enemy" } }, -- ["per animated weapon"] = { tag = { type = "Multiplier", var = "AnimatedWeapon", actor = "parent" } }, - ["per grasping vine"] = { tag = { type = "Multiplier", var = "GraspingVinesCount" } }, - ["per fragile regrowth"] = { tag = { type = "Multiplier", var = "FragileRegrowthCount" } }, - ["per bark"] = { tag = { type = "Multiplier", var = "BarkskinStacks" } }, -@@ -1483,6 +1482,7 @@ local modTagList = { - ["per skeleton you own"] = { tag = { type = "PerStat", stat = "ActiveSkeletonLimit", actor = "parent" } }, - ["per summoned raging spirit"] = { tag = { type = "PerStat", stat = "ActiveRagingSpiritLimit" } }, - ["per summoned phantasm"] = { tag = { type = "PerStat", stat = "ActivePhantasmLimit" } }, -+ ["per animated weapon"] = { tag = { type = "PerStat", stat = "ActiveAnimatedWeaponLimit", actor = "parent" } }, - ["for each raised zombie"] = { tag = { type = "PerStat", stat = "ActiveZombieLimit" } }, - ["per zombie you own"] = { tag = { type = "PerStat", stat = "ActiveZombieLimit", actor = "parent" } }, - ["per raised zombie"] = { tag = { type = "PerStat", stat = "ActiveZombieLimit" } },