PetStatusAlert_1.4.0
What's new
PetStatusAlert - Hunter / Warlock / DK / Frost Mage Pet Alert | 宠物状态提醒
1.4.0 (2026-08-07)
- 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/重登后图标模式丢失
- ADDON_LOADED事件添加RefreshAlertVisuals调用,RL后强制从DB同步currentIconMode
- 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
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

