MENU

【GearSwap】青魔道士のMote-libs用コード

青魔道士のMote-libsコードです。

目次

ソースコード

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

GearSwap/
  └ data/
    ├ 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.OffenseMode:options('Normal','D1')
    state.IdleMode:options('Normal','Refresh')
    state.Weapons        = M{'Tizona','Naegling','Maxentius','D1'}
    state.WeaponLock     = M(false, '武器固定')
    state.TreasureHunter = M(false, 'トレハン')

    include('Mote-TreasureHunter')
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.action_type == 'Ranged Attack' then
		equip({range="ラミアベーン"})
	end
end

function user_post_midcast(spell, action, spellMap, eventArgs)
    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
        if state.WeaponLock.value then
            local weapon = sets.Weapons[state.Weapons.value]
            if player.equipment.sub == weapon.main.name then
                weapon.sub.priority = 1
                weapon.main.priority = 0
            end
           equip(weapon)
        end
    end
    if state.TreasureHunter.value then
        equip(sets.TreasureHunter)
    end
end

function job_buff_change(buff, gain)
    if state.Buff[buff] ~= nil then
        state.Buff[buff] = gain
    elseif state.Buff["睡眠"]  then
        if gain then -- 睡眠状態
            equip({main="カリブルヌス"})
        end
    end
end

function customize_idle_set(idleSet) 
    if state.WeaponLock.value then
        local weapon = sets.Weapons[state.Weapons.value]
        if player.equipment.sub == weapon.main.name then
            weapon.sub.priority = 1
            weapon.main.priority = 0
        end
        idleSet = set_combine(idleSet, weapon)
    end
    return idleSet
end

function customize_melee_set(meleeSet)    
    local weapon = sets.Weapons[state.Weapons.value]
    if player.equipment.sub == weapon.main.name then
        weapon.sub.priority = 1
        weapon.main.priority = 0
    end
    meleeSet = set_combine(meleeSet, weapon)
    return meleeSet
end

function job_self_command(cmdParams, eventArgs)
    if cmdParams[1] == 'lockstyleset' then
        send_command('input /lockstyleset 21;')
    end
end

装備セット

