コルセアのMote-libsコードです。
目次
ソースコード
Mote-libsでは、ジョブロジック部分(ジョブ名.lua)と装備セット部分(ジョブ名_gear.lua)を切り分けていますので、次のような階層構造になっています。
GearSwap/
└ data/
├ COR.lua
└ キャラクター名/
└COR_gear.lua
ジョブロジック
function get_sets()
mote_include_version = 2
include('Mote-Include.lua')
set_language('japanese')
end
function job_setup()
state.OffenseMode:options('Normal')
state.RangedMode:options('Normal')
state.IdleMode:options('Normal')
state.Weapons = M{'RostamA','Naegling'}
define_roll_values()
end
function user_setup()
send_command('bind f8 gs c cycle Weapons')
send_command('wait 5; gs c set IdleMode Normal; gs c lockstyleset')
end
function user_unload()
send_command('unbind f8')
send_command('input /si blank;')
end
function job_precast(spell, action, spellMap, eventArgs)
if spell.type == 'CorsairRoll' then
display_roll_info(spell)
end
end
function customize_idle_set(idleSet)
return customize_IdleMelee_set(idleSet)
end
function customize_melee_set(meleeSet)
return customize_IdleMelee_set(meleeSet)
end
function customize_IdleMelee_set(idleSet)
local weapon = sets.Weapons[state.Weapons.value]
if player.equipment.sub == weapon.main.name then
weapon.range.priority = 0
weapon.sub.priority = 1
weapon.main.priority = 2
end
if(player.sub_job == '忍' or player.sub_job == '踊') then
idleSet = set_combine(idleSet, weapon)
else
idleSet = set_combine(idleSet, set_combine(weapon,{sub=sets.Weapons.NuskuShield}))
end
return idleSet
end
function job_self_command(cmdParams, eventArgs)
if cmdParams[1] == 'lockstyleset' then
send_command('input /lockstyleset 81;')
end
end
function define_roll_values()
rolls = {
["コルセアズロール"] = {lucky=5, unlucky=9, bonus="取得経験値量"},
["ニンジャロール"] = {lucky=4, unlucky=8, bonus="回避"},
["ハンターズロール"] = {lucky=4, unlucky=8, bonus="命中・飛命"},
["カオスロール"] = {lucky=4, unlucky=8, bonus="攻撃力・飛攻"},
["メガスズロール"] = {lucky=2, unlucky=6, bonus="魔法防御力"},
["ヒーラーズロール"] = {lucky=3, unlucky=7, bonus=" 被ケアル回復量"},
["パペットロール"] = {lucky=4, unlucky=8, bonus="ペット魔法攻撃力・魔法命中率"},
["コーラルロール"] = {lucky=2, unlucky=6, bonus="詠唱中断率ダウン"},
["モンクスロール"] = {lucky=3, unlucky=7, bonus="モクシャアップ"},
["ビーストロール"] = {lucky=4, unlucky=8, bonus="ペット攻撃力"},
["サムライロール"] = {lucky=2, unlucky=6, bonus="ストアTP"},
["エボカーズロール"] = {lucky=5, unlucky=9, bonus="リフレシュ"},
["ローグズロール"] = {lucky=5, unlucky=9, bonus="クリティカルヒット確率"},
["ワーロックスロール"] = {lucky=4, unlucky=8, bonus="魔法命中"},
["ファイターズロール"] = {lucky=5, unlucky=9, bonus="ダブルアタック効果"},
["ドラケンロール"] = {lucky=3, unlucky=7, bonus="ペット命中・飛命"},
["ガランツロール"] = {lucky=3, unlucky=7, bonus="防御力"},
["ウィザーズロール"] = {lucky=5, unlucky=9, bonus="魔法攻撃力"},
["ダンサーロール"] = {lucky=3, unlucky=7, bonus="リジェネ"},
["スカラーロール"] = {lucky=2, unlucky=6, bonus="コンサーブMP"},
["ボルターズロール"] = {lucky=3, unlucky=9, bonus="移動速度"},
["キャスターズロール"] = {lucky=2, unlucky=7, bonus="ファストキャスト"},
["コアサーズロール"] = {lucky=3, unlucky=9, bonus="スナップショット"},
["ブリッツァロール"] = {lucky=4, unlucky=9, bonus="攻撃間隔"},
["タクティックロール"] = {lucky=5, unlucky=8, bonus="リゲイン・リジェネ"},
["アライズロール"] = {lucky=3, unlucky=10, bonus="連携ダメージ・命中"},
["マイザーロール"] = {lucky=5, unlucky=7, bonus="セーブTP"},
["コンパニオンロール"] = {lucky=2, unlucky=10, bonus="ペットリゲイン・リジェネ"},
["カウンターロール"] = {lucky=4, unlucky=8, bonus="カウンター確率"},
}
end
function display_roll_info(spell)
rollinfo = rolls[spell.japanese]
if rollinfo then
local desc = rolls[spell.name].bonus
local lucky = rolls[spell.name].lucky
local unlucky = rolls[spell.name].unlucky
windower.add_to_chat(2, spell.name .. ' [' ..desc ..'] Lucky=' .. lucky .. ' '.. ' Unluck='.. unlucky)
end
end
装備セット
function init_gear_sets()
sets.Weapons = {}
sets.Weapons.Fomalhaut = {name="フォーマルハウト"}
sets.Weapons.TPBonus = {name="アナーキー+2"}
sets.Weapons.NuskuShield = {name="ヌスクシールド"}
sets.Weapons.RAbullet = "クロノブレット"
sets.Weapons.RostamA = {main={ name="ロスタム", augments={'Path: A',}}, sub={name="グレティナイフ"}, range=sets.Weapons.Fomalhaut, ammo=sets.Weapons.RAbullet}
sets.Weapons.Naegling = {main={ name="ネイグリング"}, sub={name="グレティナイフ"}, range=sets.Weapons.TPBonus, ammo=sets.Weapons.RAbullet}
sets.idle = {
head={ name="ニャメヘルム", augments={'Path: B',}},
body="アダマンアーマー",
hands="ニャメガントレ",
legs="ニャメフランチャ",
feet="ニャメソルレット",
neck={ name="ロリケートトルク+1", augments={'Path: A',}},
waist="ウィンバフベルト+1",
left_ring="守りの指輪",
right_ring="シュネデックリング",
back={ name="カムラスマント", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Dual Wield"+10','Phys. dmg. taken-10%',}},
}
sets.idle.Refresh = set_combine(sets.idle,{
head={ name="ヘルクリアヘルム", augments={'Accuracy+24','INT+5','"Refresh"+2',}},
body={ name="ヘルクリアベスト", augments={'Pet: Haste+1','"Mag.Atk.Bns."+16','"Refresh"+2',}},
hands={ name="ヘルクリアグローブ", augments={'Mag. Acc.+4','Crit. hit damage +1%','"Refresh"+1','Accuracy+19 Attack+19','Mag. Acc.+17 "Mag.Atk.Bns."+17',}},
})
sets.engaged = {
head="マリグナスシャポー",
body="マリグナスタバード",
hands="マリグナスグローブ",
legs="CSトルーズ+3",
feet="マリグナスブーツ",
neck="コンバタントトルク",
waist="ウィンバフベルト+1",
left_ear="セサンスピアス",
right_ear="テロスピアス",
left_ring="エポナリング",
right_ring="レコリング",
back={ name="カムラスマント", augments={'DEX+20','Accuracy+20 Attack+20','DEX+1','"Dual Wield"+10','Phys. dmg. taken-10%',}},
}
sets.CorsairRoll = {
main={name="ロスタム", augments={'Path: C',}},
range={ name="コンペンセーター", augments={'DMG:+15','Rng.Atk.+15','"Mag.Atk.Bns."+15',}},
head={ name="LAトリコルヌ+3", augments={'Enhances "Winning Streak" effect',}},
hands="CSガントリー+3",
Legs="デサルタタセッツ",
neck="王将の首飾り",
left_ring="ルザフリング",
back="ガンスリンガマント"
}
---------------------------------------
-- precast
---------------------------------------
sets.precast.JA["ランダムディール"] = {body={ name="LAフラック+3", augments={'Enhances "Loaded Deck" effect',}},}
sets.precast.JA["フォールド"] = {hands={ name="LAガントリー+3", augments={'Enhances "Fold" effect',}},}
sets.precast.JA["スネークアイ"] = {legs={ name="LAトルーズ+3", augments={'Enhances "Snake Eye" effect',}},}
sets.precast.JA["ワイルドカード"] = {feet={ name="LAブーツ+3", augments={'Enhances "Wild Card" effect',}},}
sets.precast.CorsairRoll = sets.CorsairRoll
sets.precast.CorsairRoll.Fast = sets.CorsairRoll.Fast
sets.precast.CorsairRoll["ブリッツァロール"] = set_combine(sets.precast.CorsairRoll, {head="CSトリコルヌ+2"})
sets.precast.CorsairRoll["タクティックロール"] = set_combine(sets.precast.CorsairRoll, {body="CSフラック+3",})
sets.precast.CorsairRoll["アライズロール"] = set_combine(sets.precast.CorsairRoll, {hands="CSガントリー+3",})
sets.precast.CorsairRoll['ボルターズロール'] = {
main={name="ロスタム", augments={'Path: C',}},
range=nil,
head="ニャメヘルム",
hands="アダマンアーマー",
Legs="デサルタタセッツ",
neck=nil,
left_ring="ルザフリング",
back="ガンスリンガマント"
}
sets.precast.FC = {
range={ name="ドゥームズデイ", augments={'"Fast Cast"+4',}},
head={ name="ヘルクリアヘルム", augments={'"Fast Cast"+5',}},
body="ドレッドジュポン",
hands={ name="レイライングローブ", augments={'Accuracy+12','Mag. Acc.+14','"Mag.Atk.Bns."+15','"Fast Cast"+2',}},
legs={ name="ヘルクリアトラウザ", augments={'"Fast Cast"+6','Mag. Acc.+3','"Mag.Atk.Bns."+9',}},
feet={ name="ヘルクリアブーツ", augments={'"Fast Cast"+6','Mag. Acc.+12',}},
neck="オルンミラトルク",
left_ear="ロケイシャスピアス",
right_ear="エンチャンピアス+1",
left_ring="キシャールリング",
}
sets.precast.RA = {
ammo=sets.Weapons.RAbullet,
head={ name="テーオンシャポー", augments={'"Snapshot"+5','"Snapshot"+5',}},
body="オショシベスト",
hands={ name="LAガントリー+3", augments={'Enhances "Fold" effect',}},
legs="LKトルーズ+3",
feet="メガナダジャンボ+2",
waist="イェマヤベルト",
back={ name="カムラスマント", augments={'"Snapshot"+10',}},
}
sets.precast.WS = {}
sets.precast.WS.Damage = {
head={ name="ニャメヘルム", augments={'Path: B',}},
body="LKフラック+3",
hands="メガナダグローブ+2",
legs={ name="LAトルーズ+3", augments={'Enhances "Snake Eye" effect',}},
feet={ name="LAブーツ+3", augments={'Enhances "Wild Card" effect',}},
neck="共和プラチナ章",
waist="フォシャベルト",
left_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
right_ear="テロスピアス",
left_ring="ルフェセントリング",
right_ring={ name="メタモルリング+1", augments={'Path: A',}},
back={ name="カムラスマント", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}},
}
sets.precast.WS.Range = {
ammo="クロノブレット",
head={ name="LAトリコルヌ+3", augments={'Enhances "Winning Streak" effect',}},
body="LKフラック+3",
hands="CSガントリー+3",
legs={ name="LAトルーズ+3", augments={'Enhances "Snake Eye" effect',}},
feet={ name="LAブーツ+3", augments={'Enhances "Wild Card" effect',}},
neck="イスクルゴルゲット",
waist="フォシャベルト",
left_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
right_ear="テロスピアス",
left_ring="ディンジルリング",
right_ring="昏黄の指輪",
back={ name="カムラスマント", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','AGI+10','Weapon skill damage +10%',}},
}
sets.precast.WS.Magic = {
ammo="ホクスボクブレット",
head={ name="ニャメヘルム", augments={'Path: B',}},
body={ name="LAフラック+3", augments={'Enhances "Loaded Deck" effect',}},
hands="ニャメガントレ",
legs="ニャメフランチャ",
feet={ name="LAブーツ+3", augments={'Enhances "Wild Card" effect',}},
neck="サンクトネックレス",
waist="エスカンストーン",
left_ear="フリオミシピアス",
right_ear="ヘカテーピアス",
left_ring="ディンジルリング",
right_ring={ name="メタモルリング+1", augments={'Path: A',}},
back={ name="カムラスマント", augments={'AGI+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Weapon skill damage +10%',}},
}
sets.precast.WS.Magic_Marksmanship = set_combine(sets.precast.WS.Magic,{ammo="ブロンズブレット"})
sets.precast.WS.Magic_Dark = {
ammo= sets.Weapons.RAbullet,
head="妖蟲の髪飾り+1",
body={ name="LAフラック+3", augments={'Enhances "Loaded Deck" effect',}},
hands="ニャメガントレ",
legs="ニャメフランチャ",
feet={ name="LAブーツ+3", augments={'Enhances "Wild Card" effect',}},
--neck="サンクトネックレス",
neck='ウォーダチャーム+1',
waist="闇輪の帯",
left_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
right_ear="フリオミシピアス",
left_ring="ディンジルリング",
right_ring="アルコンリング",
back={ name="カムラスマント", augments={'AGI+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Weapon skill damage +10%',}},
}
-- 射撃
sets.precast.WS["ナビングショット"] = sets.precast.WS.Range
sets.precast.WS["ラストスタンド"] = sets.precast.WS.Range
sets.precast.WS["ワイルドファイア"] = sets.precast.WS.Magic_Marksmanship
sets.precast.WS["レデンサリュート"] = sets.precast.WS.Magic_Dark
-- 片手剣
sets.precast.WS['シャインブレード'] = sets.precast.WS.Magic
sets.precast.WS["サークルブレード"] = sets.precast.WS.Damage
sets.precast.WS["サベッジブレード"] = sets.precast.WS.Damage
-- 短剣
sets.precast.WS["ガストスラッシュ"] = sets.precast.WS.Magic
sets.precast.WS["サイクロン"] = sets.precast.WS.Magic
sets.precast.WS["イオリアンエッジ"] = sets.precast.WS.Magic
sets.precast.WS["エクゼンテレター"] = sets.precast.WS.Magic
sets.precast.CorsairShot = {
ammo=sets.Weapons.RAbullet,
head={ name="ニャメヘルム", augments={'Path: B',}},
body={ name="LAフラック+3", augments={'Enhances "Loaded Deck" effect',}},
hands="ニャメガントレ",
legs="ニャメフランチャ",
neck="ベーテルペンダント",
waist="エスカンストーン",
left_ear="フリオミシピアス",
right_ear="ヘカテーピアス",
left_ring={ name="メタモルリング+1", augments={'Path: A',}},
right_ring="ディンジルリング",
back={ name="カムラスマント", augments={'"Snapshot"+10',}},
}
---------------------------------------
-- midcast
---------------------------------------
sets.midcast.RA = {
head="マリグナスシャポー",
body="マリグナスタバード",
hands="マリグナスグローブ",
legs="CSトルーズ+3",
feet="マリグナスブーツ",
neck="イスクルゴルゲット",
waist="イェマヤベルト",
left_ear="エナベートピアス",
right_ear="テロスピアス",
left_ring="ラジャスリング",
right_ring="アペートリング",
back={ name="カムラスマント", augments={'AGI+20','Rng.Acc.+20 Rng.Atk.+20','Rng.Acc.+10','"Store TP"+10',}},
}
sets.midcast.RA['トリプルショット'] = set_combine(sets.midcast.RA,{body="CSフラック+3"})
end
コメント