Skip to content

EventAlertMod Retail 12.1.0 Alpha 8.2

Pre-release
Pre-release

Choose a tag to compare

@ziyuefan ziyuefan released this 27 Aug 13:20
· 40 commits to main since this release

EventAlertMod Retail 12.1.0 (Alpha 8.2)

專為《魔獸世界:正式服 (Retail 12.1.0 / 12.0+)》打造的超輕量、零污染、純事件驅動法術監控與戰鬥告警插件。

🌟 本次更新亮點 (Release Highlights)

🔊 1. LibSharedMedia-3.0 (SharedMedia) 素材生態全面整合與動態探測

  • 動態素材探測 (MediaService.ensureLSM)
    • 過去 EAM 依字母排序早於其他 SharedMedia 擴充插件載入,音效清單會被凍結在初始 12 種內建音效;現已加入動態探測機制與 PLAYER_LOGIN 延遲同步刷新,100% 自動抓取所有第三方 SharedMedia 音效包與字型包
    • 同時查詢 lsm:List("sound")lsm:HashTable("sound") 雙軌資料源並自動去重,確保不遺漏任何自訂素材。
  • 安全雙軌音效播放 (MediaService.playSound)
    • 無縫相容數字 FileDataID、原生 SoundKitID 與自訂字串 FilePath (.ogg / .mp3) 檔案。
    • 設定面板中的「測試」按鈕、光環設定中的「試聽素材」按鈕及點選選單項目時,皆可即時發聲試聽。
  • 12.1 Native Aura 原生光環音效接入
    • 規則編譯器已對接 MediaService.getSoundPath,原生光環觸發時亦可播放 LSM 自訂音效。

🔤 2. 全域字型熱套用與存檔修復(免 /reload 即時生效)

  • 字型變更零延遲即時套用
    • 預覽圖示聯動:更換字型時,畫面上的奶牛頭與位置預覽圖示 (Preview Icons) 立即同步重繪新字型。
    • Native 指紋修復:將 fontFamily 納入 Native Aura 規則指紋 (buildLayoutFingerprint),修復因指紋相同而略過原生容器重建的問題。
    • 全子系統文字廣播:透過 EAM_FONT_FAMILY_CHANGED 事件,同步即時刷新一般告警圖示 (Renderer)、能量條文字 (PowerRenderer / PlayerResourceService) 與人物屬性文字 (PlayerStatService)。
  • 存檔白名單解鎖
    • SavedVariables.lua 放行所有通過 LSM 註冊的自訂字型名稱,防止重登、重載或切換專精後被強制還原為預設字型。
  • 職業資源文字面板整合
    • 資源監控面板的「字型切換」按鈕已支援循環切換所有 SharedMedia 字型。

🎨 3. UI 下拉選單長清單自適應捲動容器 (ScrollFrame)

  • 捲動容器與滾輪支援
    • 實作通用自適應捲動選單 buildScrollableDropdownMenu
    • 當 SharedMedia 包含數十或數百種字型/音效時,選單自動限制高度為 10 筆並啟用 UIPanelScrollFrameTemplate 捲軸與滑鼠滾輪支援,版面整潔不破圖。
  • 即時素材拉取
    • 展開音效與字型選單時自動以 forceRefresh 模式向 LSM 抓取最新註冊素材清單。

🧪 驗證數據 (Validation Metrics)

  • Lua 語法檢查:71/71 全部通過
  • 流程與狀態機測試:84/84 全部通過
  • 自動化契約驗證:493/493 全部通過
  • 套件建置檢查:PASS

📦 安裝說明

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