MENU

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

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

目次

ソースコード

Mote-libsでは、ジョブロジック部分(ジョブ名.lua)と装備セット部分(ジョブ名_gear.lua)を切り分けていますので、次のような階層構造になっています。

GearSwap/
  └ data/
    ├ BRD.lua
    └ キャラクター名/
       └BRD_gear.lua

GearSwap\libsによしザウルスさんが日本語対応してくれているMote-libsを設置してください。

ジョブロジック

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

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

    state.OffenseMode:options('Normal')
    state.HybridMode:options('Normal')
    state.WeaponskillMode:options('Normal')
    state.IdleMode:options('Normal')
    state.Weapons = M{'Carnwenhan'}
    state.Instruments =  M{'Gjallarhorn', 'Daurdabla', 'Marsyas', 'Blurred'}
end

function user_setup()
    send_command('wait 5; gs c set IdleMode Normal; gs c lockstyleset')
    send_command('input /si item;')
end

function job_pretarget(spell, action, spellMap, eventArgs)
    spellMap = job_get_spell_map(spell, spellMap)
    if spellMap == 'March_Marsyas' then
          equip({range=sets.weapons.Marsyas})
    elseif spellMap == 'LullabyAoE' then
        equip({range=sets.weapons.Blurred})
    elseif spellMap == 'Dummy' then
        equip({range=sets.weapons.Daurdabla})
    else
        equip({range=sets.weapons.Gjallarhorne})
    end    
end

function customize_idle_set(idleSet)
    local weapon = sets.weapons[state.Weapons.value]
    idleSet = set_combine(idleSet, weapon)
    return idleSet
end

function customize_melee_set(meleeSet)
    local weapon = sets.weapons[state.Weapons.value]
    meleeSet = set_combine(meleeSet, weapon)
    return meleeSet
end

function job_self_command(cmdParams, eventArgs)
    if cmdParams[1] == 'lockstyleset' then
        send_command('input /lockstyleset '..lockstyleset)
    elseif cmdParams[1] == 'Idle' then
        if player.status == 'Idle'then 
            equip(get_idle_set()) 
        else
            equip(get_melee_set()) 
        end
    end
end

function job_get_spell_map(spell, default_spell_map)
    local new_spell_map = default_spell_map

    if spell.type == 'BardSong' then
        new_spell_map = song_spell_maps[spell.name]
    end

    return new_spell_map
end

