
青魔道士のMote-libsコードです。
目次
ソースコード
ファイル構成
GearSwap/
└ data/
├ user-globals.lua
(共通ファイル)
├ BLU.lua
(ジョブロジック)
└ キャラクター名/
└ BLU_gear.lua
(装備定義)
ジョブロジック
function get_sets()
mote_include_version = 2
include('Mote-Include.lua')
set_language('japanese')
end
function job_setup()
state.Buff["エフラックス"] = buffactive["エフラックス"] or false
state.Buff["エンチェーンメント"] = buffactive["エンチェーンメント"] or false
state.Buff["コンバージェンス"] = buffactive["コンバージェンス"] or false
state.Buff["ディフュージョン"] = buffactive["ディフュージョン"] or false
state.Buff["ブルーチェーン"] = buffactive["ブルーチェーン"] or false
state.Buff["ブルーバースト"] = buffactive["ブルーバースト"] or false
-- gs c cycle OffenseMode
state.OffenseMode:options('Normal','Fixed')
-- gs c cycle IdleMode
state.IdleMode:options('Normal','Refresh')
-- gs c cycle MainWeapons
state.MainWeapons = M{'Tizona','Naegling','Maxentius','QutrubKnife'}
-- gs c cycle SubWeapons
state.SubWeapons = M{'SakpatasSword'}
-- gs c cycle TreasureHunter
state.TreasureHunter = M(false, 'TreasureHunter')
end
function job_post_midcast(spell, action, spellMap, eventArgs)
spellMap = job_get_spell_map(spell, spellMap)
if spell.skill == '青魔法' then
for buff,active in pairs(state.Buff) do
if active and sets.buff[buff] then
equip(sets.buff[buff])
end
end
end
if state.TreasureHunter.value then
equip(sets.TreasureHunter)
end
end
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'Normal' then
enable('main','sub')
else
equip(get_melee_set())
disable('main','sub')
end
end
end
function customize_idle_set(idleSet)
idleSet = set_combine(idleSet,{main=sets.Weapons.Evasion})
idleSet = set_combine(idleSet,{sub=sets.Weapons.Evasion})
return idleSet
end
装備定義
function init_weaponns()
--デフォルト武器を設定
send_command('gs c set MainWeapons Tizona')
send_command('gs c set SubWeapons SakpatasSword')
end
function init_gear_sets()
lockstyleset = 101
sets.buff['エフラックス'] = {legs="HSタイト+3"}
sets.buff['エンチェーンメント'] = {}
sets.buff['コンバージェンス'] = {}
sets.buff['ディフュージョン'] = {feet="LLチャルク+3"}
sets.buff['ブルーチェーン'] = {}
sets.buff['ブルーバースト'] = {feet="HSバシュマク+3"}
sets.Weapons = {}
sets.Weapons.Tizona = {name="ティソーナ"}
sets.Weapons.SakpatasSword = {name="サクパタソード"}
sets.Weapons.Naegling = {name="ネイグリング"}
sets.Weapons.Maxentius = {name="マクセンチアス"}
sets.Weapons.QutrubKnife = {name="クトゥルブナイフ"}
sets.Weapons.EtherealDagger = {name="幽世の短剣"}
sets.Weapons.Evasion = {name="シャルウル"}
sets.Weapons.Slip = {name="カリブルヌス"}
sets.TreasureHunter = {
ammo="完璧な幸運の卵",
head="ヴォルトキャップ",
hands="ヴォルトブレーサー",
waist="チャークベルト",
}
sets.idle = {
ammo="アマークラスター",
head={ name="無の面",priority=14},
body={ name="ニャメメイル",priority=16},
hands={ name="ニャメガントレ",priority=13},
legs={ name="ニャメフランチャ",priority=15},
--feet={ name="ニャメソルレット",priority=12},
feet="ヒポメネソックス+1",
neck={ name="バーシチョーカー+1", augments={'Path: A',}},
waist="無の腰当",
left_ear="エアバニピアス",
right_ear="インフューズピアス",
left_ring="守りの指輪",
right_ring="シュネデックリング",
back="無の外装",
}
sets.idle.Refresh = set_combine(sets.idle, {
ammo="ストンチタスラム+1",
head={ name="ヘルクリアヘルム", augments={'Weapon skill damage +2%','AGI+6','"Refresh"+2','Accuracy+9 Attack+9',}},
body="HSミンタン+3",
hands={ name="ヘルクリアグローブ", augments={'Spell interruption rate down -6%','Attack+5','"Refresh"+2','Accuracy+8 Attack+8',}},
legs={ name="ヘルクリアトラウザ", augments={'Pet: VIT+10','"Subtle Blow"+10','"Refresh"+2','Accuracy+8 Attack+8',}},
feet={ name="ヘルクリアブーツ", augments={'"Mag.Atk.Bns."+17','STR+9','"Refresh"+2',}},
neck="シビルスカーフ",
waist="プラチナモグベルト",
})
sets.engaged = {
ammo="コイストボダー",
head="マリグナスシャポー",
body="マリグナスタバード",
hands="マリグナスグローブ",
legs="マリグナスタイツ",
feet="マリグナスブーツ",
neck={ name="ミラージストール+2", augments={'Path: A',}},
waist="霊亀腰帯",
left_ear="素破の耳",
right_ear={ name="ハシシンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+20','Mag. Acc.+20','"Dbl.Atk."+8','STR+15 INT+15',}},
left_ring="シーリチリング+1",
right_ring="エポナリング",
back={ name="ロスメルタケープ", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
}
sets.precast.RA ={range="ラミアベーン"}
sets.precast.JA['アジュールロー'] = {hands="LLバズバンド+1"}
sets.precast.JA['ブルーバースト'] = {hands="HSバズバンド+3"}
sets.precast.FC = {
ammo="サピエンスオーブ",
head={ name="カマインマスク+1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body="ピンガチュニック+1",
hands="HSバズバンド+3",
legs="ピンガズボン+1",
feet="ニャメソルレット",
neck="オルンミラトルク",
waist={name="プラチナモグベルト",priority=16},
left_ear="エテオレートピアス",
left_ring={ name="ゼラチナスリング+1", augments={'Path: A',},priority=15},
right_ring="メダダリング",
back={ name="フィフォレケープ+1", augments={'Path: A',}},
}
sets.precast.FC['青魔法']=set_combine(sets.precast.FC,{body="HSミンタン+3"})
sets.precast.WS.Critical = {
ammo="コイストボダー",
head={ name="ブリスタサリット+1", augments={'Path: A',}},
body="エンフォサハーネス",
hands="HSバズバンド+3",
legs="HSタイト+3",
feet="セレオイドグリーヴ",
neck={ name="ミラージストール+2", augments={'Path: A',}},
waist="フォシャベルト",
left_ear="オドルピアス",
right_ear={ name="ハシシンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+20','Mag. Acc.+20','"Dbl.Atk."+8','STR+15 INT+15',}},
left_ring="イラブラットリング",
right_ring="エポナリング",
back={ name="ロスメルタケープ", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Crit.hit rate+10',}},
}
sets.precast.WS.Damage = {
ammo="オシャシャの原論文",
head="HSカヴク+3",
body={ name="ニャメメイル", augments={'Path: B',}},
hands={ name="ニャメガントレ", augments={'Path: B',}},
legs={ name="ニャメフランチャ", augments={'Path: B',}},
feet={ name="ニャメソルレット", augments={'Path: B',}},
neck={ name="ミラージストール+2", augments={'Path: A',}},
waist={ name="セールフィベルト+1", augments={'Path: A',}},
left_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
right_ear={ name="ハシシンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+20','Mag. Acc.+20','"Dbl.Atk."+8','STR+15 INT+15',}},
left_ring="イラブラットリング",
right_ring="エパミノダスリング",
back={ name="ロスメルタケープ", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
}
sets.precast.WS.Magic = {
ammo="ペムフレドタスラム",
head="HSカヴク+3",
body={ name="ニャメメイル", augments={'Path: B',}},
hands={ name="ニャメガントレ", augments={'Path: B',}},
legs={ name="ニャメフランチャ", augments={'Path: B',}},
feet={ name="ニャメソルレット", augments={'Path: B',}},
neck="シビルスカーフ",
waist="スクリミルコード",
left_ear="王将の耳飾り",
right_ear="フリオミシピアス",
left_ring="エパミノダスリング",
right_ring="メダダリング",
back={ name="コンフラワーケープ", augments={'MP+23','Accuracy+3','Blue Magic skill +10',}},
}
sets.precast.WS['レクイエスカット'] = set_combine(sets.precast.WS.MultDamagei, {})
sets.precast.WS['シャンデュシニュ'] = set_combine(sets.precast.WS.Critical, {})
sets.precast.WS['サベッジブレード'] = set_combine(sets.precast.WS.Damage, {})
sets.precast.WS['エクスピアシオン'] = set_combine(sets.precast.WS.Damage, {})
sets.precast.WS['ブラックヘイロー'] = set_combine(sets.precast.WS.Damage, {})
sets.precast.WS['サンギンブレード'] = set_combine(sets.precast.WS.Magic, {head="妖蟲の髪飾り+1"})
sets.midcast['強化魔法'] = {
head={ name="テルキネキャップ", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
body={ name="テルキネシャジュブ", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
hands={ name="テルキネグローブ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
legs={ name="テルキネブラコーニ", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
feet={ name="テルキネピガッシュ", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
neck="インカンタートルク",
waist="オリンポスサッシュ",
left_ear="アンドアーピアス",
left_ring="守りの指輪",
right_ring="スティキニリング+1",
back={ name="フィフォレケープ+1", augments={'Path: A',}},
}
sets.midcast['アクアベール'] = set_combine(sets.midcast['強化魔法'] ,{
head={ name="AMコイフ+1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
legs="シェダルサラウィル",
waist="エンパチコスロープ",
})
sets.midcast.Cure={
ammo="ストンチタスラム+1",
head="ニャメヘルム",
body="ピンガチュニック+1",
hands={ name="テルキネグローブ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
legs="ピンガズボン+1",
feet="ニャメソルレット",
neck={ name="アンムーヴカラー+1", augments={'Path: A',}},
waist={name="プラチナモグベルト",priority=16},
left_ear={ name="オノワイヤリング+1", augments={'Path: A',}},
left_ring={ name="ゼラチナスリング+1", augments={'Path: A',},priority=15},
back="ソレムニティケープ",
}
sets.midcast.BlueHealing=sets.midcast.Cure
sets.midcast.BlueMagical = {
main="マクセンチアス",
sub="ブンジロッド",
ammo={ name="ガストリタスラム+1", augments={'Path: A',}},
head="HSカヴク+3",
body="HSミンタン+3",
hands="HSバズバンド+3",
legs="HSタイト+3",
feet="HSバシュマク+3",
neck={ name="ミラージストール+2", augments={'Path: A',}},
waist="オルペウスサッシュ",
left_ear="王将の耳飾り",
right_ear={ name="ハシシンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+20','Mag. Acc.+20','"Dbl.Atk."+8','STR+15 INT+15',}},
left_ring={ name="ゼラチナスリング+1", augments={'Path: A',},priority=16},
right_ring="メダダリング",
back={ name="コンフラワーケープ", augments={'MP+23','Accuracy+3','Blue Magic skill +10',}},
}
sets.midcast.BlueMagicAcc = {
--main={ name="ティソーナ", augments={'Path: A',}},
main="マクセンチアス",
sub="ブンジロッド",
ammo="ペムフレドタスラム",
head="HSカヴク+3",
body="HSミンタン+3",
hands="HSバズバンド+3",
legs="HSタイト+3",
feet="HSバシュマク+3",
neck="無の喉輪",
waist="無の腰当",
left_ear="昏黄の耳飾り",
right_ear={ name="ハシシンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+20','Mag. Acc.+20','"Dbl.Atk."+8','STR+15 INT+15',}},
left_ring={ name="ゼラチナスリング+1", augments={'Path: A',},priority=1},
right_ring="メダダリング",
back="無の外装",
}
sets.midcast.BlueBuff = {
ammo="マーヴィタスラム",
head={ name="LLケフィエ+3", augments={'Enhances "Convergence" effect',}},
body="ASジュバ+3",
hands="HSバズバンド+3",
legs="HSタイト+3",
feet={ name="LLチャルク+3", augments={'Enhances "Diffusion" effect',}},
neck={ name="ミラージストール+2", augments={'Path: A',}},
waist={name="プラチナモグベルト",priority=16},
left_ear={name="エテオレートピアス",priority=15},
right_ear={ name="ハシシンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+20','Mag. Acc.+20','"Dbl.Atk."+8','STR+15 INT+15',}},
left_ring="守りの指輪",
right_ring="スティキニリング+1",
back={ name="コンフラワーケープ", augments={'MP+23','Accuracy+3','Blue Magic skill +10',}},
}
sets.midcast['夢想花'] = set_combine(sets.midcast.BlueMagicAcc,sets.TreasureHunter)
sets.midcast['クルエルジョーク'] = set_combine(sets.midcast.BlueMagicAcc,{})
sets.midcast['サドンランジ'] = set_combine(sets.midcast.BlueMagicAcc,{})
sets.midcast['マジックハンマー'] = set_combine(sets.midcast.BlueMagical ,sets.midcast.BlueMagicAcc)
sets.midcast['エントゥーム'] = set_combine(sets.midcast.BlueMagical ,{neck="クアンプネックレス",left_ring="ゼラチナスリング+1"})
sets.midcast['エンバームアース'] = set_combine(sets.midcast.BlueMagical ,{neck="クアンプネックレス",left_ring="ゼラチナスリング+1"})
sets.midcast['テネブラルクラッシュ'] = set_combine(sets.midcast.BlueMagical ,{head="妖蟲の髪飾り+1",ring2="アルコンリング"})
sets.midcast['アンビルライトニング'] = set_combine(sets.midcast.BlueMagical ,{left_ring="イラブラットリング",back={ name="ロスメルタケープ", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Crit.hit rate+10',}}})
sets.midcast['精霊魔法'] = sets.midcast.BlueMagical
end
管理人さんのロジック丸写しでは無いので自分の環境だけかもしれませんが一応報告します
sets.midcast.BlueMagical で装備を組むと部位着替えを指定してる魔法(エントゥームなど)は着替えますが部位着替えを組んでないスペフロやサブダクが着替えませんでした
そこで sets.midcast.BlueMagic で装備を組んで sets.midcast.BlueMagical =sets.midcast.BlueMagic
にしたとこを着替えるようになりました
いつも参考にさせて頂いてます、これからの記事も楽しみにしてます
私の環境ではちゃんと動いてますね。たぶん・・・
BlueMagicalはGearSwapのMote-Mappingsから持ってきた名前なので、Mote-Mappingsに含まれている魔法は対象になると思っています。
なぜ着替えが行われないのかは分からないですが、定義名にはまだ謎が多いので、難しいところですね。