MENU

【GearSwap】コルセアのMote-libs用コード

コルセアの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

コメント

コメントする

目次