function init_song_spell_map()

    song_spell_maps = {
        ['戦士達のピーアン'] = 'Paeon',
        ['戦士達のピーアンII'] = 'Paeon',
        ['戦士達のピーアンIII'] = 'Paeon',
        ['戦士達のピーアンIV'] = 'Paeon',
        ['戦士達のピーアンV'] = 'Paeon',
        ['戦士達のピーアンVI'] = 'Paeon',

        ['魔道士のバラード'] = 'Ballad',
        ['魔道士のバラードII'] = 'Ballad',
        ['魔道士のバラードIII'] = 'Ballad',
        
        ['重装騎兵のミンネ'] = 'Minne',
        ['重装騎兵のミンネII'] = 'Minne',
        ['重装騎兵のミンネIII'] = 'Minne',
        ['重装騎兵のミンネIV'] = 'Minne',
        ['重装騎兵のミンネV'] = 'Minne',
        
        ['闘羊士のマンボ'] = 'Mambo',
        ['闘龍士のマンボ'] = 'Mambo',
        
        ['耐光カロル第一楽章'] = 'Carol',
        ['耐震カロル第一楽章'] = 'Carol',
        ['耐波カロル第一楽章'] = 'Carol',
        ['耐風カロル第一楽章'] = 'Carol',
        ['耐火カロル第一楽章'] = 'Carol',
        ['耐寒カロル第一楽章'] = 'Carol',
        ['耐電カロル第一楽章'] = 'Carol',
        ['耐闇カロル第一楽章'] = 'Carol',
        ['耐震カロル第二楽章'] = 'Carol',
        ['耐波カロル第二楽章'] = 'Carol',
        ['耐風カロル第二楽章'] = 'Carol',
        ['耐火カロル第二楽章'] = 'Carol',
        ['耐寒カロル第二楽章'] = 'Carol',
        ['耐電カロル第二楽章'] = 'Carol',
        ['耐光カロル第二楽章'] = 'Carol',
        ['耐闇カロル第二楽章'] = 'Carol',
        
        ['薬草のパストラル'] = 'Resist',
        ['小話のオペレッタ'] = 'Resist',
        ['腹話のオペレッタ'] = 'Resist',
        ['鶏のオーバード'] = 'Resist',
        ['ゴブリンのガボット'] = 'Resist',
        ['黄金のカプリチオ'] = 'Resist',
        ['光明のファンタジア'] = 'Resist',
        ['破邪のロンド'] = 'Resist',
        
        ['猛者のメヌエット'] = 'Minuet',
        ['猛者のメヌエットII'] = 'Minuet',
        ['猛者のメヌエットIII'] = 'Minuet',
        ['猛者のメヌエットIV'] = 'Minuet',
        ['猛者のメヌエットV'] = 'Minuet',
        
        ['剣闘士のマドリガル'] = 'Madrigal',
        ['剣豪のマドリガル'] = 'Madrigal',

        ['狩人のプレリュード'] = 'Prelude',
        ['弓師のプレリュード'] = 'Prelude',

        ['無敵の進撃マーチ'] = 'March',
        ['栄光の凱旋マーチ'] = 'March',
        ['栄典の戴冠マーチ'] = 'March_Marsyas',

        ['魅了のエチュード'] = 'Etude',
        ['精神のエチュード'] = 'Etude',
        ['知恵のエチュード'] = 'Etude',
        ['機敏のエチュード'] = 'Etude',
        ['元気のエチュード'] = 'Etude',
        ['器用のエチュード'] = 'Etude',
        ['剛力のエチュード'] = 'Etude',
        ['魅惑のエチュード'] = 'Etude',
        ['理力のエチュード'] = 'Etude',
        ['英知のエチュード'] = 'Etude',
        ['俊敏のエチュード'] = 'Etude',
        ['活力のエチュード'] = 'Etude',
        ['妙技のエチュード'] = 'Etude',
        ['怪力のエチュード'] = 'Etude',
        
        ['ラプトルのマズルカ'] = 'Mazurka',
        ['チョコボのマズルカ'] = 'Mazurka',

        ['女神のヒムヌス'] = 'Hymnus',

        ['魔物のシルベント'] = 'Sirvente',

        ['冒険者のダージュ'] = 'Dirge',

        ['警戒のスケルツォ'] = 'Scherzo',

        ['魔物のレクイエム'] = 'Requiem',
        ['魔物のレクイエムII'] = 'Requiem',
        ['魔物のレクイエムIII'] = 'Requiem',
        ['魔物のレクイエムIV'] = 'Requiem',
        ['魔物のレクイエムV'] = 'Requiem',
        ['魔物のレクイエムVI'] = 'Requiem',
        ['魔物のレクイエムVII'] = 'Requiem',

        ['魔物のララバイ'] = 'Lullaby',
        ['魔物達のララバイ'] = 'LullabyAoE',
        ['魔物のララバイII'] = 'Lullaby',
        ['魔物達のララバイII'] = 'LullabyAoE',

        ['戦場のエレジー'] = 'Elegy',
        ['修羅のエレジー'] = 'Elegy',

        ['光のスレノディ'] = 'Threnody',
        ['闇のスレノディ'] = 'Threnody',
        ['土のスレノディ'] = 'Threnody',
        ['水のスレノディ'] = 'Threnody',
        ['風のスレノディ'] = 'Threnody',
        ['炎のスレノディ'] = 'Threnody',
        ['氷のスレノディ'] = 'Threnody',
        ['雷のスレノディ'] = 'Threnody',
        ['光のスレノディII'] = 'Threnody',
        ['闇のスレノディII'] = 'Threnody',
        ['土のスレノディII'] = 'Threnody',
        ['水のスレノディII'] = 'Threnody',
        ['風のスレノディII'] = 'Threnody',
        ['炎のスレノディII'] = 'Threnody',
        ['氷のスレノディII'] = 'Threnody',
        ['雷のスレノディII'] = 'Threnody',

        ['魔法のフィナーレ'] = 'Finale',

        ['乙女のヴィルレー'] = 'Virelai',

        ['恋情のノクターン'] = 'Nocturne',
    }
end

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

装備セット

function init_gear_sets()
    lockstyleset = 101

    sets.weapons = {}
    sets.weapons.Carnwenhan        = {main={ name="カルンウェナン",}, sub={name="玄武盾"},}

    sets.weapons.Gjallarhorne={name="ギャッラルホルン"}
    sets.weapons.Daurdabla = {name="ダウルダヴラ"}
    sets.weapons.Marsyas = {name="マルシュアス"}
    sets.weapons.Blurred = {name="ブラーハープ+1"}

    sets.idle = {
        head={ name="ニャメヘルム", augments={'Path: B',}},
        body="アダマンアーマー",
        hands="ニャメガントレ",
        legs="ニャメフランチャ",
        feet="ニャメソルレット",
        neck={ name="ロリケートトルク+1", augments={'Path: A',}},
        left_ring="守りの指輪",
        right_ring="シュネデックリング",
    }

    sets.engaged = {
        range={ name="リノス", augments={'Accuracy+17','"Store TP"+4','Quadruple Attack +3',}},
        head="アヤモツッケット+2",
        body="アヤモコラッツァ+2",
        hands={ name="ガズブレスレット+1", augments={'Path: A',}},
        legs="アヤモコッシャレ+2",
        feet="アヤモガンビエラ+2",
        neck={ name="バードチャーム+1", augments={'Path: A',}},
        waist="ウィンバフベルト+1",
        left_ear="エアバニピアス",
        right_ear="素破の耳",
        left_ring="アペートリング",
        right_ring="ラジャスリング",
        back={ name="インタラアスケープ", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},
    }

    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コテュルヌ+2',
        neck="オルンミラトルク",
        waist="エンブラサッシュ",
        left_ear="ロケイシャスピアス",
        right_ear="エンチャンピアス+1",
        left_ring="キシャールリング",
        back={ name="フィフォレケープ+1", augments={'Path: A',}},
    }

    sets.precast.FC.BardSong = set_combine(sets.precast.FC,{
        head="FLキャロ+2",
        feet={ name="BIスリッパー+3", augments={'Enhances "Nightingale" effect',}},
    })

    sets.precast.WS = {}
    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.midcast.Cure = {
        main="デイブレイクワンド",
        sub="玄武盾",
        head={ name="ヴァニヤフード", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
        body="FLオングルリヌ+3",
        hands={ name="テルキネグローブ", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
        legs={ name="BIキャニオンズ+3", augments={'Enhances "Soul Voice" effect',}},
        feet="FLコテュルヌ+2",
        waist="コーネリアの黒帯",
        left_ear="王将の耳飾り",
        left_ring="ルフェセントリング",
        right_ring={ name="メタモルリング+1", augments={'Path: A',}},
    }
    sets.midcast.Curaga = sets.midcast.Cure
    sets.midcast['強化魔法']={
        head={ name="テルキネキャップ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
        body={ name="テルキネシャジュブ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +9',}},
        hands={ name="テルキネグローブ", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
        legs={ name="テルキネブラコーニ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +8',}},
        feet={ name="テルキネピガッシュ", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +8',}},
        neck="インカンタートルク",
        waist="エンブラサッシュ",
        right_ear="ミミルピアス",
        back={ name="フィフォレケープ+1", augments={'Path: A',}},
    }
    sets.midcast.song_base = {
        main="カルンウェナン",
        main="カルンウェナン",
        head="FLキャロ+2",
        body="FLオングルリヌ+3",
        hands="FLマンシェト+2",
        legs="インヤガシャルワ+2",
        feet="BRスリッパー+3",
        neck="月虹の呼び子+1",
        waist="セールフィベルト+1",
        back={ name="インタラアスケープ", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','Enmity-10',}},
    }
    sets.midcast.song_dummy = {
        range="ダウルダヴラ",
    }
    
    sets.midcast.magic_acc = {
        main="カルンウェナン",
        head="FLキャロ+2",
        body="FLオングルリヌ+3",
        hands="BRカフス+2",
        legs="FLラングラヴ+2",
        feet="BRスリッパー+3",
        neck="サンクトネックレス",
        waist="エスカンストーン",
        left_ring="キシャールリング",
        right_ring={ name="メタモルリング+1", augments={'Path: A',}},
        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キャロ+2", legs="インヤガシャルワ+2", back={ name="インタラアスケープ", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Fast Cast"+10','Damage taken-5%',}}})
    sets.midcast.BardSong.Prelude    = set_combine(sets.midcast.song_base, {back={ name="インタラアスケープ", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','"Fast Cast"+10','Damage taken-5%',}}})
    sets.midcast.BardSong.March      = set_combine(sets.midcast.song_base, {hands="FLマンシェト+1", 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コテュルヌ+1"})
    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 = sets.midcast.magic_acc
    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
ちょっとだけPR

コメント

コメントする

目次