fix item level inspect

This commit is contained in:
andrew6180
2024-05-26 20:34:24 -07:00
parent 2368623870
commit aac7ef6e35
2 changed files with 14 additions and 37 deletions
+12 -35
View File
@@ -1862,7 +1862,7 @@ function ilvl_core:HasQueuedInspec (unitName)
end
local inspect_frame = CreateFrame("frame")
inspect_frame:RegisterEvent("INSPECT_READY")
inspect_frame:RegisterEvent("INSPECT_TALENT_READY")
local two_hand = {
["INVTYPE_2HWEAPON"] = true,
@@ -1871,7 +1871,7 @@ local two_hand = {
}
local MAX_INSPECT_AMOUNT = 1
local MIN_ILEVEL_TO_STORE = 50
local MIN_ILEVEL_TO_STORE = 1
local LOOP_TIME = 7
function _detalhes:IlvlFromNetwork (player, realm, core, serialNumber, itemLevel, talentsSelected, currentSpec)
@@ -1929,7 +1929,6 @@ end
--/run wipe(_detalhes.item_level_pool)
function ilvl_core:CalcItemLevel (unitid, guid, shout)
if (type(unitid) == "table") then
shout = unitid [3]
guid = unitid [2]
@@ -1938,37 +1937,7 @@ function ilvl_core:CalcItemLevel (unitid, guid, shout)
--disable due to changes to CheckInteractDistance()
if (not InCombatLockdown() and unitid and UnitPlayerControlled(unitid) and CheckInteractDistance(unitid, CONST_INSPECT_ACHIEVEMENT_DISTANCE) and CanInspect(unitid)) then
--16 = all itens including main and off hand
local item_amount = 16
local item_level = 0
local failed = 0
for equip_id = 1, 17 do
if (equip_id ~= 4) then --shirt slot
local item = GetInventoryItemLink (unitid, equip_id)
if (item) then
local _, _, itemRarity, iLevel, _, _, _, _, equipSlot = GetItemInfo (item)
if (iLevel) then
item_level = item_level + iLevel
--16 = main hand 17 = off hand
-- if using a two-hand, ignore the off hand slot
if (equip_id == 16 and two_hand [equipSlot]) then
item_amount = 15
break
end
end
else
failed = failed + 1
if (failed > 2) then
break
end
end
end
end
local average = item_level / item_amount
local average = UnitAverageItemLevel(unitid)
--register
if (average > 0) then
@@ -2002,7 +1971,15 @@ end
_detalhes.ilevel.CalcItemLevel = ilvl_core.CalcItemLevel
inspect_frame:SetScript("OnEvent", function(self, event, ...)
local guid = select(1, ...)
local guid
for queue_guid in pairs(inspecting) do -- get first guid
guid = queue_guid
break
end
if not guid or guild == "" then
return
end
if (inspecting [guid]) then
local unitid, cancel_tread = inspecting [guid] [1], inspecting [guid] [2]
+2 -2
View File
@@ -2102,12 +2102,12 @@ local iconFrame_OnEnter = function(self)
local gotInfo
local localizedItemLevelString = _G.AVERAGE_ITEM_LEVEL_S
if (ilvl) then
GameCooltip:AddLine(format(localizedItemLevelString, ilvl) and "|T:" .. 24 .. ":" .. 24 ..":0:0:64:64:4:60:4:60|t" .. floor(ilvl.ilvl) or "|T:" .. 24 .. ":" .. 24 ..":0:0:64:64:4:60:4:60|t ??") --Loc from GlobalStrings.lua
GameCooltip:AddLine(format(localizedItemLevelString, floor(ilvl.ilvl)))
GameCooltip:AddIcon([[]], 1, 1, 1, 20)
Details:AddTooltipBackgroundStatusbar()
gotInfo = true
else
GameCooltip:AddLine(format(localizedItemLevelString, 0))
GameCooltip:AddLine(format(localizedItemLevelString, "??"))
GameCooltip:AddIcon([[]], 1, 1, 1, 20)
Details:AddTooltipBackgroundStatusbar()
gotInfo = false