#4 狩人ではじめるGearSwap(バフ編)[FF11]

今回は自身に付与されているバフによって、装備を切り替える方法を実装してみます。
狩人のバフはダブルショット, デコイショット, 狙い撃ち, 乱れ撃ち, オーバーキルなどがあります。
ブルショット、オーバーキル中はダブルショット+装備に着替えるようにしてみます。

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装備を替えるなど有効な使い方ができると思います。