Skip to content
2 changes: 1 addition & 1 deletion src/Classes/CompareTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3520,7 +3520,7 @@ function CompareTabClass:DrawItemExpanded(item, x, startY, colWidth, otherModMap
local armour = item:GetArmourDataValue("Armour", level)
local evasion = item:GetArmourDataValue("Evasion", level)
local energyShield = item:GetArmourDataValue("EnergyShield", level)
local ward = item:GetArmourDataValue("Ward", level)
local ward = item:GetArmourDataValue("RunicWard", level)
if armour > 0 then
DrawString(x, drawY, "LEFT", fontSize, "VAR", s_format("^x7F7F7FArmour: " .. colorCodes.MAGIC .. "%d", armour))
drawY = drawY + lineHeight
Expand Down
14 changes: 8 additions & 6 deletions src/Classes/Item.lua
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
end
elseif specName == "Talisman Tier" then
self.talismanTier = specToNumber(specVal)
elseif specName == "Armour" or specName == "Evasion Rating" or specName == "Evasion" or specName == "Energy Shield" or specName == "Ward" then
elseif specName == "Armour" or specName == "Evasion Rating" or specName == "Evasion" or specName == "Energy Shield" or specName == "Runic Ward" then
if specName == "Evasion Rating" then
specName = "Evasion"
if self.baseName == "Two-Toned Boots (Armour/Energy Shield)" then
Expand All @@ -596,6 +596,8 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
self.baseName = "Two-Toned Boots (Evasion/Energy Shield)"
self.base = data.itemBases[self.baseName]
end
elseif specName == "Runic Ward" then
specName = "RunicWard"
end
self.armourData = self.armourData or { }
self.armourData[specName] = specToNumber(specVal)
Expand Down Expand Up @@ -1297,9 +1299,9 @@ function ItemClass:BuildRaw()
t_insert(rawLines, "Spirit: " .. self.spiritValue)
end
if self.armourData then
for _, type in ipairs({ "Armour", "Evasion", "EnergyShield", "Ward" }) do
for _, type in ipairs({ "Armour", "Evasion", "EnergyShield", "RunicWard" }) do
if self.armourData[type] and self.armourData[type] > 0 then
t_insert(rawLines, type:gsub("EnergyShield", "Energy Shield") .. ": " .. self.armourData[type])
t_insert(rawLines, type:gsub("EnergyShield", "Energy Shield"):gsub("RunicWard", "Runic Ward") .. ": " .. self.armourData[type])
end
end
end
Expand Down Expand Up @@ -1797,7 +1799,7 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
local evasionEnergyShieldBase = calcLocal(modList, "EvasionAndEnergyShield", "BASE", 0)
local energyShieldBase = calcLocal(modList, "EnergyShield", "BASE", 0) + (self.base.armour.EnergyShield or 0)
local armourEnergyShieldBase = calcLocal(modList, "ArmourAndEnergyShield", "BASE", 0)
local wardBase = calcLocal(modList, "Ward", "BASE", 0) + (self.base.armour.Ward or 0)
local wardBase = calcLocal(modList, "Ward", "BASE", 0) + (self.base.armour.RunicWard or 0)
local evasionPerLevel = calcLocal(modList, "EvasionPerLevel", "BASE", 0)
local energyShieldPerLevel = calcLocal(modList, "EnergyShieldPerLevel", "BASE", 0)
local wardPerLevel = calcLocal(modList, "WardPerLevel", "BASE", 0)
Expand All @@ -1817,10 +1819,10 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
armourData.Armour = round((armourBase + armourEvasionBase + armourEnergyShieldBase) * (1 + (armourInc + armourEvasionInc + armourEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100)))
armourData.Evasion = round((evasionBase + armourEvasionBase + evasionEnergyShieldBase) * (1 + (evasionInc + armourEvasionInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100)))
armourData.EnergyShield = round((energyShieldBase + evasionEnergyShieldBase + armourEnergyShieldBase) * (1 + (energyShieldInc + armourEnergyShieldInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100)))
armourData.Ward = round((wardBase) * (1 + (wardInc + defencesInc) / 100) * (1 + (qualityScalar / 100)))
armourData.RunicWard = round((wardBase) * (1 + (wardInc + defencesInc) / 100) * (1 + (qualityScalar / 100)))
armourData.EvasionPerLevel = evasionPerLevel * (1 + (evasionInc + armourEvasionInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))
armourData.EnergyShieldPerLevel = energyShieldPerLevel * (1 + (energyShieldInc + armourEnergyShieldInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))
armourData.WardPerLevel = wardPerLevel * (1 + (wardInc + defencesInc) / 100) * (1 + (qualityScalar / 100))
armourData.RunicWardPerLevel = wardPerLevel * (1 + (wardInc + defencesInc) / 100) * (1 + (qualityScalar / 100))

if self.base.armour.BlockChance then
armourData.BlockChance = m_floor((self.base.armour.BlockChance * (1 + calcLocal(modList, "BlockChance", "INC", 0) / 100) + calcLocal(modList, "BlockChance", "BASE", 0)))
Expand Down
10 changes: 5 additions & 5 deletions src/Classes/ItemsTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3324,21 +3324,21 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode, maxWidth)
local armour = item:GetArmourDataValue("Armour", level)
local evasion = item:GetArmourDataValue("Evasion", level)
local energyShield = item:GetArmourDataValue("EnergyShield", level)
local ward = item:GetArmourDataValue("Ward", level)
local ward = item:GetArmourDataValue("RunicWard", level)
if base.armour.BlockChance and armourData.BlockChance > 0 then
tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FChance to Block: %s%d%%", main:StatColor(armourData.BlockChance, base.armour.BlockChance), armourData.BlockChance), "FONTIN SC")
end
if armour > 0 then
tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FArmour: %s%d", main:StatColor(armour, base.armour.ArmourBase), armour), "FONTIN SC")
tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FArmour: %s%d", main:StatColor(armour, base.armour.Armour), armour), "FONTIN SC")
end
if evasion > 0 then
tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEvasion Rating: %s%d", main:StatColor(evasion, base.armour.EvasionBase), evasion), "FONTIN SC")
tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEvasion Rating: %s%d", main:StatColor(evasion, base.armour.Evasion), evasion), "FONTIN SC")
end
if energyShield > 0 then
tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEnergy Shield: %s%d", main:StatColor(energyShield, base.armour.EnergyShieldBase), energyShield), "FONTIN SC")
tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEnergy Shield: %s%d", main:StatColor(energyShield, base.armour.EnergyShield), energyShield), "FONTIN SC")
end
if ward > 0 then
tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FRunic Ward: %s%d", main:StatColor(ward, base.armour.WardBase), ward), "FONTIN SC")
tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FRunic Ward: %s%d", main:StatColor(ward, base.armour.RunicWard), ward), "FONTIN SC")
end
elseif base.flask then
-- Flask-specific info
Expand Down
Loading