呼叫方式
addon:Widget_GetSpellId(spellid, ranked)
可直接透過 addon 使用,不需要相依項目。
作用
解析條件中儲存的法術識別碼。啟用精確等級時會保留所提供的 ID;否則在有等級的經典版用戶端上,會透過法術目錄解析目前已知的等級。無法完成解析時傳回 nil 與可用性原因。
參數
| 名稱 | 類型 | 作用 |
|---|---|---|
self | RMAddon | Rotation Master 插件實例(使用冒號呼叫時隱含傳入)。 |
spellid | number | 要解析的已儲存法術 ID。 |
ranked | boolean | nil | 為 true 時要求使用這個確切的等級;為 false 或 nil 時跟隨可用的等級。 |
傳回值
| 1 | number | nil | 解析後的法術 ID;無法使用時為 nil。 |
|---|---|---|
| 2 | string | nil | 解析失敗時的可用性原因;成功時為 nil。 |
版本
內建輔助函式在每個版本上都會註冊。不同的是它們讀取的遊戲 API;某個 API 不存在時,輔助函式會改用備用方式,或傳回 nil 並附上原因。
它不會直接讀取任何遊戲 API。
插件如何呼叫它
- 任意法術可用 (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - 任意法術充能 (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - 任意法術冷卻 (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - 任意法術在射程內 (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - 任意法術充能時間 (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - 戰鬥助手循環法術 (evaluate)
local spellid, why = addon:Widget_GetSpellId(value.spell, value.ranked) - 戰鬥助手建議 (evaluate)
local spellid, why = addon:Widget_GetSpellId(value.spell, value.ranked) - 寵物法術生效中或待生效 (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, false)
以及另外 17 處: 寵物法術可用 (evaluate), 寵物法術充能 (evaluate), 寵物法術冷卻 (evaluate), 寵物法術施放歷史 (evaluate), 寵物法術施放歷史時間 (evaluate), 寵物法術在射程內 (evaluate), 寵物法術充能時間 (evaluate), 法術生效中或待生效 (evaluate), 法術自動重複中 (evaluate), 法術可用 (evaluate), 法術充能 (evaluate), 法術冷卻 (evaluate), 法術觸發高亮 (evaluate), 法術施放歷史 (evaluate), 法術施放歷史時間 (evaluate), 法術在射程內 (evaluate), 法術充能時間 (evaluate)
相依項目
SpellData(builtin:Conditions/common.lua:SpellData)
原始碼
Conditions/common.lua,第 37 行。在遊戲中為唯讀;「複製」會產生一份可編輯的複本。
Conditions.common.Widget_GetSpellId(self, spellid, ranked)
if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE) then
if not ranked then
local resolved, reason = SpellData:GetSpellId(spellid)
return resolved, reason or (not resolved and "spell-data-unavailable" or nil)
end
end
return spellid