吟遊詩人の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
コメント