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

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

目次

ソースコード

ファイル構成

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

ジョブロジック

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

function job_setup()
    Initialize()
    set_dummy_song('戦士達のピーアン')
    set_dummy_song('戦士達のピーアンII')
    set_dummy_song('戦士達のピーアンIII')
    set_dummy_song('戦場のエレジー')
    state.Buff['睡眠']              = buffactive['睡眠'] or false
end

function user_setup()
    -- gs c cycle OffenseMode
    state.OffenseMode:options('Normal')

    -- gs c cycle IdleMode
    state.IdleMode:options('Normal')

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

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

function job_post_pretarget(spell, action, spellMap, eventArgs)
    if spell.name == '栄典の戴冠マーチ' then
          equip({range=sets.Weapons.Marsyas})

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

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

    elseif spell.type == 'WhiteMagic' then
    else
        equip({range=sets.Weapons.Gjallarhorn})
    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
end

function job_buff_change(buff, gain)
    if state.Buff['睡眠'] then
        equip({range="ラックナシェード"})
    end
end

function customize_idle_set(idleSet)
    local weapon = customize_weapon_set()
    idleSet = set_combine(idleSet,weapon)
    if(player.sub_job ~= '忍' and player.sub_job ~= '踊') then
        idleSet = set_combine(idleSet, set_combine(weapon,{sub=sets.Weapons.Genbu}))
    end
    return idleSet
end

function customize_melee_set(meleeSet)
    local weapon = customize_weapon_set()
    if(player.sub_job == '忍') then
        --二刀流装備 係数11
        meleeSet = set_combine(set_combine(meleeSet,sets.engaged.dual11), weapon)

    elseif(player.sub_job == '踊') then
        --二刀流装備 係数21
        meleeSet = set_combine(set_combine(meleeSet,sets.engaged.dual21), weapon)
        
    else
        --一刀流装備
        meleeSet = set_combine(meleeSet, set_combine(weapon,{sub=sets.Weapons.Genbu}))
    end
    return meleeSet
end

function customize_weapon_set()
    --武器のセット
    local weapon = nil
    weapon = set_combine(weapon,{main=sets.Weapons[state.MainWeapons.value]})
    weapon = set_combine(weapon,{sub=sets.Weapons[state.SubWeapons.value]})
    weapon = set_combine(weapon,{range=sets.Weapons[state.Instruments.value]})
    return weapon
end

function job_self_command(cmdParams, eventArgs)
    if cmdParams[1] == 'lockstyleset' then
        send_command('input /lockstyleset '..lockstyleset)

    elseif cmdParams[1] == 'Idle' then
        Idle()

    elseif cmdParams[1] == 'Medicine' then
        Medicine()
    end
end

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

装備定義

function init_weaponns()
    --デフォルト武器を設定
    send_command('gs c set MainWeapons Carnwenhan')
    send_command('gs c set SubWeapons Aeneas')
    send_command('gs c set Instruments Gjallarhorn')
end
function init_gear_sets()
    lockstyleset = 101

    sets.Weapons = {}
    sets.Weapons.Carnwenhan             = {name="カルンウェナン"}
    sets.Weapons.Aeneas                 = {name="エーネアス"}
    sets.Weapons.Malevolence            = {name="マレヴォレンス", augments={'INT+10','Mag. Acc.+10','"Mag.Atk.Bns."+10','"Fast Cast"+5',}}
    sets.Weapons.Naegling               = {name="ネイグリング"}
    sets.Weapons.Gjallarhorn            = {name="ギャッラルホルン"}
    sets.Weapons.Daurdabla              = {name="ダウルダヴラ"}
    sets.Weapons.Marsyas                = {name="マルシュアス"}
    sets.Weapons.Blurred                = {name="ブラーハープ+1"}
    sets.Weapons.Genbu                  = {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.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="ラジャスリング",
        right_ring="レコリング",
        back="無の外装",
    }
    sets.engaged.dual11= {waist="霊亀腰帯",left_ear="エアバニピアス",}

    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',}},
    }

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

    sets.precast.WS = {}
    sets.precast.WS.Damage={
        range={ name="リノス", augments={'Accuracy+15 Attack+15','Weapon skill damage +3%','Quadruple Attack +3',}},
        head={ name="BIラウンドリト+3", augments={'Enhances "Con Anima" effect',}},
        body={ name="BIジュストコル+3", augments={'Enhances "Troubadour" effect',}},
        hands={ name="BIカフス+3", augments={'Enhances "Con Brio" effect',}},
        legs={ name="BIキャニオンズ+3", augments={'Enhances "Soul Voice" effect',}},
        feet={ name="BIスリッパー+3", augments={'Enhances "Nightingale" effect',}},
        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={'DEX+20','Accuracy+20 Attack+20','DEX+10','Weapon skill damage +10%',}},
    }
    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="ニャメフランチャ",
        feet="ニャメソルレット",
        neck="シビルスカーフ",
        waist="チャネラーストーン",
        left_ear="王将の耳飾り",
        right_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
        left_ring="シーリチリング+1",
        right_ring={ name="メタモルリング+1", augments={'Path: A',}},
        back={ name="インタラアスケープ", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},
    }

    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',}},}

    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['強化魔法']={
        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.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=sets.Weapons.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=sets.Weapons.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

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

コメント

コメントする

目次