diff --git a/spec/System/TestItemMods_spec.lua b/spec/System/TestItemMods_spec.lua index 3cd048c22..74656f8c7 100644 --- a/spec/System/TestItemMods_spec.lua +++ b/spec/System/TestItemMods_spec.lua @@ -220,4 +220,56 @@ describe("TetsItemMods", function() assert.are_not.equals(120, build.calcsTab.mainOutput.Armour) runCallback("OnFrame") end) + + it("ironbound", function() + build.itemsTab:CreateDisplayItemFromRaw([[ + Rarity: UNIQUE + Ironbound Test + Gemini Bow + Quality: 20 + Sockets: S S S S + Rune: None + Rune: None + Rune: None + Rune: None + LevelReq: 78 + Implicits: 1 + 23% chance to chain an additional time + 5% increased Block Chance per 100 Total Item Armour on Equipped Armour Items + Hits with this Weapon have 1 to 4 Added Physical Damage per 1% Block Chance + ]]) + build.itemsTab:AddDisplayItem() + runCallback("OnFrame") + + build.itemsTab:CreateDisplayItemFromRaw([[ + Rarity: RARE + Armour Chest + Glorious Plate + Armour: 534 + Crafted: true + Prefix: None + Prefix: None + Prefix: None + Suffix: None + Suffix: None + Suffix: None + Quality: 0 + LevelReq: 65 + Implicits: 0 + ]]) + build.itemsTab:AddDisplayItem() + runCallback("OnFrame") + + local basePhys = build.calcsTab.mainOutput.PhysicalStoredCombinedAvg + + build.configTab.input.customMods = [[ + 10% chance to block + ]] + build.configTab:BuildModList() + runCallback("OnFrame") + + -- ~500 armour gives 25% increased block => 12.5% + assert.equals(12.5, build.calcsTab.mainOutput.EffectiveBlockChance) + assert.True(basePhys < build.calcsTab.mainOutput.PhysicalStoredCombinedAvg) + end) end) diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index a13144ac8..84df6cd6f 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -1581,7 +1581,7 @@ local modTagList = { ["per (%d+) (i?t?e?m? ?)evasion rating on equipped body armour"] = function(num) return { tag = { type = "PerStat", stat = "EvasionOnBody Armour", div = num } } end, ["for every (%d+) (i?t?e?m? ?)evasion rating on equipped body armour"] = function(num) return { tag = { type = "PerStat", stat = "EvasionOnBody Armour", div = num } } end, ["per (%d+) (i?t?e?m? ?)evasion rating on equipped armour items"] = function(num) return { tag = { type = "PerStat", stat = "EvasionOnAllArmourItems", div = num } } end, - ["per (%d+) (i?t?e?m? ?)armour on equipped armour items"] = function(num) return { tag = { type = "PerStat", stat = "ArmourOnAllArmourItems", div = num } } end, + ["per (%d+) t?o?t?a?l? ?(i?t?e?m? ?)armour on equipped armour items"] = function(num) return { tag = { type = "PerStat", stat = "ArmourOnAllArmourItems", div = num } } end, ["per (%d+) (i?t?e?m? ?)energy shield on equipped armour items"] = function(num) return { tag = { type = "PerStat", stat = "EnergyShieldOnAllArmourItems", div = num } } end, ["for every (%d+) (i?t?e?m? ?)energy shield on equipped body armour"] = function(num) return { tag = { type = "PerStat", stat = "EnergyShieldOnBody Armour", div = num } } end, ["per (%d+) (i?t?e?m? ?)armour on equipped shield"] = function(num) return { tagList = { { type = "PerStat", stat = "ArmourOnWeapon 2", div = num }, { type = "Condition", var = "UsingShield" } } } end,