diff --git a/src/Data/ModExplicit.lua b/src/Data/ModExplicit.lua index 2b8cbcf7ae3..772ebb7b4e6 100644 --- a/src/Data/ModExplicit.lua +++ b/src/Data/ModExplicit.lua @@ -4303,7 +4303,6 @@ return { ["RareHypnoticJewelEffect"] = { type = "Prefix", affix = "Abyssal", "(50-75)% increased Effect of Socketed Rare Hypnotic Eye Jewels", statOrder = { 8149 }, level = 50, group = "RareHypnoticJewelEffect", weightKey = { "default", }, weightVal = { 0 }, modTags = { }, tradeHashes = { [1337730278] = { "(50-75)% increased Effect of Socketed Rare Hypnotic Eye Jewels" }, } }, ["RareGhastlyJewelEffect"] = { type = "Prefix", affix = "Abyssal", "(50-75)% increased Effect of Socketed Rare Ghastly Eye Jewels", statOrder = { 8148 }, level = 50, group = "RareGhastlyJewelEffect", weightKey = { "default", }, weightVal = { 0 }, modTags = { }, tradeHashes = { [1974290842] = { "(50-75)% increased Effect of Socketed Rare Ghastly Eye Jewels" }, } }, ["DeepwaterSwordAdditionalAttackProjectile"] = { type = "Suffix", affix = "of Phantasms", "Attacks fire an additional Projectile", statOrder = { 4235 }, level = 60, group = "DeepwaterSwordAdditionalAttackProjectile", weightKey = { "deepwater_sword", "default", }, weightVal = { 1250, 0 }, modTags = { }, tradeHashes = { [1195705739] = { "Attacks fire an additional Projectile" }, } }, - ["DeepwaterSwordPhysAsFire"] = { type = "Prefix", affix = "Enflamed", "DNT Attacks with this Weapon gain 1% of Physical Damage as Extra Fire per 1% life reserved", statOrder = { 7624 }, level = 60, group = "DeepwaterSwordPhysAsFire", weightKey = { "deepwater_sword", "default", }, weightVal = { 0, 0 }, modTags = { }, tradeHashes = { [3024800067] = { "DNT Attacks with this Weapon gain 1% of Physical Damage as Extra Fire per 1% life reserved" }, } }, ["DeepwaterSwordPhasingOnHit"] = { type = "Suffix", affix = "of Phasing", "Gain Phasing on Hit with this weapon", statOrder = { 7993 }, level = 60, group = "DeepwaterSwordPhasingOnHit", weightKey = { "deepwater_sword", "default", }, weightVal = { 3750, 0 }, modTags = { }, tradeHashes = { [1793331740] = { "Gain Phasing on Hit with this weapon" }, } }, ["DeepwaterSwordSpiritStrike"] = { type = "Suffix", affix = "of Ghosts", "Non-Vaal Strike Skills target 1 additional nearby Enemy", statOrder = { 9319 }, level = 60, group = "DeepwaterSwordSpiritStrike", weightKey = { "deepwater_sword", "default", }, weightVal = { 3750, 0 }, modTags = { }, tradeHashes = { [1184277034] = { "" }, [1661253443] = { "Non-Vaal Strike Skills target 1 additional nearby Enemy" }, } }, ["DeepwaterSwordAlwaysHit"] = { type = "Suffix", affix = "of Unerring", "Always Hits Burning Enemies", statOrder = { 7971 }, level = 60, group = "DeepwaterSwordAlwaysHit", weightKey = { "deepwater_sword", "default", }, weightVal = { 1000, 0 }, modTags = { }, tradeHashes = { [270993809] = { "Always Hits Burning Enemies" }, } }, diff --git a/src/Data/ModItemExclusive.lua b/src/Data/ModItemExclusive.lua index 5bab604d746..8595e826236 100644 --- a/src/Data/ModItemExclusive.lua +++ b/src/Data/ModItemExclusive.lua @@ -1215,7 +1215,6 @@ return { ["LocalIncreasedPhysicalDamageReductionRatingPercentUnique__33"] = { affix = "", "(100-160)% increased Armour", statOrder = { 1567 }, level = 75, group = "LocalPhysicalDamageReductionRatingPercent", weightKey = { }, weightVal = { }, modTags = { "defences", "armour" }, tradeHashes = { [1062208444] = { "(100-160)% increased Armour" }, } }, ["LocalIncreasedPhysicalDamageReductionRatingPercentUnique__34"] = { affix = "", "(50-100)% increased Armour", statOrder = { 1567 }, level = 1, group = "LocalPhysicalDamageReductionRatingPercent", weightKey = { }, weightVal = { }, modTags = { "defences", "armour" }, tradeHashes = { [1062208444] = { "(50-100)% increased Armour" }, } }, ["LocalIncreasedPhysicalDamageReductionRatingPercentUnique__35"] = { affix = "", "(150-230)% increased Armour", statOrder = { 1567 }, level = 1, group = "LocalPhysicalDamageReductionRatingPercent", weightKey = { }, weightVal = { }, modTags = { "defences", "armour" }, tradeHashes = { [1062208444] = { "(150-230)% increased Armour" }, } }, - ["LocalIncreasedPhysicalDamageReductionRatingPercentUnique__36UNUSED"] = { affix = "", "(120-200)% increased Armour", statOrder = { 1567 }, level = 1, group = "LocalPhysicalDamageReductionRatingPercent", weightKey = { }, weightVal = { }, modTags = { "defences", "armour" }, tradeHashes = { [1062208444] = { "(120-200)% increased Armour" }, } }, ["LocalIncreasedPhysicalDamageReductionRatingPercentUnique__37"] = { affix = "", "(80-120)% increased Armour", statOrder = { 1567 }, level = 1, group = "LocalPhysicalDamageReductionRatingPercent", weightKey = { }, weightVal = { }, modTags = { "defences", "armour" }, tradeHashes = { [1062208444] = { "(80-120)% increased Armour" }, } }, ["LocalIncreasedPhysicalDamageReductionRatingPercentUnique__38"] = { affix = "", "(120-240)% increased Armour", statOrder = { 1567 }, level = 1, group = "LocalPhysicalDamageReductionRatingPercent", weightKey = { }, weightVal = { }, modTags = { "defences", "armour" }, tradeHashes = { [1062208444] = { "(120-240)% increased Armour" }, } }, ["LocalIncreasedPhysicalDamageReductionRatingTransformedUnique__1"] = { affix = "", "+2000 to Armour", statOrder = { 1565 }, level = 38, group = "LocalPhysicalDamageReductionRating", weightKey = { }, weightVal = { }, modTags = { "defences", "armour" }, tradeHashes = { [3484657501] = { "+2000 to Armour" }, } }, @@ -5611,7 +5610,6 @@ return { ["LightningSkillsChanceToPoisonUnique__1_"] = { affix = "", "Lightning Skills have 20% chance to Poison on Hit", statOrder = { 7581 }, level = 1, group = "LightningSkillsChanceToPoison", weightKey = { }, weightVal = { }, modTags = { "poison", "chaos", "ailment" }, tradeHashes = { [949718413] = { "Lightning Skills have 20% chance to Poison on Hit" }, } }, ["GainManaAsExtraEnergyShieldUnique__1"] = { affix = "", "Gain (10-15)% of Maximum Mana as Extra Maximum Energy Shield", statOrder = { 2201 }, level = 1, group = "GainManaAsExtraEnergyShield", weightKey = { }, weightVal = { }, modTags = { "defences", "energy_shield" }, tradeHashes = { [2663376056] = { "Gain (10-15)% of Maximum Mana as Extra Maximum Energy Shield" }, } }, ["GrantsTouchOfGodUnique__1"] = { affix = "", "Grants Level 20 Doryani's Touch Skill", statOrder = { 674 }, level = 1, group = "GrantsTouchOfGod", weightKey = { }, weightVal = { }, modTags = { "skill" }, tradeHashes = { [2498303876] = { "Grants Level 20 Doryani's Touch Skill" }, } }, - ["AdditionalPhysicalDamageReductionUnique_1UNUSED"] = { affix = "", "(3-5)% additional Physical Damage Reduction", statOrder = { 2299 }, level = 1, group = "ReducedPhysicalDamageTaken", weightKey = { }, weightVal = { }, modTags = { "physical" }, tradeHashes = { [3771516363] = { "(3-5)% additional Physical Damage Reduction" }, } }, ["UniqueReducedExtraDamageFromCrits__1"] = { affix = "", "You take 100% reduced Extra Damage from Critical Strikes", statOrder = { 1538 }, level = 1, group = "ReducedExtraDamageFromCrits", weightKey = { }, weightVal = { }, modTags = { "damage", "critical" }, tradeHashes = { [3855016469] = { "You take 100% reduced Extra Damage from Critical Strikes" }, } }, ["SpellDamageSuppressedUnique__1"] = { affix = "", "Prevent +(4-6)% of Suppressed Spell Damage", statOrder = { 1168 }, level = 56, group = "SpellDamageSuppressed", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [4116705863] = { "Prevent +(4-6)% of Suppressed Spell Damage" }, } }, ["SpellDamageSuppressedUnique__2"] = { affix = "", "-10% to amount of Suppressed Spell Damage Prevented", statOrder = { 1168 }, level = 1, group = "SpellDamageSuppressed", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [4116705863] = { "-10% to amount of Suppressed Spell Damage Prevented" }, } }, @@ -7837,12 +7835,8 @@ return { ["CastSpeedAppliesToAttackSpeedUnique__1"] = { affix = "", "Increases and Reductions to Cast Speed apply to Attack Speed", statOrder = { 10660 }, level = 1, group = "CastSpeedAppliesToAttackSpeed", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [4126447694] = { "Increases and Reductions to Cast Speed apply to Attack Speed" }, } }, ["SpellImpaleOnCritChanceUnique__1"] = { affix = "", "Critical Strikes with Spells inflict Impale", statOrder = { 10318 }, level = 1, group = "SpellImpaleOnCritChance", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [4084476257] = { "Critical Strikes with Spells inflict Impale" }, } }, ["SpellImpaleEffectUnique__1"] = { affix = "", "(30-50)% increased Effect of Impales inflicted with Spells", statOrder = { 7357 }, level = 1, group = "SpellImpaleEffect", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1480595847] = { "(30-50)% increased Effect of Impales inflicted with Spells" }, } }, - ["YouCannotImpaleTheImpaledUnique_1UNUSED"] = { affix = "", "DNT Impaled Enemies Cannot be Impaled", statOrder = { 10826 }, level = 1, group = "ImpaledEnemiesCannotBeImpaled", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [4294017425] = { "DNT Impaled Enemies Cannot be Impaled" }, } }, - ["HitsCannotInflictMoreThanOneImpale_1UNUSED"] = { affix = "", "Your Hits cannot inflict more than 1 Impale", statOrder = { 7271 }, level = 100, group = "CannotInflictMoreThanOneImpale", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [452960025] = { "Your Hits cannot inflict more than 1 Impale" }, } }, - ["ImpalesInflictedLastAdditionalHitsUnique_1UNUSED"] = { affix = "", "Impales you inflict last (3-6) additional Hits", statOrder = { 7367 }, level = 1, group = "ImpaleLastsForExtraHits", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [3425951133] = { "Impales you inflict last (3-6) additional Hits" }, } }, ["ChanceMeleeHitsDontRemoveSTRONGESTImpaleUnique_1"] = { affix = "", "(20-30)% chance on Melee Hit for the Strongest Impale on target to last for 1 additional Hit", statOrder = { 7370 }, level = 100, group = "ChanceMeleeHitsDontConsumeStrongestImpale", weightKey = { }, weightVal = { }, modTags = { "attack" }, tradeHashes = { [2136537914] = { "(20-30)% chance on Melee Hit for the Strongest Impale on target to last for 1 additional Hit" }, } }, ["ImpaleDurationUnique_1"] = { affix = "", "(40-50)% less Impale Duration", statOrder = { 8138 }, level = 1, group = "ImpaledDebuffDurationFromWoeSpike", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1961864874] = { "(40-50)% less Impale Duration" }, } }, - ["ChanceMeleeHitsDontConsumeImpalesUnique_1UNUSED"] = { affix = "", "(45-60)% chance on Melee Hit for all Impales on the Enemy to last for an additional Hit", statOrder = { 7369 }, level = 1, group = "ChanceMeleeHitsDontConsumeImpale", weightKey = { }, weightVal = { }, modTags = { "attack" }, tradeHashes = { [2314992402] = { "(45-60)% chance on Melee Hit for all Impales on the Enemy to last for an additional Hit" }, } }, ["AncestorTotemBuffLingersUnique__1"] = { affix = "", "Ancestral Bond", statOrder = { 10944 }, level = 1, group = "AncestralBond", weightKey = { }, weightVal = { }, modTags = { "damage" }, tradeHashes = { [2648570028] = { "Ancestral Bond" }, } }, ["OneAncestorTotemBuffUnique__1"] = { affix = "", "Socketed Slam Gems are Supported by Level 25 Earthbreaker", statOrder = { 274 }, level = 1, group = "OneAncestorTotemBuff", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [940684417] = { "Socketed Slam Gems are Supported by Level 25 Earthbreaker" }, } }, ["DamageTakenFromTotemLifeBeforePlayerUnique__1"] = { affix = "", "(3-5)% of Damage from Hits is taken from your nearest Totem's Life before you", statOrder = { 6186 }, level = 1, group = "DamageTakenFromTotemLifeBeforePlayer", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [2762445213] = { "(3-5)% of Damage from Hits is taken from your nearest Totem's Life before you" }, } }, @@ -8253,7 +8247,6 @@ return { ["GrantsSummonVoidSpawnUnique__1"] = { affix = "", "Trigger Level 20 Summon Void Spawn every 4 seconds", statOrder = { 751 }, level = 97, group = "GrantSummonVoidSpawnEvery4Seconds", weightKey = { }, weightVal = { }, modTags = { "skill" }, tradeHashes = { [1560737213] = { "" }, [658873122] = { "Trigger Level 20 Summon Void Spawn every 4 seconds" }, } }, ["ExtraChaosDamagePerVoidSpawnUnique__1"] = { affix = "", "Gain (4-6)% of Non-Chaos Damage as Extra Chaos Damage per Summoned Void Spawn", statOrder = { 9632 }, level = 97, group = "ExtraChaosDamagePerVoidSpawn", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1621629493] = { "Gain (4-6)% of Non-Chaos Damage as Extra Chaos Damage per Summoned Void Spawn" }, } }, ["DamageRemovedFromVoidSpawnsUnique__1"] = { affix = "", "(4-6)% of Damage from Hits is taken from Void Spawns' Life before you per Void Spawn", statOrder = { 6184 }, level = 97, group = "DamageRemovedFromVoidSpawns", weightKey = { }, weightVal = { }, modTags = { "minion" }, tradeHashes = { [3269077876] = { "(4-6)% of Damage from Hits is taken from Void Spawns' Life before you per Void Spawn" }, } }, - ["UnarmedStrikeSkillsAdditionalTargetUnique__1"] = { affix = "", "DNT Unarmed Non-Vaal Strike Skills target (1-7) additional nearby Enemy", statOrder = { 10654 }, level = 1, group = "UnarmedStrikeSkillsAdditionalTarget", weightKey = { }, weightVal = { }, modTags = { "attack" }, tradeHashes = { [3383195220] = { "DNT Unarmed Non-Vaal Strike Skills target (1-7) additional nearby Enemy" }, } }, ["UnarmedMeleeAttackCriticalStrikeMultiplierUnique__1"] = { affix = "", "+(10-77)% to Critical Strike Multiplier with Unarmed Melee Attacks", statOrder = { 10655 }, level = 97, group = "UnarmedMeleeAttackCriticalStrikeMultiplier", weightKey = { }, weightVal = { }, modTags = { "attack" }, tradeHashes = { [468580269] = { "+(10-77)% to Critical Strike Multiplier with Unarmed Melee Attacks" }, } }, ["MovementVelocityUnique__55"] = { affix = "", "(1-7)% increased Movement Speed", statOrder = { 1824 }, level = 97, group = "MovementVelocity", weightKey = { }, weightVal = { }, modTags = { "speed" }, tradeHashes = { [2250533757] = { "(1-7)% increased Movement Speed" }, } }, ["LocalIncreasedEvasionAndEnergyShieldUnique__38"] = { affix = "", "(100-777)% increased Evasion and Energy Shield", statOrder = { 1579 }, level = 97, group = "LocalEvasionAndEnergyShield", weightKey = { }, weightVal = { }, modTags = { "defences", "evasion", "energy_shield" }, tradeHashes = { [1999113824] = { "(100-777)% increased Evasion and Energy Shield" }, } }, @@ -8268,27 +8261,18 @@ return { ["LocalFlaskStartEnergyShieldRechargeUnique_1"] = { affix = "", "Starts Energy Shield Recharge when Used", statOrder = { 899 }, level = 1, group = "LocalFlaskStartEnergyShieldRecharge", weightKey = { }, weightVal = { }, modTags = { "flask" }, tradeHashes = { [3130697435] = { "Starts Energy Shield Recharge when Used" }, } }, ["LocalFlaskEnergyShieldRechargeNotDelayedByDamageDuringEffectUnique_1"] = { affix = "", "Energy Shield Recharge is not delayed by Damage during Effect", statOrder = { 1006 }, level = 80, group = "LocalFlaskEnergyShieldRechargeNotInterruptedDuringEffect", weightKey = { }, weightVal = { }, modTags = { "flask" }, tradeHashes = { [23814088] = { "Energy Shield Recharge is not delayed by Damage during Effect" }, } }, ["RecoverLifePercentOnBlockUnique__1"] = { affix = "", "Lose (3-5)% of Life when you Block", statOrder = { 3097 }, level = 1, group = "RecoverLifePercentOnBlock", weightKey = { }, weightVal = { }, modTags = { "block", "resource", "life" }, tradeHashes = { [2442647190] = { "Lose (3-5)% of Life when you Block" }, } }, - ["BlockChancePerLifeSpentRecentlyUnique__1"] = { affix = "", "DNT (5-10)% increased Chance to Block Attack and Spell Damage for every 100 Life Spent Recently", statOrder = { 5304 }, level = 1, group = "BlockChancePerLifeSpentRecently", weightKey = { }, weightVal = { }, modTags = { "block" }, tradeHashes = { [2171886867] = { "DNT (5-10)% increased Chance to Block Attack and Spell Damage for every 100 Life Spent Recently" }, } }, ["CanOnlyInflictWitherAgainstFullLifeEnemies__1"] = { affix = "", "Cannot Inflict Wither on targets that are not on Full Life", statOrder = { 5468 }, level = 1, group = "CanOnlyInflictWitherAgainstFullLifeEnemies", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [340591537] = { "Cannot Inflict Wither on targets that are not on Full Life" }, } }, ["ApplyMaximumWitherOnChaosSkillHitUnique__1"] = { affix = "", "Chaos Skills inflict up to 15 Withered Debuffs on Hit for (5-7) seconds", statOrder = { 4745 }, level = 38, group = "ApplyMaximumWitherOnChaosSkillHit", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [2676773112] = { "Chaos Skills inflict up to 15 Withered Debuffs on Hit for (5-7) seconds" }, } }, - ["UnarmedAddedChaosDamageForEachPoisonOnTargetUnique__1"] = { affix = "", "DNT Unarmed Attacks deal (7-11) to (13-17) added Chaos Damage for each Poison on the target, up to 100", statOrder = { 10653 }, level = 1, group = "UnarmedAddedChaosDamageForEachPoisonOnTarget", weightKey = { }, weightVal = { }, modTags = { "chaos_damage", "damage", "chaos", "attack" }, tradeHashes = { [3382196041] = { "DNT Unarmed Attacks deal (7-11) to (13-17) added Chaos Damage for each Poison on the target, up to 100" }, } }, ["LessPoisonDurationUnique_1"] = { affix = "", "(50-60)% less Poison Duration", statOrder = { 3209 }, level = 1, group = "VolkuurLessPoisonDuration", weightKey = { }, weightVal = { }, modTags = { "poison", "chaos", "ailment" }, tradeHashes = { [1237693206] = { "(50-60)% less Poison Duration" }, } }, ["ChanceToPoisonWithAttacksUnique___2"] = { affix = "", "(40-50)% chance to Poison on Hit with Attacks", statOrder = { 3213 }, level = 1, group = "ChanceToPoisonWithAttacks", weightKey = { }, weightVal = { }, modTags = { "poison", "chaos", "attack", "ailment" }, tradeHashes = { [3954735777] = { "(40-50)% chance to Poison on Hit with Attacks" }, } }, ["IncreasedAttackSpeedUniqueGlovesDexInt_1"] = { affix = "", "(8-12)% increased Attack Speed", statOrder = { 1437 }, level = 1, group = "IncreasedAttackSpeed", weightKey = { }, weightVal = { }, modTags = { "attack", "speed" }, tradeHashes = { [681332047] = { "(8-12)% increased Attack Speed" }, } }, - ["GainOnslaughtDuringLifeFlaskUnique__1"] = { affix = "", "DNT You have Onslaught during Effect of any Life Flask", statOrder = { 6883 }, level = 1, group = "GainOnslaughtDuringLifeFlask", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [629617314] = { "DNT You have Onslaught during Effect of any Life Flask" }, } }, ["OvercappedFireResistanceAsFirePrenetrationUnique__1"] = { affix = "", "Damage Penetrates Fire Resistance equal to your Overcapped Fire Resistance, up to a maximum of 200%", statOrder = { 3019 }, level = 100, group = "OvercappedFireResistanceAsFirePrenetration", weightKey = { }, weightVal = { }, modTags = { "elemental", "fire" }, tradeHashes = { [133804429] = { "Damage Penetrates Fire Resistance equal to your Overcapped Fire Resistance, up to a maximum of 200%" }, } }, ["FireDamageOnSkillUseUnique__1"] = { affix = "", "Take (300-500) Fire Damage when you Use a Skill", statOrder = { 2238 }, level = 100, group = "FireDamageOnSkillUse", weightKey = { }, weightVal = { }, modTags = { "elemental_damage", "damage", "elemental", "fire" }, tradeHashes = { [4076381228] = { "Take (300-500) Fire Damage when you Use a Skill" }, } }, - ["MinionHaveNoAmourOrEnergyShieldUnique__1"] = { affix = "", "DNT Your minions have no Armour or Maximum Energy Shield", statOrder = { 9501 }, level = 1, group = "MinionHaveNoAmourOrEnergyShield", weightKey = { }, weightVal = { }, modTags = { "minion" }, tradeHashes = { [4060457653] = { "DNT Your minions have no Armour or Maximum Energy Shield" }, } }, - ["MinionGainYourSpellSuppressUnique__1"] = { affix = "", "DNT Your minions gain your chance to Suppress Spell Damage", statOrder = { 9495 }, level = 1, group = "MinionGainYourSpellSuppress", weightKey = { }, weightVal = { }, modTags = { "minion" }, tradeHashes = { [3888619765] = { "DNT Your minions gain your chance to Suppress Spell Damage" }, } }, - ["AllResistancesReducedPerActiveMinionUnique_1UNUSED"] = { affix = "", "DNT -2% to All Resistances per Minion", statOrder = { 4682 }, level = 1, group = "MinionCountAffectsResistances", weightKey = { }, weightVal = { }, modTags = { "resistance", "minion" }, tradeHashes = { [1456627145] = { "DNT -2% to All Resistances per Minion" }, } }, - ["GlobalDefensesIncreasedPerActiveMinionUnique_1UNUSED"] = { affix = "", "DNT +(3-5)% to Global Defenses per Minion", statOrder = { 6981 }, level = 1, group = "MinionCountAffectsGlobalDefenses", weightKey = { }, weightVal = { }, modTags = { "defences", "minion" }, tradeHashes = { [2408967970] = { "DNT +(3-5)% to Global Defenses per Minion" }, } }, ["AllResistancesReducedPerActiveNonVaalSkillMinionUnique_1"] = { affix = "", "-2% to all Resistances per Minion from your Non-Vaal Skills", statOrder = { 1663 }, level = 1, group = "NonVaalMinionSkillCountAffectsResistances", weightKey = { }, weightVal = { }, modTags = { "resistance", "minion" }, tradeHashes = { [2894273152] = { "-2% to all Resistances per Minion from your Non-Vaal Skills" }, } }, ["GlobalDefensesIncreasedPerActiveNonVaalSkillMinionUnique_1"] = { affix = "", "(3-4)% increased Defences per Minion from your Non-Vaal Skills", statOrder = { 2871 }, level = 1, group = "NonVaalMinionSkillCountAffectsGlobalDefenses", weightKey = { }, weightVal = { }, modTags = { "defences", "minion" }, tradeHashes = { [3169460653] = { "(3-4)% increased Defences per Minion from your Non-Vaal Skills" }, } }, ["MinionsGainPercentOfYourResistancesUnique_1"] = { affix = "", "Minions gain added Resistances equal to 50% of your Resistances", statOrder = { 9494 }, level = 93, group = "MinionsGainYourResistancesPercent", weightKey = { }, weightVal = { }, modTags = { "resistance", "minion" }, tradeHashes = { [2370748292] = { "Minions gain added Resistances equal to 50% of your Resistances" }, } }, - ["SacrificeLifeToGainArrowUnique__1"] = { affix = "", "DNT Bow Attacks Sacrifice (5-7)% of your Life to fire an additional Arrow for every 100 Life Sacrificed", statOrder = { 10108 }, level = 1, group = "SacrificeLifeToGainArrow", weightKey = { }, weightVal = { }, modTags = { "bow", "attack" }, tradeHashes = { [2868019709] = { "DNT Bow Attacks Sacrifice (5-7)% of your Life to fire an additional Arrow for every 100 Life Sacrificed" }, } }, ["ArmourFromShieldDoubledUnique__1"] = { affix = "", "Armour from Equipped Shield is doubled", statOrder = { 2019 }, level = 40, group = "ArmourFromShieldDoubled", weightKey = { }, weightVal = { }, modTags = { "shield", "defences", "armour" }, tradeHashes = { [651387761] = { "Armour from Equipped Shield is doubled" }, } }, ["GainNoArmourFromBodyArmourUnique__1"] = { affix = "", "Gain no Armour from Equipped Body Armour", statOrder = { 3377 }, level = 40, group = "GainNoArmourFromBodyArmour", weightKey = { }, weightVal = { }, modTags = { "body_armour", "defences", "armour" }, tradeHashes = { [2150125858] = { "Gain no Armour from Equipped Body Armour" }, } }, - ["EnergyShieldRechargeApplyToManaUnique__1"] = { affix = "", "DNT Energy Shield Recharge instead applies to Mana", statOrder = { 6544 }, level = 1, group = "EnergyShieldRechargeApplyToMana", weightKey = { }, weightVal = { }, modTags = { "resource", "mana" }, tradeHashes = { [1572347373] = { "DNT Energy Shield Recharge instead applies to Mana" }, } }, ["GrantShaperSkill_1"] = { affix = "", "Grants Level 20 Summon Shaper Memory", "Grants Level 20 Shaper's Devastation, which will be used by Shaper Memory", statOrder = { 766, 766.1 }, level = 85, group = "GrantShaperSkill", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [367775264] = { "Grants Level 20 Summon Shaper Memory", "Grants Level 20 Shaper's Devastation, which will be used by Shaper Memory" }, } }, ["MaximumRemembranceUnique_1"] = { affix = "", "Maximum 10 Remembrance", statOrder = { 9260 }, level = 85, group = "MaximumRemembrance", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [3469876297] = { "Maximum 10 Remembrance" }, } }, ["RemembranceGainedPerEnergyShieldUnique_1"] = { affix = "", "Gain 1 Remembrance when you spend a total of 200 Energy", "Shield with no Shaper Memory Summoned", statOrder = { 6842, 6842.1 }, level = 85, group = "RemembrancePerEnergyShieldSpent", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [410922651] = { "Gain 1 Remembrance when you spend a total of 200 Energy", "Shield with no Shaper Memory Summoned" }, } }, @@ -8297,7 +8281,6 @@ return { ["CannotUseLifeFlaskUnique__1"] = { affix = "", "Can't use Life Flasks", statOrder = { 77 }, level = 70, group = "CannotUseLifeFlask", weightKey = { }, weightVal = { }, modTags = { "life_flask", "flask" }, tradeHashes = { [3283268320] = { "Can't use Life Flasks" }, } }, ["FlaskEffectAlsoAffectsArcaneSurgeUnique__1"] = { affix = "", "Increases and Reductions to Effect of Flasks applied to you", "also applies to Effect of Arcane Surge on you at (200-250)% of their value", statOrder = { 4649, 4649.1 }, level = 70, group = "FlaskEffectAlsoAffectsArcaneSurge", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1213832501] = { "Increases and Reductions to Effect of Flasks applied to you", "also applies to Effect of Arcane Surge on you at (200-250)% of their value" }, } }, ["ArcaneSurgeDuringManaFlaskEffectUnique__1"] = { affix = "", "You have Arcane Surge during Effect of any Mana Flask", statOrder = { 4753 }, level = 70, group = "ArcaneSurgeDuringManaFlaskEffect", weightKey = { }, weightVal = { }, modTags = { "mana_flask" }, tradeHashes = { [1243471794] = { "You have Arcane Surge during Effect of any Mana Flask" }, } }, - ["NearbyAlliesShockedGrantYouChargesOnDeathUnique__1"] = { affix = "", "DNT Nearby Non-Player Allies are Shocked, taking 30% increased damage", "Gain a Power, Frenzy and Endurance Charge when a nearby Non-Player Ally dies", statOrder = { 9608, 9608.1 }, level = 1, group = "NearbyAlliesShockedGrantYouChargesOnDeath", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [3144427110] = { "DNT Nearby Non-Player Allies are Shocked, taking 30% increased damage", "Gain a Power, Frenzy and Endurance Charge when a nearby Non-Player Ally dies" }, } }, ["LocalIncreasedPhysicalDamagePercentUniqueTwoHandAxe10"] = { affix = "", "(120-180)% increased Physical Damage", statOrder = { 1258 }, level = 85, group = "LocalPhysicalDamagePercent", weightKey = { }, weightVal = { }, modTags = { "physical_damage", "damage", "physical", "attack" }, tradeHashes = { [1805374733] = { "(120-180)% increased Physical Damage" }, } }, ["WeaponPhysicalDamageAddedAsRandomElementUnique__2"] = { affix = "", "Gain (40-60)% of Weapon Physical Damage as Extra Damage of a random Element", statOrder = { 2972 }, level = 85, group = "WeaponPhysicalDamageAddedAsRandomElement", weightKey = { }, weightVal = { }, modTags = { "physical_damage", "elemental_damage", "damage", "physical", "elemental", "attack" }, tradeHashes = { [1038949719] = { "Gain (40-60)% of Weapon Physical Damage as Extra Damage of a random Element" }, } }, ["LocalCriticalStrikeChanceUniqueTwoHandAxe_1"] = { affix = "", "(20-30)% increased Critical Strike Chance", statOrder = { 1490 }, level = 85, group = "LocalCriticalStrikeChance", weightKey = { }, weightVal = { }, modTags = { "attack", "critical" }, tradeHashes = { [2375316951] = { "(20-30)% increased Critical Strike Chance" }, } }, @@ -8306,7 +8289,6 @@ return { ["PhysicalAddedAsColdIfUsedSapphireFlaskRecentlyUnique__1"] = { affix = "", "Gain (20-40)% of Physical Damage as Extra Cold Damage if you've", "used a Sapphire Flask Recently", statOrder = { 9776, 9776.1 }, level = 1, group = "PhysicalAddedAsColdIfUsedSapphireFlaskRecently", weightKey = { }, weightVal = { }, modTags = { "physical", "elemental", "cold" }, tradeHashes = { [4015395070] = { "Gain (20-40)% of Physical Damage as Extra Cold Damage if you've", "used a Sapphire Flask Recently" }, } }, ["PhysicalAddedAsLightningIfUsedTopazFlaskRecentlyUnique__1"] = { affix = "", "Gain (20-40)% of Physical Damage as Extra Lightning Damage if you've", "used a Topaz Flask Recently", statOrder = { 9780, 9780.1 }, level = 1, group = "PhysicalAddedAsLightningIfUsedTopazFlaskRecently", weightKey = { }, weightVal = { }, modTags = { "physical", "elemental", "lightning" }, tradeHashes = { [270706555] = { "Gain (20-40)% of Physical Damage as Extra Lightning Damage if you've", "used a Topaz Flask Recently" }, } }, ["PhysicalAddedAsChaosIfUsedAmethystFlaskRecentlyUnique__1"] = { affix = "", "Gain (40-75)% of Physical Damage as Extra Chaos Damage if you've", "used an Amethyst Flask Recently", statOrder = { 9775, 9775.1 }, level = 1, group = "PhysicalAddedAsChaosIfUsedAmethystFlaskRecently", weightKey = { }, weightVal = { }, modTags = { "physical", "chaos" }, tradeHashes = { [2417314413] = { "Gain (40-75)% of Physical Damage as Extra Chaos Damage if you've", "used an Amethyst Flask Recently" }, } }, - ["TripleDamageIfSpentTimeOnAttackRecentlyUnique__1"] = { affix = "", "DNT Hits with this Weapon deal Triple Damage if you have spent at least 2 seconds on a single attack recently", statOrder = { 6239 }, level = 1, group = "TripleDamageIfSpentTimeOnAttackRecently", weightKey = { }, weightVal = { }, modTags = { "attack" }, tradeHashes = { [3652223421] = { "DNT Hits with this Weapon deal Triple Damage if you have spent at least 2 seconds on a single attack recently" }, } }, ["AreaOfEffectUnique_9"] = { affix = "", "(10-20)% increased Area of Effect", statOrder = { 1906 }, level = 85, group = "AreaOfEffect", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [280731498] = { "(10-20)% increased Area of Effect" }, } }, ["SkillsCostEnergyShieldInsteadOfManaLifeUnique__1"] = { affix = "", "Skills Cost Energy Shield instead of Mana or Life", statOrder = { 5122 }, level = 93, group = "SkillsCostEnergyShieldInsteadOfManaLife", weightKey = { }, weightVal = { }, modTags = { "resource", "life", "mana", "defences", "energy_shield" }, tradeHashes = { [89922905] = { "Skills Cost Energy Shield instead of Mana or Life" }, } }, ["AttacksGainMinMaxAddedChaosDamageBasedOnManaUnique__1"] = { affix = "", "(5-10) to (20-25) Added Attack Chaos Damage per 100 Maximum Mana", statOrder = { 1416 }, level = 93, group = "AttacksGainMinMaxAddedChaosDamageBasedOnMana", weightKey = { }, weightVal = { }, modTags = { "chaos_damage", "resource", "mana", "damage", "chaos", "attack" }, tradeHashes = { [3795467298] = { "0 to (20-25) Added Attack Chaos Damage per 100 Maximum Mana" }, [3795240942] = { "(5-10) to 0 Added Attack Chaos Damage per 100 Maximum Mana" }, } }, @@ -8314,7 +8296,6 @@ return { ["PercentReducedMaximumManaUnique_1"] = { affix = "", "(40-60)% reduced maximum Mana", statOrder = { 1606 }, level = 93, group = "MaximumManaIncreasePercent", weightKey = { }, weightVal = { }, modTags = { "resource", "mana" }, tradeHashes = { [2748665614] = { "(40-60)% reduced maximum Mana" }, } }, ["LocalIncreasedEnergyShieldUniqueHelmetInt_1"] = { affix = "", "+(50-100) to maximum Energy Shield", statOrder = { 1584 }, level = 100, group = "LocalEnergyShield", weightKey = { }, weightVal = { }, modTags = { "defences", "energy_shield" }, tradeHashes = { [4052037485] = { "+(50-100) to maximum Energy Shield" }, } }, ["ChaosResistUniqueHelmetInt__1"] = { affix = "", "+(27-37)% to Chaos Resistance", statOrder = { 1667 }, level = 100, group = "ChaosResistance", weightKey = { }, weightVal = { }, modTags = { "chaos", "resistance" }, tradeHashes = { [2923486259] = { "+(27-37)% to Chaos Resistance" }, } }, - ["LifeDegenPerActiveMinionUniqueHelmetInt_1UNUSED"] = { affix = "", "Lose 0.3% Life per Second per Minion", statOrder = { 7458 }, level = 1, group = "LifeDegenPermyriadPerMinutePerMinion", weightKey = { }, weightVal = { }, modTags = { "resource", "life", "minion" }, tradeHashes = { [3458251673] = { "Lose 0.3% Life per Second per Minion" }, } }, ["FlaskChargesUsedUnique___12"] = { affix = "", "(20-100)% increased Charges per use", statOrder = { 870 }, level = 42, group = "FlaskChargesUsed", weightKey = { }, weightVal = { }, modTags = { "flask" }, tradeHashes = { [3139816101] = { "(20-100)% increased Charges per use" }, } }, ["FlaskExtraChargesUnique__4"] = { affix = "", "+60 to Maximum Charges", statOrder = { 861 }, level = 42, group = "FlaskExtraMaxCharges", weightKey = { }, weightVal = { }, modTags = { "flask" }, tradeHashes = { [3608809816] = { "+60 to Maximum Charges" }, } }, ["IgniteDealNoDamageUnique__1"] = { affix = "", "Ignites you inflict deal no Damage", statOrder = { 7317 }, level = 1, group = "IgniteDealNoDamage", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [2046217536] = { "Ignites you inflict deal no Damage" }, } }, @@ -8325,9 +8306,6 @@ return { ["IncreasedCastSpeedUniqueStaff_1"] = { affix = "", "(25-40)% increased Cast Speed", statOrder = { 1473 }, level = 85, group = "IncreasedCastSpeed", weightKey = { }, weightVal = { }, modTags = { "caster", "speed" }, tradeHashes = { [2891184298] = { "(25-40)% increased Cast Speed" }, } }, ["LocalIncreasedEnergyShieldPercentUniqueBody_1"] = { affix = "", "(150-200)% increased Energy Shield", statOrder = { 1585 }, level = 97, group = "LocalEnergyShieldPercent", weightKey = { }, weightVal = { }, modTags = { "defences", "energy_shield" }, tradeHashes = { [4015621042] = { "(150-200)% increased Energy Shield" }, } }, ["ChaosResistUniqueBody_1"] = { affix = "", "+(23-37)% to Chaos Resistance", statOrder = { 1667 }, level = 97, group = "ChaosResistance", weightKey = { }, weightVal = { }, modTags = { "chaos", "resistance" }, tradeHashes = { [2923486259] = { "+(23-37)% to Chaos Resistance" }, } }, - ["SpellBlockChancePerMinionUnique__1"] = { affix = "", "DNT +2% Chance to Block Spell Damage per Minion", statOrder = { 10286 }, level = 1, group = "SpellBlockChancePerMinion", weightKey = { }, weightVal = { }, modTags = { "block" }, tradeHashes = { [2787823479] = { "DNT +2% Chance to Block Spell Damage per Minion" }, } }, - ["AggressiveMinionIfBlockedRecentlyUnique__1"] = { affix = "", "DNT Minions are Aggressive if you've Blocked Recently", statOrder = { 9409 }, level = 1, group = "AggressiveMinionIfBlockedRecently", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1521135197] = { "DNT Minions are Aggressive if you've Blocked Recently" }, } }, - ["FeedingFrenzyIfBlockedRecentlyUnique__1"] = { affix = "", "DNT You have Feeding Frenzy if you've Blocked Recently", statOrder = { 10829 }, level = 1, group = "FeedingFrenzyIfBlockedRecently", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [2925106620] = { "DNT You have Feeding Frenzy if you've Blocked Recently" }, } }, ["AdditionalTotemsUniqueScepter_1"] = { affix = "", "+(3-5) to maximum number of Summoned Totems", statOrder = { 2280 }, level = 78, group = "AdditionalTotems", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [429867172] = { "+(3-5) to maximum number of Summoned Totems" }, } }, ["BattlemageKeystoneUnique__5"] = { affix = "", "Battlemage", statOrder = { 10946 }, level = 78, group = "KeystoneBattlemage", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [448903047] = { "Battlemage" }, } }, ["SummonTotemCastSpeedUnique__3"] = { affix = "", "(40-70)% increased Totem Placement speed", statOrder = { 2607 }, level = 78, group = "SummonTotemCastSpeed", weightKey = { }, weightVal = { }, modTags = { "speed" }, tradeHashes = { [3374165039] = { "(40-70)% increased Totem Placement speed" }, } }, @@ -8361,11 +8339,8 @@ return { ["LocalApplyAdditionalPoisonUnique__1"] = { affix = "", "Inflict (2-3) additional Poisons on the same Target", "when you inflict Poison with this weapon", statOrder = { 8123, 8123.1 }, level = 1, group = "LocalApplyAdditionalPoison", weightKey = { }, weightVal = { }, modTags = { "poison", "chaos_damage", "damage", "chaos" }, tradeHashes = { [2087599022] = { "Inflict (2-3) additional Poisons on the same Target", "when you inflict Poison with this weapon" }, } }, ["SacrificeMinionToFireAdditionalArrowsUnique__1"] = { affix = "", "Bow Attacks Sacrifice a random Damageable Minion to fire (1-3) additional Arrow", statOrder = { 10109 }, level = 69, group = "SacrificeMinionToFireAdditionalArrows", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [151300265] = { "Bow Attacks Sacrifice a random Damageable Minion to fire (1-3) additional Arrow" }, } }, ["AdditionalPoisonChanceUnique__1"] = { affix = "", "(25-40)% chance to inflict an additional Poison on the same Target when you inflict Poison", statOrder = { 4633 }, level = 100, group = "AdditionalPoisonChance", weightKey = { }, weightVal = { }, modTags = { "poison", "chaos_damage", "damage", "chaos" }, tradeHashes = { [514698677] = { "(25-40)% chance to inflict an additional Poison on the same Target when you inflict Poison" }, } }, - ["ImpaleEffectPerImpaleOnYouUnique__1"] = { affix = "", "DNT Impales you inflict have (10-15)% increased Effect per Impale on you", statOrder = { 7356 }, level = 1, group = "ImpaleEffectPerImpaleOnYou", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [3824925104] = { "DNT Impales you inflict have (10-15)% increased Effect per Impale on you" }, } }, ["SpellLightningDamagePerIntelligenceUnique__1"] = { affix = "", "Adds 1 to (24-35) Lightning Damage to Spells per 10 Intelligence", statOrder = { 10280 }, level = 83, group = "SpellLightningDamagePerIntelligence", weightKey = { }, weightVal = { }, modTags = { "elemental", "lightning" }, tradeHashes = { [254155233] = { "Adds 1 to (24-35) Lightning Damage to Spells per 10 Intelligence" }, } }, ["IncreasedSkillCostUnique_1"] = { affix = "", "31% increased Cost of Skills", statOrder = { 1907 }, level = 1, group = "SkillCostReduction", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [2904711338] = { "31% increased Cost of Skills" }, } }, - ["ViolentPaceUnique__1"] = { affix = "", "DNT Triggers Level 20 Violent Path when Equipped", statOrder = { 6351 }, level = 1, group = "ViolentPace", weightKey = { }, weightVal = { }, modTags = { "skill" }, tradeHashes = { [3000633332] = { "DNT Triggers Level 20 Violent Path when Equipped" }, } }, - ["AreaOfEffectPerRageUnique__1"] = { affix = "", "DNT (5-10)% increased Area of Effect per 10 Rage", statOrder = { 4771 }, level = 1, group = "AreaOfEffectPerRage", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [878076855] = { "DNT (5-10)% increased Area of Effect per 10 Rage" }, } }, ["MinionMovementSpeedUnique_1"] = { affix = "", "Minions have (20-30)% increased Movement Speed", statOrder = { 1795 }, level = 1, group = "MinionRunSpeed", weightKey = { }, weightVal = { }, modTags = { "speed", "minion" }, tradeHashes = { [174664100] = { "Minions have (20-30)% increased Movement Speed" }, } }, ["MinionMovementSpeedUnique_2"] = { affix = "", "Minions have (15-30)% increased Movement Speed", statOrder = { 1795 }, level = 1, group = "MinionRunSpeed", weightKey = { }, weightVal = { }, modTags = { "speed", "minion" }, tradeHashes = { [174664100] = { "Minions have (15-30)% increased Movement Speed" }, } }, ["MinionAttackSpeedUnique_1"] = { affix = "", "Minions have (6-12)% increased Attack Speed", statOrder = { 2944 }, level = 1, group = "MinionAttackAndCastSpeed", weightKey = { }, weightVal = { }, modTags = { "attack", "caster", "speed", "minion" }, tradeHashes = { [3375935924] = { "Minions have (6-12)% increased Attack Speed" }, [4000101551] = { "" }, } }, @@ -8373,8 +8348,6 @@ return { ["MinionLifeAlsoAffectsYouUnique__1"] = { affix = "", "Increases and Reductions to Minion Maximum Life also apply to you at 15% of their value", statOrder = { 3793 }, level = 83, group = "MinionMaximumAlsoAffectsYou", weightKey = { }, weightVal = { }, modTags = { "resource", "life", "minion" }, tradeHashes = { [3942379359] = { "Increases and Reductions to Minion Maximum Life also apply to you at 15% of their value" }, } }, ["FortifyDurationUnique_1"] = { affix = "", "(30-40)% increased Fortification Duration", statOrder = { 2291 }, level = 1, group = "FortifyDuration", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [2966206079] = { "(30-40)% increased Fortification Duration" }, } }, ["TriggerSocketedSpellOnUnarmedMeleeCriticalHitUnique__1"] = { affix = "", "Trigger a Socketed Spell on Unarmed Melee Critical Strike, with a 0.25 second Cooldown", statOrder = { 775 }, level = 97, group = "TriggerSocketedSpellOnUnarmedMeleeCriticalHit", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1181232657] = { "Trigger a Socketed Spell on Unarmed Melee Critical Strike, with a 0.25 second Cooldown" }, } }, - ["LinkSkillsCostLifeUnique__1"] = { affix = "", "DNT Link Skills Cost Life instead of Mana", statOrder = { 7602 }, level = 1, group = "LinkSkillsCostLife", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [2332188930] = { "DNT Link Skills Cost Life instead of Mana" }, } }, - ["GuardSkillForLinkTargetUnique__1"] = { affix = "", "DNT Your Guard Skill Buffs take Damage for Linked Targets as well as you", statOrder = { 7025 }, level = 1, group = "GuardSkillForLinkTarget", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [3674946347] = { "DNT Your Guard Skill Buffs take Damage for Linked Targets as well as you" }, } }, ["LinksTargetDamageableMinionsUnique_1"] = { affix = "", "Link Skills can target Damageable Minions", statOrder = { 7613 }, level = 1, group = "LinksTargetDamageableMinions", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1323344255] = { "Link Skills can target Damageable Minions" }, } }, ["LinksGrantMinionsLessDamageTakenUnique_1"] = { affix = "", "Your Linked Minions take (65-75)% less Damage", statOrder = { 7618 }, level = 1, group = "LinksGrantMinionsLessDamageTaken", weightKey = { }, weightVal = { }, modTags = { "minion" }, tradeHashes = { [3132594008] = { "Your Linked Minions take (65-75)% less Damage" }, } }, ["LinkedMinionsStealRareModsUnique_1"] = { affix = "", "On Killing a Rare monster, a random Linked Minion gains its Modifiers for 60 seconds", statOrder = { 7619 }, level = 1, group = "LinkedMinionsStealRareMods", weightKey = { }, weightVal = { }, modTags = { "minion" }, tradeHashes = { [517280174] = { "On Killing a Rare monster, a random Linked Minion gains its Modifiers for 60 seconds" }, } }, @@ -8397,11 +8370,9 @@ return { ["FireDamagePercentUnique__13"] = { affix = "", "(10-20)% increased Fire Damage", statOrder = { 1384 }, level = 100, group = "FireDamagePercentage", weightKey = { }, weightVal = { }, modTags = { "elemental_damage", "damage", "elemental", "fire" }, tradeHashes = { [3962278098] = { "(10-20)% increased Fire Damage" }, } }, ["FireDamagePercentUnique__14"] = { affix = "", "(30-50)% increased Fire Damage", statOrder = { 1384 }, level = 41, group = "FireDamagePercentage", weightKey = { }, weightVal = { }, modTags = { "elemental_damage", "damage", "elemental", "fire" }, tradeHashes = { [3962278098] = { "(30-50)% increased Fire Damage" }, } }, ["FireDamagePercentUnique__15"] = { affix = "", "(90-110)% increased Fire Damage", statOrder = { 1384 }, level = 1, group = "FireDamagePercentage", weightKey = { }, weightVal = { }, modTags = { "elemental_damage", "damage", "elemental", "fire" }, tradeHashes = { [3962278098] = { "(90-110)% increased Fire Damage" }, } }, - ["InflictFireExposureNearbyOnMaxRageUnique_1"] = { affix = "", "DNT Inflict Fire Exposure on Nearby Enemies when you reach Maximum Rage", statOrder = { 7387 }, level = 1, group = "InflictFireExposureNearbyOnMaxRage", weightKey = { }, weightVal = { }, modTags = { "elemental", "fire" }, tradeHashes = { [4244612288] = { "DNT Inflict Fire Exposure on Nearby Enemies when you reach Maximum Rage" }, } }, ["NearbyEnemiesHaveFireExposureWhileAtMaxRageUnique_1"] = { affix = "", "Nearby Enemies have Fire Exposure while at maximum Rage", statOrder = { 9603 }, level = 1, group = "NearbyEnemiesFireExposureWhileMaxRage", weightKey = { }, weightVal = { }, modTags = { "elemental", "fire" }, tradeHashes = { [3952509108] = { "Nearby Enemies have Fire Exposure while at maximum Rage" }, } }, ["FireDoTMultiPerRageUnique_1"] = { affix = "", "Each Rage also grants +2% to Fire Damage Over Time Multiplier", statOrder = { 6677 }, level = 1, group = "FireDoTMultiPerRage", weightKey = { }, weightVal = { }, modTags = { "elemental", "fire" }, tradeHashes = { [3947934765] = { "Each Rage also grants +2% to Fire Damage Over Time Multiplier" }, } }, ["LocalFireDamageFromLifePercentUnique_1"] = { affix = "", "Attacks with this Weapon have Added Fire Damage equal to (6-10)% of Player's Maximum Life", statOrder = { 2982 }, level = 1, group = "WeaponAddedFireDamagePerMaximumLife", weightKey = { }, weightVal = { }, modTags = { "elemental", "fire" }, tradeHashes = { [3228133944] = { "Attacks with this Weapon have Added Fire Damage equal to (6-10)% of Player's Maximum Life" }, } }, - ["GrantUnleashPowerUnique__1"] = { affix = "", "DNT Grants Level 10 Unleash Power", statOrder = { 752 }, level = 1, group = "GrantUnleashPower", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [3174866731] = { "DNT Grants Level 10 Unleash Power" }, } }, ["TriggerSocketedSpellOnKillUnique__1"] = { affix = "", "20% chance to Trigger Socketed Spell on Kill, with a 0.5 second Cooldown", statOrder = { 802 }, level = 40, group = "TriggerSocketedSpellOnKill", weightKey = { }, weightVal = { }, modTags = { "skill", "caster", "gem" }, tradeHashes = { [3414107447] = { "20% chance to Trigger Socketed Spell on Kill, with a 0.5 second Cooldown" }, } }, ["SummonWrithingWormEveryXMsUnique__1"] = { affix = "", "An Enemy Writhing Worm spawns every 2 seconds", statOrder = { 633 }, level = 40, group = "SummonWrithingWormEveryXMs", weightKey = { }, weightVal = { }, modTags = { "skill" }, tradeHashes = { [933024928] = { "An Enemy Writhing Worm spawns every 2 seconds" }, } }, ["AddedDamagePerStrengthUnique__2"] = { affix = "", "Adds 8 to 24 Physical Damage to Attacks per 25 Strength", statOrder = { 4930 }, level = 1, group = "AddedDamagePerStrength", weightKey = { }, weightVal = { }, modTags = { "physical_damage", "damage", "physical", "attack" }, tradeHashes = { [787185456] = { "Adds 8 to 24 Physical Damage to Attacks per 25 Strength" }, } }, @@ -8501,7 +8472,6 @@ return { ["NoPhysicalDamageReductionUnique__1"] = { affix = "", "Physical Damage Reduction is zero", statOrder = { 9629 }, level = 58, group = "NoPhysicalDamageReduction", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [489372526] = { "Physical Damage Reduction is zero" }, } }, ["GhostFurnaceUnique__1"] = { affix = "", "Draugurflames burn enemies around you for 8 seconds after you Ignite a target", statOrder = { 10941 }, level = 51, group = "GrantedSkillGhostFurnace", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [2084152132] = { "Draugurflames burn enemies around you for 8 seconds after you Ignite a target" }, } }, ["GhostLanternSoulOnKillChance__1"] = { affix = "", "Killing a Burning Enemy has a (25-30)% chance to create an Allflame Soul", statOrder = { 6966 }, level = 1, group = "GhostLanternSoulOnKillChance", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1298740657] = { "Killing a Burning Enemy has a (25-30)% chance to create an Allflame Soul" }, [1970730266] = { "" }, } }, - ["LocalIncreasedModEffectPerAbyssJewelUnique__1"] = { affix = "", "DNT 50% increased Explicit Modifier Magnitudes per socketed Abyss Jewel", statOrder = { 8054 }, level = 1, group = "LocalIncreasedModEffectPerAbyssJewel", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1155051013] = { "DNT 50% increased Explicit Modifier Magnitudes per socketed Abyss Jewel" }, } }, ["LocalCannotHaveNonAbyssSocketsUnique__1"] = { affix = "", "Cannot have non-Abyssal sockets", statOrder = { 7988 }, level = 1, group = "LocalCannotHaveNonAbyssSockets", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [847997388] = { "Cannot have non-Abyssal sockets" }, } }, ["LocalExplicitModEffectUnique__1"] = { affix = "", "(120-240)% increased Explicit Modifier magnitudes", statOrder = { 58 }, level = 1, group = "LocalExplicitModEffect", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1581907402] = { "(120-240)% increased Explicit Modifier magnitudes" }, } }, ["ConsumeAbyssJewelUnique__1"] = { affix = "", "Has 4 Abyssal Sockets", "Socketed Rare Abyssal Jewels will be Consumed", "One modifier from Consumed Jewels will be retained", statOrder = { 69, 5949, 5949.1 }, level = 1, group = "ConsumeAbyssJewel", weightKey = { }, weightVal = { }, modTags = { }, tradeHashes = { [1515509665] = { "Socketed Rare Abyssal Jewels will be Consumed", "One modifier from Consumed Jewels will be retained" }, [3527617737] = { "Has 4 Abyssal Sockets" }, } }, diff --git a/src/Data/ModScalability.lua b/src/Data/ModScalability.lua index f937ed5413d..62e76c61220 100644 --- a/src/Data/ModScalability.lua +++ b/src/Data/ModScalability.lua @@ -8130,72 +8130,6 @@ return { ["Curses you inflict are reflected back to you"] = { }, ["Curses you with Punishment on Kill"] = { }, ["Curses you with Silence when Hit"] = { }, - ["DNT # to all Attributes for each Keystone affecting you"] = { { isScalable = true } }, - ["DNT #% Chance to Block Spell Damage per Minion"] = { { isScalable = true } }, - ["DNT #% increased Area of Effect per 10 Rage"] = { { isScalable = true } }, - ["DNT #% increased Attribute Requirements of equipped Armour"] = { { isScalable = true } }, - ["DNT #% increased Attribute Requirements of equipped Weapons"] = { { isScalable = true } }, - ["DNT #% increased Chance to Block Attack and Spell Damage for every 100 Life Spent Recently"] = { { isScalable = true } }, - ["DNT #% increased Explicit Modifier Magnitudes per socketed Abyss Jewel"] = { { isScalable = false } }, - ["DNT #% reduced Attribute Requirements of equipped Armour"] = { { isScalable = true, formats = { "negate" } } }, - ["DNT #% reduced Attribute Requirements of equipped Weapons"] = { { isScalable = true, formats = { "negate" } } }, - ["DNT #% reduced Chance to Block Attack and Spell Damage for every 100 Life Spent Recently"] = { { isScalable = true, formats = { "negate" } } }, - ["DNT #% to All Resistances per Minion"] = { { isScalable = true } }, - ["DNT #% to Critical Strike Multiplier with Unarmed Attack"] = { { isScalable = true } }, - ["DNT #% to Global Defenses per Minion"] = { { isScalable = true } }, - ["DNT Adds # maximum Lightning Damage\nLose one maximum Lightning Damage per level"] = { { isScalable = true } }, - ["DNT Area contains # additional Common Chest Marker"] = { { isScalable = true } }, - ["DNT Area contains # additional Common Chest Markers"] = { { isScalable = true } }, - ["DNT Area contains # additional Epic Chest Marker"] = { { isScalable = true } }, - ["DNT Area contains # additional Epic Chest Markers"] = { { isScalable = true } }, - ["DNT Area contains # additional Uncommon Chest Marker"] = { { isScalable = true } }, - ["DNT Area contains # additional Uncommon Chest Markers"] = { { isScalable = true } }, - ["DNT Areas contain additional Betrayal Targets\nBetrayal Targets ambush players"] = { }, - ["DNT Areas contain additional Essences\nEssences contain multiple Rare Monsters with Essences"] = { }, - ["DNT Areas contain additional Rogue Exiles\nRogues Exiles are equipped Unique Items\nRogue Exiles drop their equipped Unique Items"] = { }, - ["DNT Areas contain additional packs of Beasts instead of other Monsters"] = { }, - ["DNT Attacks with this Weapon gain 1% of Physical Damage as Extra Fire per #% life reserved"] = { { isScalable = false } }, - ["DNT Auras from your Allies have #% increased Effect on you"] = { { isScalable = true } }, - ["DNT Auras from your Allies have #% reduced Effect on you"] = { { isScalable = true, formats = { "negate" } } }, - ["DNT Bow Attacks Sacrifice #% of your Life to fire an additional Arrow for every 100 Life Sacrificed"] = { { isScalable = true } }, - ["DNT Dropped items have #% chance to be Fractured"] = { { isScalable = true } }, - ["DNT Energy Shield Recharge instead applies to Mana"] = { }, - ["DNT Every 4 seconds, Remove Elemental Ailments from you"] = { }, - ["DNT Every 4 seconds, remove all Curses"] = { }, - ["DNT Every 6 seconds:\n#% Chance to Block Attack Damage for 3 seconds\n#% Chance to Block Spell Damage for 3 seconds"] = { { isScalable = false }, { isScalable = false } }, - ["DNT For each nearby Ally you and nearby Allies deal #% less Damage per nearby Ally, up to 15%"] = { { isScalable = true, formats = { "negate" } } }, - ["DNT For each nearby Ally you and nearby Allies deal #% more Damage, up to 15%"] = { { isScalable = true } }, - ["DNT Grants Level # Unleash Power"] = { { isScalable = false } }, - ["DNT Hits with this Weapon deal Triple Damage if you have spent at least # seconds on a single attack recently"] = { { isScalable = true, formats = { "milliseconds_to_seconds" } } }, - ["DNT Impaled Enemies Cannot be Impaled"] = { }, - ["DNT Impales you inflict have #% increased Effect per Impale on you"] = { { isScalable = true } }, - ["DNT Impales you inflict have #% reduced Effect per Impale on you"] = { { isScalable = true, formats = { "negate" } } }, - ["DNT Inflict Fire Exposure on Nearby Enemies when you reach Maximum Rage"] = { }, - ["DNT Link Skills Cost Life instead of Mana"] = { }, - ["DNT Minions are Aggressive if you've Blocked Recently"] = { }, - ["DNT Monsters spawn Volatile Cores on death"] = { }, - ["DNT Nearby Allies have Onslaught"] = { }, - ["DNT Nearby Non-Player Allies are Shocked, taking #% increased damage\nGain a Power, Frenzy and Endurance Charge when a nearby Non-Player Ally dies"] = { { isScalable = true } }, - ["DNT Players can be touched by Tormented Spirits"] = { }, - ["DNT Projectiles from your Spells have infinite speed"] = { }, - ["DNT Projectiles you create move at your speed"] = { }, - ["DNT Sirus' Meteors rain down in Area"] = { }, - ["DNT Socketed Gems are Supported by Level # Rings of Light"] = { { isScalable = false } }, - ["DNT Triggers Level # Violent Path when Equipped"] = { { isScalable = false } }, - ["DNT Unarmed Attacks deal # to # added Chaos Damage for each Poison on the target, up to 100"] = { { isScalable = true }, { isScalable = true } }, - ["DNT Unarmed Non-Vaal Strike Skills target # additional nearby Enemies"] = { { isScalable = true } }, - ["DNT Unarmed Non-Vaal Strike Skills target # additional nearby Enemy"] = { { isScalable = true } }, - ["DNT You have Feeding Frenzy if you've Blocked Recently"] = { }, - ["DNT You have Onslaught during Effect of any Life Flask"] = { }, - ["DNT Your Guard Skill Buffs take Damage for Linked Targets as well as you"] = { }, - ["DNT Your Minions cannot cast Spells"] = { }, - ["DNT Your Minions cannot use Attacks"] = { }, - ["DNT Your Minions have #% increased Cooldown Recovery Rate with Attacks"] = { { isScalable = true } }, - ["DNT Your Minions have #% increased Cooldown Recovery Rate with Spells"] = { { isScalable = true } }, - ["DNT Your Minions have #% reduced Cooldown Recovery Rate with Attacks"] = { { isScalable = true, formats = { "negate" } } }, - ["DNT Your Minions have #% reduced Cooldown Recovery Rate with Spells"] = { { isScalable = true, formats = { "negate" } } }, - ["DNT Your minions gain your chance to Suppress Spell Damage"] = { }, - ["DNT Your minions have no Armour or Maximum Energy Shield"] = { }, ["Dagger Attacks deal #% increased Damage with Ailments"] = { { isScalable = true } }, ["Dagger Attacks deal #% increased Damage with Hits and Ailments"] = { { isScalable = true } }, ["Dagger Attacks deal #% reduced Damage with Ailments"] = { { isScalable = true, formats = { "negate" } } }, diff --git a/src/Export/Scripts/mods.lua b/src/Export/Scripts/mods.lua index c890a799185..1f76ebf6455 100644 --- a/src/Export/Scripts/mods.lua +++ b/src/Export/Scripts/mods.lua @@ -70,7 +70,7 @@ local function writeMods(outName, condFunc) mod.Stat2Value[2] = 12 end local stats, orders = describeMod(mod) - if #orders > 0 then + if #orders > 0 and not stats[1]:match("^DNT") then out:write('\t["', mod.Id, '"] = { ') if mod.GenerationType == GenTypes.Prefix then out:write('type = "Prefix", ') @@ -282,6 +282,7 @@ writeMods("../Data/ModItemExclusive.lua", and not mod.Id:match("^Synthesis") and not mod.Id:match("Royale") and not mod.Id:match("Cowards") and not mod.Id:match("Map") and not mod.Id:match("Ultimatum") and not mod.Id:match("^MutatedUnique") + and not mod.Id:match("UNUSED") end) writeMods("../Data/ModGraft.lua", function(mod) return mod.Domain == Domains.Graft and @@ -300,19 +301,21 @@ local modTextMap = {} out:write('-- This file is automatically generated, do not edit!\n') out:write('-- Item data (c) Grinding Gear Games\n\nreturn {\n') for modName, mod in pairsSortByKey(LoadModule("../Data/ModItemExclusive.lua")) do - if modTextMap[mod[1]:lower()] then - table.insert(modTextMap[mod[1]:lower()], modName) - else - modTextMap[mod[1]:lower()] = { modName } - end - -- Add generic mod for matching legacy values - if mod[1]:match('%d+') then - local genericText = mod[1]:gsub('(%-*%d*%.*%d+%-*%-*%d*%.*%d*)', '#') - if genericText ~= mod[1] then - if modTextMap[genericText:lower()] then - table.insert(modTextMap[genericText:lower()], modName) - else - modTextMap[genericText:lower()] = { modName } + if not mod[1]:match("^DNT") then + if modTextMap[mod[1]:lower()] then + table.insert(modTextMap[mod[1]:lower()], modName) + else + modTextMap[mod[1]:lower()] = { modName } + end + -- Add generic mod for matching legacy values + if mod[1]:match('%d+') then + local genericText = mod[1]:gsub('(%-*%d*%.*%d+%-*%-*%d*%.*%d*)', '#') + if genericText ~= mod[1] then + if modTextMap[genericText:lower()] then + table.insert(modTextMap[genericText:lower()], modName) + else + modTextMap[genericText:lower()] = { modName } + end end end end diff --git a/src/Export/Uniques/ModTextMap.lua b/src/Export/Uniques/ModTextMap.lua index b55eb2f2e65..84db9979b21 100644 --- a/src/Export/Uniques/ModTextMap.lua +++ b/src/Export/Uniques/ModTextMap.lua @@ -863,7 +863,7 @@ return { ["(#) to (#) added physical damage with bow attacks"] = { "AddedPhysicalDamageUniqueQuiver10", "AddedPhysicalDamageUniqueQuiver3", "AddedPhysicalDamageUniqueQuiver9", }, ["(#) to (#) fire damage per endurance charge"] = { "ChargeBonusAddedFireDamagePerEnduranceCharge", }, ["(#) to (#) lightning damage per power charge"] = { "ChargeBonusAddedLightningDamagePerPowerCharge", "GlobalAddedLightningDamagePerPowerChargeUnique__1", }, - ["(#)% additional physical damage reduction"] = { "AdditionalPhysicalDamageReductionUnique_1UNUSED", "TalismanReducedPhysicalDamageTaken_", }, + ["(#)% additional physical damage reduction"] = { "TalismanReducedPhysicalDamageTaken_", }, ["(#)% additional physical damage reduction during effect"] = { "LocalFlaskPhysicalDamageReductionUnique__1", }, ["(#)% additional physical damage reduction while bleeding"] = { "AdditionalPhysicalDamageReductionWhileBleedingUnique__1", }, ["(#)% chance for bleeding inflicted with this weapon to deal #% more damage"] = { "VillageLocalChanceForBleedingDamage", }, @@ -872,7 +872,6 @@ return { ["(#)% chance for energy shield recharge to start when you kill an enemy"] = { "EnergyShieldRechargeOnKillUnique__1__", }, ["(#)% chance for poisons inflicted with this weapon to deal #% more damage"] = { "VillageLocalChanceForPoisonDamage", }, ["(#)% chance for traps to trigger an additional time"] = { "TrapTriggerTwiceChanceUnique__1", }, - ["(#)% chance on melee hit for all impales on the enemy to last for an additional hit"] = { "ChanceMeleeHitsDontConsumeImpalesUnique_1UNUSED", }, ["(#)% chance on melee hit for the strongest impale on target to last for # additional hit"] = { "ChanceMeleeHitsDontRemoveSTRONGESTImpaleUnique_1", }, ["(#)% chance that if you would gain rage on hit, you instead gain up to your maximum rage"] = { "ChanceToGainMaximumRageUnique__1", }, ["(#)% chance to aggravate bleeding on targets you hit with attacks"] = { "VillageAggravateBleedOnAttack", }, @@ -955,7 +954,7 @@ return { ["(#)% increased area of effect per red socket"] = { "AreaOfEffectPerRedSocketUnique__1", }, ["(#)% increased area of effect while in sand stance"] = { "AreaOfEffectSandStanceUnique__1", }, ["(#)% increased area of effect while unarmed"] = { "UnarmedAreaOfEffectUniqueJewel4", }, - ["(#)% increased armour"] = { "GlobalPhysicalDamageReductionRatingPercentUnique__1", "GlobalPhysicalDamageReductionRatingPercentUnique__2", "IncreasedPhysicalDamageReductionRatingPercentUniqueJewel50", "IncreasedPhysicalDamageReductionRatingPercentUnique__1", "LocalIncreasedArmourPercentAndStunRecoveryUniqueShieldStr1", "LocalIncreasedArmourUniqueHelmetStrInt_2", "LocalIncreasedPhysicalDamageReductionRatingPercentAndStunRecoveryUniqueStrHelmet2", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique6", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique7", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique8_", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueBodyStr6", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueBodyStrDexInt1a", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueBootsStr3", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueGlovesStr3", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueHelmetStrDex6", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__1", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__10", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__11", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__12", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__13", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__14_", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__15", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__16", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__17", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__18", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__19", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__20", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__21", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__22", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__23", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__24", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__25", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__26", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__27", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__28", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__29", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__3", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__30", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__31", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__32", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__33", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__34", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__35", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__36UNUSED", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__37", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__38", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__5", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__6", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__7", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__8", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__9", "LocalIncreasedPhysicalDamageReductionRatingUniqueBodyStr3", "LocalIncreasedPhysicalDamageReductionRatingUniqueBodyStr4", "LocalIncreasedPhysicalDamageReductionRatingUniqueBodyStrDex1", "LocalIncreasedPhysicalDamageReductionRatingUniqueBootsStr1", "LocalIncreasedPhysicalDamageReductionRatingUniqueGlovesStr2", "LocalIncreasedPhysicalDamageReductionRatingUniqueHelmetStr3", "LocalIncreasedPhysicalDamageReductionRatingUniqueShieldStr2", "LocalIncreasedPhysicalDamageReductionRatingUniqueShieldStr3", "LocalIncreasedPhysicalDamageReductionRatingUnique__2", }, + ["(#)% increased armour"] = { "GlobalPhysicalDamageReductionRatingPercentUnique__1", "GlobalPhysicalDamageReductionRatingPercentUnique__2", "IncreasedPhysicalDamageReductionRatingPercentUniqueJewel50", "IncreasedPhysicalDamageReductionRatingPercentUnique__1", "LocalIncreasedArmourPercentAndStunRecoveryUniqueShieldStr1", "LocalIncreasedArmourUniqueHelmetStrInt_2", "LocalIncreasedPhysicalDamageReductionRatingPercentAndStunRecoveryUniqueStrHelmet2", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique6", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique7", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique8_", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueBodyStr6", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueBodyStrDexInt1a", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueBootsStr3", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueGlovesStr3", "LocalIncreasedPhysicalDamageReductionRatingPercentUniqueHelmetStrDex6", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__1", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__10", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__11", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__12", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__13", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__14_", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__15", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__16", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__17", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__18", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__19", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__20", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__21", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__22", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__23", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__24", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__25", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__26", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__27", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__28", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__29", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__3", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__30", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__31", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__32", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__33", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__34", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__35", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__37", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__38", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__5", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__6", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__7", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__8", "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__9", "LocalIncreasedPhysicalDamageReductionRatingUniqueBodyStr3", "LocalIncreasedPhysicalDamageReductionRatingUniqueBodyStr4", "LocalIncreasedPhysicalDamageReductionRatingUniqueBodyStrDex1", "LocalIncreasedPhysicalDamageReductionRatingUniqueBootsStr1", "LocalIncreasedPhysicalDamageReductionRatingUniqueGlovesStr2", "LocalIncreasedPhysicalDamageReductionRatingUniqueHelmetStr3", "LocalIncreasedPhysicalDamageReductionRatingUniqueShieldStr2", "LocalIncreasedPhysicalDamageReductionRatingUniqueShieldStr3", "LocalIncreasedPhysicalDamageReductionRatingUnique__2", }, ["(#)% increased armour and energy shield"] = { "LocalIncreasedArmourAndEnergySheildUniqueGlovesStrInt2", "LocalIncreasedArmourAndEnergyShieldUniqueBodyStrDexInt1e", "LocalIncreasedArmourAndEnergyShieldUniqueBodyStrDexInt1h", "LocalIncreasedArmourAndEnergyShieldUniqueBodyStrInt1", "LocalIncreasedArmourAndEnergyShieldUniqueBodyStrInt2", "LocalIncreasedArmourAndEnergyShieldUniqueBodyStrInt3", "LocalIncreasedArmourAndEnergyShieldUniqueBodyStrInt4", "LocalIncreasedArmourAndEnergyShieldUniqueBodyStrInt5", "LocalIncreasedArmourAndEnergyShieldUniqueBodyStrInt6", "LocalIncreasedArmourAndEnergyShieldUniqueBodyStrInt7", "LocalIncreasedArmourAndEnergyShieldUniqueBootsStrInt1", "LocalIncreasedArmourAndEnergyShieldUniqueBootsStrInt3", "LocalIncreasedArmourAndEnergyShieldUniqueHelmetStrInt1", "LocalIncreasedArmourAndEnergyShieldUniqueHelmetStrInt2", "LocalIncreasedArmourAndEnergyShieldUniqueHelmetStrInt5", "LocalIncreasedArmourAndEnergyShieldUniqueHelmetStrInt6", "LocalIncreasedArmourAndEnergyShieldUniqueHelmetStrInt_1", "LocalIncreasedArmourAndEnergyShieldUniqueShieldStrInt3", "LocalIncreasedArmourAndEnergyShieldUniqueShieldStrInt4", "LocalIncreasedArmourAndEnergyShieldUniqueShieldStrInt5", "LocalIncreasedArmourAndEnergyShieldUniqueShieldStrInt6", "LocalIncreasedArmourAndEnergyShieldUnique__1", "LocalIncreasedArmourAndEnergyShieldUnique__10_", "LocalIncreasedArmourAndEnergyShieldUnique__11", "LocalIncreasedArmourAndEnergyShieldUnique__12", "LocalIncreasedArmourAndEnergyShieldUnique__13_", "LocalIncreasedArmourAndEnergyShieldUnique__14", "LocalIncreasedArmourAndEnergyShieldUnique__15", "LocalIncreasedArmourAndEnergyShieldUnique__16", "LocalIncreasedArmourAndEnergyShieldUnique__17_", "LocalIncreasedArmourAndEnergyShieldUnique__18_", "LocalIncreasedArmourAndEnergyShieldUnique__2", "LocalIncreasedArmourAndEnergyShieldUnique__20", "LocalIncreasedArmourAndEnergyShieldUnique__21", "LocalIncreasedArmourAndEnergyShieldUnique__23_", "LocalIncreasedArmourAndEnergyShieldUnique__24", "LocalIncreasedArmourAndEnergyShieldUnique__25", "LocalIncreasedArmourAndEnergyShieldUnique__26", "LocalIncreasedArmourAndEnergyShieldUnique__27", "LocalIncreasedArmourAndEnergyShieldUnique__28", "LocalIncreasedArmourAndEnergyShieldUnique__3", "LocalIncreasedArmourAndEnergyShieldUnique__30", "LocalIncreasedArmourAndEnergyShieldUnique__5", "LocalIncreasedArmourAndEnergyShieldUnique__6", "LocalIncreasedArmourAndEnergyShieldUnique__7", "LocalIncreasedArmourAndEnergyShieldUnique__8", "LocalIncreasedArmourAndEnergyShieldUnique__9_", }, ["(#)% increased armour and evasion"] = { "LocalIncreasedArmourAndEvasionRatingUniqueBodyStrDex3", "LocalIncreasedArmourAndEvasionRatingUnique__1", "LocalIncreasedArmourAndEvasionUniqueBodyStrDex2", "LocalIncreasedArmourAndEvasionUniqueBodyStrDex4", "LocalIncreasedArmourAndEvasionUniqueBodyStrDex5", "LocalIncreasedArmourAndEvasionUniqueBodyStrDexInt1b", "LocalIncreasedArmourAndEvasionUniqueBootsStrDex3", "LocalIncreasedArmourAndEvasionUniqueGlovesStrDex2", "LocalIncreasedArmourAndEvasionUniqueGlovesStrDex4", "LocalIncreasedArmourAndEvasionUniqueGlovesStrDex5", "LocalIncreasedArmourAndEvasionUniqueGlovesStrDex6", "LocalIncreasedArmourAndEvasionUniqueHelmetStrDex2", "LocalIncreasedArmourAndEvasionUniqueHelmetStrDex4", "LocalIncreasedArmourAndEvasionUniqueHelmetStrDex5", "LocalIncreasedArmourAndEvasionUniqueShieldStrDex1", "LocalIncreasedArmourAndEvasionUniqueShieldStrDex3", "LocalIncreasedArmourAndEvasionUniqueShieldStrDex4", "LocalIncreasedArmourAndEvasionUniqueShieldStrDex5", "LocalIncreasedArmourAndEvasionUniqueStrDexHelmet1", "LocalIncreasedArmourAndEvasionUnique__1", "LocalIncreasedArmourAndEvasionUnique__10_", "LocalIncreasedArmourAndEvasionUnique__11", "LocalIncreasedArmourAndEvasionUnique__12", "LocalIncreasedArmourAndEvasionUnique__13", "LocalIncreasedArmourAndEvasionUnique__14", "LocalIncreasedArmourAndEvasionUnique__15_", "LocalIncreasedArmourAndEvasionUnique__16__", "LocalIncreasedArmourAndEvasionUnique__17_", "LocalIncreasedArmourAndEvasionUnique__18", "LocalIncreasedArmourAndEvasionUnique__19_", "LocalIncreasedArmourAndEvasionUnique__2", "LocalIncreasedArmourAndEvasionUnique__20", "LocalIncreasedArmourAndEvasionUnique__21", "LocalIncreasedArmourAndEvasionUnique__22", "LocalIncreasedArmourAndEvasionUnique__23", "LocalIncreasedArmourAndEvasionUnique__24", "LocalIncreasedArmourAndEvasionUnique__25", "LocalIncreasedArmourAndEvasionUnique__26", "LocalIncreasedArmourAndEvasionUnique__27", "LocalIncreasedArmourAndEvasionUnique__28", "LocalIncreasedArmourAndEvasionUnique__29", "LocalIncreasedArmourAndEvasionUnique__3_", "LocalIncreasedArmourAndEvasionUnique__4", "LocalIncreasedArmourAndEvasionUnique__5_", "LocalIncreasedArmourAndEvasionUnique__6", "LocalIncreasedArmourAndEvasionUnique__7", "LocalIncreasedArmourAndEvasionUnique__8_", "LocalIncreasedArmourAndEvasionUnique__9", }, ["(#)% increased armour while bleeding"] = { "IncreasedArmourWhileBleedingUnique__1", }, @@ -1625,7 +1624,6 @@ return { ["(120-170)% increased evasion and energy shield"] = { "LocalIncreasedEvasionAndEnergyShieldUnique__13", }, ["(120-180)% increased armour"] = { "LocalIncreasedPhysicalDamageReductionRatingPercentUnique7", }, ["(120-180)% increased physical damage"] = { "LocalIncreasedPhysicalDamagePercentUniqueTwoHandAxe10", }, - ["(120-200)% increased armour"] = { "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__36UNUSED", }, ["(120-200)% increased evasion and energy shield"] = { "LocalIncreasedEvasionAndEnergyShieldUnique__31", }, ["(120-240)% increased armour"] = { "LocalIncreasedPhysicalDamageReductionRatingPercentUnique__38", }, ["(120-240)% increased explicit modifier magnitudes"] = { "LocalExplicitModEffectUnique__1", }, @@ -2098,7 +2096,6 @@ return { ["(3-4) to (7-8) added fire damage per 100 of maximum life or maximum mana, whichever is lower"] = { "AddedFireDamagePer100LowestOfLifeOrManaUnique__1", }, ["(3-4)% increased defences per minion from your non-vaal skills"] = { "GlobalDefensesIncreasedPerActiveNonVaalSkillMinionUnique_1", }, ["(3-4)% of physical attack damage leeched as life"] = { "LifeLeechLocal2", "LifeLeechUniqueRing12", }, - ["(3-5)% additional physical damage reduction"] = { "AdditionalPhysicalDamageReductionUnique_1UNUSED", }, ["(3-5)% increased elemental damage per power charge"] = { "ElementalDamagePerPowerChargeUnique__1", }, ["(3-5)% increased movement speed"] = { "ChanceToDodgeUniqueRing37", "MovementVelocityUnique__9_", }, ["(3-5)% increased skeleton movement speed"] = { "SkeletonMovementSpeedUniqueJewel1", }, @@ -2316,7 +2313,6 @@ return { ["(44-66)% increased critical strike chance"] = { "LocalCriticalStrikeChanceUniqueOneHandSword10", }, ["(45-50)% increased mana regeneration rate"] = { "ManaRegenerationUnique__7", }, ["(45-59)% increased spell damage"] = { "VillageWeaponSpellDamageTwoHand3", }, - ["(45-60)% chance on melee hit for all impales on the enemy to last for an additional hit"] = { "ChanceMeleeHitsDontConsumeImpalesUnique_1UNUSED", }, ["(45-65)% increased mana regeneration rate"] = { "ManaRegenerationUniqueRing14", }, ["(450-500)% increased evasion rating"] = { "LocalIncreasedEvasionRatingPercentUnique__11", }, ["(46-55)% increased duration"] = { "FlaskEffectIncreasedDurationReducedEffect2", }, @@ -6280,44 +6276,6 @@ return { ["discipline has no reservation"] = { "DisciplineNoReservationUnique__1", }, ["divine flesh"] = { "DivergentKeystoneDivineFleshUnique__1_", "KeystoneDivineFleshUnique__1_", }, ["divine shield"] = { "KeystoneDivineShieldUnique_1", }, - ["dnt #% increased explicit modifier magnitudes per socketed abyss jewel"] = { "LocalIncreasedModEffectPerAbyssJewelUnique__1", }, - ["dnt #% to all resistances per minion"] = { "AllResistancesReducedPerActiveMinionUnique_1UNUSED", }, - ["dnt (#)% increased area of effect per # rage"] = { "AreaOfEffectPerRageUnique__1", }, - ["dnt (#)% increased chance to block attack and spell damage for every # life spent recently"] = { "BlockChancePerLifeSpentRecentlyUnique__1", }, - ["dnt (5-10)% increased area of effect per 10 rage"] = { "AreaOfEffectPerRageUnique__1", }, - ["dnt (5-10)% increased chance to block attack and spell damage for every 100 life spent recently"] = { "BlockChancePerLifeSpentRecentlyUnique__1", }, - ["dnt +#% chance to block spell damage per minion"] = { "SpellBlockChancePerMinionUnique__1", }, - ["dnt +(#)% to global defenses per minion"] = { "GlobalDefensesIncreasedPerActiveMinionUnique_1UNUSED", }, - ["dnt +(3-5)% to global defenses per minion"] = { "GlobalDefensesIncreasedPerActiveMinionUnique_1UNUSED", }, - ["dnt +2% chance to block spell damage per minion"] = { "SpellBlockChancePerMinionUnique__1", }, - ["dnt -2% to all resistances per minion"] = { "AllResistancesReducedPerActiveMinionUnique_1UNUSED", }, - ["dnt 50% increased explicit modifier magnitudes per socketed abyss jewel"] = { "LocalIncreasedModEffectPerAbyssJewelUnique__1", }, - ["dnt bow attacks sacrifice (#)% of your life to fire an additional arrow for every # life sacrificed"] = { "SacrificeLifeToGainArrowUnique__1", }, - ["dnt bow attacks sacrifice (5-7)% of your life to fire an additional arrow for every 100 life sacrificed"] = { "SacrificeLifeToGainArrowUnique__1", }, - ["dnt energy shield recharge instead applies to mana"] = { "EnergyShieldRechargeApplyToManaUnique__1", }, - ["dnt grants level # unleash power"] = { "GrantUnleashPowerUnique__1", }, - ["dnt grants level 10 unleash power"] = { "GrantUnleashPowerUnique__1", }, - ["dnt hits with this weapon deal triple damage if you have spent at least # seconds on a single attack recently"] = { "TripleDamageIfSpentTimeOnAttackRecentlyUnique__1", }, - ["dnt hits with this weapon deal triple damage if you have spent at least 2 seconds on a single attack recently"] = { "TripleDamageIfSpentTimeOnAttackRecentlyUnique__1", }, - ["dnt impaled enemies cannot be impaled"] = { "YouCannotImpaleTheImpaledUnique_1UNUSED", }, - ["dnt impales you inflict have (#)% increased effect per impale on you"] = { "ImpaleEffectPerImpaleOnYouUnique__1", }, - ["dnt impales you inflict have (10-15)% increased effect per impale on you"] = { "ImpaleEffectPerImpaleOnYouUnique__1", }, - ["dnt inflict fire exposure on nearby enemies when you reach maximum rage"] = { "InflictFireExposureNearbyOnMaxRageUnique_1", }, - ["dnt link skills cost life instead of mana"] = { "LinkSkillsCostLifeUnique__1", }, - ["dnt minions are aggressive if you've blocked recently"] = { "AggressiveMinionIfBlockedRecentlyUnique__1", }, - ["dnt nearby non-player allies are shocked, taking #% increased damage"] = { "NearbyAlliesShockedGrantYouChargesOnDeathUnique__1", }, - ["dnt nearby non-player allies are shocked, taking 30% increased damage"] = { "NearbyAlliesShockedGrantYouChargesOnDeathUnique__1", }, - ["dnt triggers level # violent path when equipped"] = { "ViolentPaceUnique__1", }, - ["dnt triggers level 20 violent path when equipped"] = { "ViolentPaceUnique__1", }, - ["dnt unarmed attacks deal (#) to (#) added chaos damage for each poison on the target, up to #"] = { "UnarmedAddedChaosDamageForEachPoisonOnTargetUnique__1", }, - ["dnt unarmed attacks deal (7-11) to (13-17) added chaos damage for each poison on the target, up to 100"] = { "UnarmedAddedChaosDamageForEachPoisonOnTargetUnique__1", }, - ["dnt unarmed non-vaal strike skills target (#) additional nearby enemy"] = { "UnarmedStrikeSkillsAdditionalTargetUnique__1", }, - ["dnt unarmed non-vaal strike skills target (1-7) additional nearby enemy"] = { "UnarmedStrikeSkillsAdditionalTargetUnique__1", }, - ["dnt you have feeding frenzy if you've blocked recently"] = { "FeedingFrenzyIfBlockedRecentlyUnique__1", }, - ["dnt you have onslaught during effect of any life flask"] = { "GainOnslaughtDuringLifeFlaskUnique__1", }, - ["dnt your guard skill buffs take damage for linked targets as well as you"] = { "GuardSkillForLinkTargetUnique__1", }, - ["dnt your minions gain your chance to suppress spell damage"] = { "MinionGainYourSpellSuppressUnique__1", }, - ["dnt your minions have no armour or maximum energy shield"] = { "MinionHaveNoAmourOrEnergyShieldUnique__1", }, ["does not inflict mana burn over time"] = { "TinctureToxicityOnHitUnique__1", }, ["draugurflames burn enemies around you for # seconds after you ignite a target"] = { "DivergentGhostFurnace1", "GhostFurnaceUnique__1", }, ["draugurflames burn enemies around you for 8 seconds after you ignite a target"] = { "DivergentGhostFurnace1", "GhostFurnaceUnique__1", }, @@ -7216,8 +7174,6 @@ return { ["immunity to freeze, chill, curses and stuns during effect"] = { "FlaskImmuneToStunFreezeCursesUnique__1", }, ["impale damage dealt to enemies impaled by you overwhelms #% physical damage reduction"] = { "ImpalePhysicalReductionPenaltyUnique__1", }, ["impale damage dealt to enemies impaled by you overwhelms 10% physical damage reduction"] = { "ImpalePhysicalReductionPenaltyUnique__1", }, - ["impales you inflict last (#) additional hits"] = { "ImpalesInflictedLastAdditionalHitsUnique_1UNUSED", }, - ["impales you inflict last (3-6) additional hits"] = { "ImpalesInflictedLastAdditionalHitsUnique_1UNUSED", }, ["implicit modifier magnitudes are doubled"] = { "LocalDoubleImplicitMods", "LocalDoubleImplicitModsUnique__2", }, ["implicit modifier magnitudes are tripled"] = { "LocalTripleImplicitModsUnique__1__", }, ["implicit modifiers cannot be changed"] = { "CanHaveEveryInfluenceTypeImplicitE1", }, @@ -7366,7 +7322,6 @@ return { ["linked targets cannot die for 2 seconds after you die"] = { "LinkTargetCannotDieUnique__1", }, ["lose # life per second"] = { "LifeDegenerationGracePeriodPer10SecondsUnique__1", "LifeDegenerationGracePeriodUnique__1", }, ["lose # mana when you use a skill"] = { "IncreaseGlobalFlatManaCostUnique__3_", }, - ["lose #% life per second per minion"] = { "LifeDegenPerActiveMinionUniqueHelmetInt_1UNUSED", }, ["lose #% of energy shield on kill"] = { "EnergyShieldLostOnKillPercentageUniqueCorruptedJewel14", }, ["lose #% of life on kill"] = { "LifeLostOnKillPercentageUniqueCorruptedJewel14", }, ["lose #% of life per second if you have been hit recently"] = { "LoseLifeIfHitRecentlyUnique__1", }, @@ -7391,7 +7346,6 @@ return { ["lose (3-5)% of life when you block"] = { "RecoverLifePercentOnBlockUnique__1", }, ["lose (30-40) mana per second"] = { "LoseManaPerSecondUnique__1", }, ["lose (40-80) mana when you use a skill"] = { "IncreaseGlobalFlatManaCostUnique__2", }, - ["lose 0.3% life per second per minion"] = { "LifeDegenPerActiveMinionUniqueHelmetInt_1UNUSED", }, ["lose 1% of energy shield on kill"] = { "EnergyShieldLostOnKillPercentageUniqueCorruptedJewel14", }, ["lose 1% of life on kill"] = { "LifeLostOnKillPercentageUniqueCorruptedJewel14", }, ["lose 10% of your energy shield when you block"] = { "LoseEnergyShieldOnBlockUniqueShieldStrInt6", }, @@ -9357,8 +9311,6 @@ return { ["your hits can only kill frozen enemies"] = { "CanOnlyKillFrozenEnemiesUniqueGlovesStrInt3", }, ["your hits can't be evaded"] = { "AlwaysHitsUniqueGlovesDexInt4", "AlwaysHitsUnique__2", }, ["your hits can't be evaded by blinded enemies"] = { "HitsCannotBeEvadedAgainstBlindedEnemiesUnique__1", }, - ["your hits cannot inflict more than # impale"] = { "HitsCannotInflictMoreThanOneImpale_1UNUSED", }, - ["your hits cannot inflict more than 1 impale"] = { "HitsCannotInflictMoreThanOneImpale_1UNUSED", }, ["your hits cannot penetrate or ignore elemental resistances"] = { "CannotPenetrateResistancesUnique__1", }, ["your increases and reductions to quantity of items found also apply to damage"] = { "PercentDamagePerItemQuantityUnique__1", }, ["your lightning damage can freeze but not shock"] = { "DivergentLightningFreezesUniqueHelmetDexInt4", "LightningFreezesUniqueHelmetDexInt4", }, diff --git a/src/Export/statdesc.lua b/src/Export/statdesc.lua index ab8512cedcf..4771e373029 100644 --- a/src/Export/statdesc.lua +++ b/src/Export/statdesc.lua @@ -18,7 +18,7 @@ local function parseStatFile(target, order, fileName) local noDesc = line:match("no_description ([%w_%+%-%%]+)") if noDesc then target[noDesc] = { order = 0 } - elseif line:match("handed_description") or (line:match("description") and not line:match("_description")) then + elseif line:match("handed_description") or (line:match("description") and not line:match("_description")) then local name = line:match("description ([%w_]+)") curLang = { } curDescriptor = { curLang, order = order, name = name } @@ -43,7 +43,7 @@ local function parseStatFile(target, order, fileName) local desc = { text = escapeGGGString(text), limit = { } } for statLimit in statLimits:gmatch("[!%d%-#|]+") do local limit = { } - + if statLimit == "#" then limit[1] = "#" limit[2] = "#" @@ -163,7 +163,7 @@ function loadStatFile(fileName, ...) return end statDescriptor = { } - statDescriptors[fileName] = statDescriptor + statDescriptors[fileName] = statDescriptor local finalOrder = parseStatFile(statDescriptor, 1, fileName) print(fileName.. " loaded. ("..finalOrder.." stats)") end @@ -344,7 +344,7 @@ function describeStats(stats) elseif spec.k == "milliseconds_to_seconds_2dp_if_required" or spec.k == "milliseconds_to_seconds_2dp" then val[spec.v].min = round(val[spec.v].min / 1000, 2) val[spec.v].max = round(val[spec.v].max / 1000, 2) - val[spec.v].fmt = "g" + val[spec.v].fmt = "g" elseif spec.k == "deciseconds_to_seconds" then val[spec.v].min = val[spec.v].min / 10 val[spec.v].max = val[spec.v].max / 10 @@ -386,14 +386,14 @@ function describeStats(stats) ConPrintf("Unknown description function: %s", spec.k) end end - local statDesc = desc.text:gsub("{(%d)}", function(n) + local statDesc = desc.text:gsub("{(%d)}", function(n) local v = val[tonumber(n)+1] if v.min == v.max then return string.format("%"..v.fmt, v.min) else return string.format("(%"..v.fmt.."-%"..v.fmt..")", v.min, v.max) end - end):gsub("{}", function() + end):gsub("{}", function() local v = val[1] if v.min == v.max then return string.format("%"..v.fmt, v.min) @@ -487,14 +487,16 @@ function describeScalability(fileName) { isScalable = scalability[statNum], formats = wordingFormats[statNum] }) return "#" end) - if out[strippedLine] then -- we want to use the format with the least oddities in it. If their are less formats then that will be used instead. - for j, priorScalability in ipairs(out[strippedLine]) do - if (priorScalability.formats and #priorScalability.formats or 0) > (wordingFormats[j] and #wordingFormats[j] or 0) then - out[strippedLine][j] = inOrderScalability[j] + if not strippedLine:match("^DNT") then + if out[strippedLine] then -- we want to use the format with the least oddities in it. If their are less formats then that will be used instead. + for j, priorScalability in ipairs(out[strippedLine]) do + if (priorScalability.formats and #priorScalability.formats or 0) > (wordingFormats[j] and #wordingFormats[j] or 0) then + out[strippedLine][j] = inOrderScalability[j] + end end + else -- no present + out[strippedLine] = inOrderScalability end - else -- no present - out[strippedLine] = inOrderScalability end end end