Skip to content

EventAlertMod Retail 12.1.0 Alpha 8.4

Pre-release
Pre-release

Choose a tag to compare

@ziyuefan ziyuefan released this 04 Sep 10:08

EventAlertMod Retail 12.1.0 (Alpha 8.4)

專為《魔獸世界:地心之戰 / 決戰艾澤拉斯 / 午夜 (Retail 12.1.0 / 12.0+)》量身打造的超輕量、零污染、純事件驅動法術監控、技能冷卻與角色屬性戰鬥告警插件。


🌟 本次更新亮點 (Release Highlights)

📐 1. 光環與冷卻模組 2D 矩陣折行排版與自訂換行欄數 (2D Grid Layout Engine)

  • 2D 網格折行排版引擎
    • 自身光環 (selfAura)、目標光環 (targetAura)、技能冷卻 (spellCooldown)、物品冷卻 (itemCooldown) 與地面效果 (groundEffect) 等模組全面升級為二維矩陣排版。
    • 圖示數量超過指定欄數 (Columns) 時,依成長方向自動向下一列 (Row) 折行,杜絕圖示單向無限延伸遮擋視線或超出螢幕邊界的痛點。
  • 清單視窗頂部自訂欄數控制
    • 於監控清單視窗 (listFrame) 頂部專精下拉選單右側增設「每列欄數 (Columns)」滑桿(範圍 1~20,預設 8 欄),支援即時調整與多分類獨立設定保存。
  • 零延遲即時重新排版
    • 滑桿拖曳或切換時,畫面圖示與父容器尺寸零延遲即時重新折行計算,且完全相容戰鬥狀態鎖定防護。
  • 設定檔匯出匯入與存檔向後相容
    • ProfileCodec 匯出/匯入與 SavedVariables 自動遷移補齊各框架 columns 欄位,跨版本升級無痛無縫相容。

👁️ 2. 預渲染冷卻隨戰鬥隱藏與純透明度切換 (Pre-rendered Cooldown Combat Visibility)

  • 尊重「非戰鬥顯示技能冷卻」開關
    • 開啟預渲染 (cooldownPreRender) 佔位的技能冷卻圖示,若設定為隨戰鬥關閉 (showSCDOutsideCombat == false),在戰鬥外自動透過 SetAlpha(0) 平滑隱藏。
  • 戰鬥狀態智慧切換
    • 進入戰鬥時圖示瞬間以灰階待命顯現 (SetAlpha(1)),施法進入冷卻即亮起正常彩色倒數;脫離戰鬥時再次平滑隱藏 (SetAlpha(0))。
  • 槽位常駐零 Taint 污染
    • 隱藏過程僅變更透明度,絕不釋放 Frame 物件或更動排版 order 槽位,徹底杜絕戰鬥中 Frame 創建限制、Taint 污染與 2D 矩陣位置跳動。

🛡️ 3. 戰鬥中移動速度防護與回退機制 (Combat Speed Restriction Guard)

  • 破解 Retail 12.x / Midnight 戰鬥跑速限制
    • 解決暴雪在戰鬥中限制 GetUnitSpeed("player") 固定回傳 1.0,導致傳統計算公式除以 7.0 後顯示荒謬的 14.3% (1.0 / 7.0 * 100) 跑速問題。
  • 真實脫戰有效記憶快取
    • 實作戰鬥保護檢測:當檢測到回傳值 <= 1.05 且處於戰鬥狀態時,自動回退至脫戰真實有效記憶快取 (lastKnownStats),確保在戰鬥中依然穩定顯示 100%、130% 等真實移動速度。