function init_gear_sets()
    sets.buff['ブルーバースト']     = {feet="HSバシュマク+2"}
    sets.buff['ブルーチェーン']     = {}
    sets.buff['コンバージェンス']   = {}
    sets.buff['ディフュージョン']   = {feet="LLチャルク+3"}
    sets.buff['エンチェーンメント'] = {}
    sets.buff['エフラックス']       = {legs="HSタイト+2"}
 
    sets.Weapons = {}
    sets.Weapons.Tizona     = { main={name="ティソーナ"},       sub={ name="サクパタソード"}}
    sets.Weapons.Naegling   = { main={name="ネイグリング"},     sub={ name="サクパタソード"}}
    sets.Weapons.Maxentius  = { main={name="マクセンチアス"},   sub={ name="サクパタソード"}}
    sets.Weapons.D1         = { 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 = {
        main={ name="シャルウル", augments={'Evasion+15','Phys. dmg. taken -4%','AGI+17',}},
        sub={ name="シャルウル", augments={'Evasion+15','Phys. dmg. taken -4%','AGI+17',}},
        ammo="アマークラスター",
        head="ニャメヘルム",
        body="ニャメメイル",
        hands="ニャメガントレ",
        legs="ニャメフランチャ",
        feet="ニャメソルレット",
        neck={ name="バーシチョーカー+1", augments={'Path: A',}},
        waist="スヴェルグーリズ+1",
        left_ear="エアバニピアス",
        right_ear="インフューズピアス",
        left_ring="守りの指輪",
        right_ring="シュネデックリング",
        back={ name="ロスメルタケープ", augments={'AGI+20','Eva.+20 /Mag. Eva.+20','Evasion+10','Evasion+15',}},
    }

    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ミンタン+2",
        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%',}},
    }


    -- --------------------------------------
    -- precast
    -- --------------------------------------
    sets.precast.JA['アジュールロー'] = {hands="LLバズバンド+1"}

    sets.precast.FC = {
        ammo="サピエンスオーブ",
        head={ name="カマインマスク+1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
        body="ピンガチュニック+1",
        hands="HSバズバンド+2",
        legs="ピンガズボン",
        neck="オルンミラトルク",
        waist="プラチナモグベルト",
        left_ear={ name="オノワイヤリング+1", augments={'Path: A',}},
        left_ring={ name="ゼラチナスリング+1", augments={'Path: A',}},
        right_ring="メダダリング",
        back={ name="フィフォレケープ+1", augments={'Path: A',}},
    }
    sets.precast.FC['青魔法']=set_combine(sets.precast.FC,{body="HSミンタン+2"})
  
    sets.precast.WS.Critical = {
        ammo="コイストボダー",
        head={ name="ブリスタサリット+1", augments={'Path: A',}},
        body="エンフォサハーネス",
        hands="HSバズバンド+2",
        legs="HSタイト+2",
        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カヴク+2",
        body="ASジュバ+3",
        hands="HSバズバンド+2",
        legs="HSタイト+2",
        feet={ name="LLチャルク+3", augments={'Enhances "Diffusion" effect',}},
        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カヴク+2",
        body="HSミンタン+2",
        hands="HSバズバンド+2",
        legs="HSタイト+2",
        feet="HSバシュマク+2",
        neck="シビルスカーフ",
        waist="オルペウスサッシュ",
        left_ear="王将の耳飾り",
        right_ear="フリオミシピアス",
        left_ring="エパミノダスリング",
        right_ring="メダダリング",
        back={ name="オリストケープ+1", augments={'Path: A',}},
    }

    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, {})


    -- --------------------------------------
    -- midcast
    -- --------------------------------------
    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="スティキニリング+1",
        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="ピンガズボン",
        feet="ニャメソルレット",
        neck={ name="アンムーヴカラー+1", augments={'Path: A',}},
        waist="プラチナモグベルト",
        left_ear={ name="オノワイヤリング+1", augments={'Path: A',}},
        left_ring={ name="ゼラチナスリング+1", augments={'Path: A',}},
        back="ソレムニティケープ",
    }

    sets.midcast.BlueHealing=sets.midcast.Cure

    sets.midcast.BlueMagical = {
        main="マクセンチアス",
        sub="ブンジロッド",
        ammo={ name="ガストリタスラム+1", augments={'Path: A',}},
        head="HSカヴク+2",
        body="HSミンタン+2",
        hands="HSバズバンド+2",
        legs="HSタイト+2",
        feet="HSバシュマク+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.BlueMagicAcc = {
        main="マクセンチアス",
        sub="ブンジロッド",
        ammo="ペムフレドタスラム",
        head="HSカヴク+2",
        body="HSミンタン+2",
        hands="HSバズバンド+2",
        legs="HSタイト+2",
        feet="HSバシュマク+2",
        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',}},
        right_ring="メダダリング",
        back={ name="オリストケープ+1", augments={'Path: A',}},
    }

    sets.midcast.BlueBuff = {
        ammo="マーヴィタスラム",
        head={ name="LLケフィエ+3", augments={'Enhances "Convergence" effect',}},
        body="ASジュバ+3",
        hands="HSバズバンド+2",
        legs="HSタイト+2",
        feet={ name="LLチャルク+3", augments={'Enhances "Diffusion" effect',}},
        neck={ name="ミラージストール+2", augments={'Path: A',}},
        waist="プラチナモグベルト",
        left_ear={ name="オノワイヤリング+1", augments={'Path: A',}},
        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="スティキニリング+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,{main="ティソーナ"})
    sets.midcast['サドンランジ']          = set_combine(sets.midcast.BlueMagicAcc,{main="ティソーナ"})

    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

コメント

コメントする

目次