Trinket Button Custom
World of WarcraftのTrinket Button拡張機能をカスタマイズしてみました。
https://wago.io/Nn9Hg5PH7
Trinket Buttonは装備しているトリンケットが利用(Use)可能な場合にクリック可能なボタンとして表示します。
World of Warcraftではトリンケットの他に利用可能な装備としてメインハンドがあります。Trinket Buttonを改造してメインハンドにも対応させてみました。
2024/08/14 更新:WoW 11.0.2 対応
- deprecatedなAPIを修正
https://warcraft.wiki.gg/wiki/Patch_11.0.2/API_changes#Deprecated_API - 仕様が変更されたAPIを修正
https://warcraft.wiki.gg/wiki/API_C_Spell.GetSpellCooldown
環境
- World of Warcraft 11.0.0 (56008) / 11.0.2 (56110)
- WeakAuras 5.15.4
- Trinket Button v1.0.1
構築
COPY IMPORT STRING
を押すWorld of Warcraftを起動してログインする
WeakAurasの画面を開く
/wa
WeakAurasの
Import
ボタンを押し、クリップボードから貼り付けるImport
ボタンを押す左側の一覧のTrinket Buttonの
+
ボタンを押して子階層を展開するTrinket Button 2
を右クリックしてDuplicate
を選択する
名前はMain Hand Button
にしてENTERMain Hand Button
のActions
タブを選択するCustom Codeの
self.slot = 14
をself.slot = 16
に修正してAccept
を押下するOn Init - Custom Code local self = aura_env
self.slot = 16
- スロットID一覧
https://wowpedia.fandom.com/wiki/InventorySlotIdInvSlotName Position InvSlotId Constant TRINKET0SLOT Trinket 13 INVSLOT_TRINKET1 TRINKET1SLOT Trinket 14 INVSLOT_TRINKET2 MAINHANDSLOT Main Hand 16 INVSLOT_MAINHAND
- deprecated なAPIの修正
左の一覧のTrinket Button
を選択し、Trigger
タブを選択する。Custom Trigger -- PLAYER_EQUIPMENT_CHANGED,COMBAT_LOG_EVENT_UNFILTERED
function()
local self = aura_env
local item = ItemLocation:CreateFromEquipmentSlot(self.slot)
if item:IsValid() then
self.itemId = C_Item.GetItemID(item)
self.itemName = C_Item.GetItemName(item)
self.iconId = select(10, C_Item.GetItemInfo(self.itemId))
return C_Item.IsUsableItem(self.itemId)
end
return false
endDuration Info function()
local self = aura_env
local spellCooldownInfo = C_Spell.GetSpellCooldown(61304)
local start, dur = C_Item.GetItemCooldown(self.itemId)
if dur > spellCooldownInfo.duration then
self.region:SetGlow(false)
return dur, start + dur
else
self.region:SetGlow(true)
return 0, 0
end
end
利用
WeakAurasの設定はすべてのキャラクターで共有されるので一度設定すれば他のキャラクターで利用可能です。
3段のアクションバーの左上に配置してみました。左からトリンケット1、トリンケット2、メインハンドです。装備が利用不可な場合は表示されません。
Comment