You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{ var="conditionHaveArborix", type="check", label="Do you have Iron Reflexes?", ifFlag="Condition:HaveArborix", tooltip="This option is specific to Arborix.",apply=function(val, modList, enemyModList)
Copy file name to clipboardExpand all lines: src/Modules/ModParser.lua
+27-7Lines changed: 27 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -1744,8 +1744,8 @@ local modTagList = {
1744
1744
["to enemies they're attached to"] = { tag = { type = "MultiplierThreshold", var = "BrandsAttachedToEnemy", threshold = 1 } },
1745
1745
["for each hit you've taken recently up to a maximum of (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "BeenHitRecently", limit = num, limitTotal = true } } end,
1746
1746
["for each nearby enemy, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "NearbyEnemies", limit = num, limitTotal = true } } end,
1747
-
["while you have iron reflexes"] = { tag = { type = "Condition", var = "HaveIronReflexes" } },
1748
-
["while you do not have iron reflexes"] = { tag = { type = "Condition", var = "HaveIronReflexes", neg = true } },
1747
+
["while you have iron reflexes"] = { tag = { type = "Condition", var = "IronReflexes" } },
1748
+
["while you do not have iron reflexes"] = { tag = { type = "Condition", var = "IronReflexes", neg = true } },
1749
1749
["while you have elemental overload"] = { tag = { type = "Condition", var = "HaveElementalOverload" } },
1750
1750
["while you do not have elemental overload"] = { tag = { type = "Condition", var = "HaveElementalOverload", neg = true } },
1751
1751
["while you have resolute technique"] = { tag = { type = "Condition", var = "HaveResoluteTechnique" } },
@@ -2016,7 +2016,7 @@ local specialModList = {
2016
2016
["ailments never count as being from critical strikes"] = { flag("AilmentsAreNeverFromCrit") },
2017
2017
["the increase to physical damage from strength applies to projectile attacks as well as melee attacks"] = { flag("IronGrip") },
2018
2018
["strength%'s damage bonus applies to projectile attack damage as well as melee damage"] = { flag("IronGrip") },
2019
-
["converts all evasion rating to armour%. dexterity provides no bonus to evasion rating"] = { flag("NoDexBonusToEvasion"), flag("IronReflexes") },
2019
+
["converts all evasion rating to armour%. dexterity provides no bonus to evasion rating"] = { flag("NoDexBonusToEvasion"), flag("Condition:IronReflexes") },
2020
2020
["30%% chance to dodge attack hits%. 50%% less armour, 30%% less energy shield, 30%% less chance to block spell and attack damage"] = {
2021
2021
mod("AttackDodgeChance", "BASE", 30),
2022
2022
mod("Armour", "MORE", -50),
@@ -2150,6 +2150,12 @@ local specialModList = {
2150
2150
["gain no inherent bonuses from strength"] = { flag("NoStrengthAttributeBonuses") },
2151
2151
["gain no inherent bonuses from dexterity"] = { flag("NoDexterityAttributeBonuses") },
2152
2152
["gain no inherent bonuses from intelligence"] = { flag("NoIntelligenceAttributeBonuses") },
2153
+
["gain no (.+) from equipped (.+)"] = function(_, stat, slot)
mod(string.gsub(" "..slot, "%W%l", string.upper):sub(2):gsub(" ", "") .. "EvasionDefenceMult", "MORE", 100, { type = "Condition", var = "IronReflexes" })
2637
+
}
2638
+
end,
2628
2639
["action speed cannot be modified to below base value"] = { mod("MinimumActionSpeed", "MAX", 100, { type = "GlobalEffect", effectType = "Global", unscalable = true }) },
2629
2640
["movement speed cannot be modified to below base value"] = { flag("MovementSpeedCannotBeBelowBase") },
2630
2641
["you cannot be slowed to below base speed"] = { mod("MinimumActionSpeed", "MAX", 100, { type = "GlobalEffect", effectType = "Global", unscalable = true }) },
@@ -2746,7 +2757,16 @@ local specialModList = {
2746
2757
},
2747
2758
["(%d+)%% more elemental damage while unbound"] = function(num) return { mod("ElementalDamage", "MORE", num, { type = "Condition", var = "Unbound"})} end,
2748
2759
-- Warden (Affliction)
2749
-
["defences from equipped body armour are doubled if it has no socketed gems"] = { flag("DoubleBodyArmourDefence", { type = "MultiplierThreshold", var = "SocketedGemsInBody Armour", threshold = 0, upper = true }, { type = "Condition", var = "UsingBody Armour" }) },
2760
+
["defences from equipped (.+) are doubled if it has no socketed gems"] = function(_, slot)
2761
+
if slot == "shield" then slot = "Weapon 2" end
2762
+
local slotName = string.gsub(" "..slot, "%W%l", string.upper):sub(2):gsub(" ", "")
2763
+
return {
2764
+
mod(slotName .. "ArmourDefenceMult", "MORE", 100, { type = "MultiplierThreshold", var = "SocketedGemsInBody Armour", threshold = 0, upper = true }, { type = "Condition", var = "UsingBody Armour" }),
2765
+
mod(slotName .. "EvasionDefenceMult", "MORE", 100, { type = "MultiplierThreshold", var = "SocketedGemsInBody Armour", threshold = 0, upper = true }, { type = "Condition", var = "UsingBody Armour" }),
2766
+
mod(slotName .. "EnergyShieldDefenceMult", "MORE", 100, { type = "MultiplierThreshold", var = "SocketedGemsInBody Armour", threshold = 0, upper = true }, { type = "Condition", var = "UsingBody Armour" }),
2767
+
mod(slotName .. "WardDefenceMult", "MORE", 100, { type = "MultiplierThreshold", var = "SocketedGemsInBody Armour", threshold = 0, upper = true }, { type = "Condition", var = "UsingBody Armour" }),
2768
+
}
2769
+
end,
2750
2770
["([%+%-]%d+)%% to all elemental resistances if you have an equipped helmet with no socketed gems"] = function(num) return { mod("ElementalResist", "BASE", num, { type = "MultiplierThreshold", var = "SocketedGemsInHelmet", threshold = 0, upper = true}, { type = "Condition", var = "UsingHelmet" }) } end,
2751
2771
["(%d+)%% increased maximum life if you have equipped gloves with no socketed gems"] = function(num) return { mod("Life", "INC", num, { type = "MultiplierThreshold", var = "SocketedGemsInGloves", threshold = 0, upper = true}, { type = "Condition", var = "UsingGloves" }) } end,
2752
2772
["(%d+)%% increased movement speed if you have equipped boots with no socketed gems"] = function(num) return { mod("MovementSpeed", "INC", num, { type = "MultiplierThreshold", var = "SocketedGemsInBoots", threshold = 0, upper = true}, { type = "Condition", var = "UsingBoots" }) } end,
@@ -4807,7 +4827,7 @@ local specialModList = {
4807
4827
mod("OmniAttributeRequirements", "INC", num),
4808
4828
flag("OmniscienceRequirements")
4809
4829
} end,
4810
-
["you have far shot while you do not have iron reflexes"] = { flag("FarShot", { neg = true, type = "Condition", var = "HaveIronReflexes" }) },
4830
+
["you have far shot while you do not have iron reflexes"] = { flag("FarShot", { neg = true, type = "Condition", var = "IronReflexes" }) },
4811
4831
["you have resolute technique while you do not have elemental overload"] = { mod("Keystone", "LIST", "Resolute Technique", { neg = true, type = "Condition", var = "HaveElementalOverload" }) },
4812
4832
["hits ignore enemy monster fire resistance while you are ignited"] = { flag("IgnoreFireResistance", { type = "Condition", var = "Ignited" }) },
4813
4833
["your hits can't be evaded by blinded enemies"] = { flag("CannotBeEvaded", { type = "ActorCondition", actor = "enemy", var = "Blinded" }) },
0 commit comments