今回は自身に付与されているバフによって、装備を切り替える方法を実装してみます。
狩人のバフはダブルショット, デコイショット, 狙い撃ち, 乱れ撃ち, オーバーキルなどがあります。
ダブルショット、オーバーキル中はダブルショット+装備に着替えるようにしてみます。
Windowerをはじめとする外部ツールの使用は自己責任で。
GearSwapのユーザースクリプトで自身に付与されているバフはテーブル型の'buffactive'で確認できます。
例えば、ダブルショットが付与されている場合、
buffactive['ダブルショット'] == true
となっています。
ユーザースクリプトでは、これを用いて以下のように実装してみます。
function get_sets() … -- ダブルショット+装備 sets.midcast.ra.doubleshot = { body="オショシベスト+1" feet="オショシレギンス+1" } … end function midcast(spell) if spell.name == '飛び道具' then if buffactive['ダブルショット'] or buffactive['オーバーキル'] then -- ダブルショット+装備 equip(set_combine(sets.midcast.ra, sets.midcast.ra.doubleshot)) else -- 通常の遠隔着弾装備 equip(sets.midcast.ra) end end
ダブルショット+装備に変更する際にset_combine関数を使用しました。
この関数は複数の装備セットを引数にとり、右側の引数の装備セットが優先された装備セットを返します。
今回の場合だと、ダブルショット+装備は胴, 両足しか定義していないので、遠隔着弾装備を基本に胴, 足がダブルショット+装備に変更された装備セットが返されます。
今回は自身に付与されているバフによって、ユーザースクリプトの動作を変更する方法を実装しました。
狩人以外のジョブでは、例えばシーフでは不意打ち, だまし討ちでWS装備を替えるなど有効な使い方ができると思います。