Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions spec/System/TestItemMods_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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)
2 changes: 1 addition & 1 deletion src/Modules/ModParser.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Loading