From 225d9888d1771647210625946331079133ffc94d Mon Sep 17 00:00:00 2001 From: brather1ng <7596346+brather1ng@users.noreply.github.com> Date: Wed, 11 Mar 2020 14:33:59 +0100 Subject: [PATCH 1/3] Update test data with 3.10.0 tree --- .../Data/ItemAffixes.txt | 192 ++- .../Data/SkillTreeStatLines.txt | 1405 ++++++++++++----- 2 files changed, 1147 insertions(+), 450 deletions(-) diff --git a/PoESkillTree.Engine.GameModel/Data/ItemAffixes.txt b/PoESkillTree.Engine.GameModel/Data/ItemAffixes.txt index 6a89068d..f20fb088 100644 --- a/PoESkillTree.Engine.GameModel/Data/ItemAffixes.txt +++ b/PoESkillTree.Engine.GameModel/Data/ItemAffixes.txt @@ -1,15 +1,17 @@ -30 Physical Damage taken from Attack Hits -48 to 76 added Fire Damage against Burning Enemies +24 to 43 added Fire Damage against Burning Enemies 4 to 7 Cold Damage per Frenzy Charge +2 to 4 Fire Damage per Endurance Charge +1 to 7 Lightning Damage per Power Charge -7 to Total Mana Cost of Skills 25% additional Elemental Resistances during Flask effect -2% additional Physical Damage Reduction +4% additional Physical Damage Reduction 5% additional Physical Damage Reduction against Abyssal Monsters 5% additional Physical Damage Reduction during any Flask Effect 2% additional Physical Damage Reduction if you weren't Damaged by a Hit Recently 8% additional Physical Damage Reduction while Focussed 25% chance for Flasks to gain a Charge when you take a Critical Strike -8% chance for your Flasks to not consume Charges +8% chance for Flasks you use to not consume Charges 7% chance to Avoid being Chilled 7% chance to Avoid being Frozen 7% chance to Avoid being Ignited @@ -19,12 +21,13 @@ 7% chance to Avoid being Stunned 50% Chance to avoid being Stunned during Flask Effect 7% chance to avoid Bleeding -5% chance to Avoid Cold Damage from Hits +6% chance to Avoid Cold Damage from Hits 18% chance to Avoid Elemental Ailments 6% chance to Avoid Elemental Damage from Hits during Soul Gain Prevention 6% chance to Avoid Fire Damage from Hits -17% chance to Avoid interruption from Stuns while Casting -4% chance to Avoid Lightning Damage from Hits +23% chance to Avoid interruption from Stuns while Casting +6% chance to Avoid Lightning Damage from Hits +6% chance to Avoid Physical Damage from Hits 7% chance to avoid Projectiles 14% chance to Blind Enemies on hit 3% chance to Blind Enemies on Hit with Attacks @@ -39,14 +42,16 @@ 2% chance to Dodge Attack Hits 4% chance to Dodge Attack Hits if you have Blocked Recently 2% chance to Dodge Spell Hits +9% chance to double Stun Duration 7% chance to Freeze 6% chance to Freeze, Shock and Ignite 22% chance to Freeze, Shock and Ignite during Flask effect 20% chance to gain a Flask Charge when you deal a Critical Strike 3% chance to gain a Frenzy Charge on Critical Strike +10% chance to gain a Frenzy Charge on Hit 5% chance to gain a Frenzy Charge on Kill 22% chance to gain a Frenzy Charge when you Block -6% chance to gain a Power Charge on Critical Strike +15% chance to gain a Power Charge on Critical Strike 5% chance to gain a Power Charge on Kill 10% chance to gain a Power Charge when you Block 16% chance to gain a Power, Frenzy or Endurance Charge on Kill @@ -55,7 +60,9 @@ 22% chance to gain an Endurance Charge when you Block 7% chance to gain an Endurance Charge when you Hit a Bleeding Enemy 22% chance to gain an Endurance Charge when you Taunt an Enemy +15% chance to Gain Arcane Surge when you deal a Critical Strike 10% chance to gain Arcane Surge when you Kill an Enemy +7% chance to gain Elusive on Critical Strike 10% chance to gain Fortify when you Stun an Enemy with Melee Damage 4% chance to gain Onslaught for 4 seconds on Kill 4% chance to gain Phasing for 4 seconds on Kill @@ -63,7 +70,11 @@ 2% chance to Gain Unholy Might for 4 seconds on Melee Kill 4% chance to Hinder Enemies on Hit with Spells, with 30% reduced Movement Speed 7% chance to Ignite -14% chance to Impale Enemies on Hit with Attacks +9% chance to Impale Enemies on Hit with Attacks +13% chance to inflict Cold Exposure on Hit +13% chance to inflict Fire Exposure on Hit +13% chance to inflict Lightning Exposure on Hit +8% chance to Intimidate Enemies for 4 seconds on Hit 5% chance to Knock Enemies Back on hit 15% chance to Maim on Hit 10% chance to Poison on Hit @@ -73,7 +84,8 @@ 4% chance to Taunt Enemies on Hit with Attacks 10% chance to Trigger Level 1 Blood Rage when you Kill an Enemy 10% Chance to Trigger Level 18 Summon Spectral Wolf on Kill -14% faster start of Energy Shield Recharge +8% chance to Unnerve Enemies for 4 seconds on Hit +9% faster start of Energy Shield Recharge 5% Global chance to Blind Enemies on hit 25% increased Accuracy Rating if you haven't Killed Recently 5% increased Accuracy Rating per Frenzy Charge @@ -81,6 +93,7 @@ 11% increased Area Damage 10% increased Area of Effect 30% increased Area of Effect if you have Stunned an Enemy Recently +19% increased Area of Effect if you've Killed Recently 12% increased Area of Effect of Aura Skills 32% increased Area of Effect of Curse Skills 3% increased Area of Effect per 50 Strength @@ -90,7 +103,7 @@ 39% increased Armour and Evasion 80% increased Armour during Flask effect 25% increased Armour if you haven't Killed Recently -28% increased Armour, Evasion and Energy Shield +13% increased Armour, Evasion and Energy Shield 3% increased Attack and Cast Speed 10% increased Attack and Cast Speed during any Flask Effect 23% increased Attack and Cast Speed while Focussed @@ -99,11 +112,13 @@ 4% increased Attack Speed 11% increased Attack Speed during any Flask Effect 10% increased Attack Speed during Flask effect +10% increased Attack Speed if you've been Hit Recently 7% increased Attack Speed if you've dealt a Critical Strike Recently -20% increased Attack Speed if you've Killed Recently +14% increased Attack Speed if you've Killed Recently 7% increased Attack Speed while a Rare or Unique Enemy is Nearby 5% increased Attack Speed while Dual Wielding 5% increased Attack Speed while holding a Shield +11% increased Attack Speed while you have Fortify 7% increased Attack Speed with Axes 7% increased Attack Speed with Bows 7% increased Attack Speed with Claws @@ -125,7 +140,7 @@ 10% increased Cast Speed during Flask effect 8% increased Cast Speed if a Minion has been Killed Recently 6% increased Cast Speed if you've dealt a Critical Strike Recently -20% increased Cast Speed if you've Killed Recently +14% increased Cast Speed if you've Killed Recently 4% increased Cast Speed while Dual Wielding 4% increased Cast Speed while holding a Shield 4% increased Cast Speed while wielding a Staff @@ -138,16 +153,16 @@ 22% increased Charges used 14% increased Chill and Freeze Duration on Enemies 15% increased Chill Duration on Enemies -15% increased Cold Damage +13% increased Cold Damage 12% increased Cooldown Recovery Speed 14% increased Cooldown Recovery Speed for throwing Traps 23% increased Critical Strike Chance 90% increased Critical Strike Chance against Blinded Enemies 90% increased Critical Strike Chance against Poisoned Enemies -50% increased Critical Strike Chance against Shocked Enemies +32% increased Critical Strike Chance against Shocked Enemies 70% increased Critical Strike Chance during Flask Effect 67% increased Critical Strike Chance for Spells -90% increased Critical Strike Chance if you have Killed Recently +35% increased Critical Strike Chance if you have Killed Recently 25% increased Critical Strike Chance if you haven't dealt a Critical Strike Recently 12% increased Critical Strike Chance while holding a Shield 14% increased Critical Strike Chance with Axes @@ -181,10 +196,10 @@ 1% increased Damage per 1% Chance to Block Attack Damage 3% increased Damage per Endurance Charge 3% increased Damage per Frenzy Charge -7% increased Damage per Power Charge -27% increased Damage while Leeching +3% increased Damage per Power Charge +20% increased Damage while Leeching 15% increased Damage with Axes -23% increased Damage with Bleeding +25% increased Damage with Bleeding 15% increased Damage with Bows 15% increased Damage with Claws 15% increased Damage with Daggers @@ -192,7 +207,7 @@ 9% increased Damage with Hits and Ailments per Curse on Enemy 15% increased Damage with Maces and Sceptres 13% increased Damage with One Handed Weapons -23% increased Damage with Poison +25% increased Damage with Poison 15% increased Damage with Staves 15% increased Damage with Swords 13% increased Damage with Two Handed Weapons @@ -201,19 +216,21 @@ 35% increased Duration 90% increased Duration of Ailments you inflict while Focussed 25% increased effect +6% increased Effect of Auras on you 8% increased Effect of Chill 15% increased Effect of Fortify on you 80% increased Effect of Fortify on you while Focussed -19% increased Effect of non-Damaging Ailments on Enemies +17% increased Effect of non-Damaging Ailments on Enemies +18% increased effect of Offerings 8% increased Effect of Shock 12% increased Effect of your Curses -6% increased Elemental Damage +13% increased Elemental Damage 15% increased Elemental Damage if you've dealt a Critical Strike Recently 15% increased Elemental Damage with Attack Skills 12% increased Endurance Charge Duration 39% increased Energy Shield 7% increased Energy Shield Recharge Rate -12% increased Energy Shield Recovery rate +9% increased Energy Shield Recovery rate 39% increased Evasion and Energy Shield 9% increased Evasion Rating 80% increased Evasion Rating during Flask effect @@ -226,25 +243,27 @@ 15% increased Flask Effect Duration 15% increased Flask Life Recovery rate 15% increased Flask Mana Recovery rate -14% increased Freeze Duration on Enemies +10% increased Freeze Duration on Enemies 12% increased Frenzy Charge Duration 8% increased Global Accuracy Rating 10% increased Global Critical Strike Chance 5% increased Global Defences 10% increased Global Physical Damage 7% increased Ignite Duration on Enemies +15% increased Impale Effect 6% increased Intelligence 40% increased Life Recovered -12% increased Life Recovery rate +9% increased Life Recovery rate 5% increased Light Radius 10% increased Lightning Damage 60% increased Mana Recovered -12% increased Mana Recovery rate +9% increased Mana Recovery rate 25% increased Mana Regeneration Rate 22% increased Mana Regeneration Rate while moving 3% increased maximum Energy Shield 9% increased maximum Life 5% increased maximum Mana +20% increased Maximum total Recovery per second from Energy Shield Leech 20% increased Maximum total Recovery per second from Life Leech 12% increased Melee Critical Strike Chance 9% increased Melee Damage @@ -260,13 +279,14 @@ 25% increased Movement Speed during Flask effect 7% increased Movement Speed if you haven't been Hit Recently 3% increased Movement Speed if you haven't taken Damage Recently +6% increased Movement Speed if you've Hit an Enemy Recently 3% increased Movement Speed if you've Killed Recently 12% increased Movement speed while on Burning, Chilled or Shocked ground 39% increased Physical Damage 25% increased Physical Weapon Damage while Dual Wielding 7% increased Poison Duration 12% increased Power Charge Duration -22% increased Projectile Attack Damage +20% increased Projectile Attack Damage 22% increased Projectile Attack Damage during any Flask Effect 1% increased Projectile Attack Damage per 200 Accuracy Rating 9% increased Projectile Damage @@ -302,11 +322,13 @@ 15% increased Trap Damage 18% increased Trap Duration 9% increased Trap Throwing Speed +19% increased Warcry Cooldown Recovery Speed 16% increased Weapon Critical Strike Chance while Dual Wielding 13% increased Weapon Damage while Dual Wielding 525% more Physical Damage with Unarmed Attacks 0.4% of Attack Damage Leeched as Life during Flask effect 0.4% of Chaos Damage Leeched as Life +0.3% of Cold Damage Leeched as Energy Shield 0.4% of Cold Damage Leeched as Life 7% of Damage is taken from Mana before Life 23% of Damage is taken from Mana before Life while Focussed @@ -314,17 +336,19 @@ 15% of Damage Taken from Hits is Leeched as Life during Flask Effect 4% of Damage taken gained as Mana over 4 seconds when Hit 1% of Evasion Rating is Regenerated as Life per second while Focussed +0.3% of Fire Damage Leeched as Energy Shield 0.4% of Fire Damage Leeched as Life +0.3% of Lightning Damage Leeched as Energy Shield 0.2% of Lightning Damage Leeched as Life 0.4% of Physical Attack Damage Leeched as Life 0.4% of Physical Attack Damage Leeched as Life during Flask effect 0.3% of Physical Attack Damage Leeched as Mana 0.4% of Physical Attack Damage Leeched as Mana during Flask effect -12% of Physical Damage Converted to Chaos Damage +18% of Physical Damage Converted to Chaos Damage 25% of Physical Damage Converted to Cold Damage 25% of Physical Damage Converted to Fire Damage 25% of Physical Damage Converted to Lightning Damage -10% of Physical Damage from Hits taken as Chaos Damage +7% of Physical Damage from Hits taken as Chaos Damage 9% of Physical Damage from Hits taken as Cold Damage 9% of Physical Damage from Hits taken as Fire Damage 9% of Physical Damage from Hits taken as Lightning Damage @@ -341,10 +365,10 @@ 5% reduced Cold Damage taken 5% reduced Damage taken from Damage Over Time 25% reduced Duration -17% reduced Effect of Curses on you +27% reduced Effect of Curses on you 5% reduced Elemental Damage Taken while stationary 12% reduced Enemy Block Chance -25% reduced Enemy Stun Threshold +7% reduced Enemy Stun Threshold 11% reduced Enemy Stun Threshold with this Weapon 5% reduced Fire Damage taken 22% reduced Fishing Pool Consumption @@ -356,8 +380,8 @@ 4% reduced Mana Reserved 33% reduced Recovery rate 10% reduced Reflected Damage taken -12% reduced Reflected Elemental Damage taken -12% reduced Reflected Physical Damage taken +38% reduced Reflected Elemental Damage taken +38% reduced Reflected Physical Damage taken +575 Armour if you've Blocked Recently +2 Energy Shield gained for each Enemy hit by your Attacks +42 Life gained for each Blinded Enemy Hit by this Weapon @@ -379,13 +403,21 @@ +9 to Dexterity and Intelligence +48 to Evasion Rating +14 to Intelligence ++1 to Level of all Chaos Skill Gems +1 to Level of all Chaos Spell Skill Gems ++1 to Level of all Cold Skill Gems +1 to Level of all Cold Spell Skill Gems ++1 to Level of all Dexterity Skill Gems ++1 to Level of all Fire Skill Gems +1 to Level of all Fire Spell Skill Gems ++1 to Level of all Intelligence Skill Gems ++1 to Level of all Lightning Skill Gems +1 to Level of all Lightning Spell Skill Gems +1 to Level of all Minion Skill Gems ++1 to Level of all Physical Skill Gems +1 to Level of all Physical Spell Skill Gems +1 to Level of all Spell Skill Gems ++1 to Level of all Strength Skill Gems +1 to Level of Socketed Active Skill Gems +1 to Level of Socketed AoE Gems +2 to Level of Socketed Aura Gems @@ -415,7 +447,7 @@ +1 to maximum number of Summoned Totems +1 to Maximum Power Charges +1 to Melee Weapon and Unarmed Attack range -+1 to Melee Weapon Range if you have Killed Recently ++2 to Melee Weapon Range if you have Killed Recently +1 to Minimum Endurance Charges +1 to Minimum Frenzy Charges +1 to Minimum Power Charges @@ -426,22 +458,24 @@ +2% Chance to Block +1% Chance to Block Attack Damage +2% Chance to Block Attack Damage if there are at least 5 nearby Enemies ++5% Chance to Block Attack Damage if you have Blocked Attack Damage Recently +2% Chance to Block Attack Damage if you were Damaged by a Hit Recently +1% Chance to Block Attack Damage per Endurance Charge +1% Chance to Block Attack Damage while Dual Wielding +1% Chance to Block Attack Damage while holding a Shield +1% Chance to Block Attack Damage while wielding a Staff +1% Chance to Block Projectile Attack Damage ++8% Chance to Block Spell Damage if you have Blocked Spell Damage Recently +2% Chance to Block Spell Damage if you were Damaged by a Hit Recently +1% Chance to Block Spell Damage while Dual Wielding +1% Chance to Block Spell Damage while holding a Shield +1% Chance to Block Spell Damage while wielding a Staff +17% chance to Dodge Attack Hits while Focussed -+2% chance to Evade Attacks ++4% chance to Evade Attacks +19% Critical Strike Multiplier while a Rare or Unique Enemy is Nearby +9% to all Elemental Resistances +1% to all maximum Resistances -+16% to Chaos Damage over Time Multiplier ++10% to Chaos Damage over Time Multiplier +10% to Chaos Resistance +50% to Chaos Resistance during any Flask Effect +9% to Cold and Chaos Resistances @@ -472,6 +506,7 @@ +9% to Critical Strike Multiplier with Traps +16% to Critical Strike Multiplier with Two Handed Melee Weapons +9% to Critical Strike Multiplier with Wands ++9% to Damage over Time Multiplier +9% to Fire and Chaos Resistances +11% to Fire and Cold Resistances +11% to Fire and Lightning Resistances @@ -481,6 +516,9 @@ +9% to Lightning and Chaos Resistances +13% to Lightning Resistance +2% to maximum Chance to Block Attack Damage ++2% to maximum Chance to Block Spell Damage ++2% to maximum Chance to Dodge Attack Hits ++2% to maximum Chance to Dodge Spell Hits +3% to maximum Chaos Resistance +3% to maximum Cold Resistance +3% to maximum Fire Resistance @@ -500,8 +538,9 @@ Adds 1 to 4 Chaos Damage to Spells while holding a Shield Adds 1 to 4 Chaos Damage to Spells while wielding a Two Handed Weapon Adds 9 to 17 Cold Damage Adds 10 to 28 Cold Damage against Chilled or Frozen Enemies +Adds 18 to 23 Cold Damage if you've dealt a Critical Strike Recently Adds 4 to 9 Cold Damage to Attacks -Adds 2 to 4 Cold Damage to Attacks with this Weapon per 10 Dexterity +Adds 1 to 3 Cold Damage to Attacks with this Weapon per 10 Dexterity Adds 4 to 9 Cold Damage to Axe Attacks Adds 4 to 9 Cold Damage to Bow Attacks Adds 4 to 9 Cold Damage to Claw Attacks @@ -518,8 +557,9 @@ Adds 4 to 9 Cold Damage to Wand Attacks Adds 11 to 21 Fire Damage Adds 10 to 28 Fire Damage against Ignited Enemies Adds 40 to 80 Fire Damage if you've Blocked Recently +Adds 18 to 23 Fire Damage if you've dealt a Critical Strike Recently Adds 4 to 11 Fire Damage to Attacks -Adds 2 to 4 Fire Damage to Attacks with this Weapon per 10 Strength +Adds 1 to 3 Fire Damage to Attacks with this Weapon per 10 Strength Adds 5 to 11 Fire Damage to Axe Attacks Adds 5 to 11 Fire Damage to Bow Attacks Adds 5 to 11 Fire Damage to Claw Attacks @@ -535,8 +575,9 @@ Adds 5 to 11 Fire Damage to Sword Attacks Adds 5 to 11 Fire Damage to Wand Attacks Adds 2 to 35 Lightning Damage Adds 5 to 36 Lightning Damage against Shocked Enemies +Adds 1 to 44 Lightning Damage if you've dealt a Critical Strike Recently Adds 1 to 19 Lightning Damage to Attacks -Adds 1 to 7 Lightning Damage to Attacks with this Weapon per 10 Intelligence +Adds 1 to 5 Lightning Damage to Attacks with this Weapon per 10 Intelligence Adds 1 to 19 Lightning Damage to Axe Attacks Adds 1 to 19 Lightning Damage to Bow Attacks Adds 1 to 19 Lightning Damage to Claw Attacks @@ -551,6 +592,7 @@ Adds 1 to 19 Lightning Damage to Staff Attacks Adds 1 to 19 Lightning Damage to Sword Attacks Adds 1 to 19 Lightning Damage to Wand Attacks Adds 11 to 22 Physical Damage +Adds 4 to 7 Physical Damage if you've dealt a Critical Strike Recently Adds 1 to 3 Physical Damage to Attacks Adds 2 to 3 Physical Damage to Axe Attacks Adds 2 to 3 Physical Damage to Bow Attacks @@ -565,15 +607,21 @@ Adds 2 to 3 Physical Damage to Staff Attacks Adds 2 to 3 Physical Damage to Sword Attacks Adds 2 to 3 Physical Damage to Wand Attacks Adds Knockback to Melee Attacks during Flask effect +Anger has 30% increased Aura Effect +Anger has 22% reduced Mana Reservation Area is inhabited by an additional Invasion Boss Attack Projectiles Return to you from final Target Attacks have 4% chance to cause Bleeding Attacks have 15% chance to Maim on Hit Attacks have +0.75% to Critical Strike Chance -Attacks with this Weapon Penetrate 10% Chaos Resistance -Attacks with this Weapon Penetrate 10% Elemental Resistances +Attacks with this Weapon Penetrate 5% Chaos Resistance +Attacks with this Weapon Penetrate 6% Cold Resistance +Attacks with this Weapon Penetrate 5% Elemental Resistances +Attacks with this Weapon Penetrate 6% Fire Resistance +Attacks with this Weapon Penetrate 6% Lightning Resistance +Bleeding you inflict deals Damage 10% faster Bow Attacks fire an additional Arrow -Can have multiple Crafted Modifiers +Can have up to 3 Crafted Modifiers Cannot be Chilled Cannot be Frozen Cannot be Poisoned @@ -588,6 +636,7 @@ Culling Strike Curse Enemies with Level 8 Assassin's Mark on Hit Curse Enemies with Level 5 Conductivity on Hit Curse Enemies with Level 5 Despair on Hit +Curse Enemies with Level 5 Elemental Weakness on Hit Curse Enemies with Level 5 Flammability on Hit Curse Enemies with Level 5 Frostbite on Hit Curse Enemies with Level 8 Poacher's Mark on Hit @@ -595,35 +644,44 @@ Curse Enemies with Level 5 Vulnerability on Hit Curse Enemies with Level 8 Warlord's Mark on Hit Curse Skills have 7% increased Cast Speed Curse Skills have 32% increased Skill Effect Duration -Damage Penetrates 2% Cold Resistance +Damage Penetrates 5% Cold Resistance Damage Penetrates 2% Elemental Resistance if you haven't Killed Recently -Damage Penetrates 5% Elemental Resistances +Damage Penetrates 3% Elemental Resistances Damage Penetrates 5% Elemental Resistances during any Flask Effect -Damage Penetrates 4% Fire Resistance -Damage Penetrates 8% Lightning Resistance +Damage Penetrates 5% Fire Resistance +Damage Penetrates 5% Lightning Resistance +Determination has 22% reduced Mana Reservation +Discipline has 27% reduced Mana Reservation Drops Burning Ground while moving, dealing 2500 Fire Damage per second Enemies have 20% reduced Evasion if you have Hit them Recently +Enemies have -14% to Total Physical Damage Reduction against this Weapon's Hits +Enemies have -9% to Total Physical Damage Reduction against your Hits Enemies killed explode dealing 5% of their Life as Fire Damage +Every 5 seconds, Regenerate 15% of Life over one second Ezomyte Shell Hook Flask Effect is not removed at Full Mana Flasks applied to you have 5% increased Effect Gain 1 Charge when you are Hit by an Enemy Gain 4% of Cold Damage as Extra Chaos Damage -Gain 12% of Elemental Damage as Extra Chaos Damage +Gain 11% of Elemental Damage as Extra Chaos Damage Gain 4% of Fire Damage as Extra Chaos Damage Gain 4% of Lightning Damage as Extra Chaos Damage Gain 6% of Maximum Life as Extra Maximum Energy Shield Gain 2% of Non-Chaos Damage as extra Chaos Damage Gain 4% of Physical Damage as Extra Chaos Damage -Gain 12% of Physical Damage as Extra Cold Damage -Gain 8% of Physical Damage as Extra Damage of a random Element +Gain 9% of Physical Damage as Extra Cold Damage +Gain 7% of Physical Damage as Extra Damage of a random Element Gain 10% of Physical Damage as Extra Fire Damage Gain 3% of Physical Damage as Extra Fire Damage if you've dealt a Critical Strike Recently -Gain 12% of Physical Damage as Extra Lightning Damage +Gain 4% of Physical Damage as Extra Lightning Damage +Gain a Flask Charge when you deal a Critical Strike Gain a Power Charge after Spending a total of 200 Mana +Gain Accuracy Rating equal to your Strength Gain an Endurance Charge every 4 seconds while Stationary +Gain an Endurance Charge every second if you've been Hit Recently Gain an Endurance, Frenzy or Power charge when you Block Gain Onslaught for 3 seconds when Hit +Grace has 22% reduced Mana Reservation Grants 50% of Life Recovery to Minions Grants Level 22 Abyssal Cry Skill Grants Level 22 Anger Skill @@ -646,8 +704,11 @@ Grants Level 22 Herald of Thunder Skill Grants Level 22 Rallying Cry Skill Grants Level 22 Vitality Skill Grants Level 22 Wrath Skill +Hatred has 30% increased Aura Effect +Hatred has 22% reduced Mana Reservation Hits can't be Evaded Hits with this Weapon have Culling Strike against Bleeding Enemies +Ignites you inflict deal Damage 10% faster Immune to Curses during Flask effect Removes Curses on use Immune to Poison during Flask Effect Removes Poison on use Immunity to Bleeding during Flask effect Removes Bleeding on use @@ -658,6 +719,9 @@ Instant Recovery Instant Recovery when on Low Life Item drops on Death if Equipped by an Animated Guardian Items and Gems have 7% reduced Attribute Requirements +Killed Enemies Explode, dealing 3% of their Life as Physical Damage +Malevolence has 30% increased Aura Effect +Malevolence has 22% reduced Mana Reservation Mana Recovery occurs instantly at the end of the Flask effect Melee Movement Skills have 40% chance to Fortify on Hit Mines have 14% increased Detonation Speed @@ -686,12 +750,20 @@ Minions Leech 0.4% of Damage as Life Minions Recover 100% of their Life when you Focus Minions Regenerate 3 Life per second Minions Regenerate 0.6% of Life per second +Moving while Bleeding doesn't cause you to take extra Damage +Nearby Enemies are Blinded Non-Channelling Skills have -7 to Total Mana Cost Non-Vaal Skills deal 35% increased Damage during Soul Gain Prevention +Poisons you inflict deal Damage 10% faster Prefixes Cannot Be Changed -Projectiles deal 25% increased Damage for each Enemy Pierced +Pride has 22% reduced Mana Reservation +Projectiles deal 17% increased Damage for each Enemy Pierced +Projectiles from Socketed Gems Fork Projectiles Pierce 2 additional Targets Projectiles Pierce an additional Target +Purity of Fire has 27% reduced Mana Reservation +Purity of Ice has 27% reduced Mana Reservation +Purity of Lightning has 27% reduced Mana Reservation Recharges 1 Charge when you deal a Critical Strike Recharges 5 Charges when you take a Critical Strike Recover 3% of Energy Shield on Kill @@ -707,11 +779,12 @@ Regenerate 3 Energy Shield per second Regenerate 60 Energy Shield per second while a Rare or Unique Enemy is Nearby Regenerate 3 Life per second Regenerate 0.8 Mana per second -Regenerate 0.6% of Energy Shield per second +Regenerate 2% of Energy Shield per second Regenerate 0.55% of Life per second Regenerate 1% of Life per second during any Flask Effect Regenerate 3% of Life per second during Flask Effect Regenerate 0.8% of Life per second while moving +Regenerate 0.3% of Mana per second Remove Chill and Freeze when you use a Flask Remove Ignite and Burning when you use a Flask Remove Shock when you use a Flask @@ -721,6 +794,8 @@ Removes Bleeding when you use a Warcry Shock nearby Enemies for 2 Seconds when you Focus Siren Worm Bait Skills Cost no Mana while Focussed +Skills fire an additional Projectile +Skills supported by Unleash have +1 to maximum number of Seals Skills used by Mines have 23% increased Area of Effect Skills used by Traps have 23% increased Area of Effect Skills which Throw Traps throw up to 1 additional Trap @@ -731,6 +806,7 @@ Socketed Gems are supported by Level 16 Additional Accuracy Socketed Gems are Supported by Level 16 Advanced Traps Socketed Gems are Supported by Level 16 Ancestral Call Socketed Gems are Supported by Level 16 Arcane Surge +Socketed Gems are Supported by Level 18 Ballista Totem Socketed Gems are Supported by Level 18 Blastchain Mine Socketed Gems are supported by Level 16 Blind Socketed Gems are Supported by Level 1 Blood Magic @@ -779,7 +855,6 @@ Socketed Gems are supported by Level 18 Multistrike Socketed Gems are Supported by Level 18 Onslaught Socketed Gems are Supported by Level 18 Poison Socketed Gems are Supported by Level 16 Power Charge On Critical Strike -Socketed Gems are Supported by Level 18 Ranged Attack Totem Socketed Gems are Supported by Level 16 Ruthless Socketed Gems are Supported by Level 16 Slower Projectiles Socketed Gems are Supported by Level 16 Spell Cascade @@ -804,6 +879,8 @@ Socketed Non-Curse Aura Gems have 20% increased Aura Effect Socketed Spells have +1% to Critical Strike Chance Socketed Spells have +30% to Critical Strike Multiplier Spells have +0.75% to Critical Strike Chance +Spells have a 4% chance to deal Double Damage +Strike Skills target 1 additional nearby Enemy Suffixes Cannot Be Changed Throw an additional Mine Totems gain +8% to all Elemental Resistances @@ -814,11 +891,20 @@ Unaffected by Burning Ground Unaffected by Chilled Ground Unaffected by Desecrated Ground Unaffected by Shocked Ground -When you Kill a Rare Monster, 17% chance to gain one of its Modifiers for 10 seconds +When you Kill a Rare Monster, 25% chance to gain one of its Modifiers for 10 seconds +Wrath has 30% increased Aura Effect +Wrath has 22% reduced Mana Reservation You are Immune to Ailments while Focussed You can apply an additional Curse +You have Chilling Conflux for 3 seconds every 8 seconds +You have Consecrated Ground around you while stationary +You have Igniting Conflux for 3 seconds every 8 seconds You have Onslaught during Soul Gain Prevention +You have Shocking Conflux for 3 seconds every 8 seconds +You have Tailwind if you have dealt a Critical Strike Recently You have Vaal Pact while Focussed You take 17% reduced Extra Damage from Critical Strikes Your Critical Strike Chance is Lucky while Focussed Your Hits inflict Decay, dealing 500 Chaos Damage per second for 8 seconds +Zealotry has 30% increased Aura Effect +Zealotry has 22% reduced Mana Reservation diff --git a/PoESkillTree.Engine.GameModel/Data/SkillTreeStatLines.txt b/PoESkillTree.Engine.GameModel/Data/SkillTreeStatLines.txt index 13fa08e7..33d5b95c 100644 --- a/PoESkillTree.Engine.GameModel/Data/SkillTreeStatLines.txt +++ b/PoESkillTree.Engine.GameModel/Data/SkillTreeStatLines.txt @@ -1,5 +1,12 @@ 12% increased Accuracy Rating while Dual Wielding -75% increased Weapon Critical Strike Chance while Dual Wielding +75% increased Attack Critical Strike Chance while Dual Wielding +20% increased Attack Damage +6% increased Attack Speed +15% increased Global Accuracy Rating +20% increased Damage with Ailments from Attack Skills +Minions have 20% increased maximum Life +20% increased Raised Zombie Size +Raised Zombies have 5% chance to Taunt Enemies on Hit 10% increased Evasion Rating 4% increased maximum Life +40 to Strength @@ -8,11 +15,12 @@ 35% chance to Avoid Elemental Ailments per Summoned Golem 25% increased Effect of Buffs granted by your Golems per Summoned Golem +1 to maximum number of Golems -10% increased Damage with Claws +Claw Attacks deal 10% increased Damage with Hits and Ailments 15% increased Critical Strike Chance with Claws -10% increased Damage with Ailments from Attack Skills while wielding a Claw 6% increased maximum Energy Shield 18% increased Endurance Charge Duration +15% chance to Ignite +Enemies Ignited by you have -10% to Fire Resistance 6% increased Attack Damage Minions deal 6% increased Damage +10 to Dexterity @@ -21,10 +29,9 @@ Minions deal 6% increased Damage +10 to Strength +10 to Strength +5% to Damage over Time Multiplier for Poison -20% increased Damage with Claws +Claw Attacks deal 20% increased Damage with Hits and Ailments 10% increased Poison Duration 10% chance to Poison on Hit with Attacks -20% increased Damage with Ailments from Attack Skills while wielding a Claw 30% increased Totem Damage Attacks used by Totems have 8% increased Attack Speed Each Totem applies 1% increased Damage taken to Enemies near it @@ -40,6 +47,8 @@ Each Totem applies 1% increased Damage taken to Enemies near it 25% chance to gain a Challenger Charge when you Hit a Rare or Unique Enemy while in Blood Stance Gain a Challenger Charge when you Kill an Enemy while in Sand Stance +10 to Maximum Challenger Charges +25% increased Spell Damage ++6% Chance to Block Spell Damage if you've Cast a Spell Recently 30% increased Physical Attack Damage while holding a Shield Attack Skills deal 30% increased Damage with Ailments while holding a Shield 5% chance to gain an Endurance Charge on Kill while holding a Shield @@ -47,10 +56,9 @@ Attack Skills deal 30% increased Damage with Ailments while holding a Shield 10% increased Trap Damage 10% increased Mine Damage 5% increased Trap Throwing Speed -10% increased Fire Damage -10% increased Weapon Damage while Dual Wielding +12% increased Fire Damage +Attack Skills deal 10% increased Damage while Dual Wielding 6% increased Accuracy Rating while Dual Wielding -Attack Skills deal 10% increased Damage with Ailments while Dual Wielding 3% increased Attack Speed 30% increased maximum Mana 10% of Damage is taken from Mana before Life @@ -58,17 +66,21 @@ Transfiguration of Mind 10% increased Damage with Bows 10% increased Evasion Rating 10% increased Damage Over Time with Bow Skills +8% increased Attack and Cast Speed +25% increased Physical Damage Regenerate 0.5% of Life per second 15% increased Endurance Charge Duration 25% increased Skill Effect Duration +10 to Intelligence +Skills Supported by Unleash have 30% increased Seal gain frequency ++15% to Critical Strike Multiplier with Claws or Daggers +10% chance to gain a Power Charge on Non-Critical Strike with a Claw or Dagger 100% increased Totem Duration +1 to maximum number of Summoned Totems 6% increased Damage per Enemy Killed by you or your Totems Recently 10% increased Attack and Cast Speed while you have a Totem -10% increased Attack Damage while holding a Shield +Attack Skills deal 10% increased Damage while holding a Shield 3% increased Attack Speed while holding a Shield -Attack Skills deal 10% increased Damage with Ailments while holding a Shield 4% increased Attack Speed 5% increased maximum Life 6% chance to Knock Enemies Back on hit @@ -82,23 +94,28 @@ Regenerate 1.6% of Life per second 0.8% of Attack Damage Leeched as Mana 25% increased Maximum total Recovery per second from Mana Leech 20% increased total Recovery per second from Mana Leech -15% increased Damage with Daggers +Dagger Attacks deal 15% increased Damage with Hits and Ailments 6% increased Attack Speed with Daggers 15% increased Accuracy Rating with Daggers 10% chance to gain Phasing for 4 seconds on Kill -15% increased Damage with Ailments from Attack Skills while wielding a Dagger +8% to Chaos Resistance +10 to Dexterity ++5% Chance to Block Attack Damage while Dual Wielding +Attack Skills deal 25% increased Damage while Dual Wielding +30% increased Attack Critical Strike Chance while Dual Wielding +Enemies you Kill have a 10% chance to Explode, dealing a quarter of their maximum Life as Chaos Damage Channelling Skills deal 8% increased Attack Damage Channelling Skills have 3% increased Attack Speed +10 to Dexterity 8% increased Fire Damage Regenerate 0.4% of Life per second -10% increased Damage with Swords +Sword Attacks deal 10% increased Damage with Hits and Ailments 60% increased Critical Strike Chance with Swords +30% to Critical Strike Multiplier with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword 10% increased Projectile Damage ++20% to Fire Resistance +40% chance to Avoid being Ignited +6% chance to Avoid Fire Damage from Hits 40% increased Defences from Equipped Shield +2% Chance to Block Attack Damage while holding a Shield 10% increased Trap Damage @@ -126,9 +143,8 @@ Poisons you inflict during any Flask Effect have 40% chance to deal 100% more Da 25% chance that if you would gain Endurance Charges, you instead gain up to your maximum number of Endurance Charges Gain an Endurance Charge every second if you've been Hit Recently +1 to Maximum Endurance Charges -15% increased Damage with Staves +Staff Attacks deal 15% increased Damage with Hits and Ailments 15% increased Armour -15% increased Damage with Ailments from Attack Skills while wielding a Staff 12% increased Evasion Rating +12 to maximum Energy Shield +12 to maximum Life @@ -137,14 +153,16 @@ Gain an Endurance Charge every second if you've been Hit Recently 4% increased maximum Life 8% increased maximum Mana 10% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 10% increased Damage with Ailments 3% increased Attack Speed with Two Handed Melee Weapons -10% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +25% to Damage over Time Multiplier for Poison 40% chance to Poison on Hit 50% increased Damage with Poison 5% increased Poison Duration for each Poison you have inflicted Recently Recover 0.5% of Life per Poison affecting Enemies you Kill 4% increased Cast Speed +30% increased Totem Damage +Totems Hinder Enemies near them when Summoned, with 25% reduced Movement Speed 14% increased Evasion Rating 5% increased maximum Life 20% increased Mana Regeneration Rate @@ -152,40 +170,54 @@ Recover 0.5% of Life per Poison affecting Enemies you Kill 10% increased Damage with Bows 3% increased Attack Speed with Bows 10% increased Damage Over Time with Bow Skills +15% increased maximum Mana +30% increased Mana Regeneration Rate +100 to Accuracy Rating 15% increased Global Accuracy Rating 30% increased Critical Strike Chance 20% increased Critical Strike Chance with Traps 20% increased Critical Strike Chance with Mines +30% increased Chaos Damage +10% increased Attack and Cast Speed 5% increased maximum Life 8% increased maximum Mana +15% increased Elemental Damage +Cold Skills have a 25% chance to apply Cold Exposure on Hit +Fire Skills have a 25% chance to apply Fire Exposure on Hit +Lightning Skills have a 25% chance to apply Lightning Exposure on Hit 10% increased Damage over Time 4% increased Attack and Cast Speed 5% increased maximum Mana Minions deal 10% increased Damage -10% increased Attack Damage while holding a Shield +Attack Skills deal 10% increased Damage while holding a Shield 30% increased Defences from Equipped Shield -Attack Skills deal 10% increased Damage with Ailments while holding a Shield +3% Chance to Block Attack Damage while Dual Wielding -10% increased Weapon Damage while Dual Wielding -Attack Skills deal 10% increased Damage with Ailments while Dual Wielding -14% increased Physical Damage with Maces and Sceptres +Attack Skills deal 10% increased Damage while Dual Wielding +14% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 14% increased Damage with Ailments 5% chance to double Stun Duration -14% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre 12% increased Physical Damage with Two Handed Melee Weapons -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments +Grants 1 Passive Skill Point +6% to Fire Damage over Time Multiplier 24% increased Fire Damage Regenerate 1% of Life per second Chance to Block Spell Damage is equal to Chance to Block Attack Damage Maximum Chance to Block Spell Damage is equal to Maximum Chance to Block Attack Damage +8% increased Attack Speed while Dual Wielding +16% increased Accuracy Rating while Dual Wielding +32% increased Damage if you've used a Travel Skill Recently 6% increased Attack Speed 4% increased Movement Speed ++10% to all Elemental Resistances +35% reduced Elemental Damage +35% increased Physical Damage +10 to Dexterity +150 to Armour 12% increased Armour 5% chance to Dodge Attack Hits while Channelling Channelling Skills have 10% increased Attack Speed 20% chance to Avoid being Stunned while Channelling +10% chance to gain Unholy Might for 4 seconds on Critical Strike 12% increased Accuracy Rating while Dual Wielding 30% increased Spell Damage if you've Cast a Spell Recently 50% increased Attack Damage if you've Cast a Spell Recently @@ -195,9 +227,8 @@ Regenerate 0.5% of Life per second Kill Enemies that have 20% or lower Life when Hit by your Skills Gain 10% increased Attack Speed for 20 seconds when you Kill a Rare or Unique Enemy Gain 10% increased Movement Speed for 20 seconds when you Kill an Enemy -10% increased Weapon Damage while Dual Wielding +Attack Skills deal 10% increased Damage while Dual Wielding 3% increased Attack Speed while Dual Wielding -Attack Skills deal 10% increased Damage with Ailments while Dual Wielding 15% increased Critical Strike Chance against Shocked Enemies 10% increased Damage if you have Shocked an Enemy Recently 20% increased Evasion Rating @@ -207,12 +238,12 @@ Attack Skills deal 10% increased Damage with Ailments while Dual Wielding 18% increased Frenzy Charge Duration 30% increased Block Recovery +2% Chance to Block Attack Damage while holding a Shield +You can only have one Herald 50% more Effect of Herald Buffs on you 50% more Damage with Hits from Herald Skills 50% more Damage Over Time with Herald Skills Minions from Herald Skills deal 20% more Damage Your Aura Skills are Disabled Curse Skills have 10% increased Cast Speed 4% increased Attack Speed with Claws 10% chance to Poison on Hit with Attacks -12% increased Damage with Daggers +Dagger Attacks deal 12% increased Damage with Hits and Ailments 5% increased Movement Speed -12% increased Damage with Ailments from Attack Skills while wielding a Dagger +20 to maximum Energy Shield 14% increased maximum Energy Shield 10% increased Energy Shield Recharge Rate @@ -229,13 +260,21 @@ Regenerate 8% of Mana over 2 seconds when you Consume a corpse 4% increased Attack Speed 15% increased Damage with One Handed Weapons +10 to Intelligence +6% increased maximum Life +5% increased Strength 10% increased Mine Damage 5% reduced Mana Reservation of Skills that throw Mines +5% chance to deal Double Damage +25% increased Physical Damage +15% to Critical Strike Multiplier with Daggers 10% increased Poison Duration +15% increased Armour 8% increased Global Accuracy Rating +10 to Dexterity +12% to Critical Strike Multiplier +24% increased Damage over Time +10% increased Flask Charges gained +20% increased Life and Mana Recovery from Flasks 30% increased Global Accuracy Rating Minions deal 15% increased Damage Increases and Reductions to Minion Damage also affect you @@ -246,6 +285,9 @@ Increases and Reductions to Minion Damage also affect you Gain 1 Rage on Hit with Attacks, no more than once every 0.3 seconds 2% of Attack Damage Leeched as Life and Mana if you've Killed Recently Cannot be Stunned while you have at least 25 Rage +Mace, Sceptre or Staff Attacks deal 30% increased Damage with Hits and Ailments +4% chance to deal Double Damage while wielding a Mace, Sceptre or Staff ++20 to Strength 10% increased Evasion Rating 5% increased maximum Energy Shield 10% chance to gain a Power Charge on Critical Strike @@ -257,8 +299,8 @@ Minions Regenerate 1% of Life per second 10% increased Totem Placement speed 14% increased Damage with Brand Skills 15% increased Physical Damage with Swords +Sword Attacks deal 15% increased Damage with Ailments Attacks have 10% chance to cause Bleeding -15% increased Damage with Ailments from Attack Skills while wielding a Sword +10 to Intelligence 10% increased Maximum total Recovery per second from Life Leech 10% increased total Recovery per second from Life Leech @@ -277,6 +319,9 @@ Mines have 10% increased Detonation Speed Minions deal 6% increased Damage 14% increased Evasion Rating 10% increased Cooldown Recovery Speed of Movement Skills +3% Chance to Block Spell Damage +25% chance to Avoid Elemental Ailments ++3% Chance to Block Attack Damage 4% increased Attack Speed with Swords 8% increased Accuracy Rating with Swords 12% increased Fire Damage @@ -284,24 +329,29 @@ Minions deal 6% increased Damage Attacks used by Totems have 5% increased Attack Speed +1 to Maximum Endurance Charges 20% increased Attack Damage -+5% chance to Evade Attacks ++5% chance to Evade Attack Hits 10% chance to gain Onslaught for 10 Seconds when you Hit a Rare or Unique Enemy Gain Onslaught for 10 seconds on Kill -12% increased Damage with Claws +Claw Attacks deal 12% increased Damage with Hits and Ailments 0.4% of Attack Damage Leeched as Life 20% increased total Recovery per second from Life Leech -12% increased Damage with Ailments from Attack Skills while wielding a Claw 0.5% of Elemental Damage Leeched as Life For each Element you've been hit by Damage of Recently, 40% increased Damage of that Element For each Element you've been hit by Damage of Recently, 8% reduced Damage taken of that Element Cannot take Reflected Elemental Damage 20% increased Physical Damage with Axes +Axe Attacks deal 20% increased Damage with Ailments 30% increased Damage with Hits and Ailments against Bleeding Enemies -20% increased Damage with Ailments from Attack Skills while wielding an Axe Bleeding you inflict deals Damage 15% faster -+1 to Melee range with Axes ++1 to Melee Strike Range with Axes ++12% to Damage over Time Multiplier for Bleeding +2% of Attack Damage Leeched as Life against Bleeding Enemies +20% increased total Recovery per second from Life Leech 10% increased Evasion Rating and Armour 10% increased Onslaught Effect +15% increased maximum Mana +30% increased Mana Recovery from Flasks +5% increased Mana Recovery Rate during Effect of any Mana Flask 12% increased Damage over Time 20% increased Global Critical Strike Chance while wielding a Staff +8% to Global Critical Strike Multiplier while wielding a Staff @@ -311,10 +361,12 @@ Bleeding you inflict deals Damage 15% faster 5% increased Physical Damage per Endurance Charge 5% increased Fire Damage per Endurance Charge 12% increased Physical Damage with Axes +Axe Attacks deal 12% increased Damage with Ailments 5% increased Area of Effect -12% increased Damage with Ailments from Attack Skills while wielding an Axe -20% increased Critical Strike Chance with Maces and Sceptres -+16% to Critical Strike Multiplier with Maces and Sceptres +20% increased Critical Strike Chance with Maces or Sceptres ++16% to Critical Strike Multiplier with Maces or Sceptres +20% increased Flask Charges gained +20% increased Movement Speed while under no Flask Effects 10% increased Global Accuracy Rating 10% increased Projectile Damage Cannot be Blinded @@ -322,13 +374,15 @@ Cannot be Blinded 30% increased Damage with Hits and Ailments against Blinded Enemies 25% chance to Blind Enemies on Hit Nearby Enemies are Blinded -28% increased Physical Damage with Maces and Sceptres +28% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 28% increased Damage with Ailments Enemies have -12% to Total Physical Damage Reduction against your Hits 50% increased Stun Duration against Enemies that are on Full Life 10% chance to double Stun Duration -28% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre 12% increased Damage over Time 5% increased maximum Life +30% increased Spell Damage +8% chance to Knock Enemies Back on Hit with Spell Damage 5% increased maximum Life +10 to Strength +10 to Dexterity @@ -353,19 +407,20 @@ Gain 5% of Physical Damage as Extra Fire Damage 8% increased Physical Damage +10 to Dexterity 6% increased Accuracy Rating while Dual Wielding -20% increased Weapon Critical Strike Chance while Dual Wielding +20% increased Attack Critical Strike Chance while Dual Wielding 8% increased maximum Mana Transfiguration of Mind -12% increased Damage with Claws -12% increased Damage with Ailments from Attack Skills while wielding a Claw +Claw Attacks deal 12% increased Damage with Hits and Ailments Regenerate 0.5% of Life per second 10% increased Totem Placement speed 18% increased Power Charge Duration 4% increased maximum Life +4% to Chaos Resistance -12% increased Damage with Daggers ++1 to maximum number of Sentinels of Purity ++5 to Maximum Virulence +Minions deal 20% increased Damage while you are affected by a Herald +Dagger Attacks deal 12% increased Damage with Hits and Ailments 3% increased Attack Speed with Daggers -12% increased Damage with Ailments from Attack Skills while wielding a Dagger 10% increased Movement Speed Cannot be Stunned Action Speed cannot be modified to below base value @@ -388,9 +443,8 @@ Regenerate 0.5% of Life per second Gain 10% of Physical Damage as Extra Damage of a random Element Damage Penetrates 10% Elemental Resistances Enemies you Kill that are affected by Elemental Ailments grant 100% increased Flask Charges -12% increased Damage with Axes +Axe Attacks deal 12% increased Damage with Hits and Ailments 8% increased Accuracy Rating with Axes -12% increased Damage with Ailments from Attack Skills while wielding an Axe +6% to all Elemental Resistances 10% increased Elemental Damage +15% to Critical Strike Multiplier @@ -398,7 +452,7 @@ Enemies you Kill that are affected by Elemental Ailments grant 100% increased Fl 25% increased Critical Strike Chance with Swords +12% to Critical Strike Multiplier with Swords 15% increased Physical Damage with Axes -15% increased Damage with Ailments from Attack Skills while wielding an Axe +Axe Attacks deal 15% increased Damage with Ailments 20% increased Bleeding Duration 8% increased maximum Mana Skills used by Mines deal 30% increased Area Damage if you Detonated a Mine Recently @@ -411,34 +465,40 @@ Skills used by Mines have 10% increased Area of Effect if you Detonated a Mine R 8% increased Fire Damage 10% chance to Ignite Curse Skills have 15% increased Skill Effect Duration +Damage Penetrates 10% Cold Resistance against Chilled Enemies 8% increased maximum Life Enemies Cannot Leech Life From you 15% increased Armour Regenerate 15 Life per second +10 to Dexterity -10% increased Damage with Swords +Sword Attacks deal 10% increased Damage with Hits and Ailments 8% increased Accuracy Rating with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword +10 to Strength 8% increased Global Accuracy Rating 12% increased Evasion Rating +10 to Intelligence 10% increased Evasion Rating 4% increased maximum Life +40% increased Damage with Hits and Ailments against Unique Enemies +10 to Dexterity Damage with Weapons Penetrates 8% Lightning Resistance 30% increased Lightning Damage with Attack Skills 10% increased Effect of Shock 4% increased Cast Speed while Dual Wielding 15% increased Cooldown Recovery Speed of Movement Skills -10% increased Damage with Maces and Sceptres +Mace or Sceptre Attacks deal 10% increased Damage with Hits and Ailments 5% increased Area of Effect -10% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre 15% increased Damage with Bows 6% increased Global Accuracy Rating 15% increased Damage Over Time with Bow Skills Minions have 5% increased Movement Speed Minions deal 10% increased Damage +20% increased Warcry Cooldown Recovery Speed +Enemies Taunted by your Warcries are Intimidated +Enemies Taunted by your Warcries are Unnerved +Minions have 20% chance to Ignite +Minions deal 20% increased Damage against Ignited Enemies +Minions gain 6% of Physical Damage as Extra Fire Damage 6% increased maximum Life +5% to all Elemental Resistances 6% increased maximum Energy Shield @@ -460,8 +520,8 @@ Regenerate 15 Mana per second if you've used a Movement Skill Recently 8% reduced Mana Reserved 6% increased effect of Non-Curse Auras from your Skills 12% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments 25% increased total Recovery per second from Life Leech -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon 15% increased Damage with Bows 6% increased Global Accuracy Rating 15% increased Damage Over Time with Bow Skills @@ -474,15 +534,20 @@ Damage with Weapons Penetrates 4% Elemental Resistance +10 to Strength 15% increased Evasion Rating and Armour 20% increased Taunt Duration +0.2% of Elemental Damage Leeched as Life +25% increased Elemental Damage 40% increased Defences from Equipped Shield 12% increased Physical Damage with Swords -12% increased Damage with Ailments from Attack Skills while wielding a Sword +Sword Attacks deal 12% increased Damage with Ailments +2% Chance to Block Attack Damage while Dual Wielding or holding a Shield 16% increased Attack Damage 4% increased Attack Speed +10 to Strength and Dexterity 8% increased Lightning Damage 8% increased Physical Damage +20% increased Warcry Cooldown Recovery Speed +50% increased Melee Critical Strike Chance if you've Warcried Recently ++35% to Melee Critical Strike Multiplier if you've Warcried Recently +10 to Dexterity 30% increased Trap Damage 20% increased Trap Trigger Area of Effect @@ -499,13 +564,17 @@ Lightning Spells have 10% of Physical Damage Converted to Lightning Damage 10% chance to Poison on Hit with Attacks 16% increased Damage with Poison Poisons you inflict deal Damage 5% faster +You have Culling Strike against Cursed Enemies +Curse Skills have 20% increased Skill Effect Duration +3% to Damage over Time Multiplier for Bleeding 15% increased Damage with Bleeding 10% increased Armour Regenerate 0.3% of Life per second +Arrows gain Critical Strike Chance as they travel farther, up to 100% increased Critical Strike Chance +Arrows gain Damage as they travel farther, dealing up to 50% increased Damage with Hits to targets 3% increased Attack Speed with Staves 3% increased Cast Speed while wielding a Staff -6% increased Area of Effect while wielding a Staff +8% increased Area of Effect while wielding a Staff 4% increased maximum Life 3% reduced Mana Cost of Skills +10 to Intelligence @@ -520,6 +589,7 @@ Regenerate 0.3% of Life per second 4% reduced Mana Reserved 10% increased Skill Effect Duration Can Allocate Passives from the Ranger's starting point +Grants 2 Passive Skill Points +15 to maximum Energy Shield 10% increased Energy Shield Recharge Rate 15% increased Skill Effect Duration @@ -547,13 +617,16 @@ Minions have 8% increased Area of Effect 5% increased Area of Effect 25% increased Critical Strike Chance with Traps 25% increased Critical Strike Chance with Mines +15% increased Evasion Rating 25% chance to Avoid interruption from Stuns while Casting +20 to Strength and Dexterity 6% increased Elemental Damage Damage Penetrates 1% Elemental Resistances ++12% to Damage over Time Multiplier for Bleeding +30% increased Bleeding Duration Damage Penetrates 10% of Enemy Elemental Resistances Cannot take Reflected Elemental Damage -40% increased Effect of Heralds on you +40% increased Effect of Herald Buffs on you Shocks from your Hits always increase Damage taken by at least 10% +1 to maximum number of Golems Channelling Skills have 5% increased Attack and Cast Speed @@ -565,16 +638,16 @@ Channelling Skills have 5% increased Attack and Cast Speed Cannot be Stunned by Hits you Block Your Counterattacks deal Double Damage 12% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments 5% reduced Enemy Stun Threshold -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon 20% increased Projectile Speed 20% increased Projectile Attack Damage Projectiles gain Damage as they travel farther, dealing up to 40% increased Damage with Hits to targets -16% increased Physical Damage with Maces and Sceptres +16% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 16% increased Damage with Ailments 20% increased Stun Duration on Enemies -16% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre 14% increased Physical Damage with Two Handed Melee Weapons -14% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +Attacks with Two Handed Melee Weapons deal 14% increased Damage with Ailments +10 to Dexterity 10% increased Physical Damage with Bows 8% increased Area of Effect @@ -594,6 +667,8 @@ You have Onslaught while on full Frenzy Charges Damage Penetrates 6% Cold Resistance 0.2% of Cold Damage Leeched as Energy Shield 12% increased Fire Damage with Attack Skills +Herald Skills have 25% increased Area of Effect +Herald Skills deal 20% increased Damage 40% increased Critical Strike Chance with Daggers +30% to Critical Strike Multiplier with Daggers +40% to Critical Strike Multiplier against Enemies that are on Full Life @@ -602,11 +677,15 @@ Damage Penetrates 6% Cold Resistance 10% increased Life Recovery from Flasks +10 to Dexterity +10 to Intelligence +8% increased maximum Life +30% increased Life Recovery from Flasks 3% increased Movement Speed +15% to Critical Strike Multiplier 15% increased Critical Strike Chance +20% to Damage over Time Multiplier for Ailments from Critical Strikes 30% increased Critical Strike Chance +20% chance to gain an Endurance Charge when you Block ++6% Chance to Block Attack Damage while at Maximum Endurance Charges 20% increased Mine Damage Can have up to 2 additional Remote Mines placed at a time Mines have 20% increased Detonation Speed @@ -620,16 +699,18 @@ Regenerate 0.5% of Life per second Enemies you Impale have -10% to Total Physical Damage Reduction against Impale Hits 15% chance to Impale Enemies on Hit with Attacks 5% increased maximum Life ++4% chance to Evade Attack Hits if you haven't been Hit Recently +1 to Minimum Power Charges 5% chance to gain a Power Charge on Kill 5% increased Damage per Power Charge -10% increased Damage with Swords +Sword Attacks deal 10% increased Damage with Hits and Ailments 5% increased Area of Effect -10% increased Damage with Ailments from Attack Skills while wielding a Sword 2% of Attack Damage Leeched as Life 2% of Attack Damage Leeched as Mana 25% increased Attack Speed if you've been Hit Recently 50% increased Maximum total Recovery per second from Life Leech if you've taken a Savage Hit Recently +5% increased Movement Speed +5% chance to Dodge Attack and Spell Hits while moving 6% increased Attack Damage Minions deal 6% increased Damage 10% increased Movement Speed during any Flask Effect @@ -645,7 +726,7 @@ Flasks applied to you have 5% increased Effect 4% increased maximum Life +4% to Chaos Resistance 6% increased effect of Non-Curse Auras from your Skills -You can only have one Non-Banner Aura with no Duration on you from your Skills Non-Banner, Non-Mine Aura Skills reserve no Mana +You can only have one Permanent Non-Banner Aura on you from your Skills Your Non-Banner Skills that create Permanent Auras on you do not Reserve Mana 8% increased Cast Speed 10% increased Energy Shield Recharge Rate 20% increased Mana Regeneration Rate @@ -679,13 +760,13 @@ Regenerate 1% of Life per second 10% increased Fire Damage Regenerate 0.5% of Life per second 15% increased Physical Damage with Axes +Axe Attacks deal 15% increased Damage with Ailments Attacks have 10% chance to cause Bleeding -15% increased Damage with Ailments from Attack Skills while wielding an Axe 12% increased Area of Effect of Aura Skills 24% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 24% increased Damage with Ailments 50% increased Damage with Hits against Enemies that are on Low Life 8% increased Area of Effect if you've Killed Recently -24% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon 4% increased Attack Speed 6% increased maximum Life 12% increased Armour @@ -707,10 +788,15 @@ Life Leech effects are not removed at Full Life 10% increased Fire Damage Regenerate 0.5% of Life per second 12% increased Physical Damage with One Handed Melee Weapons -12% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon -10% increased Damage with Maces and Sceptres -6% increased Accuracy Rating with Maces and Sceptres -10% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +Attacks with One Handed Melee Weapons deal 12% increased Damage with Ailments +Mace or Sceptre Attacks deal 10% increased Damage with Hits and Ailments +6% increased Accuracy Rating with Maces or Sceptres +20% increased Damage over Time +20% increased Duration of Ailments on Enemies +15% increased Skill Effect Duration +20% increased Mana Regeneration Rate ++20% to Lightning Resistance +Regenerate 1.5% of Life per second +10 to Intelligence 4% additional Physical Damage Reduction while Channelling Channelling Skills have 6% increased Attack and Cast Speed @@ -738,6 +824,12 @@ Attack Skills deal 10% increased Damage with Ailments while holding a Shield +2% Chance to Block Attack Damage while holding a Shield 15% increased Fire Damage Minions have 12% increased maximum Life +20% increased Burning Damage ++15% to Fire Damage over Time Multiplier while Burning +Regenerate 1.50% of Life per second while Burning ++20 to maximum Life +20% chance to gain an Endurance Charge when you Block ++4% Chance to Block Attack Damage 8% increased Elemental Damage 8% increased Physical Damage 10% increased Evasion Rating @@ -751,6 +843,9 @@ Minions have 12% increased maximum Life 10% increased Totem Life Totems have 10% additional Physical Damage Reduction Brand Skills have 10% increased Duration +Minions have 10% increased maximum Life +Minions have 10% chance to Knock Enemies Back on Hit with Attacks +1% increased Damage per 1% Chance to Block Attack Damage +10 to Intelligence 25% increased Damage with Bleeding 25% increased Damage with Poison @@ -773,9 +868,14 @@ If you've Consumed a corpse Recently, you and your Minions have 30% increased Ar With at least one nearby corpse, you and nearby Allies deal 10% more Damage With at least one nearby corpse, nearby Enemies deal 10% reduced Damage +10 to Dexterity +8% increased maximum Energy Shield +0.3% of Spell Damage Leeched as Energy Shield +20% increased Maximum total Recovery per second from Energy Shield Leech 10% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 10% increased Damage with Ailments 5% increased Area of Effect -10% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +Summoned Skeletons have 10% chance to Wither Enemies for 2 seconds on Hit +Summoned Skeletons have 30% of Physical Damage Converted to Chaos Damage +10 to Intelligence Attacks have 15% chance to cause Bleeding 100% increased Onslaught Effect @@ -788,6 +888,8 @@ Attacks have 15% chance to cause Bleeding 15% increased Effect of Shock +10 to Intelligence 15% chance to Avoid interruption from Stuns while Casting +20% increased Area Damage +Area Skills have 10% chance to Knock Enemies Back on Hit 14% increased Projectile Attack Damage 6% increased Spell Damage 8% increased Spell Damage while holding a Shield @@ -797,10 +899,9 @@ Melee Skills have 5% increased Area of Effect +20% to Critical Strike Multiplier with Mines +1 to Maximum Endurance Charges +4% Chance to Block Attack Damage while Dual Wielding -16% increased Weapon Damage while Dual Wielding +Attack Skills deal 16% increased Damage while Dual Wielding 6% increased Attack Speed while Dual Wielding 12% increased Accuracy Rating while Dual Wielding -Attack Skills deal 16% increased Damage with Ailments while Dual Wielding 10% increased Poison Duration 15% increased Damage with Poison 14% increased Evasion Rating @@ -810,6 +911,8 @@ Attack Skills deal 16% increased Damage with Ailments while Dual Wielding 20% increased Fire Damage 20% increased Ignite Duration on Enemies 20% chance to Ignite ++5% to Chaos Damage over Time Multiplier +Chaos Skills have 30% increased Skill Effect Duration 4% increased Attack Speed with Staves 6% increased Accuracy Rating with Staves 4% increased Attack Speed with Bows @@ -817,20 +920,24 @@ Attack Skills deal 16% increased Damage with Ailments while Dual Wielding 14% increased effect of Non-Curse Auras from your Skills 15% increased Evasion Rating 15% increased Onslaught Effect +10% increased Area Damage +15% increased Area of Effect if you've Killed Recently +10% increased Area of Effect if you've Killed at least 5 Enemies Recently 3% increased Cast Speed 15% increased Critical Strike Chance for Spells -12% increased Attack Damage while holding a Shield -Attack Skills deal 12% increased Damage with Ailments while holding a Shield +Attack Skills deal 12% increased Damage while holding a Shield 12% increased Spell Damage while holding a Shield +3% to Damage over Time Multiplier for Bleeding Attacks have 10% chance to cause Bleeding 5% increased maximum Energy Shield 8% increased maximum Mana 10% increased Lightning Damage +35% increased Projectile Damage +10% chance to Taunt Enemies on Projectile Hit 3% chance to Dodge Attack Hits 12% increased Physical Damage with Axes +Axe Attacks deal 12% increased Damage with Ailments 3% increased Attack Speed with Axes -12% increased Damage with Ailments from Attack Skills while wielding an Axe +10 to Dexterity 10% increased Ignite Duration on Enemies 15% chance to Ignite @@ -844,9 +951,8 @@ Cannot Be Stunned while you have Energy Shield Enemies have -5% to Total Physical Damage Reduction against your Hits +20 to Strength 12% increased Physical Damage -10% increased Damage with Swords +Sword Attacks deal 10% increased Damage with Hits and Ailments 4% increased Attack Speed with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword +5% to Critical Strike Multiplier per Power Charge 16% increased Critical Strike Chance with Bows +12% to Critical Strike Multiplier with Bows @@ -856,16 +962,20 @@ Enemies have -5% to Total Physical Damage Reduction against your Hits +20 to Dexterity and Intelligence 8% increased Evasion Rating 4% increased maximum Life +Attack Skills deal 30% increased Damage while holding a Shield ++2% Chance to Block Attack Damage ++2 to Melee Strike Range while Holding a Shield 12% increased Attack Speed 16% increased Trap Damage 16% increased Mine Damage 10% increased Power Charge Duration 15% increased Critical Strike Chance 10% increased Elemental Damage -20% increased Attack Damage while holding a Shield +15% increased maximum Mana +80% increased Mana Regeneration Rate while stationary +Attack Skills deal 20% increased Damage while holding a Shield 8% increased Attack Speed while holding a Shield 40% increased Defences from Equipped Shield -Attack Skills deal 20% increased Damage with Ailments while holding a Shield 8% increased Mana Regeneration Rate per Power Charge +20 to maximum Mana 10% increased maximum Mana @@ -873,11 +983,14 @@ The increase to Physical Damage from Strength applies to Projectile Attacks as w 10% increased Damage with Bows +15% to Critical Strike Multiplier with Bows 10% increased Damage Over Time with Bow Skills +Every second, Consume a nearby Corpse to Recover 5% of Life and Mana 10% more Damage taken if you haven't Consumed a Corpse Recently +10 to Dexterity +30% increased Damage with Maces, Sceptres or Staves +Gain Fortify for 6 seconds on Melee Hit with a Mace, Sceptre or Staff +6% to Fire Damage over Time Multiplier 18% increased Elemental Damage Damage Penetrates 5% Elemental Resistances -10% increased Effect of non-Damaging Ailments on Enemies +10% increased Effect of Non-Damaging Ailments 10% increased Skill Effect Duration 12% increased Cold Damage 10% increased Effect of Chill @@ -890,6 +1003,13 @@ Damage Penetrates 5% Elemental Resistances Impales you inflict last 2 additional Hits If you've Impaled an Enemy Recently, you and nearby Allies have +1000 to Armour You and nearby Allies deal 6 to 12 added Physical Damage for each Impale on Enemy +You can Cast an additional Brand +Brand Skills have 20% increased Duration +10% increased Brand Activation frequency +20% increased Brand Attachment range +25% increased Armour ++20% to Fire Resistance +0.4% of Fire Damage Leeched as Life 10% increased Fire Damage 5% chance to Ignite +1% Chance to Block Attack Damage while Dual Wielding @@ -898,13 +1018,19 @@ You and nearby Allies deal 6 to 12 added Physical Damage for each Impale on Enem 5% increased maximum Life 6% increased maximum Energy Shield 8% increased Melee Physical Damage -10% increased Weapon Damage while Dual Wielding +35% increased Fire Damage +10% chance to create a Smoke Cloud on Kill +Attack Skills deal 10% increased Damage while Dual Wielding 3% increased Attack Speed while Dual Wielding -Attack Skills deal 10% increased Damage with Ailments while Dual Wielding +Projectiles Pierce an additional Target +20% increased Projectile Speed +10% increased Projectile Damage +10 to Dexterity 30% increased Armour while you have Fortify 10% increased Effect of Fortify on you 10% increased Effect of Fortify on you while Stationary +Gain Arcane Surge when you Summon a Totem +Spells cast by Totems deal 25% increased Damage 10% chance to Shock 10% increased Effect of Shock +10 to Intelligence @@ -912,6 +1038,9 @@ Attack Skills deal 10% increased Damage with Ailments while Dual Wielding +10 to Strength 4% increased maximum Life +4% to Chaos Resistance +0.6% of Spell Damage Leeched as Energy Shield +20% increased Maximum total Recovery per second from Energy Shield Leech +10% chance to Hinder Enemies on Hit with Spells, with 30% reduced Movement Speed 30% increased Area of Effect 8% reduced Area Damage taken from Hits +30% to Critical Strike Multiplier against Burning Enemies @@ -925,18 +1054,28 @@ Flasks applied to you have 5% increased Effect 6% increased maximum Energy Shield 6% increased maximum Energy Shield +10 to Dexterity +Attacks with Melee Weapons deal 14% increased Damage with Ailments 14% increased Melee Physical Damage while you have Fortify 5% increased Effect of Fortify on you -14% increased Damage with Ailments from Attack Skills while wielding a Melee Weapon +30% increased Armour ++20% to Fire Resistance +5% additional Physical Damage Reduction +Enemies you Curse are Intimidated +Enemies you Curse are Unnerved 12% increased Fire Damage with Attack Skills +10% increased Attack Speed with Two Handed Melee Weapons +10% increased Attack Speed if you have at least 600 Strength ++20 to Strength +8% increased Attack Speed +0.4% of Attack Damage Leeched as Mana +20% increased Damage while Leeching Grants Level 20 Bone Armour Skill 1% additional Physical Damage Reduction per Minion, up to 10% -+3% to all Elemental Resistances per Minion, up to 30% -3% increased Recovery Rate of Life and Energy Shield per Minion, up to 30% +2% increased Recovery Rate of Life and Energy Shield per Minion, up to 20% Minions have 20% more Maximum Life 25% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 25% increased Damage with Ailments 5% increased Attack Speed with Two Handed Melee Weapons -25% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +20 to Strength Gain 5% of Physical Damage as Extra Lightning Damage 12% increased Elemental Damage @@ -974,18 +1113,20 @@ Minions have 4% increased Cast Speed 50% increased Attack Damage with Main Hand 20% increased Attack Speed with Off Hand Attack Skills deal 50% increased Damage with Ailments while Dual Wielding -10% increased Physical Damage with Maces and Sceptres -20% increased Critical Strike Chance with Maces and Sceptres -10% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +10% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 10% increased Damage with Ailments +20% increased Critical Strike Chance with Maces or Sceptres +10 to Intelligence 10% increased Impale Effect 4% increased Attack Speed +5 to Dexterity -14% increased Physical Damage with Maces and Sceptres +14% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 14% increased Damage with Ailments 5% increased Area of Effect -14% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre 20% increased Effect of Buffs granted by your Golems Golems have 12% increased Maximum Life +18% increased maximum Mana +0.4% of Attack Damage Leeched as Mana +12% to Critical Strike Multiplier 10% increased Attack Damage 5% increased Attack Speed @@ -1001,8 +1142,11 @@ Totems' Action Speed cannot be modified to below base value 15% increased Effect of your Curses +10 to Strength 12% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments 10% increased Stun Duration with Two Handed Melee Weapons on Enemies -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +8% increased maximum Life +0.4% of Attack Damage Leeched as Life ++10 Life gained for each Enemy hit by your Attacks 10% increased Damage over Time 4% increased Attack and Cast Speed +10 to Intelligence @@ -1023,15 +1167,13 @@ Enemies Maimed by you take 10% increased Physical Damage 20% increased Area Damage 20% increased Critical Strike Chance with Staves +15% to Critical Strike Multiplier with Staves -10% increased Damage with Daggers +Dagger Attacks deal 10% increased Damage with Hits and Ailments 3% increased Attack Speed with Daggers -10% increased Damage with Ailments from Attack Skills while wielding a Dagger +5% to all Elemental Resistances 5% chance to Avoid Elemental Ailments -15% increased Attack Damage while holding a Shield +Attack Skills deal 15% increased Damage while holding a Shield 6% increased Attack Speed while holding a Shield 60% increased Defences from Equipped Shield -Attack Skills deal 15% increased Damage with Ailments while holding a Shield +3% Chance to Block Attack Damage while holding a Shield 0.6% of Spell Damage Leeched as Energy Shield 30% increased Maximum total Recovery per second from Energy Shield Leech @@ -1040,6 +1182,9 @@ Attack Skills deal 15% increased Damage with Ailments while holding a Shield 4% increased maximum Life 12% increased Damage with Brand Skills 10% increased Brand Attachment range +5% increased Attack and Cast Speed while Channelling +Channelling Skills deal 20% increased Damage +Gain Arcane Surge after Channelling for 1 second 4% increased Evasion Rating per Frenzy Charge +10 to Dexterity 2% increased Attack Speed per Frenzy Charge @@ -1059,10 +1204,11 @@ Your Maximum Endurance Charges is equal to your Maximum Frenzy Charges +10 to Dexterity 10% increased Mana Recovery from Flasks 5% increased Flask Effect Duration -30% increased Physical Damage with Maces and Sceptres -10% reduced Enemy Stun Threshold with Maces and Sceptres +Minions have a 20% chance to Impale on Hit with Attacks +30% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 30% increased Damage with Ailments +10% reduced Enemy Stun Threshold with Maces or Sceptres Hits that Stun Enemies have Culling Strike -30% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre 10% increased Spell Damage while Dual Wielding 3% increased Movement Speed 14% increased Armour @@ -1083,10 +1229,15 @@ Regenerate 1% of Life per second for each Mine Detonated Recently, up to 10% per Regenerate 1% of Life per Second for each Trap Triggered Recently, up to 10% per second 20% reduced Mana Cost of Skills that throw Traps 20% reduced Mana Reservation of Skills that throw Mines +Minions deal 35% increased Damage while you are affected by a Herald 8% increased Critical Strike Chance per Power Charge 6% increased maximum Energy Shield 5% increased Effect of your Curses 25% increased Stun Duration on Enemies ++10% to all Elemental Resistances +30% increased Elemental Damage +Herald Skills deal 40% increased Damage +20% increased Effect of Herald Buffs on you 24% increased Cold Damage 20% increased Projectile Speed 10% chance to Freeze @@ -1096,6 +1247,9 @@ Regenerate 1% of Life per Second for each Trap Triggered Recently, up to 10% per 10% increased Energy Shield Recharge Rate 10% increased Armour 5% increased maximum Energy Shield +25% increased Elemental Damage +10% chance to Blind nearby Enemies when you use an Elemental Skill +1% Chance to Block Attack Damage Base Critical Strike Chance for Attacks with Weapons is 7.5% +10% to Critical Strike Multiplier per Nearby Enemy, up to +100% Nearby enemies have -30% to Critical Strike Multiplier @@ -1104,6 +1258,7 @@ Nearby enemies have -30% to Critical Strike Multiplier 8% increased maximum Mana Minions have 14% increased maximum Life 8% increased maximum Mana +Grants 1 Passive Skill Point 10% increased maximum Mana 15% increased Mana Recovery from Flasks 12% increased Evasion Rating and Armour @@ -1116,19 +1271,26 @@ Minions have 14% increased maximum Life 5% reduced Damage taken from Blinded Enemies 8% increased Melee Physical Damage +10 to Intelligence +40% increased Stun and Block Recovery +Purity of Fire has 30% reduced Mana Reservation ++20 to Strength 8% increased Global Accuracy Rating 12% increased Evasion Rating +30% increased Warcry Duration +Warcries count as having 10 additional nearby Enemies +30% increased Warcry Buff Effect You can inflict Bleeding on an Enemy up to 8 times Your Bleeding does not deal extra Damage while the Enemy is moving 50% less Damage with Bleeding 4% increased maximum Life 10% increased Mana Regeneration Rate Attacks have 15% chance to cause Bleeding 14% increased Mine Damage -8% increased Damage with Claws +30% increased Damage over Time while affected by a Herald +Herald Skills deal 50% increased Damage over Time +Claw Attacks deal 8% increased Damage with Hits and Ailments 4% increased Attack Speed with Claws -8% increased Damage with Ailments from Attack Skills while wielding a Claw 12% increased Physical Damage with One Handed Melee Weapons +Attacks with One Handed Melee Weapons deal 12% increased Damage with Ailments 4% increased Attack Speed with One Handed Melee Weapons -12% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon 10% increased Elemental Damage 5% chance to Freeze, Shock and Ignite +30 to Intelligence @@ -1136,6 +1298,8 @@ Attacks have 15% chance to cause Bleeding +10 to Dexterity 4% increased Attack Speed with Staves 6% increased Accuracy Rating with Staves +10% chance to gain Elusive on Kill +25% increased Elusive Effect 6% Chance to Block Spell Damage 15% increased maximum Mana 1% increased Mana Regeneration Rate per 1% Chance to Block Spell Damage @@ -1145,20 +1309,25 @@ Minions have 10% increased maximum Life Minions deal 15% increased Damage Minions have 10% increased maximum Life Minions have +5% Chance to Block Attack Damage -20% increased Critical Strike Chance with Maces and Sceptres -+16% to Critical Strike Multiplier with Maces and Sceptres +20% increased Critical Strike Chance with Maces or Sceptres ++16% to Critical Strike Multiplier with Maces or Sceptres 3% increased maximum Life 10% increased Life Recovery from Flasks +Attacks with Two Handed Weapons deal 25% increased Damage with Hits and Ailments +10% reduced Enemy Stun Threshold +15% increased Area of Effect if you've Stunned an Enemy with a Two Handed Melee Weapon Recently 25% increased Fortify duration 10% increased Effect of Fortify on you 8% increased maximum Mana Minions deal 15% increased Damage +10% increased Effect of your Curses +Enemies you Curse are Hindered, with 15% reduced Movement Speed +Regenerate 1% of Energy Shield per second if you\u2019ve Killed an Enemy Recently 8% increased Mine Damage 4% reduced Mana Reservation of Skills that throw Mines Minions explode when reduced to Low Life, dealing 33% of their maximum Life as Fire Damage to surrounding Enemies -10% increased Attack Damage while holding a Shield +Attack Skills deal 10% increased Damage while holding a Shield 6% increased Global Accuracy Rating -Attack Skills deal 10% increased Damage with Ailments while holding a Shield 20% increased Attack Damage 30% increased Evasion Rating during Onslaught 20% increased Onslaught Effect @@ -1174,11 +1343,13 @@ Attack Skills deal 10% increased Damage with Ailments while holding a Shield +10 to Strength Channelling Skills deal 10% increased Attack Damage Channelling Skills have 3% increased Attack Speed ++10% to Cold Damage over Time Multiplier +30% increased Effect of Chill 10% increased maximum Energy Shield 6% increased maximum Life 4% increased Cast Speed +Attacks with Melee Weapons deal 4% increased Damage with Ailments 4% increased Melee Physical Damage -4% increased Damage with Ailments from Attack Skills while wielding a Melee Weapon +2% Chance to Block Spell Damage while wielding a Staff 3% increased Attack Speed with Staves 3% increased Cast Speed while wielding a Staff @@ -1189,7 +1360,7 @@ Channelling Skills have 3% increased Attack Speed 8% chance to Avoid Elemental Ailments 20% increased Movement Speed if you've Killed Recently Damage from your Critical Strikes cannot be Reflected -20% more Damage while there is at most one Rare or Unique Enemy nearby +25% more Damage while there is at most one Rare or Unique Enemy nearby 10% reduced Damage taken while there are at least two Rare or Unique Enemies nearby Gain 10% of Wand Physical Damage as Extra Fire Damage Minions have 20% increased maximum Life @@ -1202,17 +1373,20 @@ Minions Regenerate 1% of Life per second +10% to all Elemental Resistances 10% increased Physical Damage 10% increased Damage with Claws -20% increased Damage with Ailments from Attack Skills while wielding a Claw +Claw Attacks deal 20% increased Damage with Ailments 4% increased maximum Life +5 Life gained on Kill 3% chance to Dodge Attack Hits +10 to maximum Energy Shield -10% increased Damage with Axes +3% increased maximum Energy Shield +Axe Attacks deal 10% increased Damage with Hits and Ailments 10% increased Accuracy Rating with Axes +10 to Intelligence +20 to Accuracy Rating 12% increased Projectile Damage +20 to Dexterity +40% reduced Freeze Duration on you +15% additional Physical Damage Reduction while Frozen 14% increased Evasion Rating 5% increased maximum Energy Shield 4% increased Attack and Cast Speed @@ -1230,7 +1404,12 @@ Nearby Allies Intimidate Enemies for 4 seconds on Hit Nearby Allies Unnerve Enemies for 4 seconds on Hit Brand Skills have 10% increased Duration 4% increased Brand Activation frequency +20% increased Damage with Ailments +Damaging Ailments deal damage 10% faster +10 to Dexterity +8% increased maximum Life +Regenerate 0.5% of Life per second +Every 5 seconds, Regenerate 10% of Life over one second 40% increased Defences from Equipped Shield 10% increased maximum Life 20% increased Life Recovery from Flasks @@ -1246,8 +1425,8 @@ Minions have 8% increased Cast Speed 5% increased maximum Life +10 to Dexterity 15% increased Physical Damage with Axes +Axe Attacks deal 15% increased Damage with Ailments Attacks have 10% chance to cause Bleeding -15% increased Damage with Ailments from Attack Skills while wielding an Axe 14% increased Armour 5% increased maximum Energy Shield 5% increased effect of Non-Curse Auras from your Skills @@ -1256,31 +1435,42 @@ Curse Skills have 15% increased Skill Effect Duration +20% to Critical Strike Multiplier with Totem Skills +20% to Critical Strike Multiplier with Brand Skills 12% increased Damage with Daggers +Dagger Attacks deal 20% increased Damage with Ailments 10% chance to Poison on Hit with Attacks -20% increased Damage with Ailments from Attack Skills while wielding a Dagger +14 to maximum Life 20% increased Mana Regeneration Rate ++100 to maximum Energy Shield +1% Chance to Block Attack Damage while Dual Wielding or holding a Shield 30% increased Block Recovery -20% increased Critical Strike Chance with Maces and Sceptres -+16% to Critical Strike Multiplier with Maces and Sceptres +20% increased Elemental Damage +30% increased Mana Regeneration Rate if you have Frozen an Enemy Recently +30% increased Mana Regeneration Rate if you have Shocked an Enemy Recently +10% increased Effect of Non-Damaging Ailments +15% increased Trap Damage +15% increased Mine Damage +4% increased maximum Life +6% increased maximum Mana +20% increased Critical Strike Chance with Maces or Sceptres ++16% to Critical Strike Multiplier with Maces or Sceptres 15% increased Chaos Damage Flasks applied to you have 5% increased Effect +1 to Maximum Power Charges +30% increased Effect of Arcane Surge on you +10% chance to gain Arcane Surge when you Hit a Unique enemy +10 to Intelligence 5% increased maximum Life -12% increased Damage with Daggers +Dagger Attacks deal 12% increased Damage with Hits and Ailments 0.3% of Attack Damage Leeched as Life 20% increased total Recovery per second from Life Leech -12% increased Damage with Ailments from Attack Skills while wielding a Dagger +10 to Dexterity 8% increased Global Accuracy Rating 12% increased Evasion Rating +3% Chance to Block Spell Damage while holding a Shield +12% Elemental Resistances while holding a Shield +3% Chance to Block Attack Damage while holding a Shield +Bow Skills have 25% increased Area of Effect 5% reduced Area Damage taken from Hits -+2 to Melee Weapon and Unarmed Attack range ++2 to Melee Strike Range 10% increased Area of Effect if you have Stunned an Enemy Recently Melee Skills have 10% increased Area of Effect 3% increased Attack Speed with Wands @@ -1289,9 +1479,13 @@ Melee Skills have 10% increased Area of Effect 8% increased Cold Damage 10% increased Attack Damage 10% increased Area of Effect -14% increased Physical Damage with Maces and Sceptres -14% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +14% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 14% increased Damage with Ailments ++30 to maximum Mana +20% increased maximum Mana 6% increased Elemental Damage +8% increased Area of Effect +25% chance to Intimidate nearby Enemies for 4 seconds on Melee Kill 4% increased maximum Mana 10% increased Lightning Damage with Attack Skills 10% increased Effect of Shock @@ -1301,7 +1495,7 @@ Melee Skills have 10% increased Area of Effect 5% increased Effect of Chill Projectiles Pierce 2 additional Targets 10% increased Elemental Damage -20% more Damage with Hits and Ailments against Enemies that are on Low Life +25% more Damage with Hits and Ailments against Enemies that are on Low Life +40% to Critical Strike Multiplier against Enemies that are on Full Life 100% more Critical Strike Chance against Enemies that are on Full Life 100% more Critical Strike Chance against Enemies that are on Low Life @@ -1341,6 +1535,8 @@ Each Mine applies 2% reduced Damage dealt to Enemies near it, up to 10% 15% reduced Flask Charges used Flasks applied to you have 8% increased Effect +10 to Intelligence ++17% to Chaos Resistance +Unaffected by Poison 12% increased Physical Damage 18% increased Frenzy Charge Duration 5% increased maximum Life @@ -1355,18 +1551,18 @@ Minions have +10% Chance to Block Attack Damage Minions have +10% Chance to Block Spell Damage Minions Recover 2% of their Life when they Block 4% reduced Mana Reserved +12% increased Movement Speed while Shocked +40% reduced Effect of Shock on you +10 to maximum Mana 10% increased maximum Mana Minions deal 8% increased Damage 8% increased Minion Duration 40% more Elemental Damage if you've dealt a Crit in the past 8 seconds No Critical Strike Multiplier Ailments never count as being from Critical Strikes 15% increased Cold Damage -10% increased Damage with Swords +Sword Attacks deal 10% increased Damage with Hits and Ailments 8% increased Accuracy Rating with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword -8% increased Damage with Daggers +Dagger Attacks deal 8% increased Damage with Hits and Ailments 4% increased Attack Speed with Daggers -8% increased Damage with Ailments from Attack Skills while wielding a Dagger +10 to Dexterity +10 to Strength 1% of Physical Attack Damage Leeched as Life @@ -1374,20 +1570,31 @@ Minions deal 8% increased Damage 20% increased total Recovery per second from Life Leech 30% increased Damage while Leeching 12% increased Physical Damage with Wands +Wand Attacks deal 12% increased Damage with Ailments 4% increased Attack Speed with Wands -12% increased Damage with Ailments from Attack Skills while wielding a Wand -12% increased Weapon Damage while Dual Wielding -Attack Skills deal 12% increased Damage with Ailments while Dual Wielding +Attack Skills deal 12% increased Damage while Dual Wielding ++15% to Critical Strike Multiplier with Traps ++15% to Critical Strike Multiplier with Mines +Trap Damage Penetrates 5% Elemental Resistances +Mine Damage Penetrates 5% Elemental Resistances 8% increased maximum Mana 6% increased maximum Energy Shield 12% increased Trap Damage 4% increased Trap Throwing Speed 3% increased Cast Speed You can apply an additional Curse +Minions have 10% increased maximum Life +Minions deal 10% increased Damage +Minions Leech 0.4% of Damage as Life +20 to Strength and Intelligence 40% increased Block Recovery 10% increased Spell Damage while holding a Shield 40% increased Energy Shield from Equipped Shield +20% increased Attack Damage +20% increased Damage with Ailments from Attack Skills +Enemies killed by your Attack Hits have a 15% chance to Explode, dealing a tenth of their maximum Life as Physical Damage +Damage Penetrates 8% Lightning Resistance +0.5% of Lightning Damage Leeched as Energy Shield 4% increased maximum Mana 6% increased Armour 5% increased maximum Life @@ -1397,25 +1604,32 @@ You can apply an additional Curse 40% increased Global Critical Strike Chance while wielding a Staff +35% to Global Critical Strike Multiplier while wielding a Staff +10 to Strength +30% increased Evasion Rating +3% chance to Dodge Attack Hits +3% chance to Dodge Spell Hits 16% increased Elemental Damage with Staves 15% increased Totem Placement speed 10% increased Brand Attachment range 10% increased Skill Effect Duration -8% increased Attack Speed with Wands -10% increased Accuracy Rating with Wands -16% increased Damage with Wands -16% increased Damage with Ailments from Attack Skills while wielding a Wand +25% increased Damage while wielding a Wand +5% increased Attack Speed with Wands +Increases and Reductions to Spell Damage also apply to Attacks while wielding a Wand 15% increased Damage over Time 15% increased Critical Strike Chance +10 to Strength 10% increased Warcry Cooldown Recovery Speed 25% increased Physical Damage with Axes +Axe Attacks deal 25% increased Damage with Ailments 8% increased Attack Speed with Axes 10% chance to gain Onslaught for 4 seconds on Kill -25% increased Damage with Ailments from Attack Skills while wielding an Axe +3% chance to Dodge Attack Hits +3% chance to Dodge Spell Hits +5% increased Dexterity +1 to Maximum Frenzy Charges 14% increased Totem Damage 14% increased Damage with Brand Skills +20% increased Cold Damage +Recover 2% of Life on Kill 6% increased Projectile Damage Minions deal 12% increased Damage 15% increased Minion Accuracy Rating @@ -1425,7 +1639,14 @@ Movement Skills cost no Mana 20% increased Attack and Cast Speed if you've used a Movement Skill Recently 20% chance to Recover 10% of Mana when you use a Skill 6% reduced Damage Taken for 4 seconds after Spending a total of 200 Mana +Attack Skills deal 20% increased Damage while Dual Wielding +5% increased Attack Speed while Dual Wielding +5% chance to gain a Frenzy Charge on Kill while Dual Wielding +5% increased Attack and Cast Speed +5% increased Movement Speed if you've dealt a Critical Strike Recently +25% increased Critical Strike Chance 4% increased Projectile Damage +Gain 10% of Physical Damage as Extra Chaos Damage Modifiers to Critical Strike Multiplier also apply to Damage over Time Multiplier for Ailments from Critical Strikes at 50% of their value 30% less Damage with Hits 10% increased Mana Recovery from Flasks 5% increased Flask Effect Duration @@ -1450,9 +1671,10 @@ Corpses you Spawn have 50% increased Maximum Life 6% increased maximum Energy Shield +30 to Accuracy Rating Light Radius is based on Energy Shield instead of Life -12% increased Damage with Axes -12% increased Damage with Ailments from Attack Skills while wielding an Axe +Axe Attacks deal 12% increased Damage with Hits and Ailments +10 to Strength +8% increased maximum Life +10% increased maximum Mana 10% increased Damage with Bows 3% increased Attack Speed with Bows 10% increased Damage Over Time with Bow Skills @@ -1460,6 +1682,10 @@ Energy Shield Recharge is not interrupted by Damage if Recharge began Recently 5 2% increased Movement Speed per Frenzy Charge 15% increased Armour 18% increased Endurance Charge Duration ++15 to all Attributes ++15% Elemental Resistances while holding a Shield +60% increased Defences from Equipped Shield +25% increased Damage for each Herald affecting you 12% increased Attack Damage 12% increased Spell Damage 20% increased Mana Regeneration Rate @@ -1468,19 +1694,22 @@ Energy Shield Recharge is not interrupted by Damage if Recharge began Recently 5 24% increased Evasion Rating +8% to all Elemental Resistances +1% to maximum Cold Resistance -+3% chance to Evade Attacks -8% increased Physical Damage with Maces and Sceptres -20% increased Critical Strike Chance with Maces and Sceptres -8% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre ++3% chance to Evade Attack Hits +8% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 8% increased Damage with Ailments +20% increased Critical Strike Chance with Maces or Sceptres 14% increased Totem Damage -10% increased Weapon Damage while Dual Wielding +Attack Skills deal 10% increased Damage while Dual Wielding 3% increased Attack Speed while Dual Wielding -Attack Skills deal 10% increased Damage with Ailments while Dual Wielding 20% increased Global Critical Strike Chance while wielding a Staff 16% increased maximum Mana 5% reduced Mana Cost of Skills -25% increased Fire Damage -8% increased Area of Effect +30% increased Fire Damage +12% increased Area of Effect ++10 to Strength and Intelligence +1% additional Physical Damage Reduction per Summoned Sentinel of Purity +You lose Virulence 30% slower +Minions deal 20% increased Damage while you are affected by a Herald 20% increased maximum Mana 20% increased Mana Regeneration Rate +20 to Intelligence @@ -1492,25 +1721,30 @@ Leech Energy Shield instead of Life Maximum total Recovery per second from Energ 15% increased Evasion Rating 4% increased Movement Speed 10% increased Skill Effect Duration +10% increased Attack Speed if you've Hit with your Main Hand Weapon Recently +10% increased Movement Speed if you've Hit with your Off Hand Weapon Recently +10 to Dexterity -4% increased Attack Speed with Maces and Sceptres -8% increased Accuracy Rating with Maces and Sceptres +4% increased Attack Speed with Maces or Sceptres +8% increased Accuracy Rating with Maces or Sceptres Gain 1 Rage on Hit with Attacks, no more than once every 0.3 seconds +2% Chance to Block Attack Damage while Dual Wielding or holding a Shield 4% increased Attack Speed -12% increased Weapon Damage while Dual Wielding -Attack Skills deal 12% increased Damage with Ailments while Dual Wielding +Attack Skills deal 12% increased Damage while Dual Wielding 3% increased Attack Speed -6% increased Accuracy Rating with Maces and Sceptres -12% increased Elemental Damage with Maces and Sceptres -18% increased Damage with Maces and Sceptres -6% increased Attack Speed with Maces and Sceptres +20% increased Trap Damage +20% increased Mine Damage +10% increased Trap Throwing Speed +10% increased Mine Throwing Speed +5% increased Movement Speed if you've thrown a Trap or Mine Recently +6% increased Accuracy Rating with Maces or Sceptres +12% increased Elemental Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 18% increased Damage with Hits and Ailments +6% increased Attack Speed with Maces or Sceptres 15% increased Area of Effect if you have Stunned an Enemy Recently -18% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre Can Allocate Passives from the Marauder's starting point -10% increased Damage with Maces and Sceptres +Grants 2 Passive Skill Points +Mace or Sceptre Attacks deal 10% increased Damage with Hits and Ailments 5% increased Area of Effect -10% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre Minions have 4% increased Attack Speed Minions have 4% increased Cast Speed +1000 Evasion Rating while you have Tailwind @@ -1519,6 +1753,9 @@ If you've used a Skill Recently, you and nearby Allies have Tailwind +10 to Strength 20% increased Effect of Buffs granted by your Golems Golems have 12% increased Maximum Life ++5% Chance to Block Spell Damage while Dual Wielding +Attack Skills deal 20% increased Damage while Dual Wielding +20% chance to gain a Power Charge when you Block +10 to Strength 10% increased maximum Life +5 Life gained on Kill @@ -1536,43 +1773,48 @@ Golems have 12% increased Maximum Life 20% increased Flask Charges gained +20 to Strength and Intelligence 6% increased Accuracy Rating while Dual Wielding -+15% to Weapon Critical Strike Multiplier while Dual Wielding ++15% to Attack Critical Strike Multiplier while Dual Wielding Minions have 4% increased Attack Speed Minions have 4% increased Cast Speed 10% increased maximum Mana 10% increased Mana Regeneration Rate 6% increased maximum Life +Flasks applied to you have 10% increased Effect +5% increased Attack and Cast Speed during any Flask Effect +20% to Chaos Damage over Time Multiplier +60% to Chaos Resistance Every second, inflict Withered on nearby Enemies for 15 seconds Nearby Hindered Enemies deal 15% reduced Damage over Time -12% increased Attack Damage while holding a Shield -Attack Skills deal 12% increased Damage with Ailments while holding a Shield +Attack Skills deal 12% increased Damage while holding a Shield Minions have 4% increased Attack Speed Minions have 4% increased Cast Speed 20% increased Physical Damage with Swords +Sword Attacks deal 20% increased Damage with Ailments 8% increased Attack Speed with Swords +200 to Accuracy Rating with Swords -20% increased Damage with Ailments from Attack Skills while wielding a Sword -+1 to Melee range with Swords ++1 to Melee Strike Range with Swords Minions have 15% increased maximum Life Minions have 15% additional Physical Damage Reduction Minions have +15% to all Elemental Resistances Moving while Bleeding doesn't cause Minions to take extra Damage +1 to Maximum Power Charges +4% Chance to Block Spell Damage +20% increased Spell Damage +20% chance to gain a Power Charge when you Block +2% Chance to Block Attack Damage while Dual Wielding -24% increased Weapon Damage while Dual Wielding +Attack Skills deal 24% increased Damage while Dual Wielding 6% increased Attack Speed while Dual Wielding -Attack Skills deal 24% increased Damage with Ailments while Dual Wielding 10% increased Elemental Damage with Attack Skills +15 to Strength +Enemies Chilled by your Hits are Shocked +Enemies Shocked by your Hits are Chilled 25% chance to gain an Endurance Charge when you gain a Power Charge 50% chance to gain a Power Charge when you Summon a Totem 15% chance to gain a Power Charge if you or your Totems kill an Enemy 5% reduced Elemental Damage taken while you have an Endurance Charge Damage Penetrates 5% Elemental Resistances while you have a Power Charge 14% increased Physical Damage with Axes -14% increased Damage with Ailments from Attack Skills while wielding an Axe +Axe Attacks deal 14% increased Damage with Ailments 20% increased Totem Duration Spells Cast by Totems have 3% increased Cast Speed Attacks used by Totems have 5% increased Attack Speed @@ -1580,29 +1822,33 @@ Attacks used by Totems have 5% increased Attack Speed +10 to Strength 15% chance to Poison on Hit 14% increased Trap Damage -8% increased Damage with Claws +Claw Attacks deal 8% increased Damage with Hits and Ailments 4% increased Attack Speed with Claws -8% increased Damage with Ailments from Attack Skills while wielding a Claw 15% increased Armour while you have Fortify 10% increased Effect of Fortify on you 0.3% of Spell Damage Leeched as Energy Shield 4% reduced Mana Reserved 5% increased maximum Life ++50% to Critical Strike Multiplier if you've taken a Savage Hit Recently +40% increased Critical Strike Chance 26% increased Physical Damage with Axes +Axe Attacks deal 26% increased Damage with Ailments 6% increased Attack Speed with Axes Enemies have -12% to Total Physical Damage Reduction against your Hits -26% increased Damage with Ailments from Attack Skills while wielding an Axe -+1 to Melee range with Axes ++1 to Melee Strike Range with Axes +200 to Accuracy Rating 50% increased Area of Effect Skills fire an additional Projectile -25% increased Damage with Axes +Axe Attacks deal 25% increased Damage with Hits and Ailments 8% increased Attack Speed with Axes -25% increased Damage with Ailments from Attack Skills while wielding an Axe 40% increased Global Evasion Rating when on Full Life -10% increased Damage with Axes +25% increased Damage over Time ++13% to Chaos Resistance +Axe Attacks deal 10% increased Damage with Hits and Ailments 20% increased Critical Strike Chance with Axes -10% increased Damage with Ailments from Attack Skills while wielding an Axe +0.4% of Attack Damage Leeched as Life +30% increased Damage while Leeching +15% increased Attack Speed while Leeching +10 to Intelligence +8% to Damage over Time Multiplier for Bleeding 40% increased Attack Damage against Bleeding Enemies @@ -1611,14 +1857,16 @@ Skills fire an additional Projectile Bleeding you inflict deals Damage 10% faster 4% increased Cast Speed Minions deal 15% increased Damage +Purity of Ice has 30% reduced Mana Reservation ++20 to Dexterity +5% chance to Blind Enemies on Hit 10% chance to Ignite 10% increased Fire Damage with Attack Skills 10% increased Trap Damage 10% increased Mine Damage 5% increased Trap Throwing Speed -8% increased Damage with Maces and Sceptres -3% increased Attack Speed with Maces and Sceptres -8% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +Mace or Sceptre Attacks deal 8% increased Damage with Hits and Ailments +3% increased Attack Speed with Maces or Sceptres 30% chance to Avoid being Shocked 5% chance to Avoid Lightning Damage from Hits Minions deal 12% increased Damage @@ -1637,6 +1885,8 @@ Minions deal 12% increased Damage 20% increased Mana Regeneration Rate 20% increased Totem Placement speed Regenerate 0.3% of Life per second +25% increased Brand Activation Frequency if you haven't used a Brand Skill Recently +20% increased Brand Attachment range 20% increased Armour 10% increased maximum Energy Shield Regenerate 1% of Life per second @@ -1648,14 +1898,13 @@ Nearby Enemies have -20% to Chaos Resistance Nearby Enemies have 100% reduced Life Regeneration rate 12% increased Melee Damage Strike Skills target 1 additional nearby Enemy -14% increased Damage with Maces and Sceptres -14% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +Mace or Sceptre Attacks deal 14% increased Damage with Hits and Ailments You take 20% reduced Extra Damage from Critical Strikes 30% increased Armour 20% reduced Effect of Curses on you 12% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments 0.4% of Physical Attack Damage Leeched as Life -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon 20% increased maximum Mana Regenerate 2 Mana per second 20% increased Mana Recovery from Flasks @@ -1668,10 +1917,10 @@ Gain 4% of Maximum Mana as Extra Maximum Energy Shield 10% increased Physical Damage +10 to Dexterity 30% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 30% increased Damage with Ailments 0.8% of Physical Attack Damage Leeched as Life 50% increased total Recovery per second from Life Leech Enemies have -12% to Total Physical Damage Reduction against your Hits -30% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon Minions deal 15% increased Damage Minions have 8% increased Attack Speed 30% increased Minion Accuracy Rating @@ -1702,8 +1951,8 @@ Minions deal 15% increased Damage +5% to Damage over Time Multiplier for Ignite from Critical Strikes 15% increased Critical Strike Chance for Spells 3% increased Attack Speed -4% increased Attack Speed with Maces and Sceptres -8% increased Accuracy Rating with Maces and Sceptres +4% increased Attack Speed with Maces or Sceptres +8% increased Accuracy Rating with Maces or Sceptres 8% increased maximum Life 0.4% of Attack Damage Leeched as Life Attacks have 25% chance to cause Bleeding @@ -1718,36 +1967,57 @@ Bleeding Enemies you Kill Explode, dealing 10% of their Maximum Life as Physical 20% increased Trap Trigger Area of Effect 4% increased Trap Throwing Speed +10 to Dexterity +Enemies have -10% to Total Physical Damage Reduction against your Hits +35% increased Physical Damage 8% increased maximum Mana 10% increased Mana Regeneration Rate ++10% to Damage over Time Multiplier +Recover 1% of Life on Kill +Recover 1% of Energy Shield on Kill 3% increased Attack Speed 8% increased maximum Mana 3% increased Attack Speed 20% increased total Recovery per second from Life Leech +6% increased maximum Mana +10 to Strength +Anger has 30% increased Aura Effect +Wrath has 30% increased Aura Effect +Hatred has 30% increased Aura Effect +20% chance to gain a Power Charge when you Block ++6% Chance to Block Spell Damage while at Maximum Power Charges +80% increased Critical Strike Chance if you haven\u2019t Blocked Recently ++40% to Critical Strike Multiplier if you have Blocked Recently 10% increased maximum Mana +5 Mana gained on Kill -20% increased Damage with Claws +Claw Attacks deal 20% increased Damage with Hits and Ailments 1.2% of Attack Damage Leeched as Life 0.8% of Attack Damage Leeched as Mana 50% increased total Recovery per second from Life Leech -20% increased Damage with Ailments from Attack Skills while wielding a Claw 10% increased Cooldown Recovery Speed for throwing Traps You gain 8% increased Damage for each Trap 20% Chance for Traps to Trigger an additional time +2% Chance to Block Spell Damage while holding a Shield 40% increased Block Recovery +20% increased Effect of Herald Buffs on you +10% reduced Mana Reservation of Herald Skills +10 to Dexterity +Attacks have 10% chance to cause Bleeding +10% chance to Impale Enemies on Hit with Attacks +15% increased Effect of Impales inflicted by Hits that also inflict Bleeding 20% increased Critical Strike Chance with Bows +30% increased Lightning Damage +Your Shocks can increase Damage taken by up to a maximum of 60% +30% increased Effect of Shock +20% increased Warcry Cooldown Recovery Speed +You and nearby Party members gain 5 Rage when you Warcry 14% increased Trap Damage 14% increased Mine Damage +35% to Critical Strike Multiplier 30% increased Critical Strike Chance -8% increased Damage with Daggers +Dagger Attacks deal 8% increased Damage with Hits and Ailments 20% increased Critical Strike Chance with Daggers -8% increased Damage with Ailments from Attack Skills while wielding a Dagger 50% chance to gain Elusive on Critical Strike -20% increased Attack and Cast Speed while Elusive +15% increased Attack and Cast Speed while Elusive 8% reduced Damage taken while Elusive 25% increased Elusive Effect You take no Extra Damage from Critical Strikes while Elusive @@ -1759,6 +2029,7 @@ When Hit, lose a Ghost Shroud and Recover Energy Shield equal to 4% of your Evas 10% increased Movement Speed while you have Energy Shield +5% to Damage over Time Multiplier for Ignite from Critical Strikes 15% increased Critical Strike Chance for Spells ++12% to Chaos Resistance 10% increased Global Accuracy Rating 10% increased Projectile Damage 10% increased Armour @@ -1769,8 +2040,8 @@ Gain 20% of Maximum Mana as Extra Maximum Energy Shield 10% less Mana Reservation of Skills 14% increased Damage with Brand Skills 12% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments 20% increased Stun Duration with Two Handed Melee Weapons on Enemies -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +12% to Fire Damage over Time Multiplier 20% increased Fire Damage 15% chance to Ignite @@ -1778,18 +2049,26 @@ Gain 20% of Maximum Mana as Extra Maximum Energy Shield 10% increased Damage with Bows 15% increased Evasion Rating 10% increased Damage Over Time with Bow Skills ++13% to Chaos Resistance +Regenerate 1.2% of Life per second +Regenerate 0.6% of Energy Shield per second +Regenerate 0.3% of Mana per second 8% increased maximum Mana Minions have 4% increased Attack Speed Minions have 4% increased Cast Speed Minions have 12% increased maximum Life 6% increased Accuracy Rating with Two Handed Melee Weapons 20% increased Critical Strike Chance with Two Handed Melee Weapons +25% increased Trap Damage +12% increased Area of Effect +25% reduced Trap Duration +40% increased Trap Trigger Area of Effect +10 to Intelligence 3% increased Attack Speed +10 to Strength 12% increased Physical Damage with One Handed Melee Weapons +Attacks with One Handed Melee Weapons deal 12% increased Damage with Ailments 0.4% of Physical Attack Damage Leeched as Life -12% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon 10% increased Global Accuracy Rating +4% to all Elemental Resistances Minions have 10% increased Movement Speed @@ -1797,29 +2076,32 @@ Minions deal 20% increased Damage Minions have 5% increased Attack Speed Minions have 5% increased Cast Speed Minions have 10% chance to gain Onslaught for 4 seconds on Kill +Enemies Taunted by you take 5% increased Damage +Warcry Skills have 40% increased Area of Effect Channelling Skills deal 10% increased Attack Damage Channelling Skills have 3% increased Attack Speed -8% increased Damage with Axes +50% reduced Mana Reservation of Banner Skills +15% increased Effect of Non-Curse Auras from your Skills on Enemies +Axe Attacks deal 8% increased Damage with Hits and Ailments 3% increased Attack Speed with Axes 0.4% of Physical Attack Damage Leeched as Life 5% increased Maximum total Recovery per second from Life Leech +15% to Critical Strike Multiplier with Traps +15% to Critical Strike Multiplier with Mines -15% increased Damage with Wands -15% increased Damage with Ailments from Attack Skills while wielding a Wand +Wand Attacks deal 15% increased Damage with Hits and Ailments 2% more Attack Speed per Blitz Charge 10% reduced Critical Strike Chance per Blitz Charge Gain a Blitz Charge on Critical Strike +20 to Maximum Blitz Charges +Ignites you inflict deal Damage 15% faster 8% increased maximum Mana +5 to Evasion Rating per 1 Maximum Energy Shield on Helmet +1 to maximum Energy Shield per 6 Evasion Rating on Body Armour 6% increased Attack and Cast Speed per Ghost Shroud Cannot be Stunned while you have Ghost Shrouds 10% chance to Dodge Spell Hits if you have Energy Shield -10% increased Damage with Swords +Sword Attacks deal 10% increased Damage with Hits and Ailments 20% increased Critical Strike Chance with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword You can Cast an additional Brand 20% increased Damage with Brand Skills 10% increased Brand Attachment range @@ -1828,9 +2110,8 @@ You can Cast an additional Brand +10 to Dexterity 10% increased maximum Mana 20% increased Mana Regeneration Rate -10% increased Damage with Axes +Axe Attacks deal 10% increased Damage with Hits and Ailments 3% increased Attack Speed with Axes -10% increased Damage with Ailments from Attack Skills while wielding an Axe +3% to Chaos Damage over Time Multiplier 10% increased Chaos Damage 10% increased Projectile Damage @@ -1855,13 +2136,16 @@ Damage with Weapons Penetrates 8% Fire Resistance +12% to Critical Strike Multiplier with Bows +12% to Critical Strike Multiplier 45% increased Critical Strike Chance -14% increased Physical Damage with Maces and Sceptres +14% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 14% increased Damage with Ailments 5% increased Area of Effect -14% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre -20% increased Weapon Critical Strike Chance while Dual Wielding +Gain 10% of Wand Physical Damage as Extra Lightning Damage +25% of Wand Physical Damage converted to Lightning Damage +20% increased Attack Critical Strike Chance while Dual Wielding Minions have 10% increased maximum Life Minions have +10% to all Elemental Resistances +10 to Dexterity +Grants 1 Passive Skill Point +10 to Intelligence 25% increased Melee Critical Strike Chance Damage with Weapons Penetrates 3% Elemental Resistance @@ -1874,10 +2158,10 @@ Damage with Weapons Penetrates 3% Elemental Resistance 10% increased Totem Life Totems gain +16% to all Elemental Resistances 12% increased Physical Damage with Two Handed Melee Weapons -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon -10% increased Attack Damage while holding a Shield +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments +Gain 2 Grasping Vines each second while stationary 2% chance to deal Double Damage per Grasping Vine 1% less Damage taken per Grasping Vine +Attack Skills deal 10% increased Damage while holding a Shield 3% increased Attack Speed while holding a Shield -Attack Skills deal 10% increased Damage with Ailments while holding a Shield 25% reduced Effect of Curses on you Auras from your Skills grant +1% Physical Damage Reduction to you and Allies Every 5 seconds, Regenerate 20% of Life over one second @@ -1887,9 +2171,8 @@ While there are at least five nearby Allies, you and nearby Allies have Onslaugh 3% increased Attack Speed 2% increased Movement Speed 12% increased Elemental Damage with Attack Skills -20% increased Attack Damage while holding a Shield +Attack Skills deal 20% increased Damage while holding a Shield +8% Elemental Resistances while holding a Shield -Attack Skills deal 20% increased Damage with Ailments while holding a Shield +3% Chance to Block Attack Damage while holding a Shield +10 to Dexterity Minions have 10% increased maximum Life @@ -1919,7 +2202,10 @@ Enemies you Curse have Malediction +1 to Maximum Frenzy Charges 6% increased Mine Damage Skills used by Mines have 6% increased Area of Effect +20% increased Totem Placement speed +10% increased Attack and Cast Speed if you've summoned a Totem Recently 5% increased maximum Life ++10 to Intelligence 20% increased Trap Trigger Area of Effect 4% increased Trap Throwing Speed 16% increased Attack Damage @@ -1933,7 +2219,7 @@ Attacks used by Totems have 8% increased Attack Speed 10% increased Mine Damage +40 to Dexterity 16% increased Physical Damage with Axes -16% increased Damage with Ailments from Attack Skills while wielding an Axe +Axe Attacks deal 16% increased Damage with Ailments +2% Chance to Block Spell Damage while Dual Wielding 10% increased Spell Damage while Dual Wielding +16 to maximum Life @@ -1947,6 +2233,9 @@ You have Fortify Regenerate 0.4% of Life per second 5% increased maximum Mana 3% reduced Mana Cost of Skills +30% increased Lightning Damage +10% chance to double Stun Duration +Lightning Skills have 10% reduced Enemy Stun Threshold +10 to Strength 14% increased Armour +3% to all Elemental Resistances @@ -1956,6 +2245,9 @@ Your hits can't be Evaded Never deal Critical Strikes 6% increased maximum Energy Shield 5% increased Effect of your Curses Minions have 10% increased maximum Life +20% increased Armour +15% increased maximum Mana +4% additional Physical Damage Reduction 12% increased Accuracy Rating with Two Handed Melee Weapons 40% increased Critical Strike Chance with Two Handed Melee Weapons +20% to Critical Strike Multiplier with Two Handed Melee Weapons @@ -1965,6 +2257,9 @@ Minions have 10% increased maximum Life 15% increased Armour 2% increased Movement Speed 8% chance to Avoid being Stunned ++10% to all Elemental Resistances and maximum Elemental Resistances while affected by a Non-Vaal Guard Skill +20% more Damage taken if a Non-Vaal Guard Buff was lost Recently +20% additional Physical Damage Reduction while affected by a Non-Vaal Guard Skill 18% increased Evasion Rating 12% increased maximum Energy Shield 0.3% of Spell Damage Leeched as Energy Shield @@ -1986,6 +2281,9 @@ If you've Warcried Recently, you and nearby allies have 20% increased Attack Spe 14% increased Armour 5% increased maximum Energy Shield Regenerate 0.5% of Life per second +40% increased Damage while Leeching Energy Shield +0.3% of Spell Damage Leeched as Energy Shield +5% increased Attack and Cast Speed while Leeching Energy Shield 10% increased Cold Damage 10% increased Chaos Damage 6% increased maximum Energy Shield @@ -1997,7 +2295,7 @@ Regenerate 0.5% of Life per second 25% increased Cold Damage 25% increased Lightning Damage 20% increased Mana Regeneration Rate -10% increased Effect of non-Damaging Ailments on Enemies +10% increased Effect of Non-Damaging Ailments 12% increased Elemental Damage with Attack Skills 12% increased Melee Physical Damage 25% increased Defences from Equipped Shield @@ -2005,9 +2303,8 @@ Regenerate 0.5% of Life per second 10% increased Damage with Bows 20% increased Critical Strike Chance with Bows 10% increased Damage Over Time with Bow Skills -10% increased Damage with Axes +Axe Attacks deal 10% increased Damage with Hits and Ailments 20% increased Critical Strike Chance with Axes -10% increased Damage with Ailments from Attack Skills while wielding an Axe +10 to Dexterity 10% increased Flask Charges gained Flasks applied to you have 5% increased Effect @@ -2026,8 +2323,8 @@ Effects of Consecrated Ground you create Linger for 4 seconds 6% reduced Mana Reserved 10% increased effect of Non-Curse Auras from your Skills 12% increased Physical Damage with Wands +Wand Attacks deal 12% increased Damage with Ailments 4% increased Attack Speed with Wands -12% increased Damage with Ailments from Attack Skills while wielding a Wand +1 to Maximum Frenzy Charges and Maximum Power Charges 15% chance to gain a Frenzy Charge and a Power Charge on Kill 5% increased Damage per Frenzy Charge @@ -2036,17 +2333,21 @@ Gain a Power or Frenzy Charge each second while Channelling 14% increased Armour 5% increased maximum Energy Shield +2% Chance to Block Attack Damage +Enemies killed by your Wand Hits have a 10% chance to Explode, dealing a quarter of their Life as Chaos Damage +Gain 10% of Wand Physical Damage as Extra Chaos Damage +10% to Damage over Time Multiplier for Bleeding 30% increased Physical Damage with Swords +Sword Attacks deal 30% increased Damage with Ailments Attacks have 15% chance to cause Bleeding -30% increased Damage with Ailments from Attack Skills while wielding a Sword -10% increased Weapon Damage while Dual Wielding +Attack Skills deal 10% increased Damage while Dual Wielding 3% increased Attack Speed while Dual Wielding -Attack Skills deal 10% increased Damage with Ailments while Dual Wielding 10% increased Spell Damage 20% increased Mana Regeneration Rate 4% increased Attack Speed 10% increased Physical Damage +40% increased Critical Strike Chance against Taunted Enemies ++15% to Critical Strike Multiplier against Taunted Enemies +15% increased Warcry Buff Effect 12% increased Cold Damage 16% increased Armour 6% increased maximum Life @@ -2060,6 +2361,7 @@ Attack Skills deal 10% increased Damage with Ailments while Dual Wielding 5% chance to Freeze, Shock and Ignite 12% increased Physical Damage +10 to Intelligence +Nearby Enemies have Fire Exposure +18% to Fire Resistance 9% increased Attack Speed 5% increased Cast Speed @@ -2075,13 +2377,16 @@ Enemies you Impale have -10% to Total Physical Damage Reduction against Impale H You have Phasing while at maximum Frenzy Charges You have Phasing during Onslaught Gain Phasing for 4 seconds on Kill ++20% to Cold Resistance +40% chance to Avoid being Frozen +6% chance to Avoid Cold Damage from Hits +Gain 5% of Maximum Mana as Extra Maximum Energy Shield 12% increased Area of Effect of Aura Skills 4% reduced Mana Reserved 6% increased effect of Non-Curse Auras from your Skills +5% Chance to Block Attack Damage while Dual Wielding -20% increased Weapon Damage while Dual Wielding +Attack Skills deal 20% increased Damage while Dual Wielding 10% chance to gain an Endurance Charge when you Block -Attack Skills deal 20% increased Damage with Ailments while Dual Wielding 10% chance to gain a Frenzy Charge when you Block +10 to Strength 5% increased maximum Life @@ -2095,6 +2400,7 @@ Attack Skills deal 20% increased Damage with Ailments while Dual Wielding 10% increased Damage with Brand Skills +10 to Intelligence 6% increased maximum Energy Shield +Grants 1 Passive Skill Point 25% increased Critical Strike Chance 25% increased Physical Damage 10% increased Mine Damage @@ -2111,10 +2417,13 @@ Cannot be Stunned while you have Fortify 12% increased Melee Physical Damage Regenerate 1% of Life per second 8% increased Melee Physical Damage -+2 to Melee Weapon and Unarmed Attack range ++2 to Melee Strike Range +20 to Strength +10 to Strength 30% of Damage is taken from Mana before Life +4% Chance to Block Spell Damage +0.3% of Spell Damage Leeched as Energy Shield +Regenerate 1.5% of Energy Shield per second 4% increased Attack Speed Minions deal 10% increased Damage Minions Leech 0.2% of Damage as Life @@ -2124,6 +2433,9 @@ Minions Leech 0.2% of Damage as Life 3% increased Attack Speed Enemies you Impale have -5% to Total Physical Damage Reduction against Impale Hits 5% increased Impale Effect +20% increased Spell Damage +5% increased Cast Speed +35% chance to Avoid interruption from Stuns while Casting 10% increased Attack Damage 0.2% of Attack Damage Leeched as Life Minions have 10% increased maximum Life @@ -2153,14 +2465,19 @@ Moving while Bleeding doesn't cause you to take extra Damage Projectiles gain Damage as they travel farther, dealing up to 50% increased Damage with Hits to targets Skills fire an additional Projectile 15% increased Critical Strike Chance +24% increased Damage over Time +4% increased maximum Life +Regenerate 0.6% of Life per second +35% increased Chaos Damage +20% increased Skill Effect Duration +30 to Dexterity 25% increased Fire Damage 5% increased Cast Speed with Fire Skills +15% to Fire Resistance 25% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 25% increased Damage with Ailments 5% increased Attack Speed with Two Handed Melee Weapons 12% increased Accuracy Rating with Two Handed Melee Weapons -25% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon 4% increased maximum Life +3% to Chaos Damage over Time Multiplier 10% increased Chaos Damage @@ -2175,11 +2492,11 @@ Minions have 10% increased maximum Life 3% reduced Mana Cost of Skills 8% increased maximum Mana 12% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments 25% increased total Recovery per second from Life Leech -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon 8% increased Physical Damage with Swords +Sword Attacks deal 8% increased Damage with Ailments 20% increased Critical Strike Chance with Swords -8% increased Damage with Ailments from Attack Skills while wielding a Sword 3% increased Movement Speed 10% increased Attack Damage 15% increased Evasion Rating and Armour @@ -2192,15 +2509,20 @@ Minions deal 10% increased Damage 20% increased Critical Strike Chance with Traps 20% increased Critical Strike Chance with Mines 10% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 10% increased Damage with Ailments 5% increased Area of Effect -10% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon -8% increased Damage with Claws ++4% Chance to Block Attack Damage while Channelling ++4% Chance to Block Spell Damage while Channelling +Channelling Skills deal 25% increased Damage +Claw Attacks deal 8% increased Damage with Hits and Ailments 4% increased Attack Speed with Claws -8% increased Damage with Ailments from Attack Skills while wielding a Claw +20% increased Lightning Damage +Your Critical Strikes Knock Back Shocked Enemies +30% increased Critical Strike Chance 24% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 24% increased Damage with Ailments Enemies have -15% to Total Physical Damage Reduction against your Hits 10% chance to double Stun Duration -24% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon 4% chance to deal Double Damage +18% to Lightning Resistance 0.6% of Physical Attack Damage Leeched as Life @@ -2211,8 +2533,8 @@ Enemies have -15% to Total Physical Damage Reduction against your Hits 8% increased maximum Mana 4% increased Attack and Cast Speed 25% increased Physical Damage with One Handed Melee Weapons +Attacks with One Handed Melee Weapons deal 25% increased Damage with Ailments 5% increased Attack Speed with One Handed Melee Weapons -25% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon +20 to Strength Minions deal 15% increased Damage Minions have 10% increased Area of Effect @@ -2227,6 +2549,9 @@ Minions deal 10% increased Damage 6% reduced Damage taken if you've Taunted an Enemy Recently Regenerate 2% of Life per second if you've Taunted an Enemy Recently Enemies Taunted by you deal 10% less Damage with Hits and Ailments against other targets +Attack Skills deal 30% increased Damage while holding a Shield +Ignore all Movement Penalties from Armour +5% increased Movement Speed while holding a Shield 10% increased Global Accuracy Rating 15% increased Critical Strike Chance 20% increased Damage @@ -2239,12 +2564,12 @@ Brand Skills have 10% increased Duration 10% increased maximum Energy Shield 10% increased Energy Shield Recharge Rate +8% to all Elemental Resistances -14% increased Physical Damage with Maces and Sceptres -5% reduced Enemy Stun Threshold with Maces and Sceptres -14% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +14% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 14% increased Damage with Ailments +5% reduced Enemy Stun Threshold with Maces or Sceptres Auras from your Skills grant 3% increased Attack and Cast Speed to you and Allies You and nearby Allies deal 30% increased Damage -You and nearby Allies have +20% to Elemental Resistances +You and nearby Allies have +30% to Elemental Resistances 12% increased Armour 4% increased maximum Life 15% increased Lightning Damage @@ -2257,22 +2582,32 @@ You and nearby Allies have +20% to Elemental Resistances 5% chance to Freeze 8% increased Flask Effect Duration Flasks applied to you have 5% increased Effect +Enemies take 5% increased Damage for each of your Brands Attached to them +20% increased Brand Attachment range 10% reduced Reflected Elemental Damage taken Damage with Weapons Penetrates 5% Elemental Resistance 20% increased Elemental Damage during any Flask Effect 20% increased Elemental Damage with Attack Skills +10 to Dexterity ++8% to Damage over Time Multiplier for Poison +Poisons you inflict on non-Poisoned Enemies deal 300% increased Damage 15% increased Cold Damage +15% to Critical Strike Multiplier for Spells -24% increased Damage with Daggers +2% increased Attack Damage per 75 Armour or Evasion Rating on Shield ++1% to Critical Strike Multiplier per 10 Maximum Energy Shield on Shield +Dagger Attacks deal 24% increased Damage with Hits and Ailments 12% increased Attack Speed with Daggers 10% increased Accuracy Rating with Daggers -24% increased Damage with Ailments from Attack Skills while wielding a Dagger -+1 to Melee range with Daggers ++1 to Melee Strike Range with Daggers +10 to Intelligence +10 to Strength ++15% to Fire Resistance 10% increased Cold Damage 20% increased Critical Strike Chance with Cold Skills +30% increased Projectile Speed +20% increased Projectile Damage +4% additional Physical Damage Reduction if you've Warcried in the past 8 seconds +4% chance to deal Double Damage if you've Warcried in the past 8 seconds +10 to Intelligence 24% increased Damage with Bows +200 to Evasion Rating @@ -2284,20 +2619,22 @@ Damage with Weapons Penetrates 5% Elemental Resistance +8% to Fire Damage over Time Multiplier Ignites you inflict deal Damage 8% faster 24% increased Fire Damage with Attack Skills -10% increased Attack Damage while holding a Shield +Attack Skills deal 10% increased Damage while holding a Shield 3% increased Attack Speed while holding a Shield -Attack Skills deal 10% increased Damage with Ailments while holding a Shield 10% increased Spell Damage +10% increased Area of Effect +20% increased Elemental Damage 10% increased Damage with Claws +Claw Attacks deal 20% increased Damage with Ailments 10% chance to Poison on Hit with Attacks -20% increased Damage with Ailments from Attack Skills while wielding a Claw +Attack Skills deal 25% increased Damage while holding a Shield +5% increased maximum Life 4% increased Attack Speed 10% increased Poison Duration +10 to Intelligence -30% increased Damage with Staves +Staff Attacks deal 30% increased Damage with Hits and Ailments 20% increased Armour +600 Armour if you've Blocked Recently -30% increased Damage with Ailments from Attack Skills while wielding a Staff +4% Chance to Block Attack Damage while wielding a Staff +30 to Intelligence 14% increased Trap Damage @@ -2325,20 +2662,25 @@ Fire Spells have 10% of Physical Damage Converted to Fire Damage 10% increased Frenzy Charge Duration 10% increased Power Charge Duration +1 to Maximum Endurance Charges +25% increased Damage with Brand Skills +Unattached Brands gain 20% increased Brand Attachment Range per second +50% increased Damage with Bleeding you inflict on Maimed Enemies 14% increased Armour 5% increased maximum Energy Shield 5% increased effect of Non-Curse Auras from your Skills +10% chance to gain a Power Charge when you Shock a Chilled Enemy +25% increased Cold Damage with Hits against Shocked Enemies +25% increased Lightning Damage with Hits against Chilled Enemies 10% increased Elemental Damage +15% to Critical Strike Multiplier Regenerate 40 Energy Shield per second Regenerate 1% of Energy Shield per second for each Enemy you or your Minions have Killed Recently, up to 10% per second Cannot Be Stunned while you have Energy Shield 25% increased Melee Critical Strike Chance -25% increased Damage with Claws +Claw Attacks deal 25% increased Damage with Hits and Ailments Enemies have -10% to Total Physical Damage Reduction against your Hits 15% increased Attack and Cast Speed if you've used a Movement Skill Recently -25% increased Damage with Ailments from Attack Skills while wielding a Claw -+1 to Melee range with Claws ++1 to Melee Strike Range with Claws +10 to Intelligence 8% increased Global Accuracy Rating 18% increased Endurance Charge Duration @@ -2346,9 +2688,8 @@ Enemies have -10% to Total Physical Damage Reduction against your Hits +3% to all Elemental Resistances +2% Chance to Block Attack Damage while Dual Wielding or holding a Shield 4% increased Attack Speed -15% increased Damage with Staves +Staff Attacks deal 15% increased Damage with Hits and Ailments 20% increased Stun Duration with Staves on Enemies -15% increased Damage with Ailments from Attack Skills while wielding a Staff 30% increased Melee Critical Strike Chance +30% to Melee Critical Strike Multiplier 20% chance to Maim Enemies on Critical Strike with Attacks @@ -2356,23 +2697,22 @@ Enemies have -10% to Total Physical Damage Reduction against your Hits 8% increased Chaos Damage +10 to Intelligence 8% increased maximum Mana -8% increased Damage with Claws +Claw Attacks deal 8% increased Damage with Hits and Ailments 3% increased Attack Speed with Claws -8% increased Damage with Ailments from Attack Skills while wielding a Claw 10% chance to Poison on Hit 0.6% of Physical Attack Damage Leeched as Life +3% Chance to Block Attack Damage while Dual Wielding -8% increased Weapon Damage while Dual Wielding -Attack Skills deal 8% increased Damage with Ailments while Dual Wielding +Attack Skills deal 8% increased Damage while Dual Wielding 12% increased Physical Damage with One Handed Melee Weapons +Attacks with One Handed Melee Weapons deal 12% increased Damage with Ailments 0.4% of Physical Attack Damage Leeched as Life 10% increased total Recovery per second from Life Leech -12% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon 20% increased Warcry Buff Effect ++15% to Cold Resistance +10 to Intelligence -14% increased Physical Damage with Maces and Sceptres -4% reduced Enemy Stun Threshold with Maces and Sceptres -14% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +14% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 14% increased Damage with Ailments +4% reduced Enemy Stun Threshold with Maces or Sceptres Regenerate 0.3% of Life per second 12% increased Attack Damage 6% increased Global Accuracy Rating @@ -2384,22 +2724,28 @@ Regenerate 0.3% of Life per second 10% increased Damage Over Time with Bow Skills +10 to Intelligence 50% increased Global Accuracy Rating -+2 to Melee Weapon and Unarmed Attack range ++2 to Melee Strike Range 5% increased Area of Effect per Enemy killed recently, up to 50% Deal up to 15% more Melee Damage to Enemies, based on proximity 5% increased maximum Energy Shield 4% increased maximum Life +3% Chance to Block Attack Damage while Dual Wielding -16% increased Weapon Damage while Dual Wielding +Attack Skills deal 16% increased Damage while Dual Wielding 6% increased Attack Speed while Dual Wielding +10 to maximum Life -Attack Skills deal 16% increased Damage with Ailments while Dual Wielding 4% increased Attack Speed with Axes 12% increased Evasion Rating +40% chance to Avoid being Stunned while Channelling +Channelling Skills deal 25% increased Damage +15% reduced Mana Cost of Channelling Skills +6% increased maximum Energy Shield 4% increased Attack Speed +10 to Dexterity 20% increased Mana Regeneration Rate 14% increased Damage with Brand Skills +8% increased Cast Speed +Spell Skills have +10% to Damage over Time Multiplier for Poison +20% chance to Poison on Hit with Spell Damage 8% increased Area of Effect 18% increased Endurance Charge Duration 22% increased maximum Mana @@ -2408,28 +2754,41 @@ Attack Skills deal 16% increased Damage with Ailments while Dual Wielding 20% increased Critical Strike Chance with Claws 3% increased Attack and Cast Speed 8% increased Physical Damage +Bow Skills have +10% to Damage over Time Multiplier +Bow Skills have 20% increased Skill Effect Duration +10% increased Duration of Ailments inflicted while wielding a Bow +30% increased Chaos Damage +Chaos Skills ignore interruption from Stuns +Your Critical Strikes have a 5% chance to deal Double Damage +40% increased Critical Strike Chance +10 to Dexterity 20% increased Melee Critical Strike Chance ++2% to maximum Cold Resistance +6% increased Movement Speed +Grants 1 Passive Skill Point 5% increased maximum Energy Shield 8% increased maximum Mana 16% increased Melee Damage 16% increased Armour +16 to maximum Life +30 to Strength +Attacks with Melee Weapons deal 12% increased Damage with Ailments 12% increased Melee Physical Damage -12% increased Damage with Ailments from Attack Skills while wielding a Melee Weapon +4% to Fire Damage over Time Multiplier 8% increased Fire Damage +30% increased Attack Damage +10% reduced Enemy Stun Threshold +20% chance to double Stun Duration +30% increased Damage with Ailments from Attack Skills 10% increased Area of Effect 14% increased Armour 8% increased maximum Mana +20% to Damage over Time Multiplier for Ignite from Critical Strikes 45% increased Critical Strike Chance for Spells +20% to Critical Strike Multiplier against Burning Enemies -8% increased Damage with Daggers +Dagger Attacks deal 8% increased Damage with Hits and Ailments 4% increased Attack Speed with Daggers Enemies have -5% to Total Physical Damage Reduction against your Hits -8% increased Damage with Ailments from Attack Skills while wielding a Dagger 10% increased Area of Effect 30% increased Trap Damage 15% increased Cooldown Recovery Speed for throwing Traps @@ -2449,17 +2808,19 @@ Minions deal 10% increased Damage 50% increased Critical Strike Chance for Attacks Adds 20 to 30 Physical Damage to Attacks if you've dealt a Critical Strike Recently +25% to Critical Strike Multiplier +Attacks with Axes or Swords grant 1 Rage on Hit, no more than once every second 25% increased Melee Critical Strike Chance +10% to Melee Critical Strike Multiplier +60% increased Main Hand Attack Damage while wielding two different Weapon Types +30% increased Off Hand Attack Speed while wielding two different Weapon Types Enemies you hit with Elemental Damage temporarily get +25% Resistance to those Elements and -50% Resistance to other Elements 14% increased Attack Physical Damage -10% increased Damage with Daggers +Gain 10% of Maximum Life as Extra Armour +Dagger Attacks deal 10% increased Damage with Hits and Ailments 6% increased Accuracy Rating with Daggers -10% increased Damage with Ailments from Attack Skills while wielding a Dagger 4% increased Attack Speed with Claws 4% increased Movement Speed -12% increased Damage with Wands -12% increased Damage with Ailments from Attack Skills while wielding a Wand +Wand Attacks deal 12% increased Damage with Hits and Ailments +12% to Damage over Time Multiplier for Ailments from Critical Strikes 0.8% of Attack Damage Leeched as Life 15% increased Maximum total Recovery per second from Life Leech @@ -2474,8 +2835,8 @@ You and nearby Allies have 8% increased Movement Speed 5% increased maximum Energy Shield 4% increased maximum Life 10% increased Mana Regeneration Rate -60% increased Critical Strike Chance with Maces and Sceptres -5% reduced Enemy Stun Threshold with Maces and Sceptres +60% increased Critical Strike Chance with Maces or Sceptres +5% reduced Enemy Stun Threshold with Maces or Sceptres 8% chance to gain a Power Charge when you Stun with Melee Damage 10% increased Damage with Bows 3% increased Attack Speed with Bows @@ -2488,6 +2849,8 @@ You and nearby Allies have 8% increased Movement Speed If you've Blocked in the past 10 seconds, you and nearby Allies cannot be Stunned If you've Attacked Recently, you and nearby Allies have +10% Chance to Block Attack Damage If you've Cast a Spell Recently, you and nearby Allies have +10% Chance to Block Spell Damage +Attack Skills fire an additional Projectile while wielding a Claw or Dagger +20% increased Projectile Attack Damage with Claws or Daggers +4% Chance to Block Spell Damage while Dual Wielding +4% Chance to Block Attack Damage while Dual Wielding 16% increased Spell Damage while Dual Wielding @@ -2499,7 +2862,7 @@ If you've Cast a Spell Recently, you and nearby Allies have +10% Chance to Block 10% increased Critical Strike Chance 6% increased Projectile Damage 12% increased Physical Damage with One Handed Melee Weapons -12% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon +Attacks with One Handed Melee Weapons deal 12% increased Damage with Ailments Consecrated Ground you create applies 10% increased Damage taken to Enemies You have Consecrated Ground around you while stationary Regenerate 15 Mana per Second while on Consecrated Ground @@ -2513,6 +2876,8 @@ Minions deal 15% increased Damage Mines Hinder Enemies near them for 2 seconds when they Land, reducing Movement Speed by 40% +10 to Intelligence +10 to Dexterity +20% increased Cold Damage +Freezes you inflict spread to other Enemies within a Radius of 12 +10 to Strength 10% increased Damage with Bows 10% chance to Poison on Hit with Attacks @@ -2529,15 +2894,19 @@ Nearby Enemies deal 8% less Elemental Damage 15% increased Critical Strike Chance 5% increased Effect of your Curses 8% increased Evasion Rating -14% increased Damage with Swords -14% increased Damage with Ailments from Attack Skills while wielding a Sword +Sword Attacks deal 14% increased Damage with Hits and Ailments +30% chance to Avoid Elemental Ailments +3% chance to Dodge Attack Hits +3% chance to Dodge Spell Hits 30% increased Warcry Duration 12% increased Damage with Hits and Ailments against Blinded Enemies 25% increased Critical Strike Chance against Blinded Enemies -6% increased Fire Damage -4% increased Cast Speed with Fire Skills +8% increased Fire Damage +8% increased Area of Effect 6% increased maximum Life +10 to Intelligence +Minions deal 20% increased Damage while you are affected by a Herald +Minions have 10% increased Movement Speed for each Herald affecting you 5% increased Mine Throwing Speed Mines have 10% increased Detonation Speed 8% increased Armour @@ -2545,15 +2914,16 @@ Mines have 10% increased Detonation Speed Gain Arcane Surge when you or your Totems Hit an Enemy with a Spell Immune to Elemental Ailments while you have Arcane Surge 12% increased Melee Physical Damage +Attack Projectiles always inflict Bleeding and Maim, and Knock Back Enemies Projectiles cannot Pierce, Fork or Chain 15% increased Cold Damage 10% increased Flask Charges gained Flasks applied to you have 5% increased Effect Minions deal 10% increased Damage 10% increased Elemental Damage -30% increased Physical Damage with Maces and Sceptres +30% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 30% increased Damage with Ailments 12% increased Area of Effect -30% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre -+2 to Melee range with Maces and Sceptres ++2 to Melee Strike Range with Maces and Sceptres +10 to Strength 10% increased Cold Damage 30% increased Chill Duration on Enemies @@ -2568,19 +2938,25 @@ Skills used by Mines have 6% increased Area of Effect 30% increased Chaos Damage Chaos Skills have 50% increased Area of Effect When you kill a Poisoned Enemy during any Flask Effect, nearby Enemies are Poisoned -15% increased Damage with Wands -15% increased Damage with Ailments from Attack Skills while wielding a Wand +2% increased Chaos Damage per 100 maximum Mana, up to a maximum of 80% +Wand Attacks deal 15% increased Damage with Hits and Ailments 10% increased Attack Physical Damage 5% chance to Impale Enemies on Hit with Attacks -10 Physical Damage taken from Hits -1 Physical Damage taken from Hits per Level +6% increased maximum Life +15% increased Maximum total Recovery per second from Life Leech +6% increased Attack Speed while Leeching +10 to Strength +Gain 10% of Lightning Damage as Extra Cold Damage against Chilled Enemies Cannot Evade enemy Attacks Cannot be Stunned 10% increased Area of Effect 8% increased maximum Mana 4% reduced Mana Cost of Skills 10% increased Mine Damage 20% increased Mine Duration +50% increased Critical Strike Chance with Wands +35% increased Damage with Wands if you've dealt a Critical Strike Recently 10% increased Trap Damage 10% increased Mine Damage 4% increased Movement Speed @@ -2595,7 +2971,10 @@ Minions deal 12% increased Damage 10% increased Projectile Damage +3% to Fire Damage over Time Multiplier 6% increased Elemental Damage -8% increased Effect of non-Damaging Ailments on Enemies +8% increased Effect of Non-Damaging Ailments +0.8% of Attack Damage Leeched as Life +20% increased Maximum total Recovery per second from Life Leech +20% increased total Recovery per second from Life Leech 18% increased Evasion Rating +12 to maximum Life 16% increased Projectile Damage @@ -2608,10 +2987,16 @@ Minions deal 12% increased Damage 10% increased maximum Life 10% increased Wand Damage per Power Charge 10% chance to gain a Power Charge on Kill +25% increased Life Recovery from Flasks +Life Flasks gain 1 Charge every 3 seconds +Remove Bleeding when you use a Life Flask +10 to Intelligence +Grants 1 Passive Skill Point 10% increased Projectile Damage -12% increased Damage with Staves -12% increased Damage with Ailments from Attack Skills while wielding a Staff +10% chance to Freeze, Shock and Ignite +30% increased Elemental Damage with Attack Skills +15% increased Effect of Non-Damaging Ailments +Staff Attacks deal 12% increased Damage with Hits and Ailments +2% Chance to Block Attack Damage while wielding a Staff +10 to Intelligence 12% increased Chaos Damage @@ -2625,48 +3010,75 @@ Minions deal 12% increased Damage 8% increased maximum Mana 10% increased Mana Recovery from Flasks You can't deal Damage with Skills yourself +1 to maximum number of Summoned Totems +Minions have +1 to Minimum Power Charges +Raised Spectres, Raised Zombies, and Summoned Skeletons have +70% to Critical Strike Multiplier 15% increased Evasion Rating 10% increased maximum Energy Shield 5% increased maximum Life Regenerate 0.5% of Life per second +Grants 1 Passive Skill Point 8% increased Mine Damage 4% reduced Mana Reservation of Skills that throw Mines +150 to Armour 30% increased Armour +1% to all maximum Elemental Resistances 5% additional Physical Damage Reduction +6% increased Attack Speed +10% increased maximum Mana ++3 Mana gained for each Enemy hit by your Attacks 6% increased maximum Life 30% increased Life Recovery from Flasks Flasks applied to you have 8% increased Effect +Projectiles deal 15% increased Damage for each remaining Chain 4% increased Attack Speed 10% increased Global Accuracy Rating +15% increased Elemental Damage if you've Chilled an Enemy Recently +20% increased Elemental Damage if you've Ignited an Enemy Recently +25% increased Elemental Damage if you've Shocked an Enemy Recently +Minions have 20% increased maximum Life +Minions created Recently cannot be Damaged 25% increased maximum Mana +1 to maximum number of Summoned Totems 8% of Damage is taken from Mana before Life Gain Arcane Surge when you or your Totems Hit an Enemy with a Spell 20% increased Spell Damage while you have Arcane Surge +10% increased Area Damage +Skills supported by Intensify have +1 to maximum Intensity Projectile Attack Hits deal up to 30% more Damage to targets at the start of their movement, dealing less Damage to targets as the projectile travels farther Grants Armour equal to 160% of your Reserved Life to you and nearby Allies -Grants maximum Energy Shield equal to 15% of your Reserved Mana to you and nearby Allies +Grants maximum Energy Shield equal to 10% of your Reserved Mana to you and nearby Allies 10% increased Attack Damage 5% increased Attack Speed +Enemies you Curse take 5% increased Damage +5% chance to Dodge Attack Hits from Cursed Enemies +30% increased Evasion Rating ++1% to all maximum Elemental Resistances +25% increased Damage with Bleeding +25% chance to Blind with Hits against Bleeding Enemies -1 to maximum number of Summoned Totems. You can have an additional Brand Attached to an Enemy 5% increased Effect of your Curses +1 to Maximum Frenzy Charges 10% increased Spell Damage while wielding a Staff +2% Chance to Block Attack Damage while wielding a Staff +40% reduced Ignite Duration on you +50% reduced Extra Damage taken from Critical Strikes while Ignited +Grants 1 Passive Skill Point 5% increased maximum Life -12% increased Damage with Daggers +Dagger Attacks deal 12% increased Damage with Hits and Ailments 0.3% of Attack Damage Leeched as Life 20% increased total Recovery per second from Life Leech -12% increased Damage with Ailments from Attack Skills while wielding a Dagger +Attacks with One Handed Weapons deal 20% increased Damage with Ailments 14% increased Damage with One Handed Weapons -20% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon 20% increased Critical Strike Chance with Totem Skills +10% to Critical Strike Multiplier with Totem Skills -10% increased Damage with Axes +5% increased Movement Speed +20% increased Damage with Brand Skills +10% increased Brand Activation frequency +Axe Attacks deal 10% increased Damage with Hits and Ailments 3% increased Attack Speed with Axes -10% increased Damage with Ailments from Attack Skills while wielding an Axe +20% increased Spell Damage +30% increased Mana Regeneration Rate +Regenerate 1% of Energy Shield per second if you\u2019ve Cursed an Enemy Recently 25% increased Fire Damage 25% increased Cold Damage +10% to Fire and Cold Resistances @@ -2675,10 +3087,15 @@ Grants maximum Energy Shield equal to 15% of your Reserved Mana to you and nearb Regenerate 0.5% of Life per second Minions have 4% increased Attack Speed Minions have 4% increased Cast Speed +Grants 1 Passive Skill Point 10% chance to Avoid Elemental Ailments 10% increased Duration of Elemental Ailments on Enemies 16% increased Elemental Damage -10% increased Effect of non-Damaging Ailments on Enemies +10% increased Effect of Non-Damaging Ailments +5% increased Attack Speed with Two Handed Melee Weapons +15% increased Accuracy Rating with Two Handed Melee Weapons +25% increased Critical Strike Chance with Two Handed Melee Weapons ++15 to Dexterity and Intelligence 20% increased Physical Damage with Bows 10% reduced Enemy Stun Threshold with Bows 30% increased Stun Duration with Bows on Enemies @@ -2705,6 +3122,8 @@ Regenerate 0.4% of Life per second +6% Chance to Block Spell Damage while wielding a Staff 20% chance to gain a Power Charge when you Block +6% Chance to Block Attack Damage while wielding a Staff +Curse Skills have 50% increased Skill Effect Duration +25% increased Damage with Hits and Ailments against Cursed Enemies 12% increased Damage with Bows 3% increased Attack Speed with Bows 12% increased Damage Over Time with Bow Skills @@ -2734,15 +3153,16 @@ Cannot take Reflected Physical Damage +5% to Cold Damage over Time Multiplier 6% increased maximum Energy Shield 12% increased Physical Damage with Two Handed Melee Weapons -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments 10% increased Physical Damage 0.2% of Spell Damage Leeched as Energy Shield 10% increased total Recovery per second from Energy Shield Leech +Grants 1 Passive Skill Point +10 to Strength 20% of Physical Damage Converted to Cold Damage 16% increased Cold Damage with Attack Skills 12% increased Physical Damage with Two Handed Melee Weapons -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments 30% increased Block Recovery +2% Chance to Block Attack Damage while holding a Shield 3% increased Attack Speed with Swords @@ -2759,9 +3179,11 @@ Minions deal 14% increased Damage 15% increased Evasion Rating and Armour 10% increased Global Accuracy Rating +4% to all Elemental Resistances -12% increased Physical Damage with Maces and Sceptres +12% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 12% increased Damage with Ailments 10% increased Stun Duration on Enemies -12% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +20% increased maximum Mana +Damage Penetrates 5% Lightning Resistance +30% to Critical Strike Multiplier against Enemies that are affected by Elemental Ailments Damage Penetrates 6% of Enemy Elemental Resistances 10% chance to create Consecrated Ground when you Hit a Rare or Unique Enemy, lasting 8 seconds @@ -2779,10 +3201,15 @@ Nearby Enemies take 10% increased Elemental Damage 10% increased Lightning Damage +10 to Intelligence +10 to Strength +8% increased maximum Mana ++2% to maximum Lightning Resistance 60% increased Block Recovery +20 Mana gained when you Block 40% increased Defences from Equipped Shield +5% Chance to Block Attack Damage while holding a Shield +3% Chance to Block Spell Damage +30% increased Attack Damage while holding a Shield ++3% Chance to Block Attack Damage +1000 to Accuracy Rating 1% increased Attack Speed per 200 Accuracy Rating 30% increased Accuracy Rating if you've dealt a Critical Strike in the past 8 seconds @@ -2809,13 +3236,17 @@ Moving while Bleeding doesn't cause you to take extra Damage Gain +30 Life when you Hit a Bleeding Enemy 6% increased Global Accuracy Rating 4% increased Attack and Cast Speed +20% increased Damage +30% increased Critical Strike Chance 100% increased Global Critical Strike Chance if you've Summoned a Totem Recently +20% to Critical Strike Multiplier with Totem Skills 50% increased Critical Strike Chance with Brand Skills +20% to Critical Strike Multiplier with Brand Skills +10 to Intelligence 14% increased Physical Damage with Axes -14% increased Damage with Ailments from Attack Skills while wielding an Axe +Axe Attacks deal 14% increased Damage with Ailments +40% increased Attack Damage against Maimed Enemies +Attacks have 10% chance to Maim on Hit 20% increased Critical Strike Chance for Spells 10% increased maximum Mana Minions deal 20% increased Damage @@ -2829,8 +3260,8 @@ Minions deal 20% increased Damage +10 to Dexterity and Intelligence +10 to Strength 14% increased Physical Attack Damage while holding a Shield -30% increased Defences from Equipped Shield Attack Skills deal 14% increased Damage with Ailments while holding a Shield +30% increased Defences from Equipped Shield +15 to Intelligence 50% of Physical, Cold and Lightning Damage Converted to Fire Damage Deal no Non-Fire Damage 25% increased Cold Damage @@ -2838,30 +3269,31 @@ Attack Skills deal 14% increased Damage with Ailments while holding a Shield +15% to Cold Resistance +10 to Strength 12% increased Fire Damage -24% increased Damage with Daggers +Dagger Attacks deal 24% increased Damage with Hits and Ailments 6% increased Attack Speed with Daggers 0.5% of Attack Damage Leeched as Life 0.5% of Attack Damage Leeched as Mana -24% increased Damage with Ailments from Attack Skills while wielding a Dagger 12% increased Evasion Rating 10% chance to gain Phasing for 4 seconds on Kill 16% increased Projectile Damage 15% increased maximum Mana 0.4% of Attack Damage Leeched as Mana +10 Mana gained on Kill +Ignites you inflict spread to other Enemies within a Radius of 15 All bonuses from an Equipped Shield apply to your Minions instead of you +1% Chance to Block Spell Damage 3% increased Attack Speed 14% increased Chaos Damage +12 to maximum Life 14% increased Physical Damage +1% chance to Dodge Attack Hits 30% increased Projectile Speed Far Shot +6% to all Elemental Resistances 20% increased Elemental Damage 20% reduced Reflected Elemental Damage taken -12% increased Damage with Axes +Axe Attacks deal 12% increased Damage with Hits and Ailments 8% increased Accuracy Rating with Axes -12% increased Damage with Ailments from Attack Skills while wielding an Axe 10% increased Damage with Bows 10% chance to Poison on Hit with Attacks 16% increased Damage Over Time with Bow Skills @@ -2874,7 +3306,7 @@ Far Shot 8% increased Accuracy Rating with Staves 20% increased Critical Strike Chance with Staves 10% increased Physical Damage with One Handed Melee Weapons -10% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon +Attacks with One Handed Melee Weapons deal 10% increased Damage with Ailments 8% increased Evasion Rating 4% increased maximum Life 20% increased Critical Strike Chance for each Mine Detonated Recently, up to 100% @@ -2887,11 +3319,18 @@ Far Shot +10 to Dexterity +1% Chance to Block Attack Damage while Dual Wielding or holding a Shield 30% increased Block Recovery +50% increased Effect of Infusion +5% increased Movement Speed while you have Infusion +20% increased Evasion Rating ++20 to Dexterity +10% chance to Blind Enemies on Hit +10 to Intelligence -16% increased Physical Damage with Maces and Sceptres +16% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 16% increased Damage with Ailments 20% increased Stun Duration on Enemies -16% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre 10% increased Elemental Damage +Channelling Skills deal 25% increased Damage +25% chance to gain an Endurance Charge each second while Channelling +10 to Dexterity 10% increased Damage over Time 10% increased Totem Damage @@ -2921,8 +3360,7 @@ Channelling Skills have 4% increased Attack Speed 16% increased Elemental Damage with Staves 5% increased maximum Mana 3% reduced Mana Cost of Skills -12% increased Attack Damage while holding a Shield -Attack Skills deal 12% increased Damage with Ailments while holding a Shield +Attack Skills deal 12% increased Damage while holding a Shield 20% increased Stun Duration on Enemies 30% increased Critical Strike Chance for Spells +30% to Critical Strike Multiplier for Spells @@ -2951,13 +3389,13 @@ Enemies have -5% to Total Physical Damage Reduction against your Hits 4% chance to deal Double Damage +20 to Strength 20% increased Physical Damage +4% increased maximum Life +10 to Intelligence +30% to Critical Strike Multiplier +3% to all Elemental Resistances 10% increased Elemental Damage -10% increased Damage with Claws +Claw Attacks deal 10% increased Damage with Hits and Ailments 20% increased Critical Strike Chance with Claws -10% increased Damage with Ailments from Attack Skills while wielding a Claw 12% increased Evasion Rating +12 to maximum Energy Shield +12 to maximum Life @@ -2967,11 +3405,16 @@ Enemies have -5% to Total Physical Damage Reduction against your Hits 5% increased Mine Throwing Speed 14% increased Attack Physical Damage +14 to maximum Life +10% increased effect of Non-Curse Auras from your Skills +Non-Curse Aura Skills have 20% increased Duration 18% increased Critical Strike Chance with Daggers +14% to Critical Strike Multiplier with Daggers -15% increased Damage with Staves +20% increased Poison Duration +20% increased Bleeding Duration ++10% to Damage over Time Multiplier for Bleeding you inflict on Poisoned Enemies ++10% to Damage over Time Multiplier for Poison you inflict on Bleeding Enemies +Staff Attacks deal 15% increased Damage with Hits and Ailments 20% increased Stun Duration with Staves on Enemies -15% increased Damage with Ailments from Attack Skills while wielding a Staff 8% chance to gain a Power, Frenzy or Endurance Charge on Kill +100 to Accuracy Rating 15% increased Global Accuracy Rating @@ -2980,6 +3423,8 @@ Enemies have -5% to Total Physical Damage Reduction against your Hits Regenerate 0.5% of Life per second 15% increased Endurance Charge Duration +15% to Critical Strike Multiplier for Spells +20% increased Damage during any Flask Effect +Regenerate 2% of Life per second during any Flask Effect +20% to Cold Damage over Time Multiplier Cannot be Chilled Cannot be Frozen @@ -3027,6 +3472,8 @@ Unaffected by Ignite 14% increased Attack Physical Damage 8% increased maximum Mana 10% increased Mana Regeneration Rate +20% increased Area Damage while wielding a Two Handed Melee Weapon +15% increased Area of Effect while wielding a Two Handed Melee Weapon 30% increased Critical Strike Chance for Spells Skills supported by Unleash have +1 to maximum number of Seals +1 to Maximum Frenzy Charges @@ -3043,6 +3490,8 @@ Your Offerings have 25% reduced Effect on you 4% increased Attack Speed 10% increased Physical Damage +10 to Intelligence ++2% to maximum Fire Resistance +Regenerate 1% of Life per second 12% increased Attack Speed 10% increased Global Accuracy Rating Ignore all Movement Penalties from Armour @@ -3060,6 +3509,8 @@ Bleeding you inflict deals Damage 15% faster 8% increased Accuracy Rating with Wands 12% increased Attack Physical Damage 15% increased Critical Strike Chance +Mace, Sceptre or Staff Attacks deal 20% increased Damage with Hits and Ailments +While stationary, gain 10% increased Area of Effect every second, up to a maximum of 50% Minions have 8% increased maximum Life Minions have +8% to all Elemental Resistances Minions have +8% to Chaos Resistance @@ -3074,13 +3525,12 @@ Guard Skills have 15% increased Cooldown Recovery Speed Minions deal 10% increased Damage 5% increased Attack and Cast Speed +10 to Strength and Intelligence +Chaos Skills have 10% chance to Hinder Enemies on Hit, with 30% reduced Movement Speed +Enemies Hindered by you take 10% increased Chaos Damage 8% increased maximum Mana 10% increased Attack Speed with Two Handed Melee Weapons 20% increased Stun Duration with Two Handed Melee Weapons on Enemies -20% increased Damage with Two Handed Weapons -20% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon -8% increased Attack Damage while holding a Shield -Attack Skills deal 8% increased Damage with Ailments while holding a Shield +Attack Skills deal 8% increased Damage while holding a Shield +2% Chance to Block Attack Damage while holding a Shield 6% increased maximum Life +10 Life gained on Kill @@ -3088,8 +3538,8 @@ Attack Skills deal 8% increased Damage with Ailments while holding a Shield 5% increased maximum Energy Shield +10 to Strength 10% increased Physical Damage with Swords +Sword Attacks deal 10% increased Damage with Ailments 4% increased Attack Speed with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword 20% increased Armour Enemies have -5% to Total Physical Damage Reduction against your Hits +250 to Armour while affected by a Guard Skill Buff @@ -3103,17 +3553,15 @@ Knocks Back Enemies if you get a Critical Strike with a Bow 10% increased total Recovery per second from Mana Leech +2% Chance to Block Spell Damage while wielding a Staff 10% increased Spell Damage while wielding a Staff -20% increased Attack Damage while holding a Shield +Attack Skills deal 20% increased Damage while holding a Shield 25% increased Defences from Equipped Shield -Attack Skills deal 20% increased Damage with Ailments while holding a Shield +3% Chance to Block Attack Damage while holding a Shield -12% increased Weapon Damage while Dual Wielding -Attack Skills deal 12% increased Damage with Ailments while Dual Wielding +Attack Skills deal 12% increased Damage while Dual Wielding 20% increased Critical Strike Chance with Claws +10% to Critical Strike Multiplier with Claws 12% increased Physical Damage with Axes +Axe Attacks deal 12% increased Damage with Ailments 3% increased Attack Speed with Axes -12% increased Damage with Ailments from Attack Skills while wielding an Axe 10% increased Lightning Damage 5% chance to Shock +10 to Intelligence @@ -3122,12 +3570,14 @@ Attack Skills deal 12% increased Damage with Ailments while Dual Wielding 15% increased Global Accuracy Rating +20 to Dexterity +10 to Intelligence +8% increased maximum Life +2% additional Physical Damage Reduction while stationary +While stationary, gain 2% of Life Regenerated per second every second, up to a maximum of 2% 4% increased Attack Speed with Staves 6% increased Accuracy Rating with Staves +40 to Strength 8% increased Strength -15% increased Damage with Wands -15% increased Damage with Ailments from Attack Skills while wielding a Wand +Wand Attacks deal 15% increased Damage with Hits and Ailments +10 to Dexterity 8% increased Global Accuracy Rating +10 to Dexterity @@ -3135,10 +3585,9 @@ Attack Skills deal 12% increased Damage with Ailments while Dual Wielding 15% increased Totem Life Totems gain +10% to all Elemental Resistances 10% increased Brand Attachment range -18% increased Damage with Maces and Sceptres -8% increased Attack Speed with Maces and Sceptres -+200 to Accuracy Rating with Maces and Sceptres -18% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +Mace or Sceptre Attacks deal 18% increased Damage with Hits and Ailments +8% increased Attack Speed with Maces or Sceptres ++200 to Accuracy Rating with Maces or Sceptres 6% increased Movement Speed if you've Hit an Enemy Recently 18% increased Frenzy Charge Duration +10 to Dexterity @@ -3152,29 +3601,28 @@ Totems gain +10% to all Elemental Resistances 5% chance to Freeze, Shock and Ignite 10% increased Elemental Damage with Attack Skills +30 to Intelligence -10% increased Physical Damage with Maces and Sceptres -+15% to Critical Strike Multiplier with Maces and Sceptres -10% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +10% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 10% increased Damage with Ailments ++15% to Critical Strike Multiplier with Maces or Sceptres Regenerate 0.8% of Life per second 6% increased Evasion Rating and Armour 4% increased maximum Life 20% increased Projectile Speed 15% increased Projectile Damage +20 to Dexterity -10% increased Damage with Axes +Axe Attacks deal 10% increased Damage with Hits and Ailments 8% increased Accuracy Rating with Axes -10% increased Damage with Ailments from Attack Skills while wielding an Axe 8% increased maximum Mana 4% increased Cast Speed while Dual Wielding +10 to Strength -10% increased Accuracy Rating with Wands -10% increased Damage with Wands -10% increased Damage with Ailments from Attack Skills while wielding a Wand +14% increased Damage while wielding a Wand 4% increased Attack Speed while you have Fortify 12% increased Attack Damage while you have Fortify +10 to Strength 50% of Physical Damage Converted to Fire Damage Every 10 seconds, gain 100% of Physical Damage as Extra Fire Damage for 4 seconds +30% increased Armour +8% increased maximum Life 2% Chance to Block Spell Damage 5% increased maximum Mana 10% increased Attack Damage @@ -3208,6 +3656,9 @@ Every 14 seconds: Gain Chilling Conflux for 4 seconds Gain Shocking Conflux for 12% increased Cold Damage with Attack Skills 0.4% of Attack Damage Leeched as Mana 10% increased total Recovery per second from Mana Leech +Regenerate 1% of Energy Shield per second +Purity of Lightning has 30% reduced Mana Reservation ++20 to Intelligence +15 to maximum Mana 15% increased maximum Mana 20% increased Flask Charges gained @@ -3216,6 +3667,9 @@ You gain 4% increased Area of Effect for each Mine 20% increased Mine Throwing Speed if you Detonated Mines Recently 40% increased Damage if you Detonated Mines Recently Mines have 20% increased Detonation Speed +20% increased Duration of Elemental Ailments on Enemies +20% increased Damage with Hits and Ailments against Enemies affected by Ailments +20% increased Effect of Non-Damaging Ailments You can Cast an additional Brand Enemies take 10% increased Damage for each of your Brands Attached to them Brand Recall has 30% increased Cooldown Recovery Speed @@ -3223,13 +3677,17 @@ Brand Recall has 30% increased Cooldown Recovery Speed Minions have 8% increased maximum Life Minions have +8% to all Elemental Resistances Minions have +8% to Chaos Resistance ++3% to maximum Chaos Resistance 5% increased Attack Speed with Wands 8% increased Accuracy Rating with Wands -30% increased Damage with Staves ++20% to Damage over Time Multiplier for Ignite from Critical Strikes +20% increased Effect of Chill you inflict with Critical Strikes +20% increased Effect of Shock you inflict with Critical Strikes +40% increased Critical Strike Chance +Staff Attacks deal 30% increased Damage with Hits and Ailments 30% increased Critical Strike Chance with Staves 10% chance to gain an Endurance Charge on Melee Critical Strike -30% increased Damage with Ailments from Attack Skills while wielding a Staff -+2 to Melee range with Staves ++2 to Melee Strike Range with Staves 15% increased maximum Mana 10% increased Effect of your Curses if you've spent 200 total Mana Recently Remove a Curse when you use a Mana Flask @@ -3237,6 +3695,7 @@ Remove a Curse when you use a Mana Flask 10% increased Spell Damage Spell Skills have 5% increased Area of Effect 12% increased Attack Physical Damage +10% increased Effect of Auras on You for each Herald affecting you 12% increased Damage with Bows 12% increased Attack Speed with Bows 20% increased Global Accuracy Rating @@ -3249,17 +3708,19 @@ Spell Skills have 5% increased Area of Effect 60% increased Critical Strike Chance with Wands +30% to Critical Strike Multiplier with Wands +20 to Intelligence -30% increased Damage with Axes +20% increased Trap Damage +20% increased Mine Damage +Gain Arcane Surge when your Mine is Detonated targeting an Enemy +Gain Arcane Surge when your Trap is Triggered by an Enemy +Axe Attacks deal 30% increased Damage with Hits and Ailments +30% to Critical Strike Multiplier with Axes +200 to Accuracy Rating with Axes -30% increased Damage with Ailments from Attack Skills while wielding an Axe Channelling Skills deal 14% increased Damage +10 to maximum Mana 18% increased maximum Mana +5 Mana gained on Kill -10% increased Damage with Swords +Sword Attacks deal 10% increased Damage with Hits and Ailments 4% increased Attack Speed with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword +100 to Accuracy Rating 15% increased Global Accuracy Rating +10% to all Elemental Resistances @@ -3272,6 +3733,8 @@ Minions deal 10% increased Damage 25% increased Critical Strike Chance against Blinded Enemies 6% increased Elemental Damage 30% increased Critical Strike Chance with Mines +10% increased maximum Energy Shield +Regenerate 3.00% of Energy Shield per second while stationary 25% chance to gain a Frenzy Charge on Kill with Main Hand 25% chance to gain an Endurance Charge on Kill with Off Hand 10% more Physical Damage while at maximum Frenzy Charges @@ -3279,9 +3742,12 @@ Minions deal 10% increased Damage 10% increased Projectile Speed 6% increased Projectile Damage +30 to Strength ++20 to maximum Life +10% increased maximum Life 30% increased Critical Strike Chance with Wands +12% to Critical Strike Multiplier with Wands +10 to Dexterity ++10 to Dexterity 10% increased Evasion Rating and Armour 10% increased Onslaught Effect +10% to Chaos Damage over Time Multiplier @@ -3291,6 +3757,9 @@ Minions deal 10% increased Damage 12% increased Damage with Brand Skills 10% increased Brand Attachment range 25% increased Skill Effect Duration +Recover 50 Life when you Block +50% increased Defences from Equipped Shield ++5% Chance to Block Attack Damage while holding a Shield 5% increased Attack Speed 10% increased Projectile Damage 1% of Damage dealt by your Totems is Leeched to you as Life @@ -3306,7 +3775,11 @@ Ancestor Totems have 100% increased Activation range +10 to Dexterity 4% increased Attack Speed while Dual Wielding +10 to Intelligence +30% increased Projectile Damage +8% increased Attack and Cast Speed 10% increased Impale Effect +30% increased Evasion Rating and Armour +35% increased Physical Damage 12% increased Evasion Rating 10% chance to gain Phasing for 4 seconds on Kill 15% increased Evasion Rating @@ -3337,10 +3810,11 @@ Armour received from Body Armour is doubled 1.5% of Total Physical Damage prevented from Hits in the past 10 seconds is Regenerated as Life per second 100% increased Critical Strike Chance against Enemies that are affected by no Elemental Ailments +45% to Critical Strike Multiplier against Enemies that are affected by Elemental Ailments -20% increased Effect of non-Damaging Ailments on Enemies +20% increased Effect of Non-Damaging Ailments 20% increased Global Critical Strike Chance while wielding a Staff +8% to Global Critical Strike Multiplier while wielding a Staff Can Allocate Passives from the Shadow's starting point +Grants 2 Passive Skill Points 14% increased Elemental Damage with Wands 8% increased Attack Speed 15% increased Global Accuracy Rating @@ -3352,21 +3826,28 @@ Minions have 10% increased Movement Speed Minions deal 30% increased Damage Minions have 10% increased Attack Speed Minions have 10% increased Cast Speed +25% increased Projectile Damage +35% increased Projectile Damage with Hits against Nearby Enemies +30% increased Effect of Buffs granted by your Active Ancestor Totems +Totems' Action Speed cannot be modified to below base value Minions deal 10% increased Damage 10% increased Minion Accuracy Rating +5% Chance to Block Attack Damage while Dual Wielding 50% increased Block Recovery -24% increased Weapon Damage while Dual Wielding -Attack Skills deal 24% increased Damage with Ailments while Dual Wielding +Attack Skills deal 24% increased Damage while Dual Wielding +6% to all Elemental Resistances 10% increased Elemental Damage 30% Chance to Dodge Attack Hits. 50% less Armour, 30% less Energy Shield, 30% less Chance to Block Spell and Attack Damage 10% increased Physical Damage -12% increased Damage with Swords -12% increased Damage with Ailments from Attack Skills while wielding a Sword +Sword Attacks deal 12% increased Damage with Hits and Ailments +Channelling Skills deal 30% increased Damage +Regenerate 1.5% of Life per second while Channelling +3% to Fire Damage over Time Multiplier 12% increased Fire Damage +10 to Strength +1% increased Cold Damage per 25 Dexterity +1% increased Cold Damage per 25 Intelligence +1% increased Cold Damage per 25 Strength 0.4% of Spell Damage Leeched as Energy Shield 14% increased Trap Damage 20% increased Armour @@ -3388,22 +3869,33 @@ Gain 4% of Physical Damage as Extra Chaos Damage 4% increased Attack and Cast Speed 10% reduced Physical Damage taken over time 20% increased Physical Damage +30% increased Mine Damage +Can have up to 2 additional Remote Mines placed at a time +Mines have 20% increased Detonation Speed +30% increased Armour ++1% to all maximum Elemental Resistances +10 to maximum Mana 16% increased maximum Mana 40% increased Mana Regeneration Rate +20 to Intelligence -20% increased Damage with Claws +Claw Attacks deal 20% increased Damage with Hits and Ailments 10% increased Attack Speed with Claws 25% chance to Steal Power, Frenzy, and Endurance Charges on Hit with Claws -20% increased Damage with Ailments from Attack Skills while wielding a Claw ++20% to Lightning Resistance +40% chance to Avoid being Shocked +6% chance to Avoid Lightning Damage from Hits 10% increased Damage with Bows 16% increased Damage Over Time with Bow Skills 0.4% of Attack Damage Leeched as Mana 10% increased total Recovery per second from Mana Leech Can Allocate Passives from the Templar's starting point +Grants 2 Passive Skill Points 40% more chance to Evade Projectile Attacks 20% less chance to Evade Melee Attacks 10% increased Trap Damage 20% increased Trap Trigger Area of Effect +Minions deal 15% increased Damage +Minions created Recently have 10% increased Attack and Cast Speed +Minions created Recently have 30% increased Movement Speed 12% increased Attack Damage 10% increased Evasion Rating and Armour +40 to Intelligence @@ -3412,8 +3904,12 @@ Can Allocate Passives from the Templar's starting point Every 5 seconds, remove Curses and Elemental Ailments from you Every 5 seconds, Regenerate 30% of Life over one second 10% increased Physical Damage with Swords +Sword Attacks deal 10% increased Damage with Ailments 4% increased Attack Speed with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword +Minions have 10% increased maximum Life +Minions have 10% increased Movement Speed +Minions have 10% additional Physical Damage Reduction +Minions have +10% to Chaos Resistance 5% increased maximum Energy Shield 3% increased maximum Life 30% chance to Avoid being Ignited @@ -3426,8 +3922,7 @@ Every 5 seconds, Regenerate 30% of Life over one second Traps cannot be Damaged for 5 seconds after being Thrown Mines cannot be Damaged for 5 seconds after being thrown 12% increased Evasion Rating and Armour -12% increased Damage with Daggers -12% increased Damage with Ailments from Attack Skills while wielding a Dagger +Dagger Attacks deal 12% increased Damage with Hits and Ailments +20 to maximum Life 14% increased maximum Life 10% increased Movement Speed while Phasing @@ -3440,6 +3935,7 @@ Recover 2% of Mana when you Kill a Cursed Enemy Minions Regenerate 1.5% of Life per second 6% increased effect of Non-Curse Auras from your Skills +10 to maximum Energy Shield +3% increased maximum Energy Shield Minions have 10% increased maximum Life Minions deal 15% increased Damage 15% increased Lightning Damage @@ -3450,16 +3946,18 @@ Attacks used by Totems have 4% increased Attack Speed 4% increased maximum Life 10% increased Power Charge Duration 15% increased Critical Strike Chance +50% increased Critical Strike Chance while Channelling ++30% to Critical Strike Multiplier if you've been Channelling for at least 1 second +4% Elemental Resistances while holding a Shield 30% increased Defences from Equipped Shield 10% increased Elemental Damage with Attack Skills 10% increased Damage with Bows 20% increased Critical Strike Chance with Bows 10% increased Damage Over Time with Bow Skills -18% increased Physical Damage with Maces and Sceptres -40% increased Critical Strike Chance with Maces and Sceptres -+25% to Critical Strike Multiplier with Maces and Sceptres -18% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +18% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 18% increased Damage with Ailments +40% increased Critical Strike Chance with Maces or Sceptres ++25% to Critical Strike Multiplier with Maces or Sceptres +3% to all Elemental Resistances 10% increased Elemental Damage 50% increased Damage over Time @@ -3469,15 +3967,19 @@ Recover 4% of Mana on Kill 70% increased Recovery Rate of Life, Mana and Energy Shield if you've Killed an Enemy affected by your Damage Over Time Recently 20% increased Warcry Duration Regenerate 0.4% of Life per second -12% increased Damage with Staves -12% increased Damage with Ailments from Attack Skills while wielding a Staff +Staff Attacks deal 12% increased Damage with Hits and Ailments +4% Chance to Block Attack Damage while wielding a Staff 10% increased Projectile Damage 10% increased Critical Strike Chance 12% increased Elemental Damage +10 to Strength +30 to Dexterity ++8% to Fire Damage over Time Multiplier +20% increased Fire Damage +8% increased Area of Effect 12% increased Elemental Damage with Wands ++10% to Damage over Time Multiplier ++30% Chaos Resistance against Damage Over Time Spend Energy Shield before Mana for Skill Costs Energy Shield protects Mana instead of Life 50% less Energy Shield Recharge Rate 10% increased Evasion Rating 5% increased maximum Energy Shield @@ -3488,21 +3990,18 @@ Damage with Weapons Penetrates 5% Elemental Resistance 10% increased Attack Damage 6% increased Spell Damage 4% increased Spell Damage per Power Charge -8% increased Damage with Daggers +Dagger Attacks deal 8% increased Damage with Hits and Ailments 4% increased Attack Speed with Daggers Enemies have -5% to Total Physical Damage Reduction against your Hits -8% increased Damage with Ailments from Attack Skills while wielding a Dagger +6% to Cold Damage over Time Multiplier 15% increased Life Recovery from Flasks You have Fortify during Effect of any Life Flask +3% Chance to Block Attack Damage while Dual Wielding -10% increased Weapon Damage while Dual Wielding -Attack Skills deal 10% increased Damage with Ailments while Dual Wielding -20% increased Damage with Daggers +Attack Skills deal 10% increased Damage while Dual Wielding +Dagger Attacks deal 20% increased Damage with Hits and Ailments 40% increased Critical Strike Chance with Daggers +20% to Critical Strike Multiplier with Daggers +150 to Accuracy Rating with Daggers -20% increased Damage with Ailments from Attack Skills while wielding a Dagger +10 to Intelligence 25% increased Melee Critical Strike Chance +10% to Melee Critical Strike Multiplier @@ -3512,36 +4011,47 @@ Attacks have 15% chance to cause Bleeding 4% increased Attack Speed while you have Fortify 12% increased Attack Damage while you have Fortify 10% increased Physical Damage with Two Handed Melee Weapons +Attacks with Two Handed Melee Weapons deal 10% increased Damage with Ailments 3% increased Attack Speed with Two Handed Melee Weapons -10% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +15% to Melee Critical Strike Multiplier Summoned Golems are Immune to Elemental Damage 20% increased Damage per Summoned Golem 25% increased Effect of Buffs granted by your Golems per Summoned Golem +1 to maximum number of Golems -10% increased Damage with Swords +Sword Attacks deal 10% increased Damage with Hits and Ailments 4% increased Attack Speed with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword +10 to Dexterity 10% increased Elemental Damage with Attack Skills -16% increased Damage with Claws +Claw Attacks deal 16% increased Damage with Hits and Ailments 12% increased Accuracy Rating with Claws +30% to Critical Strike Multiplier with Claws -16% increased Damage with Ailments from Attack Skills while wielding a Claw 15% increased Chaos Damage +30% increased Totem Life +Totems have 10% additional Physical Damage Reduction +Totems gain +40% to Chaos Resistance +30% increased Fire Damage +Ignited Enemies you hit are destroyed on Kill 25% increased Lightning Damage Damage Penetrates 6% Lightning Resistance 0.2% of Lightning Damage Leeched as Energy Shield Can Allocate Passives from the Witch's starting point +Grants 2 Passive Skill Points 4% chance to Dodge Attack Hits +15% chance to Impale Enemies on Hit with Attacks +Impales you inflict last 1 additional Hit 1% additional Physical Damage Reduction per Endurance Charge 8% reduced Elemental Damage taken while at Maximum Endurance Charges +4% to Chaos Resistance per Endurance Charge 4% increased Attack Speed +3% Chance to Block Attack Damage while Dual Wielding -8% increased Weapon Damage while Dual Wielding +8% increased Attack Damage while Dual Wielding 12% increased Evasion Rating 20% increased Blind duration ++18% to Damage over Time Multiplier for Ailments from Critical Strikes +40% increased Critical Strike Chance +25% increased Life Recovery from Flasks +25% increased Mana Recovery from Flasks +20% increased Flask Effect Duration Enemies Taunted by you take 20% increased Damage Enemies Taunted by you cannot Evade Attacks 5% reduced Enemy Stun Threshold @@ -3558,6 +4068,10 @@ Regenerate 2% of Life per second 8% increased maximum Mana 4% increased Attack Speed 10% increased Global Accuracy Rating +5% increased Effect of your Curses +20% increased Damage if you've Killed a Cursed Enemy Recently +Enemies Poisoned by you cannot Regenerate Life ++10% to Damage over Time Multiplier for Poison while wielding a Claw or Dagger 8% increased maximum Mana 10% increased Effect of Arcane Surge on you Gain 75% increased Area of Effect for 5 seconds @@ -3565,6 +4079,9 @@ Gain 75% increased Elemental Damage for 5 seconds Damage with Weapons Penetrates 8% Cold Resistance 30% increased Cold Damage with Attack Skills 10% increased Effect of Chill +25% increased Totem Damage +25% increased Totem Placement speed +25% increased Totem Placement range Regenerate 0.5% of Life per second 10% increased Elemental Damage +14 to maximum Energy Shield @@ -3574,14 +4091,19 @@ Flasks applied to you have 5% increased Effect 4% increased Attack Speed 4% increased Cast Speed 16% increased Spell Damage -14% increased Physical Damage with Maces and Sceptres -4% reduced Enemy Stun Threshold with Maces and Sceptres -14% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +14% increased Physical Damage with Maces or Sceptres +Mace or Sceptre Attacks deal 14% increased Damage with Ailments +4% reduced Enemy Stun Threshold with Maces or Sceptres Removes all mana. Spend Life instead of Mana for Skills +Cannot Ignite, Chill, Freeze or Shock Critical Strikes inflict Scorch, Brittle and Sapped 25% chance to gain 25% of Non-Chaos Damage with Hits as Extra Chaos Damage 15% chance to gain 50% of Non-Chaos Damage with Hits as Extra Chaos Damage 5% chance to gain 100% of Non-Chaos Damage with Hits as Extra Chaos Damage 15% increased Lightning Damage +20% increased Totem Damage +20% increased Totem Duration +Attack Skills have +1 to maximum number of Summoned Ballista Totems +Grants 1 Passive Skill Point 5% increased Evasion Rating per Frenzy Charge 8% increased Spell Damage while Dual Wielding 2% increased Attack Speed while Dual Wielding @@ -3592,29 +4114,37 @@ Inherent effects from having Rage are Tripled Cannot be Stunned while you have at least 25 Rage 5% increased maximum Mana Minions deal 10% increased Damage +30% increased Armour +Gain an Endurance Charge every second if you've been Hit Recently 6% increased Mine Throwing Speed 6% increased effect of Non-Curse Auras from your Skills Channelling Skills deal 14% increased Damage 4% increased Attack Speed with Bows 20% increased Critical Strike Chance with Bows 20% increased Physical Damage with Swords +Sword Attacks deal 20% increased Damage with Ailments 40% increased Critical Strike Chance with Swords +15% to Critical Strike Multiplier with Swords -20% increased Damage with Ailments from Attack Skills while wielding a Sword -25% increased Attack Damage while holding a Shield +10% increased Damage per Summoned Golem +40% increased Effect of Buffs granted by your Golems +Golems have 25% increased Maximum Life +Attack Skills deal 25% increased Damage while holding a Shield 6% increased Attack Speed while holding a Shield -Attack Skills deal 25% increased Damage with Ailments while holding a Shield +3% Chance to Block Attack Damage while holding a Shield 25% increased Stun Duration on Enemies 12% increased Physical Damage with Axes +Axe Attacks deal 12% increased Damage with Ailments 3% increased Attack Speed with Axes -12% increased Damage with Ailments from Attack Skills while wielding an Axe 8% increased Global Accuracy Rating 12% increased Evasion Rating +40 to Intelligence +Attacks with One Handed Weapons deal 20% increased Damage with Ailments 14% increased Damage with One Handed Weapons -20% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon 6% increased maximum Energy Shield +Axe or Sword Attacks deal 15% increased Damage with Ailments +10% increased Impale Effect +10% chance to Impale Enemies on Hit with Axes or Swords +15% increased Physical Damage with Axes or Swords +10% to Cold Damage over Time Multiplier 12% increased Cold Damage Enemies Become Chilled as they Unfreeze @@ -3624,7 +4154,10 @@ Enemies Become Chilled as they Unfreeze 8% increased maximum Life +8% to Chaos Resistance +10 to Strength +You and nearby Allies have 50% increased Critical Strike Chance +You and nearby Allies have +15% to Critical Strike Multiplier +10 to Intelligence +Nearby Enemies are Chilled 4% increased maximum Life 10% increased Totem Placement speed Attacks used by Totems have 5% increased Attack Speed @@ -3638,8 +4171,7 @@ Attacks used by Totems have 5% increased Attack Speed 4% increased Attack and Cast Speed 20% of Physical Damage Converted to Cold Damage 12% increased Cold Damage with Attack Skills -12% increased Damage with Maces and Sceptres -12% increased Damage with Ailments from Attack Skills while wielding a Mace or Sceptre +Mace or Sceptre Attacks deal 12% increased Damage with Hits and Ailments 8% increased maximum Mana 8% increased Cold Damage 20% increased Chill Duration on Enemies @@ -3659,9 +4191,17 @@ Regenerate 1% of Life per Second for each Trap Triggered Recently, up to 10% per 50% increased Melee Critical Strike Chance +25% to Melee Critical Strike Multiplier 8% increased Evasion Rating ++20% to Cold Resistance +8% increased Attack and Cast Speed +20% increased Life Recovery from Flasks +1 to Minimum Frenzy Charges 5% chance to gain a Frenzy Charge on Kill 5% increased Damage per Frenzy Charge +0.4% of Attack Damage Leeched as Life +Regenerate 1.5% of Life per second ++4% Chance to Block Attack Damage +Minions Regenerate 1% of Life per second +Minions have 10% chance to deal Double Damage while they are on Full Life +3% to Chaos Damage over Time Multiplier 8% increased Chaos Damage 10% increased Elemental Damage @@ -3673,12 +4213,17 @@ Regenerate 1% of Life per Second for each Trap Triggered Recently, up to 10% per 3% increased Attack Speed 2% increased Movement Speed +4% Chance to Block Attack Damage while Dual Wielding or holding a Shield -20% increased Damage with Swords +Sword Attacks deal 20% increased Damage with Hits and Ailments 8% increased Attack Speed with Swords -20% increased Damage with Ailments from Attack Skills while wielding a Sword 10% chance to gain a Frenzy Charge when you Block Attack Damage 25% increased Critical Strike Chance +10 to Dexterity +You can Cast an additional Brand +12% increased Cast Speed with Brand Skills +Purity of Elements has 30% increased Aura Effect +Purity of Fire has 30% increased Aura Effect +Purity of Ice has 30% increased Aura Effect +Purity of Lightning has 30% increased Aura Effect +10 to Dexterity Regenerate 0.6% of Life per second 10% increased Global Accuracy Rating @@ -3692,7 +4237,8 @@ Regenerate 0.6% of Life per second +10 to Dexterity 10% increased Projectile Speed 10% increased Projectile Attack Damage -+10 to maximum Energy Shield +Lightning Damage with Non-Critical Strikes is Lucky ++15 to maximum Energy Shield Minions have 10% increased maximum Life 30% increased total Recovery per second from Energy Shield Leech 6% increased Evasion Rating and Armour @@ -3710,24 +4256,23 @@ Flasks applied to you have 5% increased Effect 10% increased Projectile Damage 25% increased Defences from Equipped Shield +2% Chance to Block Attack Damage while holding a Shield -24% increased Damage with Swords +Sword Attacks deal 24% increased Damage with Hits and Ailments 6% increased Attack Speed with Swords 20% increased Evasion Rating +200 to Accuracy Rating with Swords -24% increased Damage with Ailments from Attack Skills while wielding a Sword 10% increased Damage taken 40% more Damage +10 to Strength 10% increased Global Accuracy Rating 20% increased Projectile Damage +20 to Strength -20% increased Damage with Axes +Axe Attacks deal 20% increased Damage with Hits and Ailments 12% increased Accuracy Rating with Axes 15% increased Attack Speed while Leeching -20% increased Damage with Ailments from Attack Skills while wielding an Axe +You count as Dual Wielding while you are Unencumbered 60% more Attack Speed while you are Unencumbered 14 to 20 Added Attack Physical Damage per 10 Dexterity while you are Unencumbered 6% increased maximum Energy Shield 12% increased Physical Damage with Two Handed Melee Weapons -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments +30 to Intelligence 8% increased Global Accuracy Rating 12% increased Evasion Rating @@ -3754,28 +4299,43 @@ Minions deal 15% increased Damage Minions deal 10% increased Damage 10% increased Global Accuracy Rating 15% increased Critical Strike Chance -10% increased Accuracy Rating with Maces and Sceptres -25% increased Elemental Damage with Maces and Sceptres +10% increased Area of Effect +10% increased Area Damage ++10% to Critical Strike Multiplier +10% increased Accuracy Rating with Maces or Sceptres +25% increased Elemental Damage with Maces or Sceptres Damage with Weapons Penetrates 5% Elemental Resistance +3% Chance to Block Spell Damage +30% increased Armour ++3% Chance to Block Attack Damage 10% increased Mana Recovery from Flasks 10% reduced Flask Charges used from Mana Flasks +Attacks with One Handed Weapons deal 30% increased Damage with Ailments 8% increased Attack Speed with One Handed Melee Weapons 20% increased Damage with One Handed Weapons -30% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon +6% to all Elemental Resistances 10% increased Elemental Damage 10% increased Evasion Rating 4% increased maximum Life +20% increased Totem Damage +30% increased Totem Duration +30% increased Totem Damage if you haven't Summoned a Totem in the past 2 seconds +6% to Damage over Time Multiplier for Bleeding +Axe or Sword Attacks deal 20% increased Damage with Ailments +20% increased Physical Damage with Axes or Swords ++10% to Physical Damage over Time Multiplier while wielding an Axe or Sword +10 to Dexterity 14% increased Trap Damage 14% increased Mine Damage 30% increased Totem Damage Attack Skills have +1 to maximum number of Summoned Ballista Totems 50% increased Effect of Buffs granted by your Active Ancestor Totems ++8% to Chaos Damage over Time Multiplier +16% increased maximum Mana +20% increased Mana Regeneration Rate 10% increased Physical Damage with Swords +Sword Attacks deal 10% increased Damage with Ailments +16% to Critical Strike Multiplier with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword +1000 to Accuracy Rating Cannot be Chilled Cannot be Stunned @@ -3788,7 +4348,7 @@ Gain an Endurance Charge every second if you've been Hit Recently Damage penetrates 25% Cold Resistance while affected by Herald of Ice Damage penetrates 25% Fire Resistance while affected by Herald of Ash Damage penetrates 25% Lightning Resistance while affected by Herald of Thunder -25% increased Effect of Heralds on you +25% increased Effect of Herald Buffs on you 25% reduced Mana Reservation of Herald Skills +10 to Strength 10% increased Lightning Damage @@ -3808,8 +4368,16 @@ You and nearby Party Members Share Power, Frenzy and Endurance Charges with each 10% increased Attack Damage 15% increased Critical Strike Chance 5% increased maximum Life +40% increased Critical Strike Chance with Two Handed Melee Weapons +8% chance to deal Double Damage if you've dealt a Critical Strike with a Two Handed Melee Weapon Recently 15% increased Evasion Rating and Armour 20% increased Taunt Duration +25% increased Area of Effect of Curse Skills +5% increased Effect of your Curses +Curse Skills have 5% reduced Mana Reservation +Grace has 30% increased Aura Effect +Determination has 30% increased Aura Effect +Discipline has 30% increased Aura Effect Skills Chain +1 times Projectiles deal 10% more Damage for each remaining Chain 30% increased Melee Critical Strike Chance @@ -3827,18 +4395,20 @@ Immune to Elemental Ailments during any Flask Effect +3% to all Elemental Resistances 4% increased maximum Life +5 Life gained on Kill -6% increased Accuracy Rating with Maces and Sceptres -12% increased Elemental Damage with Maces and Sceptres +6% increased Accuracy Rating with Maces or Sceptres +12% increased Elemental Damage with Maces or Sceptres 60% increased Critical Strike Chance for Spells +15% to Critical Strike Multiplier for Spells Minions have +15% to Chaos Resistance Minions have 25% chance to gain Unholy Might for 4 seconds on Kill Minions gain 10% of Maximum Life as Extra Maximum Energy Shield +10% chance to Freeze, Shock and Ignite while affected by a Herald +25% increased Elemental Damage while affected by a Herald 8% increased Armour 4% increased maximum Life 5% increased maximum Life 15% increased Physical Damage with Swords -25% increased Damage with Ailments from Attack Skills while wielding a Sword +Sword Attacks deal 25% increased Damage with Ailments 10% increased Trap Damage 10% increased Mine Damage 40% chance to Avoid being Stunned while Channelling @@ -3850,19 +4420,24 @@ Channelling Skills have -3 to Total Mana Cost 0.4% of Physical Attack Damage Leeched as Life 10% increased Global Accuracy Rating 10% increased Projectile Damage +8% increased maximum Mana +5% increased Intelligence +Grants 1 Passive Skill Point 18% increased Power Charge Duration -12% increased Damage with Claws +Claw Attacks deal 12% increased Damage with Hits and Ailments 0.4% of Attack Damage Leeched as Life 20% increased total Recovery per second from Life Leech -12% increased Damage with Ailments from Attack Skills while wielding a Claw +2% Chance to Block Spell Damage while holding a Shield +6% Elemental Resistances while holding a Shield 3% increased Attack Speed with Wands 6% increased Accuracy Rating with Wands 5% increased maximum Mana 3% reduced Mana Cost of Skills +Minions have 15% increased maximum Life +Regenerate 2% of Life per second if a Minion has Died Recently +Minions Recover 4% of Life on Minion Death +Attacks with Melee Weapons deal 4% increased Damage with Ailments 4% increased Melee Physical Damage -4% increased Damage with Ailments from Attack Skills while wielding a Melee Weapon 15% increased Armour 20% increased Stun Duration on Enemies +10 to Strength @@ -3884,11 +4459,20 @@ Gain a Power Charge after Spending a total of 200 Mana +14 to maximum Energy Shield 25% increased Mana Regeneration Rate +30 to Intelligence +Attack Skills deal 20% increased Damage while Dual Wielding +4% chance to Dodge Attack or Spell Hits if you've Hit an Enemy Recently +8% increased effect of Non-Curse Auras from your Skills +Auras from your Skills grant 0.2% of Life Regenerated per second to you and Allies 8% increased Melee Physical Damage 4% increased Attack Speed 30% increased Shock Duration on Enemies 5% chance to Shock 10% increased Effect of Shock +10% increased maximum Energy Shield +8% increased maximum Life +25% increased Life Recovery from Flasks +25% increased Mana Recovery from Flasks +3% additional Physical Damage Reduction during Effect of any Life or Mana Flask 10% increased Projectile Damage Channelling Skills deal 12% increased Attack Damage 3% increased Attack Speed while holding a Shield @@ -3904,14 +4488,16 @@ Cannot take Reflected Physical Damage 3% increased Cast Speed while holding a Shield 6% increased Armour 4% increased maximum Life -14% increased Damage with Wands -14% increased Damage with Ailments from Attack Skills while wielding a Wand +10% increased Damage while wielding a Wand +4% increased Attack Speed with Wands 10% increased Trap Damage 10% increased Mine Damage +6% to all Elemental Resistances 3% increased Attack Speed while holding a Shield 10% increased Elemental Damage with Attack Skills +10 to Strength +8% reduced Enemy Stun Threshold ++20% to Critical Strike Multiplier 30% increased Totem Life Totems gain +20% to all Elemental Resistances Totems have 15% additional Physical Damage Reduction @@ -3928,6 +4514,7 @@ Channelling Skills have 6% increased Attack Speed Removes Bleeding when you use a Flask Gain a Flask Charge when you deal a Critical Strike Can Allocate Passives from the Duelist's starting point +Grants 2 Passive Skill Points 10% increased Warcry Cooldown Recovery Speed 20% increased Critical Strike Chance for Spells 15% increased Armour @@ -3944,6 +4531,9 @@ Life Regeneration is applied to Energy Shield instead +1% Chance to Block Attack Damage for each time you've Blocked in the past 10 seconds 12% increased Attack Physical Damage 6% increased Attack Speed +5% increased maximum Life +10% increased Area of Effect +3% increased Character Size 10% increased Totem Damage 15% increased Totem Placement speed 24% increased Totem Damage @@ -3958,9 +4548,9 @@ Brand Skills have 20% increased Duration 15% increased Critical Strike Chance +10 to Strength 20% increased Physical Damage with One Handed Melee Weapons +Attacks with One Handed Melee Weapons deal 20% increased Damage with Ailments 0.6% of Physical Attack Damage Leeched as Life 10% increased Maximum total Recovery per second from Life Leech -20% increased Damage with Ailments from Attack Skills while wielding a One Handed Weapon 20% increased Attack Damage while Leeching +10 to Dexterity 5% increased maximum Energy Shield @@ -3982,11 +4572,13 @@ Damage with Weapons Penetrates 5% Elemental Resistance Cold Spells have 10% of Physical Damage Converted to Cold Damage 14% increased Damage +14 to maximum Mana +20% increased Area Damage +3% increased Area of Effect per Power Charge 40% increased Mana Regeneration Rate Regenerate 1% of Life per second 10% increased Physical Damage with Swords +Sword Attacks deal 10% increased Damage with Ailments +16% to Critical Strike Multiplier with Swords -10% increased Damage with Ailments from Attack Skills while wielding a Sword 8% increased Attack Speed with Staves 12% increased Accuracy Rating with Staves 30% increased Critical Strike Chance with Staves @@ -3999,35 +4591,45 @@ Enemies have -12% to Total Physical Damage Reduction against your Hits 12% increased Evasion Rating +3% to all Elemental Resistances 12% increased Physical Damage with Wands -12% increased Damage with Ailments from Attack Skills while wielding a Wand +Wand Attacks deal 12% increased Damage with Ailments 30% chance to Avoid being Chilled 30% chance to Avoid being Frozen 5% chance to Avoid Cold Damage from Hits +30% increased Evasion Rating +8% increased maximum Life 12% increased Area of Effect of Aura Skills 15% increased Accuracy Rating with Staves 40% increased Critical Strike Chance with Staves +20% to Critical Strike Multiplier with Staves Knocks Back Enemies if you get a Critical Strike with a Staff 8% increased maximum Mana ++4% Chance to Block Attack Damage +Enemies Taunted by you take 6% increased Damage +2% Chance to Block Spell Damage while holding a Shield +6% Elemental Resistances while holding a Shield 10% increased Elemental Damage 12% increased Damage with Daggers +Dagger Attacks deal 20% increased Damage with Ailments 10% chance to Poison on Hit with Attacks -20% increased Damage with Ailments from Attack Skills while wielding a Dagger 5% increased maximum Life Chills from your Hits always reduce Action Speed by at least 10% 20% more Damage with Ignite -30% increased Effect of non-Damaging Ailments on Enemies +30% increased Effect of Non-Damaging Ailments Shocks from your Hits always increase Damage taken by at least 15% Gain 10% of Wand Physical Damage as Extra Cold Damage +10 to Dexterity +6% increased maximum Life +10% increased maximum Mana ++13% to Chaos Resistance Auras from your Skills grant +1% Physical Damage Reduction to you and Allies Auras from your Skills grant 0.2% of Life Regenerated per second to you and Allies 3% increased Attack Speed 10% chance to Poison on Hit with Attacks +6% increased maximum Energy Shield +10% faster start of Energy Shield Recharge +15% increased Energy Shield Recharge Rate 12% increased Physical Damage with Two Handed Melee Weapons -12% increased Damage with Ailments from Attack Skills while wielding a Two Handed Weapon +Attacks with Two Handed Melee Weapons deal 12% increased Damage with Ailments 10% increased Trap Damage 10% increased Mine Damage 4% increased Movement Speed @@ -4035,27 +4637,33 @@ Auras from your Skills grant 0.2% of Life Regenerated per second to you and Alli +1 to Minimum Endurance Charges 5% chance to gain an Endurance Charge on Kill 5% increased Damage per Endurance Charge ++15% to Lightning Resistance 4% increased Attack Speed 5% increased maximum Life 0.6% of Attack Damage Leeched as Mana 25% increased Maximum total Recovery per second from Mana Leech +2 Mana gained for each Enemy hit by your Attacks 20% increased total Recovery per second from Mana Leech -24% increased Damage with Swords +Sword Attacks deal 24% increased Damage with Hits and Ailments 6% increased Attack Speed with Swords Enemies have -10% to Total Physical Damage Reduction against your Hits -24% increased Damage with Ailments from Attack Skills while wielding a Sword -+1 to Melee range with Swords ++1 to Melee Strike Range with Swords 30% increased Area of Effect of Aura Skills 6% increased effect of Non-Curse Auras from your Skills 8% increased maximum Life 6% reduced Mana Cost of Skills +24% increased Damage over Time +6% increased maximum Energy Shield +Regenerate 2% of Energy Shield per second if you\u2019ve Killed an Enemy Recently +Attacks with Melee Weapons deal 12% increased Damage with Ailments 12% increased Melee Physical Damage while you have Fortify 5% increased Effect of Fortify on you -12% increased Damage with Ailments from Attack Skills while wielding a Melee Weapon +8% increased Attack and Cast Speed while Channelling +Immune to Curses while Channelling 12% increased Physical Damage with Axes +Axe Attacks deal 12% increased Damage with Ailments 5% increased Area of Effect -12% increased Damage with Ailments from Attack Skills while wielding an Axe +10% chance to throw up to 1 additional Trap or Mine +2 to Level of all Minion Skill Gems Spells Cast by Totems have 5% increased Cast Speed Attacks used by Totems have 8% increased Attack Speed @@ -4072,8 +4680,8 @@ Regenerate 1% of Life per second +10 to maximum Life 4% increased Movement Speed 20% increased Damage Over Time with Bow Skills -8% increased Attack Speed with Staves -8% increased Cast Speed while wielding a Staff +10% increased Attack Speed with Staves +10% increased Cast Speed while wielding a Staff 3% increased Area of Effect per Power Charge 10% increased Area of Effect while wielding a Staff 6% reduced Elemental Damage taken @@ -4086,3 +4694,6 @@ Flasks gain 3 Charges every 3 seconds 25% increased Knockback Distance Regenerate 0.2% of Life per second per Endurance Charge +30% to Critical Strike Multiplier ++10 to Strength ++1% to Critical Strike Chance of Herald Skills ++25% to Critical Strike Multiplier if you dealt a Critical Strike with a Herald Skill Recently From c4e8b426b0628da00a0dac3b39860af4ce59f809 Mon Sep 17 00:00:00 2001 From: brather1ng <7596346+brather1ng@users.noreply.github.com> Date: Wed, 11 Mar 2020 17:28:44 +0100 Subject: [PATCH 2/3] Update Data and Builders for first batch of 3.10.0 skill tree mods --- .../Actions/ActionBuildersTest.cs | 2 +- .../Actions/ActionBuilder.cs | 12 +-- .../Actions/ActionBuilders.cs | 5 +- .../Actions/BlockActionBuilder.cs | 9 +- .../Damage/DamageTypeBuilder.cs | 6 ++ .../Effects/AilmentBuilders.cs | 1 + .../Stats/MetaStatBuilders.cs | 3 - .../Builders/Actions/IActionBuilders.cs | 2 + .../Builders/Actions/IBlockActionBuilder.cs | 3 + .../Builders/Damage/IDamageTypeBuilder.cs | 2 + .../Builders/Effects/IAilmentBuilders.cs | 2 + .../Builders/Stats/IMetaStatBuilders.cs | 2 - .../ActionConditionMatchers.cs | 7 ++ .../ActionMatchers.cs | 16 ++-- .../BuffMatchers.cs | 2 +- .../ConditionMatchers.cs | 84 +++++++++++++++---- .../FormAndStatMatchers.cs | 3 +- .../GemTagMatchers.cs | 5 ++ .../GeneralStatMatchers.cs | 51 +++++++++-- .../GivenStats/AllyMechanics.cs | 21 +++-- .../KeywordMatchers.cs | 1 + .../ValueConversionMatchers.cs | 8 +- .../Data/NotParseableStatLines.txt | 5 ++ .../Data/NotYetParseableStatLines.txt | 5 ++ .../MechanicsTest.cs | 2 +- .../Skills/ActiveSkillType.cs | 1 + .../Skills/Keyword.cs | 6 ++ 27 files changed, 208 insertions(+), 58 deletions(-) diff --git a/PoESkillTree.Engine.Computation.Builders.Tests/Actions/ActionBuildersTest.cs b/PoESkillTree.Engine.Computation.Builders.Tests/Actions/ActionBuildersTest.cs index f92d58a7..e5e2729c 100644 --- a/PoESkillTree.Engine.Computation.Builders.Tests/Actions/ActionBuildersTest.cs +++ b/PoESkillTree.Engine.Computation.Builders.Tests/Actions/ActionBuildersTest.cs @@ -23,7 +23,7 @@ public void HitWithOnBuildsToCorrectResult() var result = sut.HitWith(damageTypeBuilder).On.Build(); var stat = result.StatConverter(InputStat).BuildToSingleStat(); - Assert.AreEqual("stat.On(FireHit).By(Character)", stat.Identity); + Assert.AreEqual("stat.On(Hit.Fire).By(Character)", stat.Identity); } [Test] diff --git a/PoESkillTree.Engine.Computation.Builders/Actions/ActionBuilder.cs b/PoESkillTree.Engine.Computation.Builders/Actions/ActionBuilder.cs index 12a9e64e..5f0b91e0 100644 --- a/PoESkillTree.Engine.Computation.Builders/Actions/ActionBuilder.cs +++ b/PoESkillTree.Engine.Computation.Builders/Actions/ActionBuilder.cs @@ -21,17 +21,17 @@ public class ActionBuilder : IActionBuilder protected IStatFactory StatFactory { get; } private readonly ICoreBuilder _identity; - private readonly IEntityBuilder _entity; + protected IEntityBuilder Entity { get; } public ActionBuilder(IStatFactory statFactory, ICoreBuilder identity, IEntityBuilder entity) { StatFactory = statFactory; _identity = identity; - _entity = entity; + Entity = entity; } public IActionBuilder Resolve(ResolveContext context) => - new ActionBuilder(StatFactory, _identity.Resolve(context), _entity); + new ActionBuilder(StatFactory, _identity.Resolve(context), Entity); public IActionBuilder By(IEntityBuilder source) => new ActionBuilder(StatFactory, _identity, source); @@ -46,7 +46,7 @@ public IActionBuilder By(IEntityBuilder source) => private IEnumerable ConvertStat(BuildParameters parameters, ICoreBuilder identity, IStat stat) { var builtIdentity = identity.Build(parameters); - return from e in _entity.Build(stat.Entity) + return from e in Entity.Build(stat.Entity) let i = $"On({builtIdentity}).By({e})" let registrationType = GainOnAction(stat, builtIdentity, e) select StatFactory.CopyWithSuffix(stat, i, stat.DataType, registrationType); @@ -58,7 +58,7 @@ public IConditionBuilder InPastXSeconds(IValueBuilder seconds) => private IValue BuildInPastXSecondsValue(BuildParameters parameters, IValueBuilder seconds) { - var builtEntity = BuildEntity(parameters, _entity); + var builtEntity = BuildEntity(parameters, Entity); var recentOccurrencesStat = BuildRecentOccurrencesStat(parameters, builtEntity); var lastOccurenceStat = BuildLastOccurrenceStat(parameters, builtEntity); var secondsValue = seconds.Build(parameters); @@ -82,7 +82,7 @@ bool Calculate(IValueCalculationContext context) new ValueBuilder(new ValueBuilderImpl(BuildCountRecentlyValue, c => Resolve(c).CountRecently)); private IValue BuildCountRecentlyValue(BuildParameters parameters) - => new StatValue(BuildRecentOccurrencesStat(parameters, BuildEntity(parameters, _entity))); + => new StatValue(BuildRecentOccurrencesStat(parameters, BuildEntity(parameters, Entity))); private IStat BuildLastOccurrenceStat(BuildParameters parameters, Entity entity) => StatFactory.FromIdentity($"{Build(parameters)}.LastOccurrence", entity, typeof(uint), diff --git a/PoESkillTree.Engine.Computation.Builders/Actions/ActionBuilders.cs b/PoESkillTree.Engine.Computation.Builders/Actions/ActionBuilders.cs index 49c25c84..12ec4134 100644 --- a/PoESkillTree.Engine.Computation.Builders/Actions/ActionBuilders.cs +++ b/PoESkillTree.Engine.Computation.Builders/Actions/ActionBuilders.cs @@ -41,9 +41,12 @@ private static string BuildHitWithIdentity(BuildParameters parameters, IKeywordB throw new ParseException( $"IDamageTypeBuilders passed to {nameof(HitWith)} must build to exactly one damage type." + $" {string.Join(",", damageTypes)} given"); - return damageTypes.Single() + "Hit"; + return $"Hit.{damageTypes.Single()}"; } + public IActionBuilder HitWith(AttackDamageHand hand) => + new ActionBuilder(_statFactory, CoreBuilder.Create($"Hit.{hand}"), _entity); + public IActionBuilder SavageHit => Create(); public ICriticalStrikeActionBuilder CriticalStrike => new CriticalStrikeActionBuilder(_statFactory, _entity); public IActionBuilder NonCriticalStrike => Create(); diff --git a/PoESkillTree.Engine.Computation.Builders/Actions/BlockActionBuilder.cs b/PoESkillTree.Engine.Computation.Builders/Actions/BlockActionBuilder.cs index 5a344750..89cce43f 100644 --- a/PoESkillTree.Engine.Computation.Builders/Actions/BlockActionBuilder.cs +++ b/PoESkillTree.Engine.Computation.Builders/Actions/BlockActionBuilder.cs @@ -1,4 +1,5 @@ -using PoESkillTree.Engine.Computation.Builders.Stats; +using System.Runtime.CompilerServices; +using PoESkillTree.Engine.Computation.Builders.Stats; using PoESkillTree.Engine.Computation.Common.Builders.Actions; using PoESkillTree.Engine.Computation.Common.Builders.Entities; using PoESkillTree.Engine.Computation.Common.Builders.Stats; @@ -20,5 +21,11 @@ public BlockActionBuilder(IStatFactory statFactory, IEntityBuilder entity) public IStatBuilder SpellChance => StatBuilderUtils.FromIdentity(StatFactory, "Block.ChanceAgainstSpells", typeof(uint)); + + public IActionBuilder Attack => Create(); + public IActionBuilder Spell => Create(); + + private IActionBuilder Create([CallerMemberName] string identity = "") => + new ActionBuilder(StatFactory, CoreBuilder.Create("Block." + identity), Entity); } } \ No newline at end of file diff --git a/PoESkillTree.Engine.Computation.Builders/Damage/DamageTypeBuilder.cs b/PoESkillTree.Engine.Computation.Builders/Damage/DamageTypeBuilder.cs index 13a972f0..c260134d 100644 --- a/PoESkillTree.Engine.Computation.Builders/Damage/DamageTypeBuilder.cs +++ b/PoESkillTree.Engine.Computation.Builders/Damage/DamageTypeBuilder.cs @@ -69,6 +69,12 @@ public IDamageTypeBuilder Except(IDamageTypeBuilder type) => public IStatBuilder Resistance => new StatBuilder(_statFactory, CoreStat(typeof(int))); + public IStatBuilder ResistanceAgainstHits => + new StatBuilder(_statFactory, CoreStat(typeof(double))); + + public IStatBuilder ResistanceAgainstDoTs => + new StatBuilder(_statFactory, CoreStat(typeof(double))); + public IDamageStatBuilder Damage => new DamageStatBuilder(_statFactory, CoreStat(_statFactory.Damage)); diff --git a/PoESkillTree.Engine.Computation.Builders/Effects/AilmentBuilders.cs b/PoESkillTree.Engine.Computation.Builders/Effects/AilmentBuilders.cs index 6fbc4f86..896c30a3 100644 --- a/PoESkillTree.Engine.Computation.Builders/Effects/AilmentBuilders.cs +++ b/PoESkillTree.Engine.Computation.Builders/Effects/AilmentBuilders.cs @@ -28,6 +28,7 @@ public AilmentBuilders(IStatFactory statFactory) public IAilmentBuilder Poison => _allAilments[Ailment.Poison]; public IAilmentBuilder From(Ailment ailment) => _allAilments[ailment]; public IAilmentBuilderCollection Elemental { get; } + public IAilmentBuilderCollection All => _allAilments; public IStatBuilder ShockEffect { get; } public IStatBuilder ChillEffect { get; } } diff --git a/PoESkillTree.Engine.Computation.Builders/Stats/MetaStatBuilders.cs b/PoESkillTree.Engine.Computation.Builders/Stats/MetaStatBuilders.cs index aa861660..d0e12e2f 100644 --- a/PoESkillTree.Engine.Computation.Builders/Stats/MetaStatBuilders.cs +++ b/PoESkillTree.Engine.Computation.Builders/Stats/MetaStatBuilders.cs @@ -149,9 +149,6 @@ public IDamageRelatedStatBuilder EffectiveCritChance => DamageRelatedFromIdentity("CriticalStrike.EffectiveChance", typeof(double)).WithHits; - public IStatBuilder ResistanceAgainstHits(DamageType damageType) - => FromIdentity($"{damageType}.ResistanceAgainstHits", typeof(double)); - public IStatBuilder MitigationAgainstHits(DamageType damageType) => FromIdentity($"{damageType}.MitigationAgainstHits", typeof(double)); diff --git a/PoESkillTree.Engine.Computation.Common/Builders/Actions/IActionBuilders.cs b/PoESkillTree.Engine.Computation.Common/Builders/Actions/IActionBuilders.cs index 8ff69d8c..357f8ceb 100644 --- a/PoESkillTree.Engine.Computation.Common/Builders/Actions/IActionBuilders.cs +++ b/PoESkillTree.Engine.Computation.Common/Builders/Actions/IActionBuilders.cs @@ -28,6 +28,8 @@ public interface IActionBuilders /// IActionBuilder HitWith(IDamageTypeBuilder damageType); + IActionBuilder HitWith(AttackDamageHand hand); + /// /// Gets an action that occurs when Self savagely hits any entity. /// diff --git a/PoESkillTree.Engine.Computation.Common/Builders/Actions/IBlockActionBuilder.cs b/PoESkillTree.Engine.Computation.Common/Builders/Actions/IBlockActionBuilder.cs index 174982e2..6ae04934 100644 --- a/PoESkillTree.Engine.Computation.Common/Builders/Actions/IBlockActionBuilder.cs +++ b/PoESkillTree.Engine.Computation.Common/Builders/Actions/IBlockActionBuilder.cs @@ -22,5 +22,8 @@ public interface IBlockActionBuilder : IActionBuilder /// Gets a stat representing block chance against spells. /// IStatBuilder SpellChance { get; } + + IActionBuilder Attack { get; } + IActionBuilder Spell { get; } } } \ No newline at end of file diff --git a/PoESkillTree.Engine.Computation.Common/Builders/Damage/IDamageTypeBuilder.cs b/PoESkillTree.Engine.Computation.Common/Builders/Damage/IDamageTypeBuilder.cs index 23a13bc0..5f6568dc 100644 --- a/PoESkillTree.Engine.Computation.Common/Builders/Damage/IDamageTypeBuilder.cs +++ b/PoESkillTree.Engine.Computation.Common/Builders/Damage/IDamageTypeBuilder.cs @@ -41,6 +41,8 @@ public interface IDamageTypeBuilder : IKeywordBuilder /// Gets a stat representing the resistances to the damage types in this collection. /// IStatBuilder Resistance { get; } + IStatBuilder ResistanceAgainstHits { get; } + IStatBuilder ResistanceAgainstDoTs { get; } /// /// Gets a damage stat representing the damage of the damage types in this collection. diff --git a/PoESkillTree.Engine.Computation.Common/Builders/Effects/IAilmentBuilders.cs b/PoESkillTree.Engine.Computation.Common/Builders/Effects/IAilmentBuilders.cs index 77869882..a22954fe 100644 --- a/PoESkillTree.Engine.Computation.Common/Builders/Effects/IAilmentBuilders.cs +++ b/PoESkillTree.Engine.Computation.Common/Builders/Effects/IAilmentBuilders.cs @@ -22,6 +22,8 @@ public interface IAilmentBuilders /// IAilmentBuilderCollection Elemental { get; } + IAilmentBuilderCollection All { get; } + IStatBuilder ShockEffect { get; } IStatBuilder ChillEffect { get; } } diff --git a/PoESkillTree.Engine.Computation.Common/Builders/Stats/IMetaStatBuilders.cs b/PoESkillTree.Engine.Computation.Common/Builders/Stats/IMetaStatBuilders.cs index 3526ef66..12b81051 100644 --- a/PoESkillTree.Engine.Computation.Common/Builders/Stats/IMetaStatBuilders.cs +++ b/PoESkillTree.Engine.Computation.Common/Builders/Stats/IMetaStatBuilders.cs @@ -2,7 +2,6 @@ using PoESkillTree.Engine.Computation.Common.Builders.Damage; using PoESkillTree.Engine.Computation.Common.Builders.Effects; using PoESkillTree.Engine.Computation.Common.Builders.Values; -using PoESkillTree.Engine.GameModel.Items; using PoESkillTree.Engine.GameModel.Skills; namespace PoESkillTree.Engine.Computation.Common.Builders.Stats @@ -75,7 +74,6 @@ public interface IMetaStatBuilders IDamageRelatedStatBuilder EffectiveCritChance { get; } - IStatBuilder ResistanceAgainstHits(DamageType damageType); IStatBuilder MitigationAgainstHits(DamageType damageType); IStatBuilder MitigationAgainstDoTs(DamageType damageType); IStatBuilder ChanceToAvoidMeleeAttacks { get; } diff --git a/PoESkillTree.Engine.Computation.Data/ActionConditionMatchers.cs b/PoESkillTree.Engine.Computation.Data/ActionConditionMatchers.cs index ba1cba1d..cc5f44e0 100644 --- a/PoESkillTree.Engine.Computation.Data/ActionConditionMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/ActionConditionMatchers.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using PoESkillTree.Engine.Computation.Common.Builders; using PoESkillTree.Engine.Computation.Common.Builders.Modifiers; using PoESkillTree.Engine.Computation.Common.Data; @@ -34,6 +35,8 @@ protected override IReadOnlyList CreateCollection() => And(Condition.WithPart(References[0].AsKeyword), References[1].AsAction.On) }, { "when you ({ActionMatchers}) an enemy", Reference.AsAction.On }, + { "when you ({ActionMatchers}) a rare enemy", And(OpponentsOfSelf.IsRare, Reference.AsAction.On) }, + { "when you ({ActionMatchers}) a unique enemy", And(OpponentsOfSelf.IsUnique, Reference.AsAction.On) }, { "when you ({ActionMatchers}) a rare or unique enemy", And(OpponentsOfSelf.IsRareOrUnique, Reference.AsAction.On) @@ -81,6 +84,10 @@ protected override IReadOnlyList CreateCollection() => { "when you use a warcry", Skills[Keyword.Warcry].Cast.On }, { "when you use a skill", Skills.AllSkills.Cast.On }, { "when you use a fire skill", Skills[Fire].Cast.On }, + { + "when you use an elemental skill", + ElementalDamageTypes.Select(dt => Skills[dt].Cast.On).Aggregate((l, r) => l.Or(r)) + }, // block { "when they block", Block.On }, { "when you block", Block.On }, diff --git a/PoESkillTree.Engine.Computation.Data/ActionMatchers.cs b/PoESkillTree.Engine.Computation.Data/ActionMatchers.cs index 61a7d834..a90d831c 100644 --- a/PoESkillTree.Engine.Computation.Data/ActionMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/ActionMatchers.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using PoESkillTree.Engine.Computation.Common.Builders.Actions; +using PoESkillTree.Engine.Computation.Common.Builders.Damage; using PoESkillTree.Engine.Computation.Common.Builders.Effects; using PoESkillTree.Engine.Computation.Common.Data; using PoESkillTree.Engine.Computation.Data.Base; @@ -24,16 +25,21 @@ public ActionMatchers(IActionBuilders actionBuilders, IEffectBuilders effect) protected override IReadOnlyList CreateCollection() => new ReferencedMatcherCollection { - { "kill(ed)?", Action.Kill }, - { "killing", Action.Kill }, + { "kill(ed|ing)?", Action.Kill }, { "dealing a killing blow", Action.Kill }, { "block(ed)?", Action.Block }, - { "hits?", Action.Hit }, - { "hitting", Action.Hit }, + { "blocked attack damage", Action.Block.Attack }, + { "blocked spell damage", Action.Block.Spell }, + { "hit(s|ting)?", Action.Hit }, + { "hit with your main hand weapon", Action.HitWith(AttackDamageHand.MainHand) }, + { "hit with your off hand weapon", Action.HitWith(AttackDamageHand.OffHand) }, { "(dealt a )?critical strike", Action.CriticalStrike }, { "non-critical strike", Action.NonCriticalStrike }, { "stun(ned)?", Effect.Stun.InflictionAction }, - { "shocked", Effect.Ailment.Shock.InflictionAction }, + { "shock(ed)?", Effect.Ailment.Shock.InflictionAction }, + { "chill(ed)?", Effect.Ailment.Chill.InflictionAction }, + { "ignite(d)?", Effect.Ailment.Ignite.InflictionAction }, + { "frozen", Effect.Ailment.Freeze.InflictionAction }, }; // Add } } \ No newline at end of file diff --git a/PoESkillTree.Engine.Computation.Data/BuffMatchers.cs b/PoESkillTree.Engine.Computation.Data/BuffMatchers.cs index 8d37a435..e69407af 100644 --- a/PoESkillTree.Engine.Computation.Data/BuffMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/BuffMatchers.cs @@ -26,7 +26,7 @@ protected override IReadOnlyList CreateCollection() => { "hinder(ed)?", Buff.Hinder }, { "intimidate", Buff.Intimidate }, { "taunt(ed)?", Buff.Taunt }, - { "blind", Buff.Blind }, + { "blind(ed)?", Buff.Blind }, { "onslaught", Buff.Onslaught }, { "unholy might", Buff.UnholyMight }, { "phasing", Buff.Phasing }, diff --git a/PoESkillTree.Engine.Computation.Data/ConditionMatchers.cs b/PoESkillTree.Engine.Computation.Data/ConditionMatchers.cs index 3ed851f2..160cd7be 100644 --- a/PoESkillTree.Engine.Computation.Data/ConditionMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/ConditionMatchers.cs @@ -80,6 +80,7 @@ protected override IReadOnlyList CreateCollection() => "if you or your minions have killed recently", Or(Kill.Recently, Kill.By(Entity.Minion).Recently) }, + { "if you've killed at least # enemies recently", Kill.CountRecently >= Value }, // - hit { "if you('ve| have) hit them recently", Hit.Recently }, { "if you('ve| have) been hit recently", Hit.By(MainOpponentOfSelf).Recently }, @@ -101,6 +102,10 @@ protected override IReadOnlyList CreateCollection() => And(Block.InPastXSeconds(Value), OpponentsOfSelf.IsUnique) }, // - other + { + "if you've stunned an enemy with a two handed melee weapon recently", + And(MainHand.Has(Tags.TwoHandWeapon), Not(MainHand.Has(Tags.Ranged)), With(Keyword.Attack), Effect.Stun.InflictionAction.Recently) + }, { "if you've taken a savage hit recently", Action.SavageHit.By(MainOpponentOfSelf).Recently }, { "if you've shattered an enemy recently", Action.Shatter.Recently }, { "if you've spent # total mana recently", Action.SpendMana(Value).Recently }, @@ -122,8 +127,7 @@ protected override IReadOnlyList CreateCollection() => // - by item tag { "with weapons", AttackWith(Tags.Weapon) }, { "(? CreateCollection() => { "to wand attacks", AttackWith(Tags.Wand) }, { "with axes", AttackWith(Tags.Axe) }, { "to axe attacks", AttackWith(Tags.Axe) }, - { "with staves", AttackWith(Tags.Staff) }, - { "with a staff", AttackWith(Tags.Staff) }, + { "with (a staff|staves)", AttackWith(Tags.Staff) }, { "to staff attacks", AttackWith(Tags.Staff) }, { "with ranged weapons", AttackWith(Tags.Ranged) }, { "with maces", AttackWith(Tags.Mace) }, { "to mace attacks", AttackWith(Tags.Mace) }, { - "with maces and sceptres", + "with axes (and|or) swords", + (Or(MainHandAttackWith(Tags.Axe), MainHandAttackWith(Tags.Sword)), + Or(OffHandAttackWith(Tags.Axe), OffHandAttackWith(Tags.Sword))) + }, + { + "with (a claw|claws) (and|or) daggers?", + (Or(MainHandAttackWith(Tags.Claw), MainHandAttackWith(Tags.Dagger)), + Or(OffHandAttackWith(Tags.Claw), OffHandAttackWith(Tags.Dagger))) + }, + { + "with maces (and|or) sceptres", (Or(MainHandAttackWith(Tags.Mace), MainHandAttackWith(Tags.Sceptre)), Or(OffHandAttackWith(Tags.Mace), OffHandAttackWith(Tags.Sceptre))) }, @@ -154,6 +167,11 @@ protected override IReadOnlyList CreateCollection() => (Or(MainHandAttackWith(Tags.Mace), MainHandAttackWith(Tags.Sceptre)), Or(OffHandAttackWith(Tags.Mace), OffHandAttackWith(Tags.Sceptre))) }, + { + "with maces, sceptres or staves", + (Or(MainHandAttackWith(Tags.Mace), MainHandAttackWith(Tags.Sceptre), MainHandAttackWith(Tags.Staff)), + Or(OffHandAttackWith(Tags.Mace), OffHandAttackWith(Tags.Sceptre), OffHandAttackWith(Tags.Staff))) + }, { "with one handed weapons", AttackWith(Tags.OneHandWeapon) }, { "with one handed melee weapons", @@ -180,18 +198,22 @@ protected override IReadOnlyList CreateCollection() => { "dealt", Condition.True }, // equipment { "while unarmed", Not(MainHand.HasItem) }, - { "while wielding a staff", MainHand.Has(Tags.Staff) }, - { "while wielding a dagger", EitherHandHas(Tags.Dagger) }, + { "while wielding an axe", EitherHandHas(Tags.Axe) }, + { "while wielding an axe or sword", EitherHandHas(Tags.Axe).Or(EitherHandHas(Tags.Sword)) }, { "while wielding a bow", MainHand.Has(Tags.Bow) }, - { "while wielding a sword", EitherHandHas(Tags.Sword) }, { "while wielding a claw", EitherHandHas(Tags.Claw) }, - { "while wielding an axe", EitherHandHas(Tags.Axe) }, - { "while wielding a mace", EitherHandHas(Tags.Mace) }, + { "while wielding a claw or dagger", EitherHandHas(Tags.Claw).Or(EitherHandHas(Tags.Dagger)) }, + { "while wielding a dagger", EitherHandHas(Tags.Dagger) }, { "while wielding a mace or sceptre", Or(EitherHandHas(Tags.Mace), EitherHandHas(Tags.Sceptre)) }, + { "while wielding a mace, sceptre or staff", Or(EitherHandHas(Tags.Mace), EitherHandHas(Tags.Sceptre), EitherHandHas(Tags.Staff)) }, + { "while wielding a mace", EitherHandHas(Tags.Mace) }, + { "while wielding a staff", MainHand.Has(Tags.Staff) }, + { "while wielding a sword", EitherHandHas(Tags.Sword) }, { "while wielding a wand", EitherHandHas(Tags.Wand) }, { "while wielding a melee weapon", And(EitherHandHas(Tags.Weapon), Not(MainHand.Has(Tags.Ranged))) }, { "while wielding a one handed weapon", MainHand.Has(Tags.OneHandWeapon) }, { "while wielding a two handed weapon", MainHand.Has(Tags.TwoHandWeapon) }, + { "while wielding a two handed melee weapon", MainHand.Has(Tags.TwoHandWeapon).And(Not(MainHand.Has(Tags.Ranged))) }, { "(if|while) dual wielding", OffHand.Has(Tags.Weapon) }, { "while holding a shield", OffHand.Has(Tags.Shield) }, { "while dual wielding or holding a shield", Or(OffHand.Has(Tags.Weapon), OffHand.Has(Tags.Shield)) }, @@ -201,6 +223,10 @@ protected override IReadOnlyList CreateCollection() => And(Condition.BaseValueComesFrom(ItemSlot.OffHand), OffHand.Has(Tags.Shield)) }, { "with # corrupted items equipped", Equipment.Count(e => e.Corrupted.IsTrue) >= Value }, + { + "while wielding two different weapon types", + And(OffHand.Has(Tags.Weapon), MainHand.ItemTags.Value.Eq(OffHand.ItemTags.Value).Not) + }, // stats // - pool { "(when|while) on low ({PoolStatMatchers})", Reference.AsPoolStat.IsLow }, @@ -225,6 +251,7 @@ protected override IReadOnlyList CreateCollection() => }, { "lose a ({ChargeTypeMatchers}) and", Reference.AsChargeType.Amount.Value > 0 }, // - other + { "if you have at least # ({AttributeStatMatchers})", Reference.AsStat.Value >= Value }, { "if you have # primordial (jewels|items socketed or equipped)", Stat.PrimordialJewelsSocketed.Value >= Value @@ -245,6 +272,7 @@ protected override IReadOnlyList CreateCollection() => { "if there are at least # nearby enemies", OpponentsOfSelf.CountNearby >= Value }, { "at close range", OpponentsOfSelf.IsNearby }, { "to enemies that are near you", OpponentsOfSelf.IsNearby }, + { "against nearby enemies", OpponentsOfSelf.IsNearby }, { "while there is at most one rare or unique enemy nearby", OpponentsOfSelf.CountRareOrUniqueNearby <= 1 }, { "while a rare or unique enemy is nearby", OpponentsOfSelf.CountRareOrUniqueNearby >= 1 }, { "while there are at least two rare or unique enemies nearby", OpponentsOfSelf.CountRareOrUniqueNearby >= 2 }, @@ -252,6 +280,8 @@ protected override IReadOnlyList CreateCollection() => { "while you have ({BuffMatchers})", Reference.AsBuff.IsOn(Self) }, { "while affected by ({SkillMatchers})", Reference.AsSkill.Buff.IsOn(Self) }, { "while affected by a ({KeywordMatchers}) skill buff", Buffs(Self).With(Reference.AsKeyword).Any() }, + { "while affected by a non-vaal ({KeywordMatchers}) skill", Buffs(Self).Without(Keyword.Vaal).With(Reference.AsKeyword).Any() }, + { "while affected by a herald", Buffs(Self).With(Keyword.Herald).Any() }, { "during onslaught", Buff.Onslaught.IsOn(Self) }, { "while phasing", Buff.Phasing.IsOn(Self) }, { "while elusive", Buff.Elusive.IsOn(Self) }, @@ -260,8 +290,9 @@ protected override IReadOnlyList CreateCollection() => { "enemies ({BuffMatchers}) by you", And(For(MainOpponentOfSelf), Reference.AsBuff.IsOn(Self, MainOpponentOfSelf)) }, { "enemies you curse( have)?", And(For(MainOpponentOfSelf), Buffs(Self, MainOpponentOfSelf).With(Keyword.Curse).Any()) }, { "({BuffMatchers}) enemies", And(For(MainOpponentOfSelf), Reference.AsBuff.IsOn(Self, MainOpponentOfSelf)) }, - { "(against|from) blinded enemies", Buff.Blind.IsOn(MainOpponentOfSelf) }, - { "from taunted enemies", Buff.Taunt.IsOn(MainOpponentOfSelf) }, + { "you inflict on ({BuffMatchers}) enemies", And(For(MainOpponentOfSelf), Reference.AsBuff.IsOn(Self, MainOpponentOfSelf)) }, + { "(against|from) ({BuffMatchers}) enemies", Buff.Blind.IsOn(MainOpponentOfSelf) }, + { "(against|from) cursed enemies", Buffs(targets: MainOpponentOfSelf).With(Keyword.Curse).Any() }, { "you and allies affected by (your aura skills|auras from your skills) (have|deal)", Or(For(Self), And(For(Ally), Buffs(targets: Ally).With(Keyword.Aura).Any())) @@ -282,6 +313,7 @@ protected override IReadOnlyList CreateCollection() => Or(Ailment.Freeze.IsOn(MainOpponentOfSelf), Ailment.Shock.IsOn(MainOpponentOfSelf), Ailment.Ignite.IsOn(MainOpponentOfSelf)) }, { "which are ({AilmentMatchers})", Reference.AsAilment.IsOn(MainOpponentOfSelf) }, + { "you inflict on ({AilmentMatchers}) enemies", Reference.AsAilment.IsOn(MainOpponentOfSelf) }, { "against enemies( that are)? affected by elemental ailments", Ailment.Elemental.Any(a => a.IsOn(MainOpponentOfSelf)) @@ -291,6 +323,7 @@ protected override IReadOnlyList CreateCollection() => Not(Ailment.Elemental.Any(a => a.IsOn(MainOpponentOfSelf))) }, { "enemies chilled by supported skills( have)?", Ailment.Chill.IsOn(MainOpponentOfSelf) }, + { "against enemies affected by ailments", Ailment.All.Any(a => a.IsOn(MainOpponentOfSelf)) }, // ground effects { "while on consecrated ground", Ground.Consecrated.IsOn(Self) }, // skills @@ -327,9 +360,10 @@ protected override IReadOnlyList CreateCollection() => }, { "while you have an? ({SkillMatchers})", Reference.AsSkill.Instances.Value > 0 }, // - cast recently/in past x seconds + { "if you've used a ({KeywordMatchers}) skill recently", Skills[Reference.AsKeyword].Cast.Recently }, + { "if you haven't used a ({KeywordMatchers}) skill recently", Not(Skills[Reference.AsKeyword].Cast.Recently) }, { "if you've cast a spell recently,?", Skills[Keyword.Spell].Cast.Recently }, { "if you've attacked recently,?", Skills[Keyword.Attack].Cast.Recently }, - { "if you've used a movement skill recently", Skills[Keyword.Movement].Cast.Recently }, { "if (you've|you have) used a minion skill recently", Minions.Cast.Recently }, { "if you've used a warcry recently", Skills[Keyword.Warcry].Cast.Recently }, { "if you've warcried recently", Skills[Keyword.Warcry].Cast.Recently }, @@ -379,6 +413,7 @@ protected override IReadOnlyList CreateCollection() => { "for throwing traps", With(Keyword.Trap) }, { "if you detonated (mines|a mine) recently", Skills.DetonateMines.Cast.Recently }, { "if you've placed a mine or thrown a trap recently", Or(Traps.Cast.Recently, Mines.Cast.Recently) }, + { "if you've thrown a trap or mine recently", Or(Traps.Cast.Recently, Mines.Cast.Recently) }, // totems { "^totems'?", For(Entity.Totem) }, { "totems (gain|have)", For(Entity.Totem) }, @@ -387,6 +422,7 @@ protected override IReadOnlyList CreateCollection() => { "of totem skills that cast an aura", And(With(Keyword.Totem), With(Keyword.Aura)) }, { "while you have a totem", Totems.CombinedInstances.Value > 0 }, { "if you've summoned a totem recently", Totems.Cast.Recently }, + { "if you haven't summoned a totem in the past # seconds", Totems.Cast.InPastXSeconds(Value) }, // minions { "minions", For(Entity.Minion) }, { "minions (deal|have|gain)", For(Entity.Minion) }, @@ -402,10 +438,17 @@ protected override IReadOnlyList CreateCollection() => // flasks { "while using a flask", Equipment.IsAnyFlaskActive() }, { "during any flask effect", Equipment.IsAnyFlaskActive() }, + { "while under no flask effects", Not(Equipment.IsAnyFlaskActive()) }, { "during effect of any mana flask", Equipment.Flasks().Select(f => f.Has(Tags.ManaFlask)).Aggregate((l, r) => Or(l, r)) }, + { + "during effect of any life or mana flask", + Equipment.Flasks() + .Select(f => Or(f.Has(Tags.LifeFlask), f.Has(Tags.ManaFlask))) + .Aggregate((l, r) => Or(l, r)) + }, // - mods on flasks are only added when the flask item is enabled { "during (flask )?effect", Condition.True }, // jewel thresholds @@ -441,9 +484,8 @@ protected override IReadOnlyList CreateCollection() => { "while stationary", Flag.AlwaysStationary }, { "while moving", Flag.AlwaysMoving }, // unique - { - "against burning enemies", Or(Ailment.Ignite.IsOn(MainOpponentOfSelf), Condition.Unique("Is the Enemy Burning?")) - }, + { "against burning enemies", Or(Ailment.Ignite.IsOn(MainOpponentOfSelf), Condition.Unique("Is the Enemy Burning?")) }, + { "while burning", Or(Ailment.Ignite.IsOn(Self), Condition.Unique("Are you Burning?")) }, { "while leeching", Condition.Unique("Leech.IsActive") }, { "if you've killed an enemy affected by your damage over time recently", @@ -456,9 +498,19 @@ protected override IReadOnlyList CreateCollection() => }, { "while you have at least one nearby ally", Condition.Unique("Is any ally nearby?") }, { "while channelling", Condition.Unique("Are you currently channeling?") }, + { "if you've been channelling for at least 1 second", Condition.Unique("Have you been Channelling for at least 1 second?") }, { "while you are not losing rage", Condition.Unique("Are you currently losing rage?") }, { "during soul gain prevention", Condition.Unique("SoulGainPrevention") }, { "to your deathmarked enemy", Condition.Unique("Is the enemy Deathmarked?") }, + { + "if you dealt a critical strike with a herald skill recently", + Condition.Unique("Did you deal a Critical Strike with a Herald Skill Recently?") + }, + { + "you inflict with critical strikes", + Condition.Unique("Should modifiers requiring Ailments to be inflicted with critical strikes apply?") + }, + { "if a non-vaal guard buff was lost recently", Condition.Unique("Have you lost a non-vaal guard buff recently?") }, // support gem mod clarifications. Irrelevant for parsing. { "((a|for|with|from) )?supported (skill|spell|attack skill|attack)s?'?( (have|deal))?", diff --git a/PoESkillTree.Engine.Computation.Data/FormAndStatMatchers.cs b/PoESkillTree.Engine.Computation.Data/FormAndStatMatchers.cs index 805458d3..a162eeea 100644 --- a/PoESkillTree.Engine.Computation.Data/FormAndStatMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/FormAndStatMatchers.cs @@ -186,7 +186,7 @@ protected override IReadOnlyList CreateCollection() => }, { @"fire, cold and lightning exposure (?.*), applying #% to those resistances", - BaseSet, Value, ElementalDamageTypes.Select(t => t.Exposure).Aggregate((l, r) => l.Concat(r)) + BaseSet, Value, ElementalDamageTypes.Select(t => t.Exposure).Aggregate((l, r) => l.Concat(r)), "${inner}" }, // - crit { @"\+#% critical strike chance", BaseAdd, Value, CriticalStrike.Chance }, @@ -277,6 +277,7 @@ protected override IReadOnlyList CreateCollection() => { "immune to ({DamageTypeMatchers}) damage", TotalOverride, 100, Reference.AsDamageType.Resistance }, { @"\+#% elemental resistances", BaseAdd, Value, Elemental.Resistance }, { @"\+?#% physical damage reduction", BaseAdd, Value, Physical.Resistance }, + { @"\+#% ({DamageTypeMatchers}) resistance against damage over time", BaseAdd, Value, Reference.AsDamageType.ResistanceAgainstDoTs }, // - leech { "leech energy shield instead of life", diff --git a/PoESkillTree.Engine.Computation.Data/GemTagMatchers.cs b/PoESkillTree.Engine.Computation.Data/GemTagMatchers.cs index 99bc63b0..e3b9e664 100644 --- a/PoESkillTree.Engine.Computation.Data/GemTagMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/GemTagMatchers.cs @@ -9,6 +9,8 @@ namespace PoESkillTree.Engine.Computation.Data { public class GemTagMatchers : ReferencedMatchersBase { + private static readonly string[] UntranslatedTagIdsToMatch = {"dexterity", "intelligence", "strength"}; + private readonly GemTags _gemTags; private readonly IGemTagBuilders _gemTagBuilders; @@ -21,6 +23,9 @@ public GemTagMatchers(GemTags gemTags, IGemTagBuilders gemTagBuilders) protected override IReadOnlyList CreateCollection() { return _gemTags.Tags + .Select(t => t.Translation is null && UntranslatedTagIdsToMatch.Contains(t.InternalId) + ? new GemTag(t.InternalId, t.InternalId) + : t) .Where(t => t.Translation != null) .Select(t => new ReferencedMatcherData(t.Translation!, _gemTagBuilders.From(t.InternalId))) .ToList(); diff --git a/PoESkillTree.Engine.Computation.Data/GeneralStatMatchers.cs b/PoESkillTree.Engine.Computation.Data/GeneralStatMatchers.cs index 7d69726f..3651e09e 100644 --- a/PoESkillTree.Engine.Computation.Data/GeneralStatMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/GeneralStatMatchers.cs @@ -128,11 +128,22 @@ protected override IReadOnlyList CreateCollection() => References[0].AsDamageType.Damage.WithHitsAndAilments .ConvertTo(References[1].AsDamageType.Damage.WithHitsAndAilments) }, + { + "wand ({DamageTypeMatchers}) damage converted to ({DamageTypeMatchers}) damage", + References[0].AsDamageType.Damage.With(AttackDamageHand.MainHand) + .ConvertTo(References[1].AsDamageType.Damage.With(AttackDamageHand.MainHand)) + .WithCondition(MainHand.Has(Tags.Wand)), + References[0].AsDamageType.Damage.With(AttackDamageHand.OffHand) + .ConvertTo(References[1].AsDamageType.Damage.With(AttackDamageHand.OffHand)) + .WithCondition(OffHand.Has(Tags.Wand)) + }, // - penetration // - exposure // - crit { "(global )?critical strike multiplier", CriticalStrike.Multiplier }, { "(global )?critical strike chance", CriticalStrike.Chance }, + { "attack critical strike multiplier", CriticalStrike.Multiplier.With(DamageSource.Attack) }, + { "spell critical strike multiplier", CriticalStrike.Multiplier.With(DamageSource.Spell) }, { "attack critical strike chance", CriticalStrike.Chance.With(DamageSource.Attack) }, { "spell critical strike chance", CriticalStrike.Chance.With(DamageSource.Spell) }, { @@ -170,6 +181,7 @@ protected override IReadOnlyList CreateCollection() => { "maximum ({DamageTypeMatchers}) resistance", Reference.AsDamageType.Resistance.Maximum }, { "all maximum resistances", Elemental.And(Chaos).Resistance.Maximum }, { "all maximum elemental resistances", Elemental.Resistance.Maximum }, + { "all elemental resistances and maximum elemental resistances", ApplyOnce(Elemental.Resistance, Elemental.Resistance.Maximum) }, { "physical damage reduction", Physical.Resistance }, // - leech { @@ -226,18 +238,23 @@ protected override IReadOnlyList CreateCollection() => { "chance to block spell and attack damage", Block.SpellChance, Block.AttackChance }, { "enemy block chance", ApplyOnce(Block.SpellChance, Block.AttackChance).For(OpponentsOfSelf) }, { "maximum chance to block attack damage", Block.AttackChance.Maximum }, - // - other + { "maximum chance to block spell damage", Block.SpellChance.Maximum }, + // - dodge { "chance to dodge attacks", Stat.Dodge.AttackChance }, { "chance to dodge attack hits", Stat.Dodge.AttackChance }, { "chance to dodge spell hits", Stat.Dodge.SpellChance }, - { "chance to dodge attack and spell hits", Stat.Dodge.AttackChance, Stat.Dodge.SpellChance }, + { "chance to dodge attack (and|or) spell hits", Stat.Dodge.AttackChance, Stat.Dodge.SpellChance }, + { "maximum chance to dodge attack hits", Stat.Dodge.AttackChance.Maximum }, + { "maximum chance to dodge spell hits", Stat.Dodge.SpellChance.Maximum }, { "enemies have chance to dodge hits", ApplyOnce(Stat.Dodge.AttackChance, Stat.Dodge.SpellChance).For(OpponentsOfSelf) }, - { "chance to evade( attacks)?", Evasion.Chance }, + // - chance to evade + { "chance to evade( attacks| attack hits)?", Evasion.Chance }, { "chance to evade projectile attacks", Evasion.ChanceAgainstProjectileAttacks }, { "chance to evade melee attacks", Evasion.ChanceAgainstMeleeAttacks }, + // - other { "damage is taken from ({PoolStatMatchers}) before ({PoolStatMatchers})", AnyDamageType.DamageTakenFrom(References[0].AsPoolStat).Before(References[1].AsPoolStat) @@ -253,6 +270,7 @@ protected override IReadOnlyList CreateCollection() => "({KeywordMatchers}) attack speed", Stat.CastRate.With(DamageSource.Attack).With(Reference.AsKeyword) }, + { "off hand attack speed", Stat.CastRate.With(AttackDamageHand.OffHand) }, { "cast speed", Stat.CastRate.With(DamageSource.Spell), Stat.CastRate.With(DamageSource.Secondary) }, { "cast speed for curses", Stat.CastRate.With(DamageSource.Attack).With(Keyword.Curse) }, { "movement speed", Stat.MovementSpeed }, @@ -350,6 +368,7 @@ protected override IReadOnlyList CreateCollection() => }, { "maximum number of spectres", Skills.RaiseSpectre.Instances.Maximum }, { "maximum number of( raised)? zombies", Skills.RaiseZombie.Instances.Maximum }, + { "maximum number of sentinels of purity", Skills.FromId("HeraldOfPurity").Instances.Maximum }, { "minion duration", Stat.Duration, With(Keyword.Minion) }, { "skeleton duration", Stat.Duration, WithSkeletonSkills }, { "skeleton movement speed", Stat.MovementSpeed.For(Entity.Minion), WithSkeletonSkills }, @@ -373,15 +392,25 @@ protected override IReadOnlyList CreateCollection() => "effect of buffs granted by your active ancestor totems", Buffs(Entity.Totem).With(Keyword.Melee).Effect }, - { "effect of heralds on you", Buffs(targets: Self).With(Keyword.Herald).Effect }, + { "effect of herald(s| buffs) on you", Buffs(targets: Self).With(Keyword.Herald).Effect }, { "effect of your curses", Buffs(Self).With(Keyword.Curse).Effect }, { "effect of curses on you", Buffs(targets: Self).With(Keyword.Curse).Effect }, { "effect of non-curse auras from your skills", Buffs(Self).With(Keyword.Aura).Without(Keyword.Curse).Effect }, + { + "effect of non-curse auras from your skills on enemies", + Buffs(Self, OpponentsOfSelf).With(Keyword.Aura).Without(Keyword.Curse).Effect + }, { "effect of auras from mines", Buffs(Self).With(Keyword.Aura).With(Keyword.Mine).Effect }, + { "effect of auras on you", Buffs(Self).With(Keyword.Aura).Effect }, { "warcry buff effect", Buffs(targets: Self).With(Keyword.Warcry).Effect }, + { + "effect of impales inflicted by hits that also inflict bleeding", + Buff.Impale.Effect, Condition.Unique("Do your Impaling hits also inflict Bleeding?") + }, + { "effect of offerings", Buffs(Self).With(Keyword.Offering).Effect }, { "aura effect", Skills.ModifierSourceSkill.Buff.Effect }, { "(? CreateCollection() => { "effect of curse against players", Skills.ModifierSourceSkill.Buff.EffectOn(Entity.Character) }, // - chance { "chance to (gain|grant|inflict) ({BuffMatchers})", Reference.AsBuff.Chance }, - { "chance to ({BuffMatchers})( enemies)?", Reference.AsBuff.Chance }, + { "chance to ({BuffMatchers})( enemies| nearby enemies)?", Reference.AsBuff.Chance }, { "chance for attacks to maim", Buff.Maim.Chance.With(DamageSource.Attack) }, { "chance to hinder enemies on hit with spells", Buff.Maim.Chance.With(DamageSource.Spell) }, { "chance to cover rare or unique enemies in ash", Buff.CoveredInAsh.Chance, OpponentsOfSelf.IsRareOrUnique }, @@ -402,6 +431,10 @@ protected override IReadOnlyList CreateCollection() => "chance to ({AilmentMatchers})( the enemy| enemies| attackers)?( on hit)?", Reference.AsAilment.Chance }, + { + "chance to ({AilmentMatchers})( the enemy| enemies)? on hit with spell damage", + Reference.AsAilment.Chance.With(DamageSource.Spell) + }, { "chance to freeze, shock and ignite", Ailment.Freeze.Chance, Ailment.Shock.Chance, Ailment.Ignite.Chance @@ -410,15 +443,17 @@ protected override IReadOnlyList CreateCollection() => { "chance to avoid (being )?({AilmentMatchers})", Reference.AsAilment.Avoidance }, { "chance to avoid elemental ailments", Ailment.Elemental.Select(a => a.Avoidance) }, { "({AilmentMatchers}) duration( on enemies)?", Reference.AsAilment.Duration }, + { "({AilmentMatchers}) duration on you", Reference.AsAilment.Duration.For(MainOpponentOfSelf) }, { "({AilmentMatchers}) and ({AilmentMatchers}) duration( on enemies)?", References[0].AsAilment.Duration, References[1].AsAilment.Duration }, - { "duration of ailments (on enemies|you inflict)", AllAilments.Select(a => a.Duration) }, + { "duration of ailments (on enemies|you inflict|inflicted)", AllAilments.Select(a => a.Duration) }, { "duration of elemental ailments on enemies", Ailment.Elemental.Select(a => a.Duration) }, { "effect of shock", Ailment.ShockEffect }, + { "effect of shock on you", Ailment.ShockEffect.For(MainOpponentOfSelf) }, { "effect of chill( on enemies)?", Ailment.ChillEffect }, - { "effect of non-damaging ailments on enemies", Ailment.ShockEffect, Ailment.ChillEffect }, + { "effect of non-damaging ailments( on enemies)?", Ailment.ShockEffect, Ailment.ChillEffect }, // stun { "chance to avoid being stunned", Effect.Stun.Avoidance }, { "stun and block recovery", Effect.Stun.Recovery, Block.Recovery }, @@ -445,6 +480,7 @@ protected override IReadOnlyList CreateCollection() => { "life recover(ed|y from flasks)", Flask.LifeRecovery }, { "mana recover(ed|y from flasks)", Flask.ManaRecovery }, { "recovery", Flask.LifeRecovery, Flask.ManaRecovery }, + { "life and mana recovery from flasks", Flask.LifeRecovery, Flask.ManaRecovery }, { "amount recovered", Flask.LifeRecovery, Flask.ManaRecovery }, { "(flask )?charges used", Flask.ChargesUsed }, { "(flask )?charges gained", Flask.ChargesGained }, @@ -474,6 +510,7 @@ protected override IReadOnlyList CreateCollection() => { "area of effect length", Stat.Radius }, { "melee weapon and unarmed( attack)? range", Stat.Range.With(Keyword.Melee) }, { "melee range", Stat.Range.With(Keyword.Melee) }, + { "melee strike range", Stat.Range.With(Keyword.Melee) }, { "melee weapon range", Stat.Range.With(Keyword.Melee), MainHand.HasItem }, { "weapon range", Stat.Range }, // gem level diff --git a/PoESkillTree.Engine.Computation.Data/GivenStats/AllyMechanics.cs b/PoESkillTree.Engine.Computation.Data/GivenStats/AllyMechanics.cs index 1b0000c1..1267b2b6 100644 --- a/PoESkillTree.Engine.Computation.Data/GivenStats/AllyMechanics.cs +++ b/PoESkillTree.Engine.Computation.Data/GivenStats/AllyMechanics.cs @@ -35,26 +35,29 @@ private DataDrivenMechanicCollection CreateCollection() => new DataDrivenMechanicCollection(ModifierBuilder, BuilderFactories) { // resistances/damage reduction - { BaseSet, MetaStats.ResistanceAgainstHits(DamageType.Physical), Physical.Resistance.Value }, - { BaseSet, MetaStats.ResistanceAgainstHits(DamageType.Physical).Maximum, 90 }, - { TotalOverride, MetaStats.ResistanceAgainstHits(DamageType.Lightning), Lightning.Resistance.Value }, - { TotalOverride, MetaStats.ResistanceAgainstHits(DamageType.Cold), Cold.Resistance.Value }, - { TotalOverride, MetaStats.ResistanceAgainstHits(DamageType.Fire), Fire.Resistance.Value }, - { TotalOverride, MetaStats.ResistanceAgainstHits(DamageType.Chaos), Chaos.Resistance.Value }, { - BaseAdd, MetaStats.ResistanceAgainstHits(DamageType.Physical), + BaseSet, dt => DamageTypeBuilders.From(dt).ResistanceAgainstHits, + dt => DamageTypeBuilders.From(dt).Resistance.Value + }, + { + BaseSet, dt => DamageTypeBuilders.From(dt).ResistanceAgainstDoTs, + dt => DamageTypeBuilders.From(dt).Resistance.Value + }, + { BaseSet, Physical.ResistanceAgainstHits.Maximum, 90 }, + { + BaseAdd, Physical.ResistanceAgainstHits, PhysicalDamageReductionFromArmour(Armour.Value, Physical.Damage.WithSkills.With(AttackDamageHand.MainHand).For(Enemy).Value) }, // damage mitigation (1 - (1 - resistance / 100) * damage taken) { TotalOverride, MetaStats.MitigationAgainstHits, - dt => 1 - DamageTakenMultiplier(MetaStats.ResistanceAgainstHits(dt), + dt => 1 - DamageTakenMultiplier(DamageTypeBuilders.From(dt).ResistanceAgainstHits, DamageTaken(dt).WithSkills(DamageSource.Secondary)) }, { TotalOverride, MetaStats.MitigationAgainstDoTs, - dt => 1 - DamageTakenMultiplier(DamageTypeBuilders.From(dt).Resistance, + dt => 1 - DamageTakenMultiplier(DamageTypeBuilders.From(dt).ResistanceAgainstDoTs, DamageTaken(dt).WithSkills(DamageSource.OverTime)) }, // chance to evade diff --git a/PoESkillTree.Engine.Computation.Data/KeywordMatchers.cs b/PoESkillTree.Engine.Computation.Data/KeywordMatchers.cs index 24aa8689..dcec4e77 100644 --- a/PoESkillTree.Engine.Computation.Data/KeywordMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/KeywordMatchers.cs @@ -38,6 +38,7 @@ protected override IReadOnlyList CreateCollection() => { "channelling", Keyword.From(GameModel.Skills.Keyword.Channelling) }, { "guard", Keyword.From(GameModel.Skills.Keyword.Guard) }, { "triggered", Keyword.Triggered }, + { "travel", Keyword.From(GameModel.Skills.Keyword.Travel) }, }; } } \ No newline at end of file diff --git a/PoESkillTree.Engine.Computation.Data/ValueConversionMatchers.cs b/PoESkillTree.Engine.Computation.Data/ValueConversionMatchers.cs index c3adbef5..1700409d 100644 --- a/PoESkillTree.Engine.Computation.Data/ValueConversionMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/ValueConversionMatchers.cs @@ -49,10 +49,8 @@ protected override IReadOnlyList CreateCollection() => // stats { "per # accuracy rating", PerStat(Stat.Accuracy.With(AttackDamageHand.MainHand)) }, { "per #%? ({StatMatchers})(?! leech)", PerStat(stat: Reference.AsStat, divideBy: Value) }, - { - "per # ({StatMatchers}), up to #%", - CappedMultiplier((Reference.AsStat.Value / Values[0]).Floor(), Values[1]) - }, + { "per # ({StatMatchers}), up to #%", CappedMultiplier((Reference.AsStat.Value / Values[0]).Floor(), Values[1]) }, + { "per # ({StatMatchers}), up to a maximum of #%", CappedMultiplier((Reference.AsStat.Value / Values[0]).Floor(), Values[1]) }, { "per # ({StatMatchers}) ceiled", PerStatCeiled(stat: Reference.AsStat, divideBy: Value) }, { "per ({StatMatchers})(?! leech)", PerStat(stat: Reference.AsStat) }, { "per ({StatMatchers}), up to #%", CappedMultiplier(Reference.AsStat.Value, Value) }, @@ -114,6 +112,7 @@ protected override IReadOnlyList CreateCollection() => // buffs { "per buff on you", Buffs(targets: Self).Count() }, { "per curse on you", Buffs(targets: Self).With(Keyword.Curse).Count() }, + { "for each herald affecting you", Buffs(targets: Self).With(Keyword.Herald).Count() }, { "per curse on enemy", Buffs(targets: OpponentsOfSelf).With(Keyword.Curse).Count() }, { "for each curse on that enemy,", Buffs(targets: OpponentsOfSelf).With(Keyword.Curse).Count() }, { "for each impale on enemy", Buff.Impale.StackCount.For(MainOpponentOfSelf).Value }, @@ -135,6 +134,7 @@ protected override IReadOnlyList CreateCollection() => // skills { "for each zombie you own", Skills.RaiseZombie.Instances.Value }, { "for each raised zombie", Skills.RaiseZombie.Instances.Value }, + { "per summoned sentinel of purity", Skills.FromId("HeraldOfPurity").Instances.Value }, { "for each summoned golem", Golems.CombinedInstances.Value }, { "per summoned golem", Golems.CombinedInstances.Value }, { "for each golem you have summoned", Golems.CombinedInstances.Value }, diff --git a/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotParseableStatLines.txt b/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotParseableStatLines.txt index 3dc5cb03..0c171bff 100644 --- a/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotParseableStatLines.txt +++ b/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotParseableStatLines.txt @@ -303,6 +303,11 @@ Moving while Bleeding doesn't cause Minions to take extra Damage Skills supported by Unleash have +1 to maximum number of Seals Strike Skills target 1 additional nearby Enemy You are Unaffected by Bleeding while Leeching +10% chance to create a Smoke Cloud on Kill +10% chance to throw up to 1 additional Trap or Mine +20% increased Brand Attachment range +20% increased Raised Zombie Size +25% increased Totem Placement range // Side effect from how jewels are currently handled, the stat doesn't actually exist +1 Jewel Socket // Ascendancies: ======================================================================================================= diff --git a/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotYetParseableStatLines.txt b/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotYetParseableStatLines.txt index 486793aa..b758a2e2 100644 --- a/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotYetParseableStatLines.txt +++ b/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotYetParseableStatLines.txt @@ -28,6 +28,10 @@ Transfiguration of Mind Transfiguration of Soul // - Unnerve Nearby Allies Unnerve Enemies for 4 seconds on Hit +// BaseSet Exposure via a new UserSpecifiedValue stat? +13% chance to inflict Cold Exposure on Hit +13% chance to inflict Fire Exposure on Hit +13% chance to inflict Lightning Exposure on Hit // More calculations for non-damaging ailments (shock, chill, freeze) Chills Enemies as though dealing 195% more Damage Shocks Enemies as though dealing 195% more Damage @@ -152,6 +156,7 @@ Your Hits inflict Decay, dealing 500 Chaos Damage per second for 8 seconds // Minions 10% increased area of effect for each Summoned Sentinel of Purity Grants 50% of Life Recovery to Minions ++5 to Maximum Virulence // - modifies minion skill With at least 40 Intelligence in Radius, Raised Zombies' Slam Attack deals 30% increased Damage Raised Zombies' Slam Attack has 100% increased Area of Effect diff --git a/PoESkillTree.Engine.Computation.IntegrationTests/MechanicsTest.cs b/PoESkillTree.Engine.Computation.IntegrationTests/MechanicsTest.cs index 842601d1..cfaa32d6 100644 --- a/PoESkillTree.Engine.Computation.IntegrationTests/MechanicsTest.cs +++ b/PoESkillTree.Engine.Computation.IntegrationTests/MechanicsTest.cs @@ -250,7 +250,7 @@ public void ResistanceAgainstPhysicalHits() var armour = 4000; var expected = 50 + 100 * armour / (armour + 10 * enemyDamage); var actual = nodes - .GetNode(Build(_metaStats.ResistanceAgainstHits(DamageType.Physical)).Single()) + .GetNode(Build(_builderFactories.DamageTypeBuilders.Physical.ResistanceAgainstHits).Single()) .Value.Single(); Assert.AreEqual(expected, actual); } diff --git a/PoESkillTree.Engine.GameModel/Skills/ActiveSkillType.cs b/PoESkillTree.Engine.GameModel/Skills/ActiveSkillType.cs index c8a7ce2c..cd76e937 100644 --- a/PoESkillTree.Engine.GameModel/Skills/ActiveSkillType.cs +++ b/PoESkillTree.Engine.GameModel/Skills/ActiveSkillType.cs @@ -40,5 +40,6 @@ public static class ActiveSkillType public const string Guard = "guard"; public const string Ballista = "ballista"; public const string Triggered = "triggered"; + public const string Travel = "travel"; } } \ No newline at end of file diff --git a/PoESkillTree.Engine.GameModel/Skills/Keyword.cs b/PoESkillTree.Engine.GameModel/Skills/Keyword.cs index 17c496be..969d0aef 100644 --- a/PoESkillTree.Engine.GameModel/Skills/Keyword.cs +++ b/PoESkillTree.Engine.GameModel/Skills/Keyword.cs @@ -160,6 +160,11 @@ public enum Keyword /// Equivalent to the ActiveSkillType. /// Triggered, + + /// + /// Equivalent to the ActiveSkillType. + /// + Travel, } public static class KeywordExtensions @@ -203,6 +208,7 @@ private delegate bool KeywordApplies( { Keyword.Banner, (name, _, __) => name.EndsWith("Banner") }, { Keyword.Ballista, (_, types, __) => types.Contains(ActiveSkillType.Ballista) }, { Keyword.Triggered, (_, types, __) => types.Contains(ActiveSkillType.Triggered) }, + { Keyword.Travel, (_, types, __) => types.Contains(ActiveSkillType.Travel) }, }; public static bool IsOnSkill(this Keyword @this, From fe9f084f0bfa12b51582ba4daa83be156d2d0d69 Mon Sep 17 00:00:00 2001 From: brather1ng <7596346+brather1ng@users.noreply.github.com> Date: Wed, 11 Mar 2020 21:58:21 +0100 Subject: [PATCH 3/3] Update Data and Builders for second batch of 3.10.0 skill tree mods --- .../Conditions/ConditionBuildersTest.cs | 6 +- .../Conditions/ConditionBuilders.cs | 10 +- .../Effects/AilmentBuilders.cs | 8 + .../Stats/MetaStatBuilders.cs | 8 - .../Stats/StatBuilders.cs | 2 + .../Builders/Conditions/IConditionBuilders.cs | 13 +- .../Builders/Effects/IAilmentBuilders.cs | 2 + .../Builders/Stats/IMetaStatBuilders.cs | 2 - .../Builders/Stats/IStatBuilders.cs | 2 + .../ActionConditionMatchers.cs | 26 +-- .../ActionMatchers.cs | 3 + .../Base/UsesConditionBuilders.cs | 26 ++- .../BuffMatchers.cs | 4 +- .../ConditionMatchers.cs | 163 +++++++++++------- .../DamageStatMatchers.cs | 3 +- .../FormAndStatMatchers.cs | 93 +++++++--- .../GeneralStatMatchers.cs | 5 +- .../GivenStats/CommonMechanics.cs | 12 +- .../SpecialMatchers.cs | 57 ++++-- .../StatManipulatorMatchers.cs | 1 + .../StatReplacers.cs | 16 ++ .../ValueConversionMatchers.cs | 4 + .../Data/NotParseableStatLines.txt | 23 ++- .../Data/NotYetParseableStatLines.txt | 21 ++- .../JewelInSkillTreeParserTest.cs | 2 +- .../TransformationJewelParserTest.cs | 2 +- .../PassiveNodeParserTest.cs | 26 +-- .../SkilledPassiveNodeParserTest.cs | 2 +- .../PassiveTreeParsers/PassiveNodeParser.cs | 5 - .../PassiveTreeDefinitionExtensionsTest.cs | 2 +- .../PassiveTree/PassiveNodeDefinition.cs | 7 +- .../PassiveTree/PassiveTreeDefinition.cs | 6 +- 32 files changed, 389 insertions(+), 173 deletions(-) diff --git a/PoESkillTree.Engine.Computation.Builders.Tests/Conditions/ConditionBuildersTest.cs b/PoESkillTree.Engine.Computation.Builders.Tests/Conditions/ConditionBuildersTest.cs index ca002b3b..1149427f 100644 --- a/PoESkillTree.Engine.Computation.Builders.Tests/Conditions/ConditionBuildersTest.cs +++ b/PoESkillTree.Engine.Computation.Builders.Tests/Conditions/ConditionBuildersTest.cs @@ -68,10 +68,10 @@ public void AttackWithHandConvertsStatsCorrectly() var expected = Mock.Of(); var hand = AttackDamageHand.OffHand; var inStat = - Mock.Of(b => b.WithSkills.With(DamageSource.Attack).With(hand) == expected); + Mock.Of(b => b.With(DamageSource.Attack).With(hand).WithSkills == expected); var sut = CreateSut(); - var statConverter = sut.AttackWith(hand).Build().StatConverter; + var statConverter = sut.AttackWithSkills(hand).Build().StatConverter; var actual = statConverter(inStat); Assert.AreEqual(expected, actual); @@ -83,7 +83,7 @@ public void AttackWithHandThrowsWhenConvertingNonDamageRelatedStat() var inStat = Mock.Of(); var sut = CreateSut(); - var statConverter = sut.AttackWith(AttackDamageHand.MainHand).Build().StatConverter; + var statConverter = sut.AttackWithSkills(AttackDamageHand.MainHand).Build().StatConverter; Assert.Throws(() => statConverter(inStat)); } diff --git a/PoESkillTree.Engine.Computation.Builders/Conditions/ConditionBuilders.cs b/PoESkillTree.Engine.Computation.Builders/Conditions/ConditionBuilders.cs index 54f4046b..53ce9cce 100644 --- a/PoESkillTree.Engine.Computation.Builders/Conditions/ConditionBuilders.cs +++ b/PoESkillTree.Engine.Computation.Builders/Conditions/ConditionBuilders.cs @@ -32,13 +32,21 @@ public IConditionBuilder With(ISkillBuilder skill) .And(activeSkillIdStat.Value.Eq(skill.SkillId)); } + public IConditionBuilder AttackWithSkills(AttackDamageHand hand) => + AttackWith(hand) + .And(new StatConvertingConditionBuilder(IfIsDamageStat(d => d.WithSkills))); + public IConditionBuilder AttackWith(AttackDamageHand hand) => With(DamageSource.Attack) .And(new StatConvertingConditionBuilder(IfIsDamageStat(d => d.With(hand)))); + public IConditionBuilder WithSkills(DamageSource damageSource) => + With(damageSource) + .And(new StatConvertingConditionBuilder(IfIsDamageStat(d => d.WithSkills))); + public IConditionBuilder With(DamageSource damageSource) => new StatConvertingConditionBuilder(IfIsDamageStat( - d => d.WithSkills(damageSource), + d => d.With(damageSource), _ => throw new ParseException( $"IConditionBuilders.{nameof(With)} only works with damage related stats"))); diff --git a/PoESkillTree.Engine.Computation.Builders/Effects/AilmentBuilders.cs b/PoESkillTree.Engine.Computation.Builders/Effects/AilmentBuilders.cs index 896c30a3..65a1a402 100644 --- a/PoESkillTree.Engine.Computation.Builders/Effects/AilmentBuilders.cs +++ b/PoESkillTree.Engine.Computation.Builders/Effects/AilmentBuilders.cs @@ -2,6 +2,7 @@ using System.Linq; using EnumsNET; using PoESkillTree.Engine.Computation.Builders.Stats; +using PoESkillTree.Engine.Computation.Common; using PoESkillTree.Engine.Computation.Common.Builders.Effects; using PoESkillTree.Engine.Computation.Common.Builders.Stats; @@ -16,8 +17,13 @@ public AilmentBuilders(IStatFactory statFactory) _allAilments = new AilmentBuilderCollection(statFactory, Enums.GetValues().ToList()); Elemental = new AilmentBuilderCollection(statFactory, new[] { Ailment.Ignite, Ailment.Shock, Ailment.Chill, Ailment.Freeze }); + ShockEffect = StatBuilderUtils.FromIdentity(statFactory, "Shock.Effect", typeof(double)); + IncreasedDamageTakenFromShocks = StatBuilderUtils.FromIdentity(statFactory, + "Shock.IncreasedDamageTaken", typeof(uint), ExplicitRegistrationTypes.UserSpecifiedValue(15)); ChillEffect = StatBuilderUtils.FromIdentity(statFactory, "Chill.Effect", typeof(double)); + ReducedActionSpeedFromChill = StatBuilderUtils.FromIdentity(statFactory, + "Chill.ReducedActionSpeed", typeof(uint), ExplicitRegistrationTypes.UserSpecifiedValue(10)); } public IAilmentBuilder Ignite => _allAilments[Ailment.Ignite]; @@ -30,7 +36,9 @@ public AilmentBuilders(IStatFactory statFactory) public IAilmentBuilderCollection Elemental { get; } public IAilmentBuilderCollection All => _allAilments; public IStatBuilder ShockEffect { get; } + public IStatBuilder IncreasedDamageTakenFromShocks { get; } public IStatBuilder ChillEffect { get; } + public IStatBuilder ReducedActionSpeedFromChill { get; } } internal class AilmentBuilderCollection diff --git a/PoESkillTree.Engine.Computation.Builders/Stats/MetaStatBuilders.cs b/PoESkillTree.Engine.Computation.Builders/Stats/MetaStatBuilders.cs index d0e12e2f..27180fbe 100644 --- a/PoESkillTree.Engine.Computation.Builders/Stats/MetaStatBuilders.cs +++ b/PoESkillTree.Engine.Computation.Builders/Stats/MetaStatBuilders.cs @@ -137,14 +137,6 @@ public IStatBuilder AilmentCombinedEffectiveChance(Ailment ailment) public IStatBuilder AilmentEffectiveInstances(Ailment ailment) => FromIdentity($"{ailment}.EffectiveInstances", typeof(double)); - public IStatBuilder IncreasedDamageTakenFromShocks - => FromIdentity("Shock.IncreasedDamageTaken", typeof(uint), - ExplicitRegistrationTypes.UserSpecifiedValue(15)); - - public IStatBuilder ReducedActionSpeedFromChill - => FromIdentity("Chill.ReducedActionSpeed", typeof(uint), - ExplicitRegistrationTypes.UserSpecifiedValue(10)); - public IDamageRelatedStatBuilder EffectiveCritChance => DamageRelatedFromIdentity("CriticalStrike.EffectiveChance", typeof(double)).WithHits; diff --git a/PoESkillTree.Engine.Computation.Builders/Stats/StatBuilders.cs b/PoESkillTree.Engine.Computation.Builders/Stats/StatBuilders.cs index 32db4ffe..220ea693 100644 --- a/PoESkillTree.Engine.Computation.Builders/Stats/StatBuilders.cs +++ b/PoESkillTree.Engine.Computation.Builders/Stats/StatBuilders.cs @@ -129,6 +129,8 @@ private enum RuthlessBlowBonusCalculation public IStatBuilder CursesLinkedToBane => FromIdentity(typeof(uint)); + public IStatBuilder SealGainFrequency => FromIdentity(typeof(double)); + public IStatBuilder DamageTakenGainedAsMana => FromIdentity(typeof(uint)); public ValueBuilder UniqueAmount(string name, double defaultValue = 0) diff --git a/PoESkillTree.Engine.Computation.Common/Builders/Conditions/IConditionBuilders.cs b/PoESkillTree.Engine.Computation.Common/Builders/Conditions/IConditionBuilders.cs index 354592db..9ab18180 100644 --- a/PoESkillTree.Engine.Computation.Common/Builders/Conditions/IConditionBuilders.cs +++ b/PoESkillTree.Engine.Computation.Common/Builders/Conditions/IConditionBuilders.cs @@ -25,6 +25,12 @@ public interface IConditionBuilders /// IConditionBuilder With(ISkillBuilder skill); + /// + /// Returns a condition that is satisfied if the damage related stat or action is done as an attack with + /// the given hand with a skill (not ailments). + /// + IConditionBuilder AttackWithSkills(AttackDamageHand hand); + /// /// Returns a condition that is satisfied if the damage related stat or action is done as an attack with /// the given hand. @@ -33,7 +39,12 @@ public interface IConditionBuilders /// /// Returns a condition that is satisfied if the damage related stat or action is done as the given source - /// with a skill. + /// with a skill (not ailments). + /// + IConditionBuilder WithSkills(DamageSource damageSource); + + /// + /// Returns a condition that is satisfied if the damage related stat or action is done as the given source. /// IConditionBuilder With(DamageSource damageSource); diff --git a/PoESkillTree.Engine.Computation.Common/Builders/Effects/IAilmentBuilders.cs b/PoESkillTree.Engine.Computation.Common/Builders/Effects/IAilmentBuilders.cs index a22954fe..ac1f7963 100644 --- a/PoESkillTree.Engine.Computation.Common/Builders/Effects/IAilmentBuilders.cs +++ b/PoESkillTree.Engine.Computation.Common/Builders/Effects/IAilmentBuilders.cs @@ -25,6 +25,8 @@ public interface IAilmentBuilders IAilmentBuilderCollection All { get; } IStatBuilder ShockEffect { get; } + IStatBuilder IncreasedDamageTakenFromShocks { get; } IStatBuilder ChillEffect { get; } + IStatBuilder ReducedActionSpeedFromChill { get; } } } \ No newline at end of file diff --git a/PoESkillTree.Engine.Computation.Common/Builders/Stats/IMetaStatBuilders.cs b/PoESkillTree.Engine.Computation.Common/Builders/Stats/IMetaStatBuilders.cs index 12b81051..db4fc15f 100644 --- a/PoESkillTree.Engine.Computation.Common/Builders/Stats/IMetaStatBuilders.cs +++ b/PoESkillTree.Engine.Computation.Common/Builders/Stats/IMetaStatBuilders.cs @@ -69,8 +69,6 @@ public interface IMetaStatBuilders IDamageRelatedStatBuilder AilmentEffectiveChance(Ailment ailment); IStatBuilder AilmentCombinedEffectiveChance(Ailment ailment); IStatBuilder AilmentEffectiveInstances(Ailment ailment); - IStatBuilder IncreasedDamageTakenFromShocks { get; } - IStatBuilder ReducedActionSpeedFromChill { get; } IDamageRelatedStatBuilder EffectiveCritChance { get; } diff --git a/PoESkillTree.Engine.Computation.Common/Builders/Stats/IStatBuilders.cs b/PoESkillTree.Engine.Computation.Common/Builders/Stats/IStatBuilders.cs index d770452d..26a891be 100644 --- a/PoESkillTree.Engine.Computation.Common/Builders/Stats/IStatBuilders.cs +++ b/PoESkillTree.Engine.Computation.Common/Builders/Stats/IStatBuilders.cs @@ -153,6 +153,8 @@ public interface IStatBuilders IStatBuilder CursesLinkedToBane { get; } + IStatBuilder SealGainFrequency { get; } + /// /// Returns the value of a stat with type uint that can only be specified by the user. /// diff --git a/PoESkillTree.Engine.Computation.Data/ActionConditionMatchers.cs b/PoESkillTree.Engine.Computation.Data/ActionConditionMatchers.cs index cc5f44e0..05de2a73 100644 --- a/PoESkillTree.Engine.Computation.Data/ActionConditionMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/ActionConditionMatchers.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using PoESkillTree.Engine.Computation.Common.Builders; +using PoESkillTree.Engine.Computation.Common.Builders.Damage; using PoESkillTree.Engine.Computation.Common.Builders.Modifiers; using PoESkillTree.Engine.Computation.Common.Data; using PoESkillTree.Engine.Computation.Data.Base; @@ -71,19 +72,21 @@ protected override IReadOnlyList CreateCollection() => (And(ModifierSourceIs(ItemSlot.MainHand), MainHandAttack, Hit.On, Buff.Blind.IsOn(MainOpponentOfSelf)), And(ModifierSourceIs(ItemSlot.OffHand), OffHandAttack, Hit.On, Buff.Blind.IsOn(MainOpponentOfSelf))) }, - { "on hit no more than once every # seconds", Hit.On }, + { "on hit,? no more than once every (second|# seconds)", Hit.On }, { "on melee hit, no more than once every # seconds", And(Condition.WithPart(Keyword.Melee), Hit.On) }, + { "on hit with spell damage", And(Condition.With(DamageSource.Spell), Hit.On) }, // critical strike { "critical strikes have a", CriticalStrike.On }, - { "when you deal a critical strike", CriticalStrike.On }, - { "if you get a critical strike", CriticalStrike.On }, + { "(when you deal|if you get) a critical strike", CriticalStrike.On }, + { "your critical strikes", CriticalStrike.On }, { "when you take a critical strike", CriticalStrike.By(OpponentsOfSelf).On }, // skill cast { "when you place a totem", Totems.Cast.On }, { "when you summon a totem", Totems.Cast.On }, - { "when you use a warcry", Skills[Keyword.Warcry].Cast.On }, + { "when summoned", Totems.Cast.On }, + { "when you( use a)? warcry", Skills[Keyword.Warcry].Cast.On }, { "when you use a skill", Skills.AllSkills.Cast.On }, - { "when you use a fire skill", Skills[Fire].Cast.On }, + { "when you use a ({DamageTypeMatchers}) skill", Skills[Reference.AsDamageType].Cast.On }, { "when you use an elemental skill", ElementalDamageTypes.Select(dt => Skills[dt].Cast.On).Aggregate((l, r) => l.Or(r)) @@ -91,6 +94,8 @@ protected override IReadOnlyList CreateCollection() => // block { "when they block", Block.On }, { "when you block", Block.On }, + { "when you block attack damage", Block.Attack.On }, + { "when you block spell damage", Block.Spell.On }, // buffs { "when you ({BuffMatchers}) an enemy", Reference.AsBuff.InflictionAction.On }, // stun @@ -104,11 +109,12 @@ protected override IReadOnlyList CreateCollection() => { "when you spend mana", Action.SpendMana(ValueFactory.Create(1)).On }, { "when you focus", Action.Focus.On }, { "when you gain a ({ChargeTypeMatchers})", Reference.AsChargeType.GainAction.On }, - { "you gain", Condition.True }, // may be left over at the end, does nothing + { "every # seconds?", Action.EveryXSeconds(Values[0]).On }, + { "(every|each) second", Action.EveryXSeconds(ValueFactory.Create(1)).On }, + // leftover, meaningless words + { "you gain", Condition.True }, { "you", Condition.True }, { "grants", Condition.True }, - { "every # seconds?(, up to a maximum of #)?", Action.EveryXSeconds(Values[0]).On }, - { "(every|each) second(, up to a maximum of #)?", Action.EveryXSeconds(ValueFactory.Create(1)).On }, // unique { "when your trap is triggered by an enemy", @@ -120,11 +126,11 @@ protected override IReadOnlyList CreateCollection() => }, { "on use", Action.Unique("When you use the Flask").On }, { "when you use a flask", Action.Unique("When you use any Flask").On }, + { "when you use a life flask", Action.Unique("When you use any Life Flask").On }, { "if this skill hits any enemies", Action.Unique("When your active skill hits any enemies").On }, { "when you gain Adrenaline", Action.Unique("When you gain Adrenaline").On }, - { "when you block attack damage", Action.Unique("Block.Attack").On }, - { "when you block spell damage", Action.Unique("Block.Spell").On }, { "after channelling for # seconds?", Action.Unique("PeriodOfChannelling").On }, + { "every second, consume a nearby corpse to", Action.Unique("When you consume a corpse, every second").On }, }; // add } } \ No newline at end of file diff --git a/PoESkillTree.Engine.Computation.Data/ActionMatchers.cs b/PoESkillTree.Engine.Computation.Data/ActionMatchers.cs index a90d831c..73b7d03d 100644 --- a/PoESkillTree.Engine.Computation.Data/ActionMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/ActionMatchers.cs @@ -35,6 +35,9 @@ protected override IReadOnlyList CreateCollection() => { "hit with your off hand weapon", Action.HitWith(AttackDamageHand.OffHand) }, { "(dealt a )?critical strike", Action.CriticalStrike }, { "non-critical strike", Action.NonCriticalStrike }, + { "consumed a corpse", Action.ConsumeCorpse }, + { "shattered", Action.Shatter }, + { "taken damage", Action.TakeDamage }, { "stun(ned)?", Effect.Stun.InflictionAction }, { "shock(ed)?", Effect.Ailment.Shock.InflictionAction }, { "chill(ed)?", Effect.Ailment.Chill.InflictionAction }, diff --git a/PoESkillTree.Engine.Computation.Data/Base/UsesConditionBuilders.cs b/PoESkillTree.Engine.Computation.Data/Base/UsesConditionBuilders.cs index b409e422..1e545f0f 100644 --- a/PoESkillTree.Engine.Computation.Data/Base/UsesConditionBuilders.cs +++ b/PoESkillTree.Engine.Computation.Data/Base/UsesConditionBuilders.cs @@ -31,18 +31,38 @@ protected UsesConditionBuilders(IBuilderFactories builderFactories) protected IConditionBuilder WithSkeletonSkills => Or(With(Skills.SummonSkeletons), With(Skills.VaalSummonSkeletons)); + protected (IConditionBuilder mainHand, IConditionBuilder offHand) AttackWith(Tags tags) => + (MainHandAttackWith(tags), OffHandAttackWith(tags)); + + protected (IConditionBuilder mainHand, IConditionBuilder offHand) AttackWithEither(Tags tags1, Tags tags2) => + (Or(MainHandAttackWith(tags1), MainHandAttackWith(tags2)), + Or(OffHandAttackWith(tags1), OffHandAttackWith(tags2))); + protected IConditionBuilder MainHandAttackWith(Tags tags) => MainHandAttack.And(MainHand.Has(tags)); protected IConditionBuilder OffHandAttackWith(Tags tags) => OffHandAttack.And(OffHand.Has(tags)); - protected (IConditionBuilder mainHand, IConditionBuilder offHand) AttackWith(Tags tags) => - (MainHandAttackWith(tags), OffHandAttackWith(tags)); - protected IConditionBuilder MainHandAttack => Condition.AttackWith(AttackDamageHand.MainHand); protected IConditionBuilder OffHandAttack => Condition.AttackWith(AttackDamageHand.OffHand); + protected (IConditionBuilder mainHand, IConditionBuilder offHand) AttackWithSkills(Tags tags) => + (MainHandAttackWithSkills(tags), OffHandAttackWithSkills(tags)); + + protected (IConditionBuilder mainHand, IConditionBuilder offHand) AttackWithSkillsEither(Tags tags1, Tags tags2) => + (Or(MainHandAttackWithSkills(tags1), MainHandAttackWithSkills(tags2)), + Or(OffHandAttackWithSkills(tags1), OffHandAttackWithSkills(tags2))); + + protected IConditionBuilder MainHandAttackWithSkills(Tags tags) => + MainHandAttackWithSkills().And(MainHand.Has(tags)); + + protected IConditionBuilder OffHandAttackWithSkills(Tags tags) => + OffHandAttackWithSkills().And(OffHand.Has(tags)); + + protected IConditionBuilder MainHandAttackWithSkills() => Condition.AttackWithSkills(AttackDamageHand.MainHand); + protected IConditionBuilder OffHandAttackWithSkills() => Condition.AttackWithSkills(AttackDamageHand.OffHand); + protected IConditionBuilder ModifierSourceIs(ItemSlot slot) => Condition.ModifierSourceIs(new ModifierSource.Local.Item(slot)); diff --git a/PoESkillTree.Engine.Computation.Data/BuffMatchers.cs b/PoESkillTree.Engine.Computation.Data/BuffMatchers.cs index e69407af..22faddf3 100644 --- a/PoESkillTree.Engine.Computation.Data/BuffMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/BuffMatchers.cs @@ -24,7 +24,7 @@ protected override IReadOnlyList CreateCollection() => { "fortify", Buff.Fortify }, { "maim(ed)?", Buff.Maim }, { "hinder(ed)?", Buff.Hinder }, - { "intimidate", Buff.Intimidate }, + { "intimidated?", Buff.Intimidate }, { "taunt(ed)?", Buff.Taunt }, { "blind(ed)?", Buff.Blind }, { "onslaught", Buff.Onslaught }, @@ -37,7 +37,7 @@ protected override IReadOnlyList CreateCollection() => { "infusion", Buff.Infusion }, { "snares?", Buff.Snare }, { "ensnared", Buff.Snare }, - { "withered", Buff.Withered }, + { "wither(ed)?", Buff.Withered }, { "elusive", Buff.Elusive }, }; // Add } diff --git a/PoESkillTree.Engine.Computation.Data/ConditionMatchers.cs b/PoESkillTree.Engine.Computation.Data/ConditionMatchers.cs index 160cd7be..7b4ef0d4 100644 --- a/PoESkillTree.Engine.Computation.Data/ConditionMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/ConditionMatchers.cs @@ -32,9 +32,9 @@ protected override IReadOnlyList CreateCollection() => { // actions // - generic - { "if you('ve| have) ({ActionMatchers})( an enemy)? recently", Reference.AsAction.Recently }, - { "if you haven't ({ActionMatchers}) recently", Not(Reference.AsAction.Recently) }, - { "if you've ({ActionMatchers}) in the past # seconds", Reference.AsAction.InPastXSeconds(Value) }, + { @"if you('ve|\\u2019ve| have) ({ActionMatchers})( an enemy)? recently", Reference.AsAction.Recently }, + { @"if you haven('|\\u2019)t ({ActionMatchers}) recently", Not(Reference.AsAction.Recently) }, + { @"if you('|\\u2019)ve ({ActionMatchers}) in the past # seconds", Reference.AsAction.InPastXSeconds(Value) }, { "for # seconds on ({ActionMatchers})", Reference.AsAction.InPastXSeconds(Value) }, { "on ({ActionMatchers}) for # seconds", Reference.AsAction.InPastXSeconds(Value) }, { @@ -93,6 +93,10 @@ protected override IReadOnlyList CreateCollection() => And(Hit.Recently, Buffs(targets: OpponentsOfSelf).With(Keyword.Curse).Any()) }, // - critical strike + { + "if you've dealt a critical strike with a two handed melee weapon recently", + And(MainHandAttackWith(Tags.TwoHandWeapon), Not(MainHand.Has(Tags.Ranged)), CriticalStrike.Recently) + }, { "if you've crit in the past # seconds", CriticalStrike.InPastXSeconds(Value) }, { "if you've dealt a crit in the past # seconds", CriticalStrike.InPastXSeconds(Value) }, // - block @@ -107,15 +111,12 @@ protected override IReadOnlyList CreateCollection() => And(MainHand.Has(Tags.TwoHandWeapon), Not(MainHand.Has(Tags.Ranged)), With(Keyword.Attack), Effect.Stun.InflictionAction.Recently) }, { "if you've taken a savage hit recently", Action.SavageHit.By(MainOpponentOfSelf).Recently }, - { "if you've shattered an enemy recently", Action.Shatter.Recently }, { "if you've spent # total mana recently", Action.SpendMana(Value).Recently }, { "for # seconds after spending( a total of)? # mana", Action.SpendMana(Values[1]).InPastXSeconds(Values[0]) }, - { "if (you have|you've) consumed a corpse recently", Action.ConsumeCorpse.Recently }, - { "if you haven't taken damage recently", Not(Action.TakeDamage.Recently) }, - { "if a minion has been killed recently", Action.Die.By(Entity.Minion).Recently }, + { "if a minion has (been killed|died) recently", Action.Die.By(Entity.Minion).Recently }, { "while focussed", Action.Focus.Recently }, { "for # seconds when you focus", Action.Focus.InPastXSeconds(Value) }, // damage @@ -123,75 +124,88 @@ protected override IReadOnlyList CreateCollection() => { "with attacks", Condition.With(DamageSource.Attack) }, { "for attacks", Condition.With(DamageSource.Attack) }, { "for spells", Condition.With(DamageSource.Spell) }, - { "(your )?spells have", Condition.With(DamageSource.Spell) }, + { "(your )?spells have( a)?", Condition.With(DamageSource.Spell) }, // - by item tag - { "with weapons", AttackWith(Tags.Weapon) }, - { "(? CreateCollection() => { "when not on low ({PoolStatMatchers})", Not(Reference.AsPoolStat.IsLow) }, { "(when|while) on full ({PoolStatMatchers})", Reference.AsPoolStat.IsFull }, { "while ({PoolStatMatchers}) is full", Reference.AsPoolStat.IsFull }, + { "while they are on full ({PoolStatMatchers})", Reference.AsPoolStat.IsFull }, { "while not on full ({PoolStatMatchers})", Not(Reference.AsPoolStat.IsFull) }, { "if you have ({PoolStatMatchers})", Not(Reference.AsPoolStat.IsEmpty) }, { "while no ({PoolStatMatchers}) is reserved", Reference.AsPoolStat.Reservation.Value <= 0 }, @@ -282,6 +297,7 @@ protected override IReadOnlyList CreateCollection() => { "while affected by a ({KeywordMatchers}) skill buff", Buffs(Self).With(Reference.AsKeyword).Any() }, { "while affected by a non-vaal ({KeywordMatchers}) skill", Buffs(Self).Without(Keyword.Vaal).With(Reference.AsKeyword).Any() }, { "while affected by a herald", Buffs(Self).With(Keyword.Herald).Any() }, + { "while you are affected by a herald", Buffs(Self).With(Keyword.Herald).Any() }, { "during onslaught", Buff.Onslaught.IsOn(Self) }, { "while phasing", Buff.Phasing.IsOn(Self) }, { "while elusive", Buff.Elusive.IsOn(Self) }, @@ -322,7 +338,7 @@ protected override IReadOnlyList CreateCollection() => "against enemies( that are)? affected by no elemental ailments", Not(Ailment.Elemental.Any(a => a.IsOn(MainOpponentOfSelf))) }, - { "enemies chilled by supported skills( have)?", Ailment.Chill.IsOn(MainOpponentOfSelf) }, + { "enemies ({AilmentMatchers}) by (supported skills|you)( have)?", Reference.AsAilment.IsOn(MainOpponentOfSelf) }, { "against enemies affected by ailments", Ailment.All.Any(a => a.IsOn(MainOpponentOfSelf)) }, // ground effects { "while on consecrated ground", Ground.Consecrated.IsOn(Self) }, @@ -330,10 +346,14 @@ protected override IReadOnlyList CreateCollection() => // - by keyword { "vaal( skill)?", With(Keyword.Vaal) }, { "non-vaal skills deal", Not(With(Keyword.Vaal)) }, + { "bow skills (have|deal)", With(Keyword.Bow) }, { "with bow skills", And(MainHand.Has(Tags.Bow), With(Keyword.Bow)) }, - { "chaos skills have", With(Chaos) }, - { "spell skills have", With(Keyword.Spell) }, - { "(with|of|for) ({KeywordMatchers}) skills", With(Reference.AsKeyword) }, + { "spell skills (have|deal)", With(Keyword.Spell) }, + { "attack skills (have|deal)", With(Keyword.Attack) }, + { "non-curse aura skills have", And(With(Keyword.Aura), Not(With(Keyword.Curse))) }, + { "spells cast by totems (have|deal)", And(With(Keyword.Spell), With(Keyword.Totem)) }, + { "(with|of|for|from) ({KeywordMatchers}) skills", With(Reference.AsKeyword) }, + { "({DamageTypeMatchers}) skills (have|deal)", With(Reference.AsDamageType) }, { "(supported )?({KeywordMatchers}) skills (have|deal)", With(Reference.AsKeyword) }, { "(supported )?({KeywordMatchers}) spells (have|deal)", And(With(Reference.AsKeyword), With(Keyword.Spell)) }, { @@ -359,6 +379,10 @@ protected override IReadOnlyList CreateCollection() => Or(With(References[0].AsSkill), With(References[1].AsSkill)) }, { "while you have an? ({SkillMatchers})", Reference.AsSkill.Instances.Value > 0 }, + { + "skills supported by (intensify|unleash) have", + Condition.True // the stats with this condition only affect anything when supported by the support anyway + }, // - cast recently/in past x seconds { "if you've used a ({KeywordMatchers}) skill recently", Skills[Reference.AsKeyword].Cast.Recently }, { "if you haven't used a ({KeywordMatchers}) skill recently", Not(Skills[Reference.AsKeyword].Cast.Recently) }, @@ -367,6 +391,7 @@ protected override IReadOnlyList CreateCollection() => { "if (you've|you have) used a minion skill recently", Minions.Cast.Recently }, { "if you've used a warcry recently", Skills[Keyword.Warcry].Cast.Recently }, { "if you've warcried recently", Skills[Keyword.Warcry].Cast.Recently }, + { @"if you('ve|\\u2019ve) cursed an enemy recently", Skills[Keyword.Curse].Cast.Recently }, { "if you've warcried in the past # seconds", Skills[Keyword.Warcry].Cast.InPastXSeconds(Value) }, { "if you've used a ({DamageTypeMatchers}) skill in the past # seconds", @@ -425,15 +450,21 @@ protected override IReadOnlyList CreateCollection() => { "if you haven't summoned a totem in the past # seconds", Totems.Cast.InPastXSeconds(Value) }, // minions { "minions", For(Entity.Minion) }, - { "minions (deal|have|gain)", For(Entity.Minion) }, + { "minions (deal|have a|have|gain)", For(Entity.Minion) }, { "supported skills have minion", For(Entity.Minion) }, { "minions from supported skills deal", For(Entity.Minion) }, { "you and your minions have", For(Entity.Minion).Or(For(Self)) }, { "golems", And(For(Entity.Minion), With(Keyword.Golem)) }, { "golems have", And(For(Entity.Minion), With(Keyword.Golem)) }, { "summoned golems( are)?", And(For(Entity.Minion), With(Keyword.Golem)) }, - { "spectres have", And(For(Entity.Minion), With(Skills.RaiseSpectre)) }, - { "skeletons deal", And(For(Entity.Minion), WithSkeletonSkills) }, + { "spectres (have|deal)", And(For(Entity.Minion), With(Skills.RaiseSpectre)) }, + { "raised zombies (have|deal)", And(For(Entity.Minion), With(Skills.RaiseZombie)) }, + { "(summoned )?skeletons (have|deal)", And(For(Entity.Minion), WithSkeletonSkills) }, + { + "raised spectres, raised zombies, and summoned skeletons have", + And(For(Entity.Minion), + Or(With(Skills.RaiseSpectre), With(Skills.RaiseZombie), With(Skills.SummonSkeletons), With(Skills.VaalSummonSkeletons))) + }, { "while you have a summoned golem", Golems.CombinedInstances.Value > 0 }, // flasks { "while using a flask", Equipment.IsAnyFlaskActive() }, @@ -511,6 +542,12 @@ protected override IReadOnlyList CreateCollection() => Condition.Unique("Should modifiers requiring Ailments to be inflicted with critical strikes apply?") }, { "if a non-vaal guard buff was lost recently", Condition.Unique("Have you lost a non-vaal guard buff recently?") }, + { + "for 6 seconds on melee hit with a mace, sceptre or staff", + And(Or(MainHand.Has(Tags.Mace), MainHand.Has(Tags.Sceptre), MainHand.Has(Tags.Staff), + OffHand.Has(Tags.Mace), OffHand.Has(Tags.Sceptre), OffHand.Has(Tags.Staff)), + Condition.Unique("Did you hit an enemy with a melee attack in the past 6 seconds?")) + }, // support gem mod clarifications. Irrelevant for parsing. { "((a|for|with|from) )?supported (skill|spell|attack skill|attack)s?'?( (have|deal))?", diff --git a/PoESkillTree.Engine.Computation.Data/DamageStatMatchers.cs b/PoESkillTree.Engine.Computation.Data/DamageStatMatchers.cs index 5bec8051..6b9f6ad2 100644 --- a/PoESkillTree.Engine.Computation.Data/DamageStatMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/DamageStatMatchers.cs @@ -31,7 +31,7 @@ public DamageStatMatchers(IBuilderFactories builderFactories, IModifierBuilder m // damage or ailment damage from that attack. On the other hand, IDamageRelatedStatBuilder.WithSkills // differentiates from ailment damage and restricts to not apply to ailment damage. // E.g. "attack damage" does not include ailment damage and corresponds to WithSkills(DamageSource.Attack). - // "damage with attack skills does" does include ailment damage and corresponds to With(DamageSource.Attack). + // "damage with attack skills" does include ailment damage and corresponds to With(DamageSource.Attack). protected override IReadOnlyList CreateCollection() => new StatMatcherCollection(_modifierBuilder) { @@ -112,6 +112,7 @@ protected override IReadOnlyList CreateCollection() => Physical.Damage.WithSkills(DamageSource.Attack).With(Keyword.Projectile) }, { "melee area damage", Physical.Damage.With(Keyword.Melee).With(Keyword.AreaOfEffect) }, + { "main hand attack damage", Damage.WithSkills.With(AttackDamageHand.MainHand) }, // other entities { "minion damage", Damage.For(Entity.Minion) }, { "golem damage", Damage.For(Entity.Minion).With(Keyword.Golem) }, diff --git a/PoESkillTree.Engine.Computation.Data/FormAndStatMatchers.cs b/PoESkillTree.Engine.Computation.Data/FormAndStatMatchers.cs index a162eeea..866e0a3a 100644 --- a/PoESkillTree.Engine.Computation.Data/FormAndStatMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/FormAndStatMatchers.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Linq; +using PoESkillTree.Engine.Computation.Common; using PoESkillTree.Engine.Computation.Common.Builders; using PoESkillTree.Engine.Computation.Common.Builders.Damage; using PoESkillTree.Engine.Computation.Common.Builders.Modifiers; @@ -174,7 +175,7 @@ protected override IReadOnlyList CreateCollection() => "hits ignore enemy monster ({DamageTypeMatchers}) resistance", TotalOverride, 1, Reference.AsDamageType.IgnoreResistance }, - { "enemies have #% to total physical damage reduction against your hits", BaseAdd, Value, Physical.Penetration }, + { "enemies have #% to total physical damage reduction( against your hits)?", BaseAdd, Value, Physical.Penetration }, { "enemies (you impale|impaled by supported skills) have #% to total physical damage reduction against impale hits", BaseAdd, Value, Buff.Impale.Penetration @@ -225,6 +226,7 @@ protected override IReadOnlyList CreateCollection() => BaseAdd, 1, Projectile.Count, And(With(Keyword.Attack), MainHand.Has(Tags.Bow)) }, { "skills fire an additional projectile", BaseAdd, 1, Projectile.Count }, + { "attack skills fire an additional projectile", BaseAdd, 1, Projectile.Count, With(Keyword.Attack) }, { "skills fire # additional projectiles", BaseAdd, Value, Projectile.Count }, { "supported skills fire # additional projectiles", BaseAdd, Value, Projectile.Count }, { "totems fire # additional projectiles", BaseAdd, 1, Projectile.Count, With(Keyword.Totem) }, @@ -255,6 +257,7 @@ protected override IReadOnlyList CreateCollection() => { @"chains \+# times", BaseAdd, Value, Projectile.ChainCount }, { @"chain # additional times", BaseAdd, Value, Projectile.ChainCount }, { @"(supported )?skills chain \+# times", BaseAdd, Value, Projectile.ChainCount }, + { "projectiles from socketed gems fork", TotalOverride, 1, Projectile.Fork, Condition.MainSkillHasModifierSourceItemSlot }, { "fires? projectiles sequentially", TotalOverride, Projectile.Count.Value, Stat.SkillNumberOfHitsPerCast @@ -262,6 +265,11 @@ protected override IReadOnlyList CreateCollection() => // - other { "(your )?hits can't be evaded", TotalOverride, 100, Stat.ChanceToHit }, { "can't be evaded", TotalOverride, 100, Stat.ChanceToHit }, + { + "increases and reductions to spell damage also apply to attacks", + TotalOverride, 100, + Damage.With(DamageSource.Attack).ApplyModifiersToSkills(DamageSource.Spell, Form.Increase) + }, // defense // - life, mana, defences { "maximum life becomes #", TotalOverride, Value, Life }, @@ -270,6 +278,10 @@ protected override IReadOnlyList CreateCollection() => "gain #% of maximum ({PoolStatMatchers}) as extra maximum energy shield", BaseAdd, Value, Reference.AsPoolStat.GainAs(EnergyShield) }, + { + "gain #% of maximum ({PoolStatMatchers}) as extra armour", + BaseAdd, Value, Reference.AsPoolStat.GainAs(Armour) + }, { "converts all evasion rating to armour", TotalOverride, 100, Evasion.ConvertTo(Armour) }, { "cannot evade enemy attacks", TotalOverride, 0, Evasion.Chance }, { @"\+# evasion rating", BaseAdd, Value, Evasion }, @@ -342,6 +354,7 @@ protected override IReadOnlyList CreateCollection() => "#% faster start of energy shield recharge", PercentIncrease, Value, EnergyShield.Recharge.Start }, + { "cannot regenerate ({PoolStatMatchers})", TotalOverride, 0, Reference.AsPoolStat.Regen }, { "life regeneration has no effect", PercentLess, 100, Life.Regen }, { "life regeneration is applied to energy shield instead", @@ -378,6 +391,7 @@ protected override IReadOnlyList CreateCollection() => }, { @"\+# ({PoolStatMatchers}) gained", BaseAdd, Value, Reference.AsPoolStat.Gain }, { @"gain \+# ({PoolStatMatchers})", BaseAdd, Value, Reference.AsPoolStat.Gain }, + { "recover # ({PoolStatMatchers})", BaseAdd, Value, Reference.AsPoolStat.Gain }, { "replenishes energy shield by #% of armour", BaseAdd, Value.PercentOf(Armour), EnergyShield.Gain }, { "recover ({PoolStatMatchers}) equal to #% of your evasion rating", @@ -394,7 +408,7 @@ protected override IReadOnlyList CreateCollection() => Charge.Power.ChanceToGain, Charge.Frenzy.ChanceToGain, Charge.Endurance.ChanceToGain }, { - "(? CreateCollection() => BaseAdd, Value, Stat.Cooldown, With(Skills.SummonSkeletons) }, // buffs + // - On { "(? CreateCollection() => "(? CreateCollection() => }, { "gain elemental conflux", TotalOverride, 1, Buff.Conflux.Elemental.On(Self) }, { "creates consecrated ground", TotalOverride, 1, Ground.Consecrated.On(Self) }, - { "(? CreateCollection() => TotalOverride, 100, Reference.AsAilment.Chance, OpponentsOfSelf.IsNearby }, { "cannot cause bleeding", TotalOverride, 0, Ailment.Bleed.Chance }, - { "cannot ignite", TotalOverride, 0, Ailment.Ignite.Chance }, - { "cannot (apply|inflict) shock", TotalOverride, 0, Ailment.Shock.Chance }, + { "cannot ({AilmentMatchers})", TotalOverride, 0, Reference.AsAilment.Chance }, + { "cannot (apply|inflict) ({AilmentMatchers})", TotalOverride, 0, Reference.AsAilment.Chance }, { "cannot inflict elemental ailments", TotalOverride, 0, Ailment.Elemental.Select(s => s.Chance) }, + { + "cannot ignite, chill, freeze or shock", TotalOverride, 0, + Ailment.Ignite.Chance, Ailment.Chill.Chance, Ailment.Freeze.Chance, Ailment.Shock.Chance + }, { "(you )?can (afflict|inflict) an additional ignite on an enemy", BaseAdd, 1, Ailment.Ignite.InstancesOn(OpponentsOfSelf).Maximum @@ -552,14 +588,25 @@ protected override IReadOnlyList CreateCollection() => "({AilmentMatchers}) inflicted by this skill deals damage #% faster", PercentIncrease, Value, Reference.AsAilment.TickRateModifier }, + { + "damaging ailments deal damage #% faster", + PercentIncrease, Value, Ailment.Ignite.TickRateModifier, Ailment.Bleed.TickRateModifier, Ailment.Poison.TickRateModifier + }, { "damaging ailments inflicted with supported skills deal damage #% faster", PercentIncrease, Value, Ailment.Ignite.TickRateModifier, Ailment.Bleed.TickRateModifier, Ailment.Poison.TickRateModifier }, + { "nearby enemies are ({AilmentMatchers})", TotalOverride, 1, Reference.AsAilment.On(OpponentsOfSelf), OpponentsOfSelf.IsNearby }, + { + "enemies ({AilmentMatchers}) by your hits are ({AilmentMatchers})", + TotalOverride, 1, References[1].AsAilment.On(MainOpponentOfSelf), References[0].AsAilment.IsOn(MainOpponentOfSelf) + }, + { "your shocks can increase damage taken by up to a maximum of #%", TotalOverride, Value, Ailment.IncreasedDamageTakenFromShocks }, // stun { "#% increased stun threshold reduction on enemies", PercentReduce, Value, Effect.Stun.Threshold.For(OpponentsOfSelf) }, { "(you )?cannot be stunned", TotalOverride, 100, Effect.Stun.Avoidance }, { "additional #% chance to be stunned", BaseAdd, Value, Effect.Stun.Chance.For(OpponentsOfSelf) }, + { "chaos skills ignore interruption from stuns", TotalOverride, 100, Effect.Stun.ChanceToAvoidInterruptionWhileCasting, With(Chaos) }, // knockback { "knocks back enemies", TotalOverride, 100, Effect.Knockback.Chance }, { "knocks enemies back", TotalOverride, 100, Effect.Knockback.Chance }, @@ -568,6 +615,7 @@ protected override IReadOnlyList CreateCollection() => "adds knockback to melee attacks", TotalOverride, 100, Effect.Knockback.Chance, Condition.WithPart(Keyword.Melee) }, + { "knock back ({AilmentMatchers}) enemies", TotalOverride, 100, Effect.Knockback.Chance, Reference.AsAilment.On(MainOpponentOfSelf) }, // flasks { "(? CreateCollection() => // item quantity/quality // range and area of effect // other + { "grants # passive skill points?", BaseAdd, Value, Stat.PassivePoints.Maximum }, }; } } \ No newline at end of file diff --git a/PoESkillTree.Engine.Computation.Data/GeneralStatMatchers.cs b/PoESkillTree.Engine.Computation.Data/GeneralStatMatchers.cs index 3651e09e..8af94d6c 100644 --- a/PoESkillTree.Engine.Computation.Data/GeneralStatMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/GeneralStatMatchers.cs @@ -153,6 +153,7 @@ protected override IReadOnlyList CreateCollection() => { "({KeywordMatchers}) critical strike chance", CriticalStrike.Chance.With(Reference.AsKeyword) }, { "projectiles have critical strike chance", CriticalStrike.Chance.With(Keyword.Projectile) }, { "you take extra damage from critical strikes", CriticalStrike.ExtraDamageTaken }, + { "extra damage taken from critical strikes", CriticalStrike.ExtraDamageTaken }, // - projectiles { "projectile speed", Projectile.Speed }, { "arrow speed", Projectile.Speed, And(With(Keyword.Attack), MainHand.Has(Tags.Bow)) }, @@ -337,6 +338,7 @@ protected override IReadOnlyList CreateCollection() => { "mana reserved", AllSkills.Reservation }, { "mana reservation of skills", AllSkills.Reservation }, { "mana reservation of ({KeywordMatchers}) skills", Skills[Reference.AsKeyword].Reservation }, + { "({KeywordMatchers}) skills have mana reservation", Skills[Reference.AsKeyword].Reservation }, { "mana reservation of skills that throw mines", Mines.Reservation }, { "({SkillMatchers}) has mana reservation", Reference.AsSkill.Reservation }, { "skill effect duration", Stat.Duration }, @@ -345,6 +347,7 @@ protected override IReadOnlyList CreateCollection() => { "warcry duration", Stat.Duration, With(Keyword.Warcry) }, { "curse duration", Stat.Duration, With(Keyword.Curse) }, { "({SkillMatchers}) duration", Stat.Duration, With(Reference.AsSkill) }, + { "seal gain frequency", Stat.SealGainFrequency }, // traps, mines, totems { "trap duration", Stat.Trap.Duration }, { "mine duration", Stat.Mine.Duration }, @@ -380,7 +383,7 @@ protected override IReadOnlyList CreateCollection() => { "effect of ({BuffMatchers})", Reference.AsBuff.Effect }, { "effect of ({BuffMatchers}) on you", Reference.AsBuff.EffectOn(Self) }, { "effect of ({BuffMatchers}) from this skill", Reference.AsBuff.Effect }, - { "({SkillMatchers}) has buff effect", Reference.AsSkill.Buff.Effect }, + { "({SkillMatchers}) has (buff|aura) effect", Reference.AsSkill.Buff.Effect }, { "effect of buffs granted by your golems", Buffs(Entity.Minion).With(Keyword.Golem).Effect }, { "effect of buffs granted by your elemental golems", diff --git a/PoESkillTree.Engine.Computation.Data/GivenStats/CommonMechanics.cs b/PoESkillTree.Engine.Computation.Data/GivenStats/CommonMechanics.cs index 6b9b4d77..050b80db 100644 --- a/PoESkillTree.Engine.Computation.Data/GivenStats/CommonMechanics.cs +++ b/PoESkillTree.Engine.Computation.Data/GivenStats/CommonMechanics.cs @@ -62,16 +62,16 @@ private DataDrivenMechanicCollection CreateCollection() }, { TotalOverride, Ailment.Chill.On(Self), 1, Ailment.Freeze.IsOn(Self) }, { - PercentIncrease, Ailment.Shock.AddStat(Damage.Taken), MetaStats.IncreasedDamageTakenFromShocks.Value + PercentIncrease, Ailment.Shock.AddStat(Damage.Taken), Ailment.IncreasedDamageTakenFromShocks.Value }, - { TotalOverride, MetaStats.IncreasedDamageTakenFromShocks.Maximum, 50 }, - { TotalOverride, MetaStats.IncreasedDamageTakenFromShocks.Minimum, 1 }, + { BaseSet, Ailment.IncreasedDamageTakenFromShocks.Maximum, 50 }, + { TotalOverride, Ailment.IncreasedDamageTakenFromShocks.Minimum, 1 }, { PercentReduce, Ailment.Chill.AddStat(Stat.ActionSpeed), - MetaStats.ReducedActionSpeedFromChill.Value + Ailment.ReducedActionSpeedFromChill.Value }, - { TotalOverride, MetaStats.ReducedActionSpeedFromChill.Maximum, 30 }, - { TotalOverride, MetaStats.ReducedActionSpeedFromChill.Minimum, 1 }, + { BaseSet, Ailment.ReducedActionSpeedFromChill.Maximum, 30 }, + { TotalOverride, Ailment.ReducedActionSpeedFromChill.Minimum, 1 }, { BaseSet, a => Ailment.From(a).TickRateModifier, a => ValueFactory.Create(1) }, { PercentMore, a => Ailment.From(a).Duration, a => 100 / Ailment.From(a).TickRateModifier.Value }, // stun (see https://pathofexile.gamepedia.com/Stun) diff --git a/PoESkillTree.Engine.Computation.Data/SpecialMatchers.cs b/PoESkillTree.Engine.Computation.Data/SpecialMatchers.cs index a4511317..d2f291a9 100644 --- a/PoESkillTree.Engine.Computation.Data/SpecialMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/SpecialMatchers.cs @@ -67,11 +67,6 @@ protected override IReadOnlyList CreateCollection() => Damage.With(DamageSource.Spell) .ApplyModifiersToSkills(DamageSource.OverTime, Form.Increase, Form.More) }, - { - "increases and reductions to spell damage also apply to attacks", - TotalOverride, 100, - Damage.With(DamageSource.Attack).ApplyModifiersToSkills(DamageSource.Spell, Form.Increase) - }, { "increases and reductions to minion damage also affect you", TotalOverride, 1, Flag.IncreasesToSourceApplyToTarget(Damage.For(Entity.Minion), Damage) @@ -134,6 +129,49 @@ protected override IReadOnlyList CreateCollection() => "mines hinder enemies near them for 2 seconds when they land", TotalOverride, 1, Buff.Hinder.On(OpponentsOfSelf), Condition.Unique("Did a Mine Land near the Enemy in the past 2 seconds?") }, + { + "arrows gain critical strike chance as they travel farther, up to #% increased critical strike chance", + PercentIncrease, + Value * ValueFactory.LinearScale(Projectile.TravelDistance, (35, 0), (70, 1)), + CriticalStrike.Chance.With(DamageSource.Attack).With(Keyword.Projectile), + MainHand.Has(Tags.Bow) + }, + { + "arrows gain damage as they travel farther, dealing up to #% increased damage with hits to targets", + PercentIncrease, + Value * ValueFactory.LinearScale(Projectile.TravelDistance, (35, 0), (70, 1)), + Damage.With(DamageSource.Attack).With(Keyword.Projectile), + MainHand.Has(Tags.Bow) + }, + { + "attack projectiles always inflict bleeding and maim, and knock back enemies projectiles cannot pierce, fork or chain", + (TotalOverride, 100, Ailment.Bleed.Chance.With(DamageSource.Attack).With(Keyword.Projectile)), + (TotalOverride, 100, Buff.Maim.Chance.With(DamageSource.Attack).With(Keyword.Projectile)), + (TotalOverride, 100, Effect.Knockback.Chance.With(DamageSource.Attack).With(Keyword.Projectile)), + (TotalOverride, 0, Projectile.PierceCount), + (TotalOverride, 0, Projectile.Fork), + (TotalOverride, 0, Projectile.ChainCount) + }, + { + "you have chilling conflux for # seconds every # seconds", + TotalOverride, 1, Buff.Conflux.Chilling.On(Self), + Condition.Unique("Is the Chilling Conflux from your Hunter helmet currently active?") + }, + { + "you have igniting conflux for # seconds every # seconds", + TotalOverride, 1, Buff.Conflux.Igniting.On(Self), + Condition.Unique("Is the Igniting Conflux from your Hunter helmet currently active?") + }, + { + "you have shocking conflux for # seconds every # seconds", + TotalOverride, 1, Buff.Conflux.Shocking.On(Self), + Condition.Unique("Is the Shocking Conflux from your Hunter helmet currently active?") + }, + { + "poisons you inflict on non-poisoned enemies deal #% increased damage", + PercentIncrease, Value, Damage.With(Ailment.Poison), + Condition.Unique("Should Poison Damage be based on the initial Poison instance on the Enemy?") + }, // Socketed gem modifiers { "socketed movement skills have no mana cost", @@ -434,7 +472,8 @@ protected override IReadOnlyList CreateCollection() => // Unleash Support "supported spells gain a seal every # seconds, to a maximum of # seals " + "supported spells are unsealed when cast, and their effects reoccur for each seal lost", - TotalOverride, Values[0].Invert, Stat.AdditionalCastRate + (BaseSet, Values[0].Invert, Stat.SealGainFrequency), + (TotalOverride, Stat.SealGainFrequency.Value, Stat.AdditionalCastRate) }, { "supported skills deal #% less damage when reoccurring", @@ -500,7 +539,7 @@ protected override IReadOnlyList CreateCollection() => }, { // Mortal Conviction - "you can only have one non-banner aura with no duration on you from your skills non-banner, non-mine aura skills reserve no mana", + "you can only have one permanent non-banner aura on you from your skills your non-banner skills that create permanent auras on you do not reserve mana", TotalOverride, 0, Skills[Keyword.Aura].Reservation }, { @@ -655,10 +694,6 @@ protected override IReadOnlyList CreateCollection() => Condition.Unique("Do you have Adrenaline?")), (BaseAdd, 10, Buff.Buff(Physical.Resistance, Self), Condition.Unique("Do you have Adrenaline?")) }, - { - "impales you inflict last # additional hits", - BaseAdd, Value, Buff.Impale.StackCount.For(OpponentsOfSelf).Maximum - }, { "banner skills reserve no mana", TotalOverride, 0, Skills[Keyword.Banner].Reservation diff --git a/PoESkillTree.Engine.Computation.Data/StatManipulatorMatchers.cs b/PoESkillTree.Engine.Computation.Data/StatManipulatorMatchers.cs index 57db8148..f939a3e9 100644 --- a/PoESkillTree.Engine.Computation.Data/StatManipulatorMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/StatManipulatorMatchers.cs @@ -27,6 +27,7 @@ protected override IReadOnlyList CreateCollection() => { "you and nearby allies (deal|have)(?! onslaught)", s => Buff.Aura(s, Self, Ally) }, { "you and nearby allies(?! deal| have)", s => Buff.Aura(s, Self, Ally) }, { "you and nearby non-minion allies have a", s => Buff.Aura(s, Self, Entity.Totem) }, + { "you and nearby party members", s => s }, // The player character is the only party member with an Entity { "auras from your skills grant (?.*) to you and allies", s => Buffs(Self, Self, Ally).With(Keyword.Aura).Without(Keyword.Curse).AddStat(s), "${inner}" diff --git a/PoESkillTree.Engine.Computation.Data/StatReplacers.cs b/PoESkillTree.Engine.Computation.Data/StatReplacers.cs index 3975b838..ac4c0260 100644 --- a/PoESkillTree.Engine.Computation.Data/StatReplacers.cs +++ b/PoESkillTree.Engine.Computation.Data/StatReplacers.cs @@ -47,6 +47,22 @@ public class StatReplacers @"(.* hinder enemies.*), reducing movement speed by (\d+%)", "$1", "hinder enemies with $2 reduced movement speed" }, + { + @"(enemies .* are hindered), with (\d+% reduced movement speed)", + "$1", "hinder enemies with $2" + }, + { + @"(every \d+ seconds?, gain a) (.*), up to a maximum of (\d+)", + "$1 $2", "+$3 to maximum $2" + }, + { + @"(every second, consume a nearby corpse to .* mana) (\d+% .* if you haven't consumed a corpse recently)", + "$1", "$2" + }, + { + @"(you can only have one herald) (\d+% .* herald buffs on you) (\d+% .* herald skills) (\d+% .* herald skills) (minions from herald skills deal \d+% more damage) (your aura skills are disabled)", + "$2", "$3", "$4", "$5" + }, // keystones { // Acrobatics diff --git a/PoESkillTree.Engine.Computation.Data/ValueConversionMatchers.cs b/PoESkillTree.Engine.Computation.Data/ValueConversionMatchers.cs index 1700409d..f5cab7d9 100644 --- a/PoESkillTree.Engine.Computation.Data/ValueConversionMatchers.cs +++ b/PoESkillTree.Engine.Computation.Data/ValueConversionMatchers.cs @@ -218,6 +218,10 @@ protected override IReadOnlyList CreateCollection() => (Stat.UniqueAmount("# of prior mines in detonation sequence") / Value).Floor(), Mines.CombinedInstances.Maximum.Value) }, + { + "while stationary, gain (?#% .*) every second, up to a maximum of #%", + CappedMultiplier(Stat.UniqueAmount("# of seconds you've been stationary for"), Values[1] / Values[0]), "${inner}" + }, }; // add private ValueBuilder MineAura() diff --git a/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotParseableStatLines.txt b/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotParseableStatLines.txt index 0c171bff..d9f9dcbc 100644 --- a/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotParseableStatLines.txt +++ b/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotParseableStatLines.txt @@ -27,6 +27,9 @@ Unaffected by Desecrated Ground Reflects 2 Physical Damage to Melee Attackers Flask Effect is not removed at Full Mana Mana Recovery occurs instantly at the end of the Flask effect +Killed Enemies Explode, dealing 3% of their Life as Physical Damage +Enemies killed explode dealing 5% of their Life as Fire Damage +When you Kill a Rare Monster, 25% chance to gain one of its Modifiers for 10 seconds // Master crafted: ===================================================================================================== 15% of Damage Taken from Hits is Leeched as Life during Flask Effect 7% increased Brand Attachment range @@ -41,6 +44,7 @@ Suffixes Cannot Be Changed 33% increased Rarity of Items Dropped by Slain Rare or Unique Enemies Attack Projectiles Return to you after hitting targets Hits with this Weapon have Culling Strike against Bleeding Enemies +Can have up to 3 Crafted Modifiers // Unique/Implicit Weapons: ============================================================================================ Can roll Minion Modifiers // Unique/Implicit Armour: ============================================================================================= @@ -308,6 +312,23 @@ You are Unaffected by Bleeding while Leeching 20% increased Brand Attachment range 20% increased Raised Zombie Size 25% increased Totem Placement range +6% chance to Avoid Cold Damage from Hits +6% chance to Avoid Lightning Damage from Hits +6% chance to Avoid Physical Damage from Hits +Enemies killed by your Attack Hits have a 15% chance to Explode, dealing a tenth of their maximum Life as Physical Damage +Enemies killed by your Wand Hits have a 10% chance to Explode, dealing a quarter of their Life as Chaos Damage +Enemies you Kill have a 10% chance to Explode, dealing a quarter of their maximum Life as Chaos Damage +Freezes you inflict spread to other Enemies within a Radius of 12 +Ignited Enemies you hit are destroyed on Kill +Ignites you inflict spread to other Enemies within a Radius of 15 +Minions created Recently cannot be Damaged +Minions created Recently have 10% increased Attack and Cast Speed +Minions created Recently have 30% increased Movement Speed +Minions recover 4% of Life on Minion Death +Unaffected by Poison +Unattached Brands gain 20% increased Brand Attachment Range per second +Warcries count as having 10 additional nearby Enemies +You have Culling Strike against Cursed Enemies // Side effect from how jewels are currently handled, the stat doesn't actually exist +1 Jewel Socket // Ascendancies: ======================================================================================================= @@ -325,7 +346,7 @@ Moving while Bleeding doesn't cause you to take extra Damage // - Pathfinder Enemies you Kill that are affected by Elemental Ailments grant 100% increased Flask Charges You lose Virulence 50% slower -When you kill a Poisoned Enemy during any Flask Effect, nearby enemies are Poisoned +You lose Virulence 30% slower // - Occultist Cursed Enemies you or your Minions Kill have a 25% chance to Explode, dealing a quarter of their maximum Life as Chaos Damage Energy Shield Recharge is not interrupted by Damage if Recharge began Recently diff --git a/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotYetParseableStatLines.txt b/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotYetParseableStatLines.txt index b758a2e2..9e2413f3 100644 --- a/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotYetParseableStatLines.txt +++ b/PoESkillTree.Engine.Computation.IntegrationTests/Data/NotYetParseableStatLines.txt @@ -28,19 +28,37 @@ Transfiguration of Mind Transfiguration of Soul // - Unnerve Nearby Allies Unnerve Enemies for 4 seconds on Hit +8% chance to Unnerve Enemies for 4 seconds on Hit +Enemies Taunted by your Warcries are Unnerved +Enemies you Curse are Unnerved +// - alternative ailments: Scorch, Brittle, Sapped +Cannot Ignite, Chill, Freeze or Shock Critical Strikes inflict Scorch, Brittle and Sapped +// - Grasping Vines +Gain 2 Grasping Vines each second while stationary 2% chance to deal Double Damage per Grasping Vine 1% less Damage taken per Grasping Vine +// - Unencumbered +You count as Dual Wielding while you are Unencumbered 60% more Attack Speed while you are Unencumbered 14 to 20 Added Attack Physical Damage per 10 Dexterity while you are Unencumbered // BaseSet Exposure via a new UserSpecifiedValue stat? 13% chance to inflict Cold Exposure on Hit 13% chance to inflict Fire Exposure on Hit 13% chance to inflict Lightning Exposure on Hit +Cold Skills have a 25% chance to apply Cold Exposure on Hit +Fire Skills have a 25% chance to apply Fire Exposure on Hit +Lightning Skills have a 25% chance to apply Lightning Exposure on Hit +Nearby Enemies have Fire Exposure // More calculations for non-damaging ailments (shock, chill, freeze) Chills Enemies as though dealing 195% more Damage Shocks Enemies as though dealing 195% more Damage // Requires distinguishing flask types 10% reduced Flask Charges used from Mana Flasks Mana Flasks gain 1 Charge every 3 seconds +Life Flasks gain 1 Charge every 3 seconds You have Fortify during Effect of any Life Flask Remove a Curse when you use a Mana Flask Remove a random Elemental Ailment when you use a Mana Flask +// Requires averaging of damage per damage type in DamageMechanics +Lightning Damage with Non-Critical Strikes is Lucky +// Requires Damage.ChanceToDouble being split into crit and non-crit +Your Critical Strikes have a 5% chance to deal Double Damage // Item-inherent skills Curse Enemies with Level 10 Flammability on Hit Curse Enemies with Level 8 Assassin's Mark on Hit @@ -51,6 +69,7 @@ Curse Enemies with Level 5 Frostbite on Hit Curse Enemies with Level 8 Poacher's Mark on Hit Curse Enemies with Level 5 Vulnerability on Hit Curse Enemies with Level 8 Warlord's Mark on Hit +Curse Enemies with Level 5 Elemental Weakness on Hit 25% chance to Curse non-Cursed Enemies with Enfeeble on Hit Grants Level 22 Abyssal Cry Skill Grants Level 22 Anger Skill @@ -142,6 +161,7 @@ Socketed Gems are Supported by Level 16 Vicious Projectiles Socketed Gems are Supported by Level 16 Volley Socketed Gems are Supported by Level 16 Inspiration Socketed Gems are Supported by Level 18 Blastchain Mine +Socketed Gems are Supported by Level 18 Ballista Totem Trigger a Socketed Spell when you Use a Skill Trigger Socketed Spells when you Focus Triggers Level 20 Spectral Spirits when Equipped @@ -151,7 +171,6 @@ Triggers Level 7 Abberath's Fury when Equipped 10% Chance to Trigger Level 18 Summon Spectral Wolf on Kill 10% chance to Cast Level 20 Fire Burst on Hit Drops Burning Ground while moving, dealing 2500 Fire Damage per second -Enemies killed explode dealing 5% of their Life as Fire Damage Your Hits inflict Decay, dealing 500 Chaos Damage per second for 8 seconds // Minions 10% increased area of effect for each Summoned Sentinel of Purity diff --git a/PoESkillTree.Engine.Computation.Parsing.Tests/JewelParsers/JewelInSkillTreeParserTest.cs b/PoESkillTree.Engine.Computation.Parsing.Tests/JewelParsers/JewelInSkillTreeParserTest.cs index c138a8ae..e007dfe9 100644 --- a/PoESkillTree.Engine.Computation.Parsing.Tests/JewelParsers/JewelInSkillTreeParserTest.cs +++ b/PoESkillTree.Engine.Computation.Parsing.Tests/JewelParsers/JewelInSkillTreeParserTest.cs @@ -61,6 +61,6 @@ private static ModifierSource.Local.Jewel CreateLocalSource(JewelInSkillTreePars private static PassiveNodeDefinition CreateNode(ushort id) => new PassiveNodeDefinition(id, default, "", false, false, - 0, default, new string[0]); + default, new string[0]); } } \ No newline at end of file diff --git a/PoESkillTree.Engine.Computation.Parsing.Tests/JewelParsers/TransformationJewelParserTest.cs b/PoESkillTree.Engine.Computation.Parsing.Tests/JewelParsers/TransformationJewelParserTest.cs index 36a811ef..8d044ac7 100644 --- a/PoESkillTree.Engine.Computation.Parsing.Tests/JewelParsers/TransformationJewelParserTest.cs +++ b/PoESkillTree.Engine.Computation.Parsing.Tests/JewelParsers/TransformationJewelParserTest.cs @@ -192,6 +192,6 @@ private static TransformationJewelParser CreateSut(TransformationJewelParserData private static PassiveNodeDefinition CreateNode(ushort id, params string[] modifiers) => new PassiveNodeDefinition(id, default, "", default, - default, default, default, modifiers); + default, default, modifiers); } } \ No newline at end of file diff --git a/PoESkillTree.Engine.Computation.Parsing.Tests/PassiveTreeParsers/PassiveNodeParserTest.cs b/PoESkillTree.Engine.Computation.Parsing.Tests/PassiveTreeParsers/PassiveNodeParserTest.cs index e72ed625..3d7474b4 100644 --- a/PoESkillTree.Engine.Computation.Parsing.Tests/PassiveTreeParsers/PassiveNodeParserTest.cs +++ b/PoESkillTree.Engine.Computation.Parsing.Tests/PassiveTreeParsers/PassiveNodeParserTest.cs @@ -35,7 +35,7 @@ public void ParsesModifiersCorrectly() [TestCase(false)] public void AddsToPassivePointsIfCostsPoint(bool costsPassivePoint) { - var definition = CreateNode(false, 0, costsPassivePoint); + var definition = CreateNode(false, costsPassivePoint); var expected = CreateConditionalModifier(definition, "PassivePoints", Form.BaseAdd, 1, "SkillPointSpent"); var sut = CreateSut(definition); @@ -50,7 +50,7 @@ public void AddsToPassivePointsIfCostsPoint(bool costsPassivePoint) [Test] public void AddsToAscendancyPassivePointsIfAscendancyNode() { - var definition = CreateNode(true, 0, true); + var definition = CreateNode(true, true); var expected = CreateConditionalModifier(definition, "AscendancyPassivePoints", Form.BaseAdd, 1, "SkillPointSpent"); var sut = CreateSut(definition); @@ -60,18 +60,6 @@ public void AddsToAscendancyPassivePointsIfAscendancyNode() result.Modifiers.Should().Contain(expected); } - [Test] - public void AddsPassivePointsGrantedToPassivePointsMaximum() - { - var definition = CreateNode(false, 3, true); - var expected = CreateSkilledConditionalModifier(definition, "PassivePoints.Maximum", Form.BaseAdd, 3); - var sut = CreateSut(definition); - - var result = sut.Parse(definition.Id); - - result.Modifiers.Should().Contain(expected); - } - [Test] public void SetsNodeSkilledToFalse() { @@ -149,16 +137,12 @@ private static PassiveNodeParser CreateSut(PassiveNodeDefinition nodeDefinition, } private static PassiveNodeDefinition CreateNode(params string[] modifiers) - => CreateNode(false, 0, true, modifiers); + => CreateNode(false, true, modifiers); private static PassiveNodeDefinition CreateNode( - bool isAscendancyNode, int passivePointsGranted, bool costsPassivePoint, params string[] modifiers) + bool isAscendancyNode, bool costsPassivePoint, params string[] modifiers) => new PassiveNodeDefinition(42, PassiveNodeType.Small, "node", isAscendancyNode, costsPassivePoint, - passivePointsGranted, default, modifiers); - - private static Modifier CreateSkilledConditionalModifier( - PassiveNodeDefinition nodeDefinition, string stat, Form form, double value) - => CreateConditionalModifier(nodeDefinition, stat, form, value, "Allocated"); + default, modifiers); private static Modifier CreateConditionalModifier( PassiveNodeDefinition nodeDefinition, string stat, Form form, double value, string conditionStatSuffix) diff --git a/PoESkillTree.Engine.Computation.Parsing.Tests/PassiveTreeParsers/SkilledPassiveNodeParserTest.cs b/PoESkillTree.Engine.Computation.Parsing.Tests/PassiveTreeParsers/SkilledPassiveNodeParserTest.cs index a31ac496..9852cfac 100644 --- a/PoESkillTree.Engine.Computation.Parsing.Tests/PassiveTreeParsers/SkilledPassiveNodeParserTest.cs +++ b/PoESkillTree.Engine.Computation.Parsing.Tests/PassiveTreeParsers/SkilledPassiveNodeParserTest.cs @@ -13,7 +13,7 @@ public class SkilledPassiveNodeParserTest public void ReturnsCorrectModifier(ushort nodeId) { var definition = new PassiveNodeDefinition(nodeId, PassiveNodeType.Small, "", false, - true, 0, default, new string[0]); + true, default, new string[0]); var expected = new[] { CreateModifier($"{nodeId}.Allocated", Form.TotalOverride, 1, CreateGlobalSource(definition)), diff --git a/PoESkillTree.Engine.Computation.Parsing/PassiveTreeParsers/PassiveNodeParser.cs b/PoESkillTree.Engine.Computation.Parsing/PassiveTreeParsers/PassiveNodeParser.cs index b9536738..0296d1f1 100644 --- a/PoESkillTree.Engine.Computation.Parsing/PassiveTreeParsers/PassiveNodeParser.cs +++ b/PoESkillTree.Engine.Computation.Parsing/PassiveTreeParsers/PassiveNodeParser.cs @@ -59,11 +59,6 @@ public ParseResult Parse(ushort nodeId) : _builderFactories.StatBuilders.PassivePoints; modifiers.AddGlobal(passivePointStat, Form.BaseAdd, 1, skillPointSpentStat.IsTrue); } - if (nodeDefinition.PassivePointsGranted > 0) - { - modifiers.AddGlobal(_builderFactories.StatBuilders.PassivePoints.Maximum, - Form.BaseAdd, nodeDefinition.PassivePointsGranted, isAllocatedStat.IsTrue); - } var attributes = _builderFactories.StatBuilders.Attribute; SetupProperty(modifiers, attributes.Strength, effectiveness); diff --git a/PoESkillTree.Engine.GameModel.Tests/PassiveTree/PassiveTreeDefinitionExtensionsTest.cs b/PoESkillTree.Engine.GameModel.Tests/PassiveTree/PassiveTreeDefinitionExtensionsTest.cs index 5773d8fb..a26deb43 100644 --- a/PoESkillTree.Engine.GameModel.Tests/PassiveTree/PassiveTreeDefinitionExtensionsTest.cs +++ b/PoESkillTree.Engine.GameModel.Tests/PassiveTree/PassiveTreeDefinitionExtensionsTest.cs @@ -62,6 +62,6 @@ private static IEnumerable CreateNodes() private static PassiveNodeDefinition CreateNode(ushort id, NodePosition position = default) => new PassiveNodeDefinition(id, default, "", false, false, - 0, position, new string[0]); + position, new string[0]); } } \ No newline at end of file diff --git a/PoESkillTree.Engine.GameModel/PassiveTree/PassiveNodeDefinition.cs b/PoESkillTree.Engine.GameModel/PassiveTree/PassiveNodeDefinition.cs index 58d58f98..b1b590f6 100644 --- a/PoESkillTree.Engine.GameModel/PassiveTree/PassiveNodeDefinition.cs +++ b/PoESkillTree.Engine.GameModel/PassiveTree/PassiveNodeDefinition.cs @@ -6,9 +6,9 @@ public class PassiveNodeDefinition : IDefinition { public PassiveNodeDefinition( ushort id, PassiveNodeType type, string name, bool isAscendancyNode, bool costsPassivePoint, - int passivePointsGranted, NodePosition position, IReadOnlyList modifiers) - => (Id, Type, Name, IsAscendancyNode, CostsPassivePoint, PassivePointsGranted, Position, Modifiers) = - (id, type, name, isAscendancyNode, costsPassivePoint, passivePointsGranted, position, modifiers); + NodePosition position, IReadOnlyList modifiers) + => (Id, Type, Name, IsAscendancyNode, CostsPassivePoint, Position, Modifiers) = + (id, type, name, isAscendancyNode, costsPassivePoint, position, modifiers); public ushort Id { get; } @@ -16,7 +16,6 @@ public PassiveNodeDefinition( public string Name { get; } public bool IsAscendancyNode { get; } public bool CostsPassivePoint { get; } - public int PassivePointsGranted { get; } public NodePosition Position { get; } diff --git a/PoESkillTree.Engine.GameModel/PassiveTree/PassiveTreeDefinition.cs b/PoESkillTree.Engine.GameModel/PassiveTree/PassiveTreeDefinition.cs index 5462f79d..2eb83354 100644 --- a/PoESkillTree.Engine.GameModel/PassiveTree/PassiveTreeDefinition.cs +++ b/PoESkillTree.Engine.GameModel/PassiveTree/PassiveTreeDefinition.cs @@ -19,9 +19,9 @@ public static IReadOnlyList CreateKeystoneDefinitions() var nodes = new List { new PassiveNodeDefinition(0, PassiveNodeType.JewelSocket, "jewel", false, - true, 0, default, new string[0]), + true, default, new string[0]), new PassiveNodeDefinition(1, PassiveNodeType.Small, "attributes", false, - true, 0, new NodePosition(10, 10), + true, new NodePosition(10, 10), new[] { "+100 to Strength", "+100 to Dexterity", "+100 to Intelligence" }), }; @@ -39,7 +39,7 @@ public static IReadOnlyList CreateKeystoneDefinitions() PassiveNodeDefinition Create(string name) => new PassiveNodeDefinition(id++, PassiveNodeType.Keystone, name, false, - true, 0, new NodePosition(id, 1000), new string[0]); + true, new NodePosition(id, 1000), new string[0]); } } } \ No newline at end of file