🔢 4. 技能冷卻清單 Location Order 排序與單一法術獨立預佔位

  • 技能冷卻排序位置 (Location Order)
    • 清單每一列新增 Location Order 數字輸入框,顯示在畫面排版中的唯一自然數槽位 (1..N)。
    • 支援點擊 ▲/▼ 上下調換、拖曳排序或直接輸入數字快速跳轉,順位自動連續校正。
  • 嚴格禁止未啟用項目預先佔位
    • 未啟用 (enabled == false) 的技能冷卻項目徹底杜絕建立預渲染圖示或佔位顯示,完全不佔用畫面槽位與系統資源。
  • 單一法術獨立預先佔位開關
    • 取消全域 Global 級開關,改由各技能在細部條件設定中獨立開啟/關閉預先佔位(未冷卻時灰階待命,施法冷卻即亮起),預設為關閉。

🎯 5. 清單視窗滾動緊密跟隨與選定高亮 (Scroll Tracking & Selection Highlight)

  • 平滑滾動跟隨
    • 調換順位或點擊項目時,卷軸視窗平滑滾動並緊密跟隨目標技能,並呈現湛藍選定背景高亮,徹底避免操作時視窗重置至頂部或失焦。

⚡ 6. 角色屬性戰鬥即時更新與 C-Level 零 GC 渲染

  • 原生格式化零 GC 渲染
    • 全面採用暴雪原生 FontString:SetFormattedText 進行屬性數值文字渲染,達成 0.00ms C-Level 格式化與零 Lua GC 暫態字串記憶體分配。
  • 完整 18 大屬性戰鬥路由
    • 補齊全 18 大屬性之 getRawValue 戰鬥即時取值路由,配合 Retail 12.x / Midnight 的 AllowedWhenTaintedEnum.SecretAspect.Text 規範,徹底修復過去因安全過濾導致戰鬥中屬性數值凍結未更新或文字被清空的缺陷。

🛠️ 穩定性修復與工程治理 (Fixes & Governance)

  • 🐛 屬性圖示拖曳座標報錯修復
    • 修復單一屬性圖示在解鎖拖曳時,因 string.format 格式化佔位符缺少對應參數導致的 PlayerStatService.lua:1452: bad argument #4 to 'format' (number expected, got no value) 致命錯誤。
  • 📚 權威參考資源庫對齊
    • 全面收錄 Ketho 三大權威魔獸開發參考庫(WowDocBlizzardInterfaceResourceswow-ui-source-midnight-ptr)至專案治理架構。
  • 📋 全專案 115 個目錄 HTML 治理清單
    • 全專案 115 個目錄全面導入兼具人類視覺導覽與 AI 治理的 FOLDER_INDEX.html 說明清單(共 1500 個檔案結構完整核驗)。
  • 🚀 發布流程最佳化
    • 停用本機與 GitHub Release 之 SRC 原始碼重複打包,全面採用 GitHub 原生提供的 Source Code 封裝機制。

🧪 品質門禁與驗證數據 (Validation Metrics)

  • Lua 語法檢查 (Syntax Checks):76/76 全部通過 (PASS)
  • Flow 業務狀態機測試 (State Machine):85/85 全部通過 (PASS)
  • 全專案自動化契約驗證 (Validation Contracts):497/497 全部通過 (PASS)
  • 套件完整性核驗:PASS

📦 發布產物與校驗資訊 (Artifacts & Checksums)

檔案名稱 說明 SHA-256 雜湊值
EventAlertMod_MN_20260904_183007-alpha-8.4_AGY.zip 遊戲 AddOn 插件安裝包 984fbcf08c2e477687dac0c43a1a78a1eb6c4b4a052e3f0c3827e052a7853a98

ℹ️ 原始碼取得:GitHub 已於下方自動提供本版本完整源碼包(Source code (zip)Source code (tar.gz)),本機不再重複打包上傳 SRC 附件。


📥 安裝說明 (Installation)

  1. 下載上方附加的 EventAlertMod_MN_20260904_183007-alpha-8.4_AGY.zip
  2. 解壓縮後將 EventAlertMod 資料夾複製至魔獸世界目錄下的 _retail_\Interface\AddOns\ 中。
  3. 啟動遊戲即可享受完整功能,遊戲內輸入 /eam 即可開啟主設定面板。