
暗黒騎士のMote-libsコードです。
目次
ソースコード
Mote-libsでは、ジョブロジック部分(ジョブ名.lua)と装備セット部分(ジョブ名_gear.lua)を切り分けていますので、次のような階層構造になっています。
GearSwap/
└ data/
├ DRK.lua
└ キャラクター名/
└ DRK_gear.lua
注意点
- GearSwap\libsによしざうるすさんが日本語対応してくれているMote-libsを設置してください。
ジョブロジック
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
include('Mote-TreasureHunter')
state.Weapons = M{'Zantetsu','Deathbane'}
state.OffenseMode:options('Normal')
state.IdleMode:options('Normal',"Refresh")
end
function user_setup()
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
if state.Buff['ダークシール'] then
equip(sets.buff['ダークシール'])
end
if state.Buff['ネザーヴォイド'] then
equip(sets.buff['ネザーヴォイド'])
end
end
end
function customize_idle_set(idleSet)
local weapon = sets.weapons[state.Weapons.value]
idleSet = set_combine(idleSet, weapon)
if state.Buff["ドレッドスパイク"] then
idleSet = set_combine(idleSet,sets.buff['ドレッドスパイク'])
end
return idleSet
end
function customize_melee_set(meleeSet)
local weapon = sets.weapons[state.Weapons.value]
meleeSet = set_combine(meleeSet, weapon)
if state.Buff["ドレッドスパイク"] then
meleeSet = set_combine(meleeSet,sets.buff['ドレッドスパイク'])
end
return meleeSet
end
function job_buff_change(buff, gain)
if buff == "ドレッドスパイク" and not gain then
if player.status == 'Idle'then
equip(get_idle_set())
else
equip(get_melee_set())
end
end
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
elseif cmdParams[1] == 'drain' then
local recasts = windower.ffxi.get_spell_recasts()
local recast_time_3 = recasts[880]/60
local recast_time_2 = recasts[246]/60
local recast_time_1 = recasts[245]/60
if recast_time_3 == 0 then
send_command('input /magic '..windower.to_shift_jis('ドレインIII')..' <stnpc>')
elseif recast_time_2 == 0 then
send_command('input /magic '..windower.to_shift_jis('ドレインII')..' <stnpc>')
elseif recast_time_1 == 0 then
send_command('input /magic '..windower.to_shift_jis('ドレイン')..' <stnpc>')
else
windower.add_to_chat(30, 'ドレイン リキャスト---> III: %.1fs,II: %.1fs, I: %.1fs':format(recast_time_3, recast_time_2, recast_time_1))
end
elseif cmdParams[1] == 'aspir' then
local recasts = windower.ffxi.get_spell_recasts()
local recast_time_3 = recasts[881]/60
local recast_time_2 = recasts[248]/60
local recast_time_1 = recasts[247]/60
if recast_time_3 == 0 then
send_command('input /magic '..windower.to_shift_jis('アスピルIII')..' <stnpc>')
elseif recast_time_2 == 0 then
send_command('input /magic '..windower.to_shift_jis('アスピルII')..' <stnpc>')
elseif recast_time_1 == 0 then
send_command('input /magic '..windower.to_shift_jis('アスピル')..' <stnpc>')
else
windower.add_to_chat(30, 'アスピル リキャスト---> III: %.1fs, II: %.1fs, I: %.1fs':format(recast_time_3, recast_time_1, recast_time_1))
end
end
end
装備セット
function init_gear_sets()
lockstyleset = 181
sets.buff['ドレッドスパイク'] = {body="HTキュイラス+2"}
sets.buff['ダークシール'] = {head="FLバーゴネット+1",body="アダマンアーマー"}
sets.buff['ネザーヴォイド'] = {body="アクロサーコート",legs="HTフランチャ+2",feet="ラトリソルレット"}
sets.weapons = {}
sets.weapons.Zantetsu = { main={name="真・斬鉄剣"}, sub={ name="ウトゥグリップ"}}
sets.weapons.Deathbane = { main={name="デスベインサイズ"}, sub={ name="ウトゥグリップ"}}
sets.TreasureHunter = {
ammo="完璧な幸運の卵",
legs={ name="ヘルクリアトラウザ", augments={'CHR+15','"Resist Silence"+4','"Treasure Hunter"+2','Accuracy+2 Attack+2',}},
waist="チャークベルト",
}
sets.idle = {
ammo="ストンチタスラム+1",
head="サクパタヘルム",
body="アダマンアーマー",
hands="サクパタガントレ",
legs="サクパタクウィス",
feet="サクパタレギンス",
neck={ name="暗黒の数珠+2", augments={'Path: A',}},
waist="キャリアーサッシュ",
left_ear="インフューズピアス",
right_ear="ハーティーピアス",
left_ring="守りの指輪",
right_ring="シュネデックリング",
back={ name="アンコウマント", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10','Phys. dmg. taken-10%',}},
}
sets.idle.Refresh = set_combine(sets.idle, {
neck = "シビルスカーフ",
body = "ルーグラクローク+1"
})
sets.engaged = {
ammo="コイストボダー",
head="サクパタヘルム",
body="デーゴンブレスト",
hands="サクパタガントレ",
legs="サクパタクウィス",
feet="サクパタレギンス",
neck="暗黒の数珠+2",
waist={ name="セールフィベルト+1", augments={'Path: A',}},
left_ear="テロスピアス",
right_ear={ name="ヒーズンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+17','Mag. Acc.+17','Weapon skill damage +4%','STR+9 INT+9',}},
left_ring="シーリチリング+1",
right_ring="ニックマドゥリング",
back={ name="アンコウマント", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10','Phys. dmg. taken-10%',}},
}
sets.precast.FC = {
ammo="サピエンスオーブ",
head={ name="カマインマスク+1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
body="サクロブレスト",
hands={ name="レイライングローブ", augments={'Accuracy+6','Mag. Acc.+2','"Mag.Atk.Bns."+6',}},
legs={ name="オディシアクウィス", augments={'"Fast Cast"+6','AGI+9','Mag. Acc.+2',}},
feet={ name="オディシアグリーヴ", augments={'Mag. Acc.+1 "Mag.Atk.Bns."+1','"Fast Cast"+6','VIT+2','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
neck="オルンミラトルク",
left_ear="エンチャンピアス+1",
right_ear="エテオレートピアス",
left_ring="キシャールリング",
right_ring="メダダリング",
}
sets.precast.WS = {
}
sets.precast.WS.wsd = {
ammo="ノブキエリ",
head={ name="FLバーゴネット+3", augments={'Enhances "Dark Seal" effect',}},
body="IGキュイラス+3",
hands={ name="FLガントレット+3", augments={'Enhances "Diabolic Eye" effect',}},
legs={ name="FLフランチャー+3", augments={'Enhances "Muted Soul" effect',}},
feet="HTソルレット+2",
neck={ name="暗黒の数珠+2", augments={'Path: A',}},
waist={ name="セールフィベルト+1", augments={'Path: A',}},
left_ear="テロスピアス",
right_ear={ name="ヒーズンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+17','Mag. Acc.+17','Weapon skill damage +4%','STR+9 INT+9',}},
left_ring="エパミノダスリング",
right_ring="王将の指輪",
back={ name="アンコウマント", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%','Phys. dmg. taken-10%',}},
}
sets.precast.WS.magic = {
ammo="ノブキエリ",
head="ニャメヘルム",
body="ニャメメイル",
hands="ニャメガントレ",
legs="ニャメフランチャ",
feet="ニャメソルレット",
neck="シビルスカーフ",
waist="オルペウスサッシュ",
left_ear="マリグナスピアス",
right_ear={ name="ヒーズンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+17','Mag. Acc.+17','Weapon skill damage +4%','STR+9 INT+9',}},
left_ring="エパミノダスリング",
right_ring="メダダリング",
back={ name="アンコウマント", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%','Phys. dmg. taken-10%',}},
}
sets.precast.WS['ハードスラッシュ'] = sets.precast.WS.wsd
sets.precast.WS['パワースラッシュ'] = sets.precast.WS.wsd
sets.precast.WS['フロストバイト'] = sets.precast.WS.magic
sets.precast.WS['フリーズバイト'] = sets.precast.WS.magic
sets.precast.WS['ショックウェーブ'] = sets.precast.WS.wsd
sets.precast.WS['クレセントムーン'] = sets.precast.WS.wsd
sets.precast.WS['シックルムーン'] = sets.precast.WS.wsd
sets.precast.WS['スピンスラッシュ'] = sets.precast.WS.wsd
sets.precast.WS['グラウンドストライク'] = sets.precast.WS.wsd
sets.precast.WS['ヘラクレススラッシュ'] = sets.precast.WS.magic
sets.precast.WS['スカージ'] = sets.precast.WS.wsd
sets.precast.WS['トアクリーバー'] = sets.precast.WS.wsd
sets.precast.WS['レゾルーション'] = sets.precast.WS.wsd
sets.precast.WS['フィンブルヴェト'] = sets.precast.WS.wsd
sets.precast.WS['エントロピー'] = sets.precast.WS.wsd
sets.precast.WS['クロスリーパー'] = sets.precast.WS.wsd
sets.precast.WS['クワイタス'] = sets.precast.WS.wsd
sets.precast.JA['ラストリゾート'] = {feet="FLソルレット+3",back="アンコウマント"}
sets.precast.JA['ネザーヴォイド'] = {legs="HTフランチャ+2"}
sets.precast.JA['ウェポンバッシュ'] = {head="IGガントレ+2"}
sets.midcast.Drain = {
main="ミサンスロピー",
ammo="ペムフレドタスラム",
body={ name="ルーグラクローク+1", augments={'Path: A',}},
hands={ name="FLガントレット+3", augments={'Enhances "Diabolic Eye" effect',}},
legs="HTフランチャ+2",
feet={ name="オディシアグリーヴ", augments={'"Drain" and "Aspir" potency +10','Pet: Mag. Acc.+21','Accuracy+5 Attack+5',}},
neck="エーラペンダント",
waist="オルペウスサッシュ",
left_ear="マリグナスピアス",
right_ear={ name="ヒーズンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+17','Mag. Acc.+17','Weapon skill damage +4%','STR+9 INT+9',}},
left_ring="エバネセンスリング",
right_ring="アルコンリング",
back={ name="デオルクネスマント", augments={'Attack+6','Dark magic skill +7','"Drain" and "Aspir" potency +25',}},
}
sets.midcast['精霊魔法']={
ammo={ name="ガストリタスラム+1", augments={'Path: A',}},
head="ニャメヘルム",
body="ニャメメイル",
hands="ニャメガントレ",
legs="ニャメフランチャ",
feet="HTソルレット+2",
neck="シビルスカーフ",
waist="オルペウスサッシュ",
left_ear="マリグナスピアス",
right_ear="フリオミシピアス",
left_ring={ name="メタモルリング+1", augments={'Path: A',}},
right_ring="メダダリング",
back={ name="デオルクネスマント", augments={'Attack+6','Dark magic skill +7','"Drain" and "Aspir" potency +25',}},
}
sets.midcast['エンダークII']={
ammo="ストンチタスラム+1",
head="IGバゴネット+3",
body="アダマンアーマー",
hands={ name="FLガントレット+3", augments={'Enhances "Diabolic Eye" effect',}},
legs="HTフランチャ+2",
feet="ラトリソルレット",
neck="インカンタートルク",
waist="オルペウスサッシュ",
left_ear={ name="オノワイヤリング+1", augments={'Path: A',}},
right_ear="磁界の耳",
left_ring="エバネセンスリング",
right_ring="スティキニリング+1",
back={ name="デオルクネスマント", augments={'Attack+6','Dark magic skill +7','"Drain" and "Aspir" potency +25',}},
}
sets.midcast.Absorb={
ammo="ペムフレドタスラム",
head="IGバゴネット+3",
body="アダマンアーマー",
hands={ name="FLガントレット+3", augments={'Enhances "Diabolic Eye" effect',}},
legs={ name="FLフランチャー+3", augments={'Enhances "Muted Soul" effect',}},
feet="ラトリソルレット",
neck="エーラペンダント",
left_ear="マリグナスピアス",
right_ear={ name="ヒーズンピアス+2", augments={'System: 1 ID: 1676 Val: 0','Accuracy+17','Mag. Acc.+17','Weapon skill damage +4%','STR+9 INT+9',}},
left_ring="キシャールリング",
right_ring="スティキニリング+1",
back="チュパローサマント"
}
end
コメント