2025/11/17 記事をまとめてブログ全体を整理しました。

【GearSwap】吟遊詩人のMote-libs用コード

吟遊詩人のMote-libsコードについて説明します。

目次

ファイル構成

下記ファイルが全て必要です。

GearSwap/
  └ data/
    ├ user-globals.lua(共通ファイル)
    ├ BRD.lua(ジョブロジック)
    └ キャラクター名/
      ├ weather_obi.lua(属性帯)
      └ BRD_gear.lua(装備定義)

ロジック説明

下地歌の歌指定

下地歌は次のように指定します。

    set_dummy_song('戦士達のピーアン')
    set_dummy_song('戦士達のピーアンII')
    set_dummy_song('戦士達のピーアンIII')

ここで指定した歌を歌えば、ダミー歌を歌う用の楽器(ダウル)を使って歌います。

ピーアンとピーアンIIは普通に歌枠を作るのにつかい、ピーアンIIIはクラリオンで枠を作るときに使っています。※歌をミスったときでもリペアしやすいため。

楽器の使い分け

次の通り、歌によって楽器を持ち替えています。

function job_post_precast(spell, action, spellMap, eventArgs)
    if spell.type=='BardSong' then
        if spell.name == '栄典の戴冠マーチ' then
            equip({range=gear.Marsyas})

        elseif spell.name == '冷静と情熱のアリア' then
            equip({range=gear.Loughnashade})

        elseif spell.name == '魔物達のララバイ' or spell.name == '魔物達のララバイII' then
            equip({range=gear.Blurred})

        elseif spellMap == 'Dummy' then
            equip({range=gear.Daurdabla})

        else
            if not state.UseMiracleCheer.value 
            or spell.target.type == "MONSTER" then
                equip({range=gear.Gjallarhorn})
                
            else
                equip({range=gear.MiracleCheer})
            end
        end
    end 
end

ミラクルチアー

ミラクルチアーは味方歌を15分固定にする楽器です。

ミラクルチアーを使うためにはギャッラルと区別する必要がありますので、次のようにフラグで使い分けることができます。

state.UseMiracleCheer = M(false, 'Miracle Cheer')

コメント

コメント一覧 (5件)

  • すいません。多重投稿でした。こちら消して頂けたらと思います。
    お手数をおかけし申し訳ありません。

  • 管理人様
    いつもありがとうございます。
    詩人の初期(待機)装備をリノス(回避オグメ)にしたいのですが、装備定義の
    send_command(‘gs c set Instruments Gjallarhorn’)を
    send_command(‘gs c set Instruments Linos’)に書き換えました。
    …1ndower4/addons/GearSwap/libs/mote-selfcommands.lua:57:Unknown mode value:Linos というエラーが出てしまいます。
    どうしたらいいでしょうか?
    お時間のある時にでもご教示いただけたら嬉しいです。
    よろしくお願いします。

    • 自己レスです。ちなみにリノスはオグメ数種類持っています。(オグメを指定しても同じ状況です。)

      • リノスを初期装備にしたいのなら、ジョブロジックのstate.Instruments = M{‘Gjallarhorn’,’Daurdabla’,’Marsyas’,’Blurred’,}にLinosを追加してください。
        そして、装備定義のinit_gear_setsにLinosAやLinosBなど各武器を特定できる状態にする必要があります。

        やりたいことから察するに、デフォルト状態をリノスにしたいだけならsets.Idleに書いても良さそうですが。

        • 管理人様
          ありがとうございます!
          1.send_command(‘gs c set Instruments Gjallarhorn’)を
          send_command(‘gs c set Instruments Linos’)に書き換え
          2.ジョブロジックのstate.Instruments = M{‘Gjallarhorn’,’Daurdabla’,’Marsyas’,’Blurred’,}にLinosを追加
          3.装備定義のinit_gear_setsにLinosAやLinosBなど各武器を特定できる状態にする
          で出来ました!
          感謝です!

管理人 へ返信する コメントをキャンセル

目次