
吟遊詩人の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.IdleMode:options('Normal')
end
function user_setup()
state.Weapons = M{'Carnwenhan'}
state.Instruments = M{'Gjallarhorn', 'Daurdabla', 'Marsyas', 'Blurred'}
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]
if(player.sub_job == '忍' or player.sub_job == '踊') then
meleeSet = set_combine(set_combine(meleeSet,sets.Dual), weapon)
else
idleSet = set_combine(idleSet, set_combine(weapon,{sub=sets.weapons.Genbu}))
end
return idleSet
end
function customize_melee_set(meleeSet)
local weapon = sets.weapons[state.Weapons.value]
if(player.sub_job == '忍' or player.sub_job == '踊') then
meleeSet = set_combine(set_combine(meleeSet,sets.Dual), weapon)
else
meleeSet = set_combine(meleeSet, set_combine(weapon,{sub=sets.weapons.Genbu}))
end
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.weapons.Genbu = {name="玄武盾"}
sets.idle = {
head="FLキャロ+3",
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.Dual={
left_ear="エアバニピアス",
waist="霊亀腰帯",
}
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.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キャロ+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.song_dummy = {
range="ダウルダヴラ",
}
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.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
コメント