赤魔道士のMote-libsコードです。
目次
ソースコード
Mote-libsでは、ジョブロジック部分(ジョブ名.lua)と装備セット部分(ジョブ名_gear.lua)を切り分けていますので、次のような階層構造になっています。
GearSwap/
└ data/
├ RDM.lua
└ キャラクター名/
└RDM_gear.lua
GearSwap\libsによしザウルスさんが日本語対応してくれているMote-libsを設置してください。
ジョブロジック
function get_sets()
mote_include_version = 2
include('Mote-Include.lua')
set_language('japanese')
end
function job_setup()
include('weather_obi')
end
function user_setup()
state.OffenseMode:options('Normal', 'Enn')
state.IdleMode:options('Normal')
state.Weapons = M{'CroceaC','Naegling','D1'}
send_command('wait 5; gs c set IdleMode Normal; gs c lockstyleset')
send_command('input /si item;')
end
function job_post_midcast(spell, action, spellMap, eventArgs)
--深度(パライズ,スロウ,アドル,ブライン,ディストラ,フラズル,ポイズン,バイオ)
--ハック(ブレイク,サイレス,バインド,スリプル)
if spell.skill == '弱体魔法' then
equip(sets.midcast['弱体魔法'])
if spellMap == 'EnfeeblingMagiceffect' then
--深度
equip({feet="VIブーツ+3",})
elseif spellMap == 'Sleep' or spellMap == 'Break' or spellMap == 'Bind' then
equip(sets.midcast.EnfeeblingEffectInt)
elseif spellMap == 'Silence' then
--ハック
equip(sets.midcast.EnfeeblingEffectMnd)
end
elseif spell.skill == '強化魔法' then
if spell.target.type == 'SELF' then
if spellMap == 'Temper' or spellMap == 'EnSpell' then
equip(set_combine(sets.midcast.EnhancingSkill))
elseif spellMap == 'Refresh' then
equip(sets.midcast.Refresh)
elseif spellMap == 'Stoneskin' then
equip(sets.midcast['ストンスキン'])
elseif spell.name== 'アクアベール' then
equip(sets.midcast['アクアベール'])
else
equip(sets.midcast['強化魔法'] )
end
else
equip(sets.midcast['強化魔法'].Other)
if spellMap == 'Refresh' then
equip(set_combine(sets.midcast['強化魔法'].Other ,sets.midcast.Refresh))
end
end
elseif spell.skill == '精霊魔法' then
equip(get_hachirin(spell.element))
elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
equip(sets.midcast.CureSelf)
end
end
function customize_idle_set(idleSet)
local weapon = sets.weapons[state.Weapons.value]
if(player.sub_job == '忍' or player.sub_job == '踊') then
idleSet = set_combine(idleSet, weapon)
else
idleSet = set_combine(idleSet, set_combine(weapon,{sub="玄冥盾"}))
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(meleeSet, weapon)
else
meleeSet = set_combine(meleeSet, set_combine(weapon,{sub="玄冥盾"}))
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 init_gear_sets()
lockstyleset = 1
sets.weapons = {}
sets.weapons.CroceaC = { main={name="クロセアモース", augments={'Path: C',}},sub={ name="クレパスクラナイフ"}}
sets.weapons.Naegling = { main={name="ネイグリング"}, sub={ name="クレパスクラナイフ"}}
sets.weapons.D1 = { main={name="クトゥルブナイフ"}, sub={ name="幽世の短剣"},}
sets.idle = {
ammo="ストンチタスラム+1",
head={ name="VIシャポー+3", augments={'Enfeebling Magic duration','Magic Accuracy',}},
body="LTサヨン+2",
hands="LTガントロ+2",
legs="ニャメフランチャ",
feet="ニャメソルレット",
neck="無の喉輪",
waist="無の腰当",
left_ear="エアバニピアス",
right_ear="ハーティーピアス",
left_ring="守りの指輪",
right_ring="シュネデックリング",
back="無の外装",
}
sets.engaged = {
ammo="コイストボダー",
head="マリグナスシャポー",
body="マリグナスタバード",
hands="マリグナスグローブ",
legs="マリグナスタイツ",
feet="マリグナスブーツ",
neck="コンバタントトルク",
waist="霊亀腰帯",
left_ear="素破の耳",
right_ear="シェリダピアス",
left_ring="シーリチリング+1",
right_ring="シーリチリング+1",
back={ name="スセロスケープ", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
}
sets.engaged.Enn = set_combine(sets.engaged,{hands="アヤモマノポラ+2",legs="VIタイツ+3"})
sets.precast.JA['サボトゥール'] = {hands="LTガントロ+2"}
sets.precast.JA['連続魔'] = {body="VIタバード+3"}
sets.precast.FC = {
head="ATシャポー+3",
body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
waist="エンブラサッシュ",
left_ring="キシャールリング",
right_ring="メダダリング",
back={ name="フィフォレケープ+1", augments={'Path: A',}},
}
sets.precast.WS = {
ammo="オシャシャの原論文",
head="LTシャペル+2",
body="LTサヨン+2",
hands="LTガントロ+2",
legs="LTフュゾー+2",
feet="LTウゾー+2",
neck="共和プラチナ章",
waist={ name="セールフィベルト+1", augments={'Path: A',}},
left_ear="テロスピアス",
right_ear="シェリダピアス",
left_ring="イラブラットリング",
right_ring="エパミノダスリング",
back={ name="スセロスケープ", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
}
sets.precast.WS['シャンデュシニュ'] = {
ammo="イェットシーラ",
head={ name="ブリスタサリット+1", augments={'Path: A',}},
body="LTサヨン+2",
hands="LTガントロ+2",
legs="LTフュゾー+2",
feet="LTウゾー+2",
neck="フォシャゴルゲット",
waist="フォシャベルト",
left_ear="マーケピアス+1",
right_ear="シェリダピアス",
left_ring="イラブラットリング",
right_ring="シーリチリング+1",
back={ name="スセロスケープ", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
}
sets.precast.WS['サンギンブレード'] = {
ammo="オシャシャの原論文",
head="LTシャペル+2",
body="LTサヨン+2",
hands="LTガントロ+2",
legs="LTフュゾー+2",
feet="LTウゾー+2",
neck="シビルスカーフ",
waist="オルペウスサッシュ",
left_ear="王将の耳飾り",
right_ear="フリオミシピアス",
left_ring="メダダリング",
right_ring="フレキリング",
back={ name="スセロスケープ", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10',}},
}
sets.midcast['精霊魔法'] = {
main="ブンジロッド",
sub="アムラピシールド",
ammo={ name="ガストリタスラム+1", augments={'Path: A',}},
head="LTシャペル+2",
body="LTサヨン+2",
hands={ name="AMゲージ+1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
legs="LTフュゾー+2",
feet="LTウゾー+2",
neck={ name="デュエルトルク+2", augments={'Path: A',}},
waist="オルペウスサッシュ",
left_ear="王将の耳飾り",
right_ear="フリオミシピアス",
left_ring={ name="メタモルリング+1", augments={'Path: A',}},
right_ring="メダダリング",
back={ name="オリストケープ+1", augments={'Path: A',}},
}
--弱体魔法時間
sets.midcast['弱体魔法'] ={
main="デイブレイクワンド",
sub="アムラピシールド",
ammo="王将の玉",
head={ name="VIシャポー+3", augments={'Enfeebling Magic duration','Magic Accuracy',}},
body="LTサヨン+2",
hands="LTガントロ+2",
legs="LTフュゾー+2",
feet="LTウゾー+2",
neck={ name="デュエルトルク+2", augments={'Path: A',}},
waist="オブシテナサッシュ",
left_ear="マリグナスピアス",
right_ear="スノトラピアス",
left_ring={ name="メタモルリング+1", augments={'Path: A',}},
right_ring="キシャールリング",
back={ name="スセロスケープ", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10',}},
}
--弱体魔法効果MND/hack
sets.midcast.EnfeeblingEffectMnd = set_combine(sets.midcast['弱体魔法'],{
legs={ name="カイロンホーズ", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Fast Cast"+1','MND+14','Mag. Acc.+9',}},
back={ name="スセロスケープ", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10',}},
})
--弱体魔法効果INT/hack
sets.midcast.EnfeeblingEffectInt = set_combine(sets.midcast['弱体魔法'],{
legs={ name="カイロンホーズ", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Enmity-1','INT+7','Mag. Acc.+14',}},
back={ name="スセロスケープ", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10',}},
})
sets.midcast.Cure = {
ammo="ストンチタスラム+1",
head={ name="ヴァニヤフード", augments={'MP+50','"Cure" potency +7%','Enmity-6',}},
body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
hands={ name="テルキネグローブ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
legs="ATタイツ+3",
feet={ name="ヴァニヤクロッグ", augments={'MP+50','"Cure" potency +7%','Enmity-6',}},
neck="インカンタートルク",
waist="ギシドゥバサッシュ",
left_ring="クナジリング",
right_ring="アスクレピアリング",
back="ソレムニティケープ",
}
sets.midcast['強化魔法'] = {
sub="アムラピシールド",
head={ name="テルキネキャップ", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
hands="ATグローブ+3",
legs={ name="テルキネブラコーニ", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
feet="LTウゾー+2",
neck={ name="デュエルトルク+2", augments={'Path: A',}},
waist="エンブラサッシュ",
right_ear={ name="レサジーピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+11','Mag. Acc.+11','"Dbl.Atk."+3',}},
left_ring="スティキニリング+1",
right_ring="スティキニリング+1",
back={ name="ゴストファイケープ", augments={'Enfb.mag. skill +7','Enha.mag. skill +1','Mag. Acc.+4','Enh. Mag. eff. dur. +20',}},
}
sets.midcast['強化魔法'].Other = set_combine(sets.midcast['強化魔法'] ,{
head="LTシャペル+2",
body="LTサヨン+2",
hands="LTガントロ+2",
legs="LTフュゾー+2",
feet="LTウゾー+2",
})
sets.midcast.EnhancingSkill=
{
main="プクラトムージュ+1",
sub={ name="フォフェンド+1", augments={'Path: A',}},
ammo="ストンチタスラム+1",
head="ビファウルクラウン",
body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
hands={ name="VIグローブ+3", augments={'Enhancing Magic duration',}},
legs="ATタイツ+3",
feet="LTウゾー+2",
neck="インカンタートルク",
waist="オリンポスサッシュ",
left_ear="ミミルピアス",
right_ear="アンドアーピアス",
left_ring="スティキニリング+1",
right_ring="スティキニリング+1",
back={ name="フィフォレケープ+1", augments={'Path: A',}},
}
sets.midcast.Refresh =set_combine(sets.midcast['強化魔法'] ,{head="AMコイフ+1",body="ATタバード+3",Legs="LTフュゾー+2"})
sets.midcast['強化魔法']['ストンスキン'] = set_combine(sets.midcast['強化魔法'] ,{legs="シェダルサラウィル", neck='ノデンズゴルゲット', left_ear='アースクライピアス', waist="ジーゲルサッシュ",})
sets.midcast['強化魔法']['アクアベール'] = set_combine(sets.midcast['強化魔法'] ,{head="AMコイフ+1", legs="シェダルサラウィル"})
end
コメント
コメント一覧 (2件)
お世話になってます、自分で組んだ赤より解りやすくて参考にさせて貰ってます。
OffenseMode( ‘Enn’)で装備を変える時はsets.engaged.Enn = {}を組めばF9(デフォルト)で変わりますよね?
ロジック26行 feet が foot になってます
こんにちは。
feet部分反映しました。ご指摘助かります!
sets.engaged.Enn = {}を組めばOffenceModeを切り替えて使用することができます。
サンプルを更新しましたので、参考にしてみてください。