promotional bannermobile promotional banner

PetStatusAlert - Missing Pet / Passive / Defensive Pet Warning

/psa opens settings. Pet alerts for Hunter, Warlock, Unholy DK, and Frost Mage Water Elemental. Warns for Passive, Defensive, Dead, or Missing pets with combat TTS. Supports EN/zhCN/zhTW/RU. supports Warlock Grimoire of Sacrifice.
Back to Files

PetStatusAlert_1.4.0

File namePetStatusAlert_1.4.0.zip
Uploader
zhufei1000zhufei1000
Uploaded
Aug 7, 2026
Downloads
189
Size
50.1 KB
Flavors
Retail
File ID
8593278
Type
R
Release
Supported game versions
  • 12.0.7
  • 12.0.5

What's new

PetStatusAlert - Hunter / Warlock / DK / Frost Mage Pet Alert | 宠物状态提醒

1.4.0 (2026-08-07)

Full Changelog

  • fix: 恢复ruRU原文案(尊重Hubbotu俄语习惯)
    改回Пассивный/Защита写法,俄语翻译以俄语用户习惯为准。
  • fix: 多语言翻译微调(enUS语法/ruRU词性)
    enUS ANIMATION_ICON_MODE_HINT: 补states语法
    ruRU ANIMATION_ICON_MODE_HINT: 统一为形容词+名词(Пассивный и защитный режимы)
  • 调整: 迁移仅强制图文模式, TTS/UNKNOWN尊重老用户习惯
    老用户升级只把图标模式切到both;TTS和UNKNOWN状态若老用户已开启则保持原样,新用户才用新默认(关/关)。
  • feat: 默认值调整 - UNKNOWN关闭/TTS关闭/默认图文模式
    • 未知状态(UNKNOWN)默认关闭
    • 战斗TTS语音默认关闭
    • 默认图标模式改为both(图标+文字)
    • 新增v140DefaultsMigrated迁移:老用户升级后强制应用一次新默认,之后保留手动设置
  • perf: 性能优化与冗余清理
    AlertFrame.lua (937→858行):
    • 删除12个无调用方的GlowPadding/GlowThickness/GlowType Get/Set/Refresh/Normalize API
    • 删除死变量currentGlowType/currentLayoutShowsText
    • GetSpellTextureByID增加spellID→纹理缓存(图标固定不再重复查询)
    • ApplyContentLayout去掉每次InitDB()重调用(上层已初始化,只保留轻量同步)
    • glowPadding/thickness改为固定值0/2
      Database.lua (205→189行):
    • 删除死常量OLD/TIGHT_ALERT_GLOW_PADDING_DEFAULT
    • InitDB移除已无用的padding/thickness/type强制赋值
  • 修复: 流光渲染在图标背面 → 提高frameLevel到25
    LibCustomGlow的PixelGlow纹理draw layer为ARTWORK与icon同级,但其父Frame level=glowFrame(2)+frameLevel。原frameLevel=8→父层10,低于icon所在contentFrame(≈22),导致icon盖住流光。提高到25使流光父层27>22,流光显示在图标上方。
  • 修复: glowFrame直接锚定到icon(解决流光位置不准)
    放弃通过currentGlowOffsetX计算偏移的手动同步方案,改为glowFrame:SetPoint(CENTER,icon)直接锚定。浮动动画自动同步,不再需要每帧手动更新glowFrame位置。
  • feat: 纯文字模式不显示像素流光
    流光效果只在图标/图文模式下围绕图标显示,纯文字模式完全关闭。更新4语言提示文字。
  • feat: 图标/图文模式下流光只作用在图标上
    • 有图标时glowFrame尺寸=图标大小+padding,位置偏移到图标中心
    • 纯文字模式保持原有行为(流光围绕文字)
    • 图文模式下currentGlowOffsetX=-(内容宽度-图标宽度)/2,流光精准定位到图标
  • 修复: RL/重登后图标模式丢失
    1. ADDON_LOADED事件添加RefreshAlertVisuals调用,RL后强制从DB同步currentIconMode
    2. ApplyContentLayout每次布局前从DB同步currentIconMode(双保险)
      根因: 文件加载时RefreshAlertVisuals调用的currentIconMode可能在后续事件处理中被覆盖或未同步
  • 修复: 姿态图标改用硬编码纹理路径(解决RL消失+图标错误)
    彻底放弃PetActionButton/GetPetActionInfo动态获取方案。改用WoW内置常量定义的固定图标路径:被动=Ability_Seal 防御=Ability_Defend 协助=Ability_Hunter_Pet_Assist。不依赖宠物存在/动作栏渲染/UI对象,RL后立即可用。
  • 修复: 防御图标改为固定slot获取 + 精简代码
    GetPetActionInfo在Retail中返回值不可靠(name缺失/texture移除/isActive误匹配)。改为用固定slot定位姿态按钮图标:slot7=被动 slot8=防御 slot9=协助。代码从80行精简到40行。
  • 修复: 防御图标误显示攻击技能图标
    isActive匹配未过滤isToken,导致自动施放的宠物技能(爪击/撕咬)也被当作防御按钮。改为只接受isToken=true的姿态token按钮。
  • 修复: 防御姿态图标改用isActive定位
    GetPetMode用排除法判断防御(非被动/非协助),导致GetPetActionInfo对防御按钮可能不返回name。新增第二轮isActive回退查找:找到激活的不是被动/协助的按钮即为防御,从其PetActionButton Icon获取纹理。
  • 修复: PASSIVE/DEFENSIVE图标改用PetActionButtonIcon读取纹理
    Retail中GetPetActionInfo不再返回texture(第二个返回值是isToken布尔),改为从PetActionButton Icon对象调用GetTexture()获取实际纹理路径。
  • v1.4.0: 新增图标提醒模式 & 修正DK技能图标
    • 新增三种显示模式: 纯文字/纯图标/图标+文字 (设置>动画页切换)
    • 图标映射: 猎人哨子(883)/复活(982), DK亡者复生(46584), 术士动态召唤, 法师水元素(31687)
    • PASSIVE/DEFENSIVE 从宠物动作栏动态获取姿态图标
    • 新增 contentFrame 浮动层, 布局与浮动动画解耦
    • 新增图标大小(24-96)和间距(0-40)可调
    • 修正邪DK Raise Dead spellID: 52150→46584
  • Configure release package naming

This mod has no additional files