2025/6/2 全ロジックジョブファイル sets.Weapons → gear に変更しました。共通ファイルをコピペする人は置換してご利用ください。

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

吟遊詩人のMote-libsコードです。

目次

ソースコード

ファイル構成

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

ジョブロジック

function get_sets()
    mote_include_version = 2
    include('Mote-Include.lua')
    set_language('japanese')
end


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

    -- gs c cycle OffenseMode
    state.OffenseMode:options('Normal')
    
    -- gs c cycle IdleMode
    state.IdleMode:options('Normal','Refresh')
    
    -- gs c cycle Kiting
    state.Kiting        = M(false, 'Kiting')

    -- gs c cycle MainWeapons
    state.MainWeapons   = M{'Carnwenhan','Naegling'}

    -- gs c cycle SubWeapons
    state.SubWeapons    = M{'Aeneas','Malevolence','Genbu'}
    
    -- gs c cycle Instruments
    state.Instruments =  M{'Gjallarhorn','Daurdabla','Marsyas','Blurred'}
end


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

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

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

        else
            equip({range=gear.Gjallarhorn})
        end
    end 
end


function job_post_midcast(spell, action, spellMap, eventArgs)
    for buff,active in pairs(state.Buff) do
        if active and sets.buff[buff] then
            equip(sets.buff[buff])
        end
    end
    
    if spell.name == 'イオリアンエッジ' then
        equip(get_hachirin(spell.element))
    end

end


function set_dummy_song(song_name)
    spell_maps[song_name] = 'Dummy'
end

装備定義

function init_weaponns()
    --デフォルト武器を設定
    send_command('gs c set MainWeapons Carnwenhan')
    if player.sub_job == '忍' or player.sub_job == 'NIN' or player.sub_job == '踊' or player.sub_job == 'DNC' then
        send_command('gs c set SubWeapons Aeneas')
    else
        send_command('gs c set SubWeapons Genbu')
    end
    send_command('gs c set Instruments Gjallarhorn')
end


function init_gear_sets()
    --ロックスタイル番号
    lockstyleset = 71

    --武器
    gear.Carnwenhan             = {name="カルンウェナン"}
    gear.Aeneas                 = {name="エーネアス"}
    gear.Malevolence            = {name="マレヴォレンス", augments={'INT+10','Mag. Acc.+10','"Mag.Atk.Bns."+10','"Fast Cast"+5',}}
    gear.Naegling               = {name="ネイグリング"}
    gear.Gjallarhorn            = {name="ギャッラルホルン"}
    gear.Daurdabla              = {name="ダウルダヴラ"}
    gear.Marsyas                = {name="マルシュアス"}
    gear.Blurred                = {name="ブラーハープ+1"}
    gear.Genbu                  = {name="玄冥盾"}
    gear.Slip                   = {name="ラックナシェード"}

    --待機装備(通常)
    sets.idle = {
        head="無の面",
        body="ニャメメイル",
        hands="FLマンシェト+3",
        legs="FLラングラヴ+3",
        feet="ニャメソルレット",
        neck="無の喉輪",
        waist="無の腰当",
        left_ear="エアバニピアス",
        right_ear={ name="フィリピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
        left_ring="ピュリティーリング",
        right_ring="シュネデックリング",
        back="無の外装",
    }

    --待機装備(リフレ)
    sets.idle.Refresh = set_combine(sets.idle,{})

    --走り回る用
    sets.Kiting={right_ring="シュネデックリング",}

    --抜刀装備
    sets.engaged = {
        range={ name="リノス", augments={'Accuracy+17','"Store TP"+4','Quadruple Attack +3',}},
        head="FLキャロ+3",
        body="アシェーラハーネス",
        hands="ブンジグローブ",
        legs="ヴォルトタイツ",
        feet="FLコテュルヌ+3",
        neck={ name="バードチャーム+1", augments={'Path: A',}},
        waist="無の腰当",
        left_ear="テロスピアス",
        right_ear={ name="フィリピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
        left_ring="シーリチリング+1",
        right_ring="シーリチリング+1",
        back="無の外装",
    }

    --二刀流11(サポ忍)
    sets.engaged.dual11= {waist="霊亀腰帯",left_ear="エアバニピアス",}

    --即時発動系
    sets.precast.JA["ソウルボイス"]         = {legs={ name="BIキャニオンズ+3", augments={'Enhances "Soul Voice" effect',}},}
    sets.precast.JA["ナイチンゲール"]       = {feet={ name="BIスリッパー+3", augments={'Enhances "Nightingale" effect',}},}
    sets.precast.JA["トルバドゥール"]       = {body={ name="BIジュストコル+3", augments={'Enhances "Troubadour" effect',}},}

    --FC
    sets.precast.FC = {
        main={ name="カーリ", augments={'Mag. Acc.+15','String instrument skill +10','Wind instrument skill +10',}},
        head="ヴァニヤフード",
        body="インヤガジュバ+2",
        hands={ name="レイライングローブ", augments={'Accuracy+12','Mag. Acc.+14','"Mag.Atk.Bns."+15','"Fast Cast"+2',}},
        legs="アヤモコッシャレ+2",
        feet='FLコテュルヌ+3',
        neck="オルンミラトルク",
        waist="エンブラサッシュ",
        left_ear="ロケイシャスピアス",
        right_ear="エンチャンピアス+1",
        left_ring="キシャールリング",
        back={ name="フィフォレケープ+1", augments={'Path: A',}},
    }

    --FC(歌)
    sets.precast.FC.BardSong = set_combine(sets.precast.FC,{})

    --WSダメージ
    sets.precast.WS.Damage={
        range={ name="リノス", augments={'Accuracy+15 Attack+15','Weapon skill damage +3%','Quadruple Attack +3',}},
        head={ name="ニャメヘルム", augments={'Path: B',}},
        body={ name="BIジュストコル+3", augments={'Enhances "Troubadour" effect',}},
        hands="ニャメガントレ",
        legs={ name="ニャメフランチャ", augments={'Path: B',}},
        feet="ニャメソルレット",
        neck="共和プラチナ章",
        waist={ name="セールフィベルト+1", augments={'Path: A',}},
        left_ear="テロスピアス",
        right_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
        left_ring="シーリチリング+1",
        right_ring="シーリチリング+1",
    }

    --WS魔攻
    sets.precast.WS.Magic={
        range={ name="リノス", augments={'Accuracy+15 Attack+15','Weapon skill damage +3%','Quadruple Attack +3',}},
        head={ name="ニャメヘルム", augments={'Path: B',}},
        body="ニャメメイル",
        hands="ニャメガントレ",
        legs={ name="ニャメフランチャ", augments={'Path: B',}},
        feet="ニャメソルレット",
        neck="シビルスカーフ",
        waist="オルペウスサッシュ",
        left_ear="王将の耳飾り",
        right_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
        left_ring="メダダリング",
        right_ring={ name="メタモルリング+1", augments={'Path: A',}},
        back={ name="インタラアスケープ", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},    
    }

    --WS
    sets.precast.WS["サベッジブレード"]     = sets.precast.WS.Damage
    sets.precast.WS["ガストスラッシュ"]     = sets.precast.WS.Magic
    sets.precast.WS["サイクロン"]           = sets.precast.WS.Magic
    sets.precast.WS["イオリアンエッジ"]     = sets.precast.WS.Magic
    sets.precast.WS["ルドラストーム"]       = sets.precast.WS.Damage
    sets.precast.WS["モーダントライム"]     = sets.precast.WS.Damage
    sets.precast.WS["エクゼンテレター"]     = sets.precast.WS.Damage

    --ケアル
    sets.midcast.Cure={
        head={ name="ヴァニヤフード", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
        body={ name="ヴァニヤローブ", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
        hands={ name="テルキネグローブ", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
        legs={ name="ヴァニヤスロップス", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
        feet={ name="ヴァニヤクロッグ", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
        neck="インカンタートルク",
        waist="コーネリアの黒帯",
        left_ear="メンデカントピアス",
        right_ear="エテオレートピアス",
        left_ring="スティキニリング+1",
        right_ring="レベッチェリング",
        back="ソレムニティケープ",
    }

    --ケアルガ
    sets.midcast.Curaga = sets.midcast.Cure
    
    --精霊魔法
    sets.midcast['精霊魔法'] = {
        --main="デイブレイクワンド",
        head={ name="ニャメヘルム", augments={'Path: B',}},
        body="ニャメメイル",
        hands="ニャメガントレ",
        legs={ name="ニャメフランチャ", augments={'Path: B',}},
        feet="ニャメソルレット",
        neck="シビルスカーフ",
        waist="チャネラーストーン",
        left_ear="王将の耳飾り",
        right_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
        left_ring="メダダリング",
        right_ring={ name="メタモルリング+1", augments={'Path: A',}},
        back={ name="インタラアスケープ", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},    
    }

    --強化魔法
    sets.midcast['強化魔法']={
        sub="アムラピシールド",
        head={ name="テルキネキャップ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
        body={ name="テルキネシャジュブ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
        hands={ name="テルキネグローブ", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
        legs={ name="テルキネブラコーニ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
        feet={ name="テルキネピガッシュ", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
        neck="インカンタートルク",
        waist="エンブラサッシュ",
        right_ear="ミミルピアス",
        back={ name="フィフォレケープ+1", augments={'Path: A',}},
    }

    --魔命
    sets.midcast.magic_acc = {
        head="BRランドリト+3",
        body="FLオングルリヌ+3",
        hands="BRカフス+3",
        legs="インヤガシャルワ+3",
        feet="BRスリッパー+3",
        neck="月虹の呼び子+1",
        waist="無の腰当",
        left_ear="王将の耳飾り",
        right_ear={ name="フィリピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
        left_ring="キシャールリング",
        right_ring={ name="メタモルリング+1", augments={'Path: A',}},
        back="無の外装",
    }

    --弱体魔法
    sets.midcast['弱体魔法'] = sets.midcast.magic_acc

    --ダミー歌
    sets.midcast.song_dummy = {
        range="ダウルダヴラ",
    }
    
    --歌ベース
    sets.midcast.song_base = {
        main="カルンウェナン",
        head="FLキャロ+3",
        body="FLオングルリヌ+3",
        hands="FLマンシェト+3",
        legs="インヤガシャルワ+2",
        feet="BRスリッパー+3",
        neck="月虹の呼び子+1",
        waist="コーネリアの黒帯",
        back={ name="インタラアスケープ", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},
    }

    sets.midcast.BardSong               = sets.midcast.song_base
    sets.midcast.BardSong.Paeon         = set_combine(sets.midcast.song_base, {head="BRランドリト+3", legs="インヤガシャルワ+2",})
    sets.midcast.BardSong.Ballad        = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2", })
    sets.midcast.BardSong.Minne         = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2",legs="ムセスサラウィル+1" })
    sets.midcast.BardSong.Mambo         = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2", feet="ムセスクラッコー+1"})
    sets.midcast.BardSong.Carol         = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2", hands="ムセスゲージ+1",})
    sets.midcast.BardSong.Minuet        = set_combine(sets.midcast.song_base, {})
    sets.midcast.BardSong.Madrigal      = set_combine(sets.midcast.song_base, {head="FLキャロ+3", legs="インヤガシャルワ+2", back="インタラアスケープ"})
    sets.midcast.BardSong.Prelude       = set_combine(sets.midcast.song_base, {back="インタラアスケープ"})
    sets.midcast.BardSong.March         = set_combine(sets.midcast.song_base, {hands="FLマンシェト+3", legs="インヤガシャルワ+2",}) 
    sets.midcast.BardSong.March_Marsyas = set_combine(sets.midcast.BardSong.March,{range=gear.Marsyas})
    sets.midcast.BardSong.Etude         = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2", head="ムセスターバン+1"})
    sets.midcast.BardSong.Scherzo       = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2", feet="FLコテュルヌ+3"})
    sets.midcast.BardSong.Threnody      = set_combine(sets.midcast.magic_acc, {body="ムセスマンティル+1"})
    sets.midcast.BardSong.Resist        = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2", })
    sets.midcast.BardSong.Mazurka       = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2",})
    sets.midcast.BardSong.Hymnus        = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2", })
    sets.midcast.BardSong.Sirvente      = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2",})
    sets.midcast.BardSong.Dirge         = set_combine(sets.midcast.song_base, {legs="インヤガシャルワ+2", })
    sets.midcast.BardSong.Lullaby       = set_combine(sets.midcast.magic_acc,{head="BIラウンドリト+3"})
    sets.midcast.BardSong.LullabyAoE    = set_combine(sets.midcast.magic_acc,{range=gear.Blurred})
    sets.midcast.BardSong.Requiem       = sets.midcast.magic_acc
    sets.midcast.BardSong.Elegy         = sets.midcast.magic_acc
    sets.midcast.BardSong.Finale        = sets.midcast.magic_acc
    sets.midcast.BardSong.Virelai       = sets.midcast.magic_acc
    sets.midcast.BardSong.Nocturne      = sets.midcast.magic_acc
    sets.midcast.BardSong.Dummy         = sets.midcast.song_dummy

end

コメント

コメント一覧 (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など各武器を特定できる状態にする
          で出来ました!
          感謝です!

コメントする

目次