MENU

【GearSwap】暗黒騎士のMote-libs用コード

暗黒騎士のMote-libsコードです。

目次

ソースコード

Mote-libsでは、ジョブロジック部分(ジョブ名.lua)と装備セット部分(ジョブ名_gear.lua)を切り分けていますので、次のような階層構造になっています。

GearSwap/
  └ data/
    ├ DRK.lua
    └ キャラクター名/
      └ DRK_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
    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
ちょっとだけPR

コメント

コメントする

目次