Release 1.4.138
- 3.7 tree - Added support for multiple tree versions per build
This commit is contained in:
@@ -194,6 +194,7 @@ local modNameList = {
|
||||
["life recovery rate"] = "LifeRecoveryRate",
|
||||
["mana recovery rate"] = "ManaRecoveryRate",
|
||||
["energy shield recovery rate"] = "EnergyShieldRecoveryRate",
|
||||
["energy shield regeneration rate"] = "EnergyShieldRegen",
|
||||
["recovery rate of life, mana and energy shield"] = { "LifeRecoveryRate", "ManaRecoveryRate", "EnergyShieldRecoveryRate" },
|
||||
-- Stun/knockback modifiers
|
||||
["stun recovery"] = "StunRecovery",
|
||||
@@ -251,6 +252,8 @@ local modNameList = {
|
||||
["endurance, frenzy and power charge duration"] = { "PowerChargesDuration", "FrenzyChargesDuration", "EnduranceChargesDuration" },
|
||||
["maximum siphoning charge"] = "SiphoningChargesMax",
|
||||
["maximum siphoning charges"] = "SiphoningChargesMax",
|
||||
["maximum challenger charges"] = "ChallengerChargesMax",
|
||||
["maximum blitz charges"] = "BlitzChargesMax",
|
||||
["maximum number of crab barriers"] = "CrabBarriersMax",
|
||||
-- On hit/kill/leech effects
|
||||
["life gained on kill"] = "LifeOnKill",
|
||||
@@ -299,6 +302,7 @@ local modNameList = {
|
||||
-- Minion modifiers
|
||||
["maximum number of skeletons"] = "ActiveSkeletonLimit",
|
||||
["maximum number of zombies"] = "ActiveZombieLimit",
|
||||
["maximum number of raised zombies"] = "ActiveZombieLimit",
|
||||
["number of zombies allowed"] = "ActiveZombieLimit",
|
||||
["maximum number of spectres"] = "ActiveSpectreLimit",
|
||||
["maximum number of golems"] = "ActiveGolemLimit",
|
||||
@@ -325,6 +329,7 @@ local modNameList = {
|
||||
["cooldown recovery"] = "CooldownRecovery",
|
||||
["cooldown recovery speed"] = "CooldownRecovery",
|
||||
["weapon range"] = "WeaponRange",
|
||||
["melee range"] = "MeleeWeaponRange",
|
||||
["melee weapon range"] = "MeleeWeaponRange",
|
||||
["melee weapon and unarmed range"] = { "MeleeWeaponRange", "UnarmedRange" },
|
||||
["melee weapon and unarmed attack range"] = { "MeleeWeaponRange", "UnarmedRange" },
|
||||
@@ -598,6 +603,7 @@ local preFlagList = {
|
||||
["^brand skills [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.Brand } },
|
||||
["^channelling skills [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.Channelled } },
|
||||
["^curse skills [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.Curse } },
|
||||
["^melee skills [hd][ae][va][el] "] = { tag = { type = "SkillType", skillType = SkillType.Melee } },
|
||||
["^skills [hdfg][aei][vari][eln] "] = { },
|
||||
["^left ring slot: "] = { tag = { type = "SlotNumber", num = 1 } },
|
||||
["^right ring slot: "] = { tag = { type = "SlotNumber", num = 2 } },
|
||||
@@ -638,7 +644,10 @@ local modTagList = {
|
||||
["per frenzy charge"] = { tag = { type = "Multiplier", var = "FrenzyCharge" } },
|
||||
["per endurance charge"] = { tag = { type = "Multiplier", var = "EnduranceCharge" } },
|
||||
["per siphoning charge"] = { tag = { type = "Multiplier", var = "SiphoningCharge" } },
|
||||
["per challenger charge"] = { tag = { type = "Multiplier", var = "ChallengerCharge" } },
|
||||
["per blitz charge"] = { tag = { type = "Multiplier", var = "BlitzCharge" } },
|
||||
["per crab barrier"] = { tag = { type = "Multiplier", var = "CrabBarrier" } },
|
||||
["per (%d+) rage"] = function(num) return { tag = { type = "Multiplier", var = "Rage", div = num } } end,
|
||||
["per level"] = { tag = { type = "Multiplier", var = "Level" } },
|
||||
["per (%d+) player levels"] = function(num) return { tag = { type = "Multiplier", var = "Level", div = num } } end,
|
||||
["for each normal item you have equipped"] = { tag = { type = "Multiplier", var = "NormalItem" } },
|
||||
@@ -760,6 +769,7 @@ local modTagList = {
|
||||
["wh[ie][ln]e? you have energy shield"] = { tag = { type = "Condition", var = "HaveEnergyShield" } },
|
||||
["while stationary"] = { tag = { type = "Condition", var = "Stationary" } },
|
||||
["while moving"] = { tag = { type = "Condition", var = "Moving" } },
|
||||
["while channelling"] = { tag = { type = "Condition", var = "Channelling" } },
|
||||
["while you have no power charges"] = { tag = { type = "StatThreshold", stat = "PowerCharges", threshold = 0, upper = true } },
|
||||
["while you have no frenzy charges"] = { tag = { type = "StatThreshold", stat = "FrenzyCharges", threshold = 0, upper = true } },
|
||||
["while you have no endurance charges"] = { tag = { type = "StatThreshold", stat = "EnduranceCharges", threshold = 0, upper = true } },
|
||||
@@ -805,6 +815,7 @@ local modTagList = {
|
||||
["while there is only one nearby enemy"] = { tag = { type = "Condition", var = "OnlyOneNearbyEnemy" } },
|
||||
["while t?h?e?r?e? ?i?s? ?a rare or unique enemy i?s? ?nearby"] = { tag = { type = "ActorCondition", actor = "enemy", var = "RareOrUnique" } },
|
||||
["if you[' ]h?a?ve hit recently"] = { tag = { type = "Condition", var = "HitRecently" } },
|
||||
["if you[' ]h?a?ve hit an enemy recently"] = { tag = { type = "Condition", var = "HitRecently" } },
|
||||
["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" } },
|
||||
@@ -864,6 +875,7 @@ local modTagList = {
|
||||
-- Enemy status conditions
|
||||
["at close range"] = { tag = { type = "Condition", var = "AtCloseRange" }, flags = ModFlag.Hit },
|
||||
["against rare and unique enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "RareOrUnique" }, keywordFlags = KeywordFlag.Hit },
|
||||
["against unique enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "RareOrUnique" }, keywordFlags = KeywordFlag.Hit },
|
||||
["against enemies on full life"] = { tag = { type = "ActorCondition", actor = "enemy", var = "FullLife" }, keywordFlags = KeywordFlag.Hit },
|
||||
["against enemies that are on full life"] = { tag = { type = "ActorCondition", actor = "enemy", var = "FullLife" }, keywordFlags = KeywordFlag.Hit },
|
||||
["against enemies on low life"] = { tag = { type = "ActorCondition", actor = "enemy", var = "LowLife" }, keywordFlags = KeywordFlag.Hit },
|
||||
@@ -873,6 +885,7 @@ local modTagList = {
|
||||
["against taunted enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Taunted" }, keywordFlags = KeywordFlag.Hit },
|
||||
["against bleeding enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Bleeding" }, keywordFlags = KeywordFlag.Hit },
|
||||
["to bleeding enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Bleeding" }, keywordFlags = KeywordFlag.Hit },
|
||||
["from bleeding enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Bleeding" } },
|
||||
["against poisoned enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Poisoned" }, keywordFlags = KeywordFlag.Hit },
|
||||
["to poisoned enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Poisoned" }, keywordFlags = KeywordFlag.Hit },
|
||||
["against enemies affected by (%d+) or more poisons"] = function(num) return { tag = { type = "MultiplierThreshold", actor = "enemy", var = "PoisonStack", threshold = num } } end,
|
||||
@@ -880,6 +893,7 @@ local modTagList = {
|
||||
["against hindered enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Hindered" }, keywordFlags = KeywordFlag.Hit },
|
||||
["against maimed enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Maimed" }, keywordFlags = KeywordFlag.Hit },
|
||||
["against blinded enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Blinded" }, keywordFlags = KeywordFlag.Hit },
|
||||
["from blinded enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Blinded" } },
|
||||
["against burning enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Burning" }, keywordFlags = KeywordFlag.Hit },
|
||||
["against ignited enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Ignited" }, keywordFlags = KeywordFlag.Hit },
|
||||
["to ignited enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "Ignited" }, keywordFlags = KeywordFlag.Hit },
|
||||
@@ -991,6 +1005,7 @@ local specialModList = {
|
||||
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) },
|
||||
["cannot be stunned while you have at least (%d+) rage"] = function(num) return { mod("AvoidStun", "BASE", 100, { type = "MultiplierThreshold", var = "Rage", threshold = 25 }) } end,
|
||||
-- Champion
|
||||
["you have fortify"] = { flag("Condition:Fortify") },
|
||||
@@ -1248,6 +1263,7 @@ local specialModList = {
|
||||
["attacks always inflict bleeding while you have cat's stealth"] = { mod("BleedChance", "BASE", 100, nil, ModFlag.Attack, { type = "Condition", var = "AffectedByCat'sStealth" }) },
|
||||
["you have crimson dance while you have cat's stealth"] = { mod("Keystone", "LIST", "Crimson Dance", { type = "Condition", var = "AffectedByCat'sStealth" }) },
|
||||
["you have crimson dance if you have dealt a critical strike recently"] = { mod("Keystone", "LIST", "Crimson Dance", { type = "Condition", var = "CritRecently" }) },
|
||||
["bleeding you inflict deals damage (%d+)%% faster"] = function(num) return { mod("BleedFaster", "INC", num) } end,
|
||||
-- Poison
|
||||
["y?o?u?r? ?fire damage can poison"] = { flag("FireCanPoison") },
|
||||
["y?o?u?r? ?cold damage can poison"] = { flag("ColdCanPoison") },
|
||||
@@ -1260,6 +1276,7 @@ local specialModList = {
|
||||
["poison cursed enemies on hit"] = { mod("PoisonChance", "BASE", 100, { type = "ActorCondition", actor = "enemy", var = "Cursed" }) },
|
||||
["wh[ie][ln]e? at maximum frenzy charges, attacks poison enemies"] = { mod("PoisonChance", "BASE", 100, nil, ModFlag.Attack, { type = "StatThreshold", stat = "FrenzyCharges", thresholdStat = "FrenzyChargesMax" }) },
|
||||
["traps and mines have a (%d+)%% chance to poison on hit"] = function(num) return { mod("PoisonChance", "BASE", num, nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)) } end,
|
||||
["poisons you inflict deal damage (%d+)%% faster"] = function(num) return { mod("PoisonFaster", "INC", num) } end,
|
||||
-- Buffs/debuffs
|
||||
["phasing"] = { flag("Condition:Phasing") },
|
||||
["onslaught"] = { flag("Condition:Onslaught") },
|
||||
@@ -1301,6 +1318,7 @@ local specialModList = {
|
||||
mod("ElementalDamage", "MORE", 50, { type = "Condition", var = "Divinity" }),
|
||||
mod("ElementalDamageTaken", "MORE", -20, { type = "Condition", var = "Divinity" }),
|
||||
},
|
||||
["your maximum endurance charges is equal to your maximum frenzy charges"] = { flag("MaximumEnduranceChargesIsMaximumFrenzyCharges") },
|
||||
-- Traps, Mines and Totems
|
||||
["traps and mines deal (%d+)%-(%d+) additional physical damage"] = function(_, min, max) return { mod("PhysicalMin", "BASE", tonumber(min), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)), mod("PhysicalMax", "BASE", tonumber(max), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)) } end,
|
||||
["traps and mines deal (%d+) to (%d+) additional physical damage"] = function(_, min, max) return { mod("PhysicalMin", "BASE", tonumber(min), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)), mod("PhysicalMax", "BASE", tonumber(max), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)) } end,
|
||||
@@ -1517,6 +1535,7 @@ 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,
|
||||
-- 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