Release 1.4.147
- Added 3.8 tree
This commit is contained in:
@@ -35,9 +35,9 @@ local formList = {
|
||||
["^([%d%.]+)%% (.+) regenerated per second"] = "REGENPERCENT",
|
||||
["^([%d%.]+)%% of (.+) regenerated per second"] = "REGENPERCENT",
|
||||
["^regenerate ([%d%.]+) (.+) per second"] = "REGENFLAT",
|
||||
["^regenerate ([%d%.]+)%% (.+) per second"] = "REGENPERCENT",
|
||||
["^regenerate ([%d%.]+)%% of (.+) per second"] = "REGENPERCENT",
|
||||
["^regenerate ([%d%.]+)%% of your (.+) per second"] = "REGENPERCENT",
|
||||
["^regenerate ([%d%.]+)%% (.-) per second"] = "REGENPERCENT",
|
||||
["^regenerate ([%d%.]+)%% of (.-) per second"] = "REGENPERCENT",
|
||||
["^regenerate ([%d%.]+)%% of your (.-) per second"] = "REGENPERCENT",
|
||||
["^([%d%.]+) (%a+) damage taken per second"] = "DEGEN",
|
||||
["^([%d%.]+) (%a+) damage per second"] = "DEGEN",
|
||||
["(%d+) to (%d+) added (%a+) damage"] = "DMG",
|
||||
@@ -218,6 +218,7 @@ local modNameList = {
|
||||
["effect of your curses"] = "CurseEffect",
|
||||
["effect of auras on you"] = "AuraEffectOnSelf",
|
||||
["effect of auras on your minions"] = { "AuraEffectOnSelf", addToMinion = true },
|
||||
["effect of auras from mines"] = { "AuraEffect", keywordFlags = KeywordFlag.Mine },
|
||||
["curse effect"] = "CurseEffect",
|
||||
["effect of curses applied by bane"] = { "CurseEffect", tag = { type = "Condition", var = "AppliedByBane" } },
|
||||
["curse duration"] = { "Duration", keywordFlags = KeywordFlag.Curse },
|
||||
@@ -303,6 +304,7 @@ local modNameList = {
|
||||
["trap duration"] = "TrapDuration",
|
||||
["cooldown recovery speed for throwing traps"] = { "CooldownRecovery", keywordFlags = KeywordFlag.Trap },
|
||||
["mine laying speed"] = "MineLayingSpeed",
|
||||
["mine throwing speed"] = "MineLayingSpeed",
|
||||
["mine detonation area of effect"] = "MineDetonationAreaOfEffect",
|
||||
["mine duration"] = "MineDuration",
|
||||
-- Minion modifiers
|
||||
@@ -378,8 +380,11 @@ local modNameList = {
|
||||
["damage with ignite"] = { "Damage", keywordFlags = KeywordFlag.Ignite },
|
||||
["damage with ignites"] = { "Damage", keywordFlags = KeywordFlag.Ignite },
|
||||
["incinerate damage for each stage"] = { "Damage", tagList = { { type = "Multiplier", var = "IncinerateStage" }, { type = "SkillName", skillName = "Incinerate" } } },
|
||||
["non-ailment chaos damage over time multiplier"] = "ChaosDotMultiplier",
|
||||
["physical damage over time multiplier"] = "PhysicalDotMultiplier",
|
||||
["fire damage over time multiplier"] = "FireDotMultiplier",
|
||||
["cold damage over time multiplier"] = "ColdDotMultiplier",
|
||||
["chaos damage over time multiplier"] = "ChaosDotMultiplier",
|
||||
["damage over time multiplier"] = "DotMultiplier",
|
||||
-- Crit/accuracy/speed modifiers
|
||||
["critical strike chance"] = "CritChance",
|
||||
["attack critical strike chance"] = { "CritChance", flags = ModFlag.Attack },
|
||||
@@ -476,6 +481,8 @@ local modFlagList = {
|
||||
["to dagger attacks"] = { flags = ModFlag.Dagger },
|
||||
["with maces"] = { flags = ModFlag.Mace },
|
||||
["to mace attacks"] = { flags = ModFlag.Mace },
|
||||
["with maces and sceptres"] = { flags = ModFlag.Mace },
|
||||
["to mace and sceptre attacks"] = { flags = ModFlag.Mace },
|
||||
["with staves"] = { flags = ModFlag.Staff },
|
||||
["to staff attacks"] = { flags = ModFlag.Staff },
|
||||
["with swords"] = { flags = ModFlag.Sword },
|
||||
@@ -510,6 +517,10 @@ local modFlagList = {
|
||||
["with ailments from attack skills"] = { flags = ModFlag.Ailment, keywordFlags = KeywordFlag.Attack },
|
||||
["with poison"] = { keywordFlags = KeywordFlag.Poison },
|
||||
["with bleeding"] = { keywordFlags = KeywordFlag.Bleed },
|
||||
["for ailments"] = { flags = ModFlag.Ailment },
|
||||
["for poison"] = { keywordFlags = KeywordFlag.Poison },
|
||||
["for bleeding"] = { keywordFlags = KeywordFlag.Bleed },
|
||||
["for ignite"] = { keywordFlags = KeywordFlag.Ignite },
|
||||
["area"] = { flags = ModFlag.Area },
|
||||
["mine"] = { keywordFlags = KeywordFlag.Mine },
|
||||
["with mines"] = { keywordFlags = KeywordFlag.Mine },
|
||||
@@ -517,6 +528,8 @@ local modFlagList = {
|
||||
["with traps"] = { keywordFlags = KeywordFlag.Trap },
|
||||
["for traps"] = { keywordFlags = KeywordFlag.Trap },
|
||||
["that place mines or throw traps"] = { keywordFlags = bor(KeywordFlag.Mine, KeywordFlag.Trap) },
|
||||
["that throw mines"] = { keywordFlags = KeywordFlag.Mine },
|
||||
["that throw traps"] = { keywordFlags = KeywordFlag.Trap },
|
||||
["totem"] = { keywordFlags = KeywordFlag.Totem },
|
||||
["with totem skills"] = { keywordFlags = KeywordFlag.Totem },
|
||||
["for skills used by totems"] = { keywordFlags = KeywordFlag.Totem },
|
||||
@@ -524,6 +537,7 @@ local modFlagList = {
|
||||
["of curse skills"] = { keywordFlags = KeywordFlag.Curse },
|
||||
["with curse skills"] = { keywordFlags = KeywordFlag.Curse },
|
||||
["of herald skills"] = { tag = { type = "SkillType", skillType = SkillType.Herald } },
|
||||
["minion skills"] = { tag = { type = "SkillType", skillType = SkillType.Minion } },
|
||||
["of minion skills"] = { tag = { type = "SkillType", skillType = SkillType.Minion } },
|
||||
["for curses"] = { keywordFlags = KeywordFlag.Curse },
|
||||
["warcry"] = { keywordFlags = KeywordFlag.Warcry },
|
||||
@@ -604,6 +618,7 @@ local preFlagList = {
|
||||
["^movement attack skills have "] = { flags = ModFlag.Attack, keywordFlags = KeywordFlag.Movement },
|
||||
["^trap and mine damage "] = { keywordFlags = bor(KeywordFlag.Trap, KeywordFlag.Mine) },
|
||||
["^skills used by traps [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Trap },
|
||||
["^skills used by mines [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Mine },
|
||||
["^lightning skills [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Lightning },
|
||||
["^lightning spells [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Lightning, flags = ModFlag.Spell },
|
||||
["^cold skills [hd][ae][va][el] "] = { keywordFlags = KeywordFlag.Cold },
|
||||
@@ -633,7 +648,7 @@ local preFlagList = {
|
||||
["^auras from your skills grant "] = { addToAura = true },
|
||||
["^you and nearby allies [hgd][ae][via][enl] "] = { newAura = true },
|
||||
["^nearby allies [hgd][ae][via][enl] "] = { newAura = true, newAuraOnlyAllies = true },
|
||||
["^you and allies affected by your aura skills [hgd][ae][via][enl] "] = { affectedByAura = true },
|
||||
["^you and allies affected by auras from your skills [hgd][ae][via][enl] "] = { affectedByAura = true },
|
||||
["^take "] = { modSuffix = "Taken" },
|
||||
["^marauder: melee skills have "] = { flags = ModFlag.Melee, tag = { type = "Condition", var = "ConnectedToMarauderStart" } },
|
||||
["^duelist: "] = { tag = { type = "Condition", var = "ConnectedToDuelistStart" } },
|
||||
@@ -649,6 +664,7 @@ local modTagList = {
|
||||
["on enemies"] = { },
|
||||
["while active"] = { },
|
||||
[" on critical strike"] = { tag = { type = "Condition", var = "CriticalStrike" } },
|
||||
["from critical strikes"] = { tag = { type = "Condition", var = "CriticalStrike" } },
|
||||
["while affected by auras you cast"] = { affectedByAura = true },
|
||||
["for you and nearby allies"] = { newAura = true },
|
||||
-- Multipliers
|
||||
@@ -689,6 +705,7 @@ local modTagList = {
|
||||
["for each shocked enemy you've killed recently"] = { tag = { type = "Multiplier", var = "ShockedEnemyKilledRecently" } },
|
||||
["per enemy killed recently, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "EnemyKilledRecently", limit = tonumber(num), limitTotal = true } } end,
|
||||
["for each enemy you or your minions have killed recently, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", varList = {"EnemyKilledRecently","EnemyKilledByMinionsRecently"}, limit = tonumber(num), limitTotal = true } } end,
|
||||
["for each enemy you or your minions have killed recently, up to (%d+)%% per second"] = function(num) return { tag = { type = "Multiplier", varList = {"EnemyKilledRecently","EnemyKilledByMinionsRecently"}, limit = tonumber(num), limitTotal = true } } end,
|
||||
["per enemy killed by you or your totems recently"] = { tag = { type = "Multiplier", varList = {"EnemyKilledRecently","EnemyKilledByTotemsRecently"} } },
|
||||
["to you and allies"] = { },
|
||||
["per red socket"] = { tag = { type = "Multiplier", var = "RedSocketIn{SlotName}" } },
|
||||
@@ -702,6 +719,7 @@ local modTagList = {
|
||||
["per (%d+) intelligence"] = function(num) return { tag = { type = "PerStat", stat = "Int", div = num } } end,
|
||||
["per (%d+) total attributes"] = function(num) return { tag = { type = "PerStat", statList = { "Str", "Dex", "Int" }, div = num } } end,
|
||||
["per (%d+) of your lowest attribute"] = function(num) return { tag = { type = "PerStat", stat = "LowestAttribute", div = num } } end,
|
||||
["per (%d+) unreserved maximum mana, up to (%d+)%%"] = function(num, _, limit) return { tag = { type = "PerStat", stat = "ManaUnreserved", div = num, limit = tonumber(limit), limitTotal = true } } end,
|
||||
["per (%d+) evasion rating"] = function(num) return { tag = { type = "PerStat", stat = "Evasion", div = num } } end,
|
||||
["per (%d+) evasion rating, up to (%d+)%%"] = function(num, _, limit) return { tag = { type = "PerStat", stat = "Evasion", div = num, limit = tonumber(limit), limitTotal = true } } end,
|
||||
["per (%d+) maximum energy shield"] = function(num) return { tag = { type = "PerStat", stat = "EnergyShield", div = num } } end,
|
||||
@@ -755,6 +773,7 @@ local modTagList = {
|
||||
["while wielding a claw"] = { tag = { type = "Condition", var = "UsingClaw" } },
|
||||
["while wielding a dagger"] = { tag = { type = "Condition", var = "UsingDagger" } },
|
||||
["while wielding a mace"] = { tag = { type = "Condition", var = "UsingMace" } },
|
||||
["while wielding a mace or sceptre"] = { tag = { type = "Condition", var = "UsingMace" } },
|
||||
["while wielding a staff"] = { tag = { type = "Condition", var = "UsingStaff" } },
|
||||
["while wielding a sword"] = { tag = { type = "Condition", var = "UsingSword" } },
|
||||
["while wielding a melee weapon"] = { tag = { type = "Condition", var = "UsingMeleeWeapon" } },
|
||||
@@ -838,6 +857,7 @@ local modTagList = {
|
||||
["if you[' ]h?a?ve crit recently"] = { tag = { type = "Condition", var = "CritRecently" } },
|
||||
["if you[' ]h?a?ve dealt a critical strike recently"] = { tag = { type = "Condition", var = "CritRecently" } },
|
||||
["if you[' ]h?a?ve crit in the past 8 seconds"] = { tag = { type = "Condition", var = "CritInPast8Sec" } },
|
||||
["if you[' ]h?a?ve dealt a crit in the past 8 seconds"] = { tag = { type = "Condition", var = "CritInPast8Sec" } },
|
||||
["if you[' ]h?a?ve dealt a critical strike in the past 8 seconds"] = { tag = { type = "Condition", var = "CritInPast8Sec" } },
|
||||
["if you haven't crit recently"] = { tag = { type = "Condition", var = "CritRecently", neg = true } },
|
||||
["if you haven't dealt a critical strike recently"] = { tag = { type = "Condition", var = "CritRecently", neg = true } },
|
||||
@@ -875,7 +895,11 @@ local modTagList = {
|
||||
["if you[' ]h?a?ve used a warcry recently"] = { tag = { type = "Condition", var = "UsedWarcryRecently" } },
|
||||
["if you[' ]h?a?ve warcried recently"] = { tag = { type = "Condition", var = "UsedWarcryRecently" } },
|
||||
["for each of your mines detonated recently, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "MineDetonatedRecently", limit = num, limitTotal = true } } end,
|
||||
["for each mine detonated recently, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "MineDetonatedRecently", limit = num, limitTotal = true } } end,
|
||||
["for each mine detonated recently, up to (%d+)%% per second"] = function(num) return { tag = { type = "Multiplier", var = "MineDetonatedRecently", limit = num, limitTotal = true } } end,
|
||||
["for each of your traps triggered recently, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "TrapTriggeredRecently", limit = num, limitTotal = true } } end,
|
||||
["for each trap triggered recently, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "TrapTriggeredRecently", limit = num, limitTotal = true } } end,
|
||||
["for each trap triggered recently, up to (%d+)%% per second"] = function(num) return { tag = { type = "Multiplier", var = "TrapTriggeredRecently", limit = num, limitTotal = true } } end,
|
||||
["if you[' ]h?a?ve used a fire skill recently"] = { tag = { type = "Condition", var = "UsedFireSkillRecently" } },
|
||||
["if you[' ]h?a?ve used a cold skill recently"] = { tag = { type = "Condition", var = "UsedColdSkillRecently" } },
|
||||
["if you[' ]h?a?ve used a fire skill in the past 10 seconds"] = { tag = { type = "Condition", var = "UsedFireSkillInPast10Sec" } },
|
||||
@@ -888,6 +912,7 @@ local modTagList = {
|
||||
["if you've impaled an enemy recently"] = { tag = { type = "Condition", var = "ImpaledRecently" } },
|
||||
["during soul gain prevention"] = { tag = { type = "Condition", var = "SoulGainPrevention" } },
|
||||
["if you detonated mines recently"] = { tag = { type = "Condition", var = "DetonatedMinesRecently" } },
|
||||
["if you detonated a mine recently"] = { tag = { type = "Condition", var = "DetonatedMinesRecently" } },
|
||||
["if energy shield recharge has started recently"] = { tag = { type = "Condition", var = "EnergyShieldRechargeRecently" } },
|
||||
["when cast on frostbolt"] = { tag = { type = "Condition", var = "CastOnFrostbolt" } },
|
||||
["branded enemy's"] = { tag = { type = "Condition", var = "BrandAttachedToEnemy" } },
|
||||
@@ -968,7 +993,7 @@ local specialModList = {
|
||||
["your hits can't be evaded"] = { flag("CannotBeEvaded") },
|
||||
["never deal critical strikes"] = { flag("NeverCrit") },
|
||||
["no critical strike multiplier"] = { flag("NoCritMultiplier") },
|
||||
["no damage multiplier for ailments from critical strikes"] = { flag("NoCritDegenMultiplier") },
|
||||
["ailments never count as being from critical strikes"] = { flag("AilmentsAreNeverFromCrit") },
|
||||
["the increase to physical damage from strength applies to projectile attacks as well as melee attacks"] = { flag("IronGrip") },
|
||||
["converts all evasion rating to armour%. dexterity provides no bonus to evasion rating"] = { flag("IronReflexes") },
|
||||
["30%% chance to dodge attack hits%. 50%% less armour, 30%% less energy shield, 30%% less chance to block spell and attack damage"] = {
|
||||
@@ -1009,7 +1034,7 @@ local specialModList = {
|
||||
["all bonuses from an equipped shield apply to your minions instead of you"] = { }, -- The node itself is detected by the code that handles it
|
||||
["spend energy shield before mana for skill costs"] = { },
|
||||
["energy shield protects mana instead of life"] = { flag("EnergyShieldProtectsMana") },
|
||||
["modifiers to critical strike multiplier also apply to damage multiplier for ailments from critical strikes at (%d+)%% of their value"] = function(num) return { mod("CritMultiplierAppliesToDegen", "BASE", num) } end,
|
||||
["modifiers to critical strike multiplier also apply to damage over time multiplier for ailments from critical strikes at (%d+)%% of their value"] = function(num) return { mod("CritMultiplierAppliesToDegen", "BASE", num) } end,
|
||||
["your bleeding does not deal extra damage while the enemy is moving"] = { flag("Condition:NoExtraBleedDamageToMovingEnemy") },
|
||||
-- Ascendant
|
||||
["grants (%d+) passive skill points?"] = function(num) return { mod("ExtraPoints", "BASE", num) } end,
|
||||
@@ -1030,10 +1055,9 @@ local specialModList = {
|
||||
flag("Condition:CanGainRage"),
|
||||
mod("Dummy", "DUMMY", 1, { type = "Condition", var = "CanGainRage" }) -- Make the Configuration option appear
|
||||
},
|
||||
["effects granted for having rage are doubled"] = { mod("Multiplier:RageEffect", "BASE", 1) },
|
||||
["effects granted for having rage are tripled"] = { mod("Multiplier:RageEffect", "BASE", 2) },
|
||||
["inherent effects from having rage are tripled"] = { mod("Multiplier:RageEffect", "BASE", 2) },
|
||||
["cannot be stunned while you have at least (%d+) rage"] = function(num) return { mod("AvoidStun", "BASE", 100, { type = "MultiplierThreshold", var = "Rage", threshold = 25 }) } end,
|
||||
["lose ([%d%.]+)%% of maximum life per second per rage while you are not losing rage"] = function(num) return { mod("LifeDegen", "BASE", num / 100, { type = "PerStat", stat = "Life" }, { type = "Multiplier", var = "Rage", limit = 50 }) } end,
|
||||
["lose ([%d%.]+)%% of life per second per rage while you are not losing rage"] = function(num) return { mod("LifeDegen", "BASE", num / 100, { type = "PerStat", stat = "Life" }, { type = "Multiplier", var = "Rage", limit = 50 }) } end,
|
||||
-- Champion
|
||||
["you have fortify"] = { flag("Condition:Fortify") },
|
||||
["cannot be stunned while you have fortify"] = { mod("AvoidStun", "BASE", 100, { type = "Condition", var = "Fortify" }) },
|
||||
@@ -1101,7 +1125,8 @@ local specialModList = {
|
||||
["%+(%d+)%% chance to block attack damage for %d seconds? every %d seconds"] = function(num) return { mod("BlockChance", "BASE", num, { type = "Condition", var = "BastionOfHopeActive" }) } end,
|
||||
["if you've attacked recently, you and nearby allies have %+(%d+)%% chance to block attack damage"] = function(num) return { mod("ExtraAura", "LIST", { mod = mod("BlockChance", "BASE", num) }, { type = "Condition", var = "AttackedRecently" }) } end,
|
||||
["if you've cast a spell recently, you and nearby allies have %+(%d+)%% chance to block spell damage"] = function(num) return { mod("ExtraAura", "LIST", { mod = mod("SpellBlockChance", "BASE", num) }, { type = "Condition", var = "CastSpellRecently" }) } end,
|
||||
["summoned sentinels use crusade slam"] = { mod("ExtraMinionSkill", "LIST", { skillId = "SentinelHolySlam", minionList = { "AxisEliteSoldierHeraldOfLight", "AxisEliteSoldierDominatingBlow" } }) },
|
||||
["while there is at least one nearby ally, you and nearby allies deal (%d+)%% more damage"] = function(num) return { mod("ExtraAura", "LIST", { mod = mod("Damage", "MORE", num) }, { type = "MultiplierThreshold", var = "NearbyAlly", threshold = 1 }) } end,
|
||||
["while there are at least five nearby allies, you and nearby allies have onslaught"] = { mod("ExtraAura", "LIST", { mod = flag("Onslaught") }, { type = "MultiplierThreshold", var = "NearbyAlly", threshold = 5 }) },
|
||||
-- Hierophant
|
||||
-- Inquisitor
|
||||
["critical strikes ignore enemy monster elemental resistances"] = { flag("IgnoreElementalResistances", { type = "Condition", var = "CriticalStrike" }) },
|
||||
@@ -1117,10 +1142,10 @@ local specialModList = {
|
||||
-- Necromancer
|
||||
["your offering skills also affect you"] = { mod("ExtraSkillMod", "LIST", { mod = mod("SkillData", "LIST", { key = "buffNotPlayer", value = false }) }, { type = "SkillName", skillNameList = { "Bone Offering", "Flesh Offering", "Spirit Offering" } }) },
|
||||
["your offerings have (%d+)%% reduced effect on you"] = function(num) return { mod("ExtraSkillMod", "LIST", { mod = mod("BuffEffectOnPlayer", "INC", -num) }, { type = "SkillName", skillNameList = { "Bone Offering", "Flesh Offering", "Spirit Offering" } }) } end,
|
||||
["your raised zombies spread caustic ground on death, dealing 50%% of their maximum life as chaos damage per second"] = { mod("ExtraMinionSkill", "LIST", { skillId = "BeaconZombieCausticCloud", minionList = { "RaisedZombie" } }) },
|
||||
["you and your minions have (%d+)%% physical damage reduction"] = function(num) return { mod("PhysicalDamageReduction", "BASE", num), mod("MinionModifier", "LIST", { mod = mod("PhysicalDamageReduction", "BASE", num) }) } end,
|
||||
["minions have (%d+)%% increased attack and cast speed if you or your minions have killed recently"] = function(num) return { mod("MinionModifier", "LIST", { mod = mod("Speed", "INC", num) }, { type = "Condition", varList = { "KilledRecently", "MinionsKilledRecently" } }) } end,
|
||||
["summoned skeletons' hits can't be evaded"] = { mod("MinionModifier", "LIST", { mod = flag("CannotBeEvaded") }, { type = "SkillName", skillName = "Summon Skeleton" }) },
|
||||
["if you've consumed a corpse recently, you and your minions have (%d+)%% increased area of effect"] = function(num) return { mod("AreaOfEffect", "INC", num, { type = "Condition", var = "ConsumedCorpseRecently" }), mod("MinionModifier", "LIST", { mod = mod("AreaOfEffect", "INC", num) }, { type = "Condition", var = "ConsumedCorpseRecently" }) } end,
|
||||
["with at least one nearby corpse, you and nearby allies deal (%d+)%% more damage"] = function(num) return { mod("ExtraAura", "LIST", { mod = mod("Damage", "MORE", num) }, { type = "MultiplierThreshold", var = "NearbyCorpse", threshold = 1 }) } end,
|
||||
["for each nearby corpse, you and nearby allies regenerate ([%d%.]+)%% of energy shield per second, up to ([%d%.]+)%% per second"] = function(num, _, limit) return { mod("ExtraAura", "LIST", { mod = mod("EnergyShieldRegenPercent", "BASE", num) }, { type = "Multiplier", var = "NearbyCorpse", limit = tonumber(limit), limitTotal = true }) } end,
|
||||
["for each nearby corpse, you and nearby allies regenerate (%d+) mana per second, up to (%d+) per second"] = function(num, _, limit) return { mod("ExtraAura", "LIST", { mod = mod("ManaRegen", "BASE", num) }, { type = "Multiplier", var = "NearbyCorpse", limit = tonumber(limit), limitTotal = true }) } end,
|
||||
-- Occultist
|
||||
["enemies you curse have malediction"] = { mod("AffectedByCurseMod", "LIST", { mod = mod("DamageTaken", "INC", 10) }) },
|
||||
["nearby enemies have (%-%d+)%% to chaos resistance"] = function(num) return { mod("EnemyModifier", "LIST", { mod = mod("ChaosResist", "BASE", num) }) } end,
|
||||
@@ -1175,6 +1200,8 @@ local specialModList = {
|
||||
["socketed gems have blood magic"] = { flag("SkillBloodMagic", { type = "SocketedIn", slotName = "{SlotName}" }) },
|
||||
["socketed gems gain (%d+)%% of physical damage as extra lightning damage"] = function(num) return { mod("ExtraSkillMod", "LIST", { mod = mod("PhysicalDamageGainAsLightning", "BASE", num) }, { type = "SocketedIn", slotName = "{SlotName}" }) } end,
|
||||
["socketed red gems get (%d+)%% physical damage as extra fire damage"] = function(num) return { mod("ExtraSkillMod", "LIST", { mod = mod("PhysicalDamageGainAsFire", "BASE", num) }, { type = "SocketedIn", slotName = "{SlotName}", keyword = "strength" }) } end,
|
||||
-- Global gem modifiers
|
||||
["%+(%d+) to level of all minion skill gems"] = function(num) return { mod("GemProperty", "LIST", { keyword = "minion", key = "level", value = num }) } end,
|
||||
-- Extra skill/support
|
||||
["grants (%D+)"] = function(_, skill) return extraSkill(skill, 1) end,
|
||||
["grants level (%d+) (.+)"] = function(num, _, skill) return extraSkill(skill, num) end,
|
||||
@@ -1449,6 +1476,10 @@ local specialModList = {
|
||||
mod("LightningResistMax", "OVERRIDE", num),
|
||||
mod("ChaosResistMax", "OVERRIDE", num)
|
||||
} end,
|
||||
["your fire resistance is (%d+)%%"] = function(num) return { mod("FireResist", "OVERRIDE", num) } end,
|
||||
["your cold resistance is (%d+)%%"] = function(num) return { mod("ColdResist", "OVERRIDE", num) } end,
|
||||
["your lightning resistance is (%d+)%%"] = function(num) return { mod("LightningResist", "OVERRIDE", num) } end,
|
||||
["chaos resistance is doubled"] = { mod("ChaosResist", "MORE", 100) },
|
||||
["armour is increased by uncapped fire resistance"] = { mod("Armour", "INC", 1, { type = "PerStat", stat = "FireResistTotal", div = 1 }) },
|
||||
["evasion rating is increased by uncapped cold resistance"] = { mod("Evasion", "INC", 1, { type = "PerStat", stat = "ColdResistTotal", div = 1 }) },
|
||||
["reflects (%d+) physical damage to melee attackers"] = { },
|
||||
@@ -1534,6 +1565,7 @@ local specialModList = {
|
||||
} end,
|
||||
["primordial"] = { mod("Multiplier:PrimordialItem", "BASE", 1) },
|
||||
["spectres have a base duration of (%d+) seconds"] = function(num) return { mod("SkillData", "LIST", { key = "duration", value = 6 }, { type = "SkillName", skillName = "Raise Spectre" }) } end,
|
||||
["flasks applied to you have (%d+)%% increased effect"] = function(num) return { mod("FlaskEffect", "INC", num) } end,
|
||||
-- Misc
|
||||
["iron will"] = { flag("IronWill") },
|
||||
["iron reflexes while stationary"] = { mod("Keystone", "LIST", "Iron Reflexes", { type = "Condition", var = "Stationary" }) },
|
||||
@@ -1571,13 +1603,13 @@ local specialModList = {
|
||||
["intelligence provides no bonus to maximum mana"] = { flag("NoIntBonusToMana") },
|
||||
["with a ghastly eye jewel socketed, minions have %+(%d+) to accuracy rating"] = function(num) return { mod("MinionModifier", "LIST", { mod = mod("Accuracy", "BASE", num) }, { type = "Condition", var = "HaveGhastlyEyeJewelIn{SlotName}" }) } end,
|
||||
["hits ignore enemy monster chaos resistance if all equipped items are shaper items"] = { flag("IgnoreChaosResistance", { type = "MultiplierThreshold", var = "NonShaperItem", upper = true, threshold = 0 }) },
|
||||
["base critical strike chance for attacks with weapons is (%d)%%"] = function(num) return { mod("WeaponBaseCritChance", "OVERRIDE", num) } end,
|
||||
["gain %d+ rage on critical hit with attacks, no more than once every [%d%.]+ seconds"] = {
|
||||
flag("Condition:CanGainRage"),
|
||||
mod("Dummy", "DUMMY", 1, { type = "Condition", var = "CanGainRage" }) -- Make the Configuration option appear
|
||||
},
|
||||
["warcry skills' cooldown time is (%d+) seconds"] = function(num) return { mod("CooldownRecovery", "OVERRIDE", 2, nil, 0, KeywordFlag.Warcry) } end,
|
||||
["your critical strike multiplier is (%d+)%%"] = function(num) return { mod("CritMultiplier", "OVERRIDE", num) } end,
|
||||
["base critical strike chance for attacks with weapons is ([%d%.]+)%%"] = function(num) return { mod("WeaponBaseCritChance", "OVERRIDE", num) } end,
|
||||
-- Skill-specific enchantment modifiers
|
||||
["(%d+)%% increased decoy totem life"] = function(num) return { mod("TotemLife", "INC", num, { type = "SkillName", skillName = "Decoy Totem" }) } end,
|
||||
["(%d+)%% increased ice spear critical strike chance in second form"] = function(num) return { mod("CritChance", "INC", num, { type = "SkillName", skillName = "Ice Spear" }, { type = "SkillPart", skillPart = 2 }) } end,
|
||||
|
||||
Reference in New Issue
Block a user