From f7c3ab4fa99f8a551e683eb6b1b2ed5c5a8ada8d Mon Sep 17 00:00:00 2001 From: Blitz54 Date: Sat, 29 Aug 2026 20:27:48 +0000 Subject: [PATCH 1/2] Apply changes from https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/10210 --- src/Classes/Item.lua.rej | 15 +++++++++++++++ src/Classes/ItemsTab.lua.rej | 22 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/Classes/Item.lua.rej create mode 100644 src/Classes/ItemsTab.lua.rej diff --git a/src/Classes/Item.lua.rej b/src/Classes/Item.lua.rej new file mode 100644 index 0000000000..eac4be8c4b --- /dev/null +++ b/src/Classes/Item.lua.rej @@ -0,0 +1,15 @@ +diff a/src/Classes/Item.lua b/src/Classes/Item.lua (rejected hunks) +@@ -2341,9 +2341,13 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum) + armourData.WardBasePercentile = round(m_max(m_min(armourData.WardBasePercentile, 1), 0),4) + end + ++ armourData.ArmourBase = round((self.base.armour.ArmourBaseMin or 0) + armourVariance * (armourData.ArmourBasePercentile or 1)) + armourData.Armour = round((armourBase + armourEvasionBase + armourEnergyShieldBase + armourVariance * (armourData.ArmourBasePercentile or 1)) * (1 + (armourInc + armourEvasionInc + armourEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) ++ armourData.EvasionBase = round((self.base.armour.EvasionBaseMin or 0) + evasionVariance * (armourData.EvasionBasePercentile or 1)) + armourData.Evasion = round((evasionBase + armourEvasionBase + evasionEnergyShieldBase + evasionVariance * (armourData.EvasionBasePercentile or 1)) * (1 + (evasionInc + armourEvasionInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) ++ armourData.EnergyShieldBase = round((self.base.armour.EnergyShieldBaseMin or 0) + energyShieldVariance * (armourData.EnergyShieldBasePercentile or 1)) + armourData.EnergyShield = round((energyShieldBase + evasionEnergyShieldBase + armourEnergyShieldBase + energyShieldVariance * (armourData.EnergyShieldBasePercentile or 1)) * (1 + (energyShieldInc + armourEnergyShieldInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) ++ armourData.WardBase = round((self.base.armour.WardBaseMin or 0) + wardVariance * (armourData.WardBasePercentile or 1)) + armourData.Ward = round((wardBase + wardVariance * (armourData.WardBasePercentile or 1)) * (1 + (wardInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) + + if not armourData.ArmourBasePercentile and armourData.Armour > 0 then diff --git a/src/Classes/ItemsTab.lua.rej b/src/Classes/ItemsTab.lua.rej new file mode 100644 index 0000000000..4521ef2caf --- /dev/null +++ b/src/Classes/ItemsTab.lua.rej @@ -0,0 +1,22 @@ +diff a/src/Classes/ItemsTab.lua b/src/Classes/ItemsTab.lua (rejected hunks) +@@ -4494,16 +4494,16 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode, maxWidth) + tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FChance to Block: %s%d%%", main:StatColor(armourData.BlockChance, base.armour.BlockChance), armourData.BlockChance), "FONTIN SC") + end + if armourData.Armour > 0 then +- tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FArmour: %s%d", main:StatColor(armourData.Armour, base.armour.ArmourBase), armourData.Armour), "FONTIN SC") ++ tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FArmour: %s%d", main:StatColor(armourData.Armour, armourData.ArmourBase), armourData.Armour), "FONTIN SC") + end + if armourData.Evasion > 0 then +- tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEvasion Rating: %s%d", main:StatColor(armourData.Evasion, base.armour.EvasionBase), armourData.Evasion), "FONTIN SC") ++ tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEvasion Rating: %s%d", main:StatColor(armourData.Evasion, armourData.EvasionBase), armourData.Evasion), "FONTIN SC") + end + if armourData.EnergyShield > 0 then +- tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEnergy Shield: %s%d", main:StatColor(armourData.EnergyShield, base.armour.EnergyShieldBase), armourData.EnergyShield), "FONTIN SC") ++ tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEnergy Shield: %s%d", main:StatColor(armourData.EnergyShield, armourData.EnergyShieldBase), armourData.EnergyShield), "FONTIN SC") + end + if armourData.Ward > 0 then +- tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FWard: %s%d", main:StatColor(armourData.Ward, base.armour.WardBase), armourData.Ward), "FONTIN SC") ++ tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FWard: %s%d", main:StatColor(armourData.Ward, armourData.WardBase), armourData.Ward), "FONTIN SC") + end + elseif base.flask then + -- Flask-specific info From 43975fa95e24927785477f04c9c235e42f14e08e Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Sun, 30 Aug 2026 07:55:48 +1000 Subject: [PATCH 2/2] Fix port --- src/Classes/Item.lua | 4 ++++ src/Classes/Item.lua.rej | 15 --------------- src/Classes/ItemsTab.lua | 8 ++++---- src/Classes/ItemsTab.lua.rej | 22 ---------------------- 4 files changed, 8 insertions(+), 41 deletions(-) delete mode 100644 src/Classes/Item.lua.rej delete mode 100644 src/Classes/ItemsTab.lua.rej diff --git a/src/Classes/Item.lua b/src/Classes/Item.lua index eb7c95794c..530b644ed1 100644 --- a/src/Classes/Item.lua +++ b/src/Classes/Item.lua @@ -2153,9 +2153,13 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum) qualityScalar = 0 end + armourData.ArmourBase = self.base.armour.Armour or 0 armourData.Armour = round((armourBase + armourEvasionBase + armourEnergyShieldBase) * (1 + (armourInc + armourEvasionInc + armourEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) + armourData.EvasionBase = self.base.armour.Evasion or 0 armourData.Evasion = round((evasionBase + armourEvasionBase + evasionEnergyShieldBase) * (1 + (evasionInc + armourEvasionInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) + armourData.EnergyShieldBase = self.base.armour.EnergyShield or 0 armourData.EnergyShield = round((energyShieldBase + evasionEnergyShieldBase + armourEnergyShieldBase) * (1 + (energyShieldInc + armourEnergyShieldInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) + armourData.WardBase = self.base.armour.Ward or 0 armourData.Ward = 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)) diff --git a/src/Classes/Item.lua.rej b/src/Classes/Item.lua.rej deleted file mode 100644 index eac4be8c4b..0000000000 --- a/src/Classes/Item.lua.rej +++ /dev/null @@ -1,15 +0,0 @@ -diff a/src/Classes/Item.lua b/src/Classes/Item.lua (rejected hunks) -@@ -2341,9 +2341,13 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum) - armourData.WardBasePercentile = round(m_max(m_min(armourData.WardBasePercentile, 1), 0),4) - end - -+ armourData.ArmourBase = round((self.base.armour.ArmourBaseMin or 0) + armourVariance * (armourData.ArmourBasePercentile or 1)) - armourData.Armour = round((armourBase + armourEvasionBase + armourEnergyShieldBase + armourVariance * (armourData.ArmourBasePercentile or 1)) * (1 + (armourInc + armourEvasionInc + armourEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) -+ armourData.EvasionBase = round((self.base.armour.EvasionBaseMin or 0) + evasionVariance * (armourData.EvasionBasePercentile or 1)) - armourData.Evasion = round((evasionBase + armourEvasionBase + evasionEnergyShieldBase + evasionVariance * (armourData.EvasionBasePercentile or 1)) * (1 + (evasionInc + armourEvasionInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) -+ armourData.EnergyShieldBase = round((self.base.armour.EnergyShieldBaseMin or 0) + energyShieldVariance * (armourData.EnergyShieldBasePercentile or 1)) - armourData.EnergyShield = round((energyShieldBase + evasionEnergyShieldBase + armourEnergyShieldBase + energyShieldVariance * (armourData.EnergyShieldBasePercentile or 1)) * (1 + (energyShieldInc + armourEnergyShieldInc + evasionEnergyShieldInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) -+ armourData.WardBase = round((self.base.armour.WardBaseMin or 0) + wardVariance * (armourData.WardBasePercentile or 1)) - armourData.Ward = round((wardBase + wardVariance * (armourData.WardBasePercentile or 1)) * (1 + (wardInc + defencesInc) / 100) * (1 + (qualityScalar / 100))) - - if not armourData.ArmourBasePercentile and armourData.Armour > 0 then diff --git a/src/Classes/ItemsTab.lua b/src/Classes/ItemsTab.lua index 81b5fad9bd..545d6ba421 100644 --- a/src/Classes/ItemsTab.lua +++ b/src/Classes/ItemsTab.lua @@ -3493,16 +3493,16 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode, maxWidth) 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, armourData.ArmourBase), 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, armourData.EvasionBase), 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, armourData.EnergyShieldBase), 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, armourData.WardBase), ward), "FONTIN SC") end elseif base.flask then -- Flask-specific info diff --git a/src/Classes/ItemsTab.lua.rej b/src/Classes/ItemsTab.lua.rej deleted file mode 100644 index 4521ef2caf..0000000000 --- a/src/Classes/ItemsTab.lua.rej +++ /dev/null @@ -1,22 +0,0 @@ -diff a/src/Classes/ItemsTab.lua b/src/Classes/ItemsTab.lua (rejected hunks) -@@ -4494,16 +4494,16 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode, maxWidth) - tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FChance to Block: %s%d%%", main:StatColor(armourData.BlockChance, base.armour.BlockChance), armourData.BlockChance), "FONTIN SC") - end - if armourData.Armour > 0 then -- tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FArmour: %s%d", main:StatColor(armourData.Armour, base.armour.ArmourBase), armourData.Armour), "FONTIN SC") -+ tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FArmour: %s%d", main:StatColor(armourData.Armour, armourData.ArmourBase), armourData.Armour), "FONTIN SC") - end - if armourData.Evasion > 0 then -- tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEvasion Rating: %s%d", main:StatColor(armourData.Evasion, base.armour.EvasionBase), armourData.Evasion), "FONTIN SC") -+ tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEvasion Rating: %s%d", main:StatColor(armourData.Evasion, armourData.EvasionBase), armourData.Evasion), "FONTIN SC") - end - if armourData.EnergyShield > 0 then -- tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEnergy Shield: %s%d", main:StatColor(armourData.EnergyShield, base.armour.EnergyShieldBase), armourData.EnergyShield), "FONTIN SC") -+ tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FEnergy Shield: %s%d", main:StatColor(armourData.EnergyShield, armourData.EnergyShieldBase), armourData.EnergyShield), "FONTIN SC") - end - if armourData.Ward > 0 then -- tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FWard: %s%d", main:StatColor(armourData.Ward, base.armour.WardBase), armourData.Ward), "FONTIN SC") -+ tooltip:AddLine(fontSizeBig, s_format("^x7F7F7FWard: %s%d", main:StatColor(armourData.Ward, armourData.WardBase), armourData.Ward), "FONTIN SC") - end - elseif base.flask then - -- Flask-specific info