Silence pet level/loyalty notifications right after loading

This commit is contained in:
DuvelCorp
2026-09-15 07:34:39 +02:00
parent 315f6bb4f1
commit ea01c9ef15
+9
View File
@@ -4,6 +4,7 @@
local MTH_LT_Frame = nil
local MTH_LT_PendingPetCheck = false
local MTH_LT_SuppressUntil = 0
local MTH_LT_HunterLines = {
[1] = "You can now track beasts. Revolutionary: look for the things you intend to shoot.",
@@ -293,6 +294,13 @@ local function MTH_LT_HandlePetState()
store.pet = state
return
end
-- Just after a loading screen the pet's real level/loyalty can arrive a beat
-- late; record them as the baseline silently so we never announce progress
-- that actually happened in an earlier session (e.g. a fresh install).
if type(GetTime) == "function" and MTH_LT_SuppressUntil > 0 and GetTime() < MTH_LT_SuppressUntil then
store.pet = state
return
end
if state.level > (tonumber(pet.level) or 0) then
local line = MTH_LT_NextLine(store, "petLine", MTH_LT_PetLines)
if MTH_LT_MessageEnabled("petLevelUp", true) then MTH:Print(state.name .. " reached level " .. state.level .. ". " .. line) end
@@ -368,6 +376,7 @@ function MTH_LevelTracker_Initialize()
if event == "PLAYER_ENTERING_WORLD" then
local level = type(UnitLevel) == "function" and tonumber(UnitLevel("player")) or nil
if level then MTH_LT_Store().hunterLevel = level end
if type(GetTime) == "function" then MTH_LT_SuppressUntil = GetTime() + 8 end
MTH_LT_RequestPetCheck()
elseif event == "PLAYER_LEVEL_UP" then
MTH_LT_HandleHunterLevel(tonumber(arg1) or tonumber(UnitLevel("player")) or 1)