【GearSwap】シーフのMote-libs用コード

シーフのMote-libsコードです。

目次

ソースコード

ファイル構成

GearSwap/
  └ data/
    ├ Common.lua(共通ファイル
    ├ THF.lua(ジョブロジック)
    └ キャラクター名/
      └ THF_gear.lua(装備定義)

ジョブロジック

function get_sets()
    mote_include_version = 2
    include('Mote-Include.lua')
    set_language('japanese')
end

function job_setup()
    Initialize()
    state.Buff['不意打ち'] = buffactive['不意打ち'] or false
    state.Buff['だまし討ち'] = buffactive['だまし討ち'] or false
    state.Buff['フェイント'] = buffactive['フェイント'] or false
end

function user_setup()
    -- gs c cycle OffenseMode
    state.OffenseMode:options('Normal')

    -- gs c cycle IdleMode
    state.IdleMode:options('Normal','Refresh')
    
    -- gs c cycle MainWeapons
    state.MainWeapons = M{'Gandring','Tauret'}

    -- gs c cycle SubWeapons
    state.SubWeapons  = M{'Malevolence','Aeneas'}
end

function job_post_precast(spell, action, spellMap, eventArgs)
    if spell.action_type == 'Ranged Attack' then
        equip({range = sets.RangedAttack})
    end
end

function job_post_midcast(spell, action, spellMap, eventArgs)
    if spell.name == 'スリプガ' then
        equip(sets.TreasureHunter)
    elseif spell.name == 'ポイゾガ' then
        equip(sets.TreasureHunter)
    elseif spell.name == 'アブゾタック' then
        equip(sets.TreasureHunter)
    end
end

function job_buff_change(buff, gain)
    if buff == "不意打ち" then
        if gain then
            equip(sets.buff['不意打ち'])
            disable('hands')
        else
            enable('hands')
            if player.status == 'Idle'then 
                equip(get_idle_set()) 
            else
                equip(get_melee_set()) 
            end
        end
    elseif buff == "だまし討ち" then
        if gain then
            equip(sets.buff['だまし討ち'])
            disable('body')
        else
            enable('body')
            if player.status == 'Idle'then 
                equip(get_idle_set()) 
            else
                equip(get_melee_set()) 
            end
        end
    end
end

function customize_idle_set(idleSet)
    local weapon = customize_weapon_set()
    idleSet = set_combine(idleSet, weapon)
    return idleSet
end

function customize_melee_set(meleeSet)
    local weapon = customize_weapon_set()
    meleeSet = set_combine(meleeSet, weapon)
    return meleeSet
end

function customize_weapon_set()
    --武器のセット
    local weapon = nil
    weapon = set_combine(weapon,{main=sets.Weapons[state.MainWeapons.value]})
    weapon = set_combine(weapon,{sub=sets.Weapons[state.SubWeapons.value]})
    return weapon
end

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

    elseif cmdParams[1] == 'Idle' then
        Idle()

    elseif cmdParams[1] == 'Medicine' then
        Medicine()
    end
end

装備定義

function init_weaponns()
    --デフォルト武器を設定
    send_command('gs c set MainWeapons Gandring')
    send_command('gs c set SubWeapons Malevolence')
end
function init_gear_sets()
    lockstyleset = 61

    sets.buff['不意打ち']               = {hands="SKアムレット+2"}
    sets.buff['だまし討ち']             = {body="PDベスト+3",hands="PLアムレット+2"}
    
    sets.weapons = {}
    sets.weapons.Khonsu                 = {name="コーンスー"}
    sets.weapons.Gandring               = {name="ガンドリング"}
    sets.weapons.Malevolence            = {name="マレヴォレンス"}
    sets.weapons.Tauret                 = {name="トーレット"}
    sets.weapons.Aeneas                 = {name="エーネアス"}
    sets.RangedAttack                   = {name="アルビンベーン"}

    sets.TreasureHunter = {
        hands={ name="PDアムレット+3", augments={'Enhances "Perfect Dodge" effect',}},
        feet="SKプーレーヌ+3",    
    }

    sets.idle = {
        ammo="ヤメラング",
        head="無の面",
        body="ニャメメイル",
        hands="ニャメガントレ",
        legs="ニャメフランチャ",
        feet="SKプーレーヌ+3",
        neck={ name="ロリケートトルク+1", augments={'Path: A',}},
        waist="無の腰当",
        left_ear="エアバニピアス",
        left_ring="守りの指輪",
        right_ring="シュネデックリング",
        back="無の外装",
    }

    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 = {
        ammo="銀銭",
        head="マリグナスシャポー",
        body="マリグナスタバード",
        hands="マリグナスグローブ",
        legs="マリグナスタイツ",
        feet="マリグナスブーツ",
        neck="アサシンゴルゲ+2",
        waist="ウィンバフベルト+1",
        left_ear="シェリダピアス",
        right_ear="スカルカピアス+1",
        left_ring="レコリング",
        right_ring="ゲリリング",
        back={ name="トゥタティスケープ", augments={'AGI+20','Eva.+20 /Mag. Eva.+20','"Dual Wield"+10','Phys. dmg. taken-10%',}},
    }

    sets.engaged.TH = set_combine(sets.engaged, sets.TreasureHunter)

    sets.engaged.Multi = set_combine(sets.engaged, {
        ammo="銀銭",
        head={ name="アデマボンネット+1", augments={'DEX+12','AGI+12','Accuracy+20',}},
        body={ name="アデマジャケット+1", augments={'DEX+12','AGI+12','Accuracy+20',}},
        hands={ name="アデマリスト+1", augments={'Accuracy+20','Attack+20','"Subtle Blow"+8',}},
        legs="PLキュロット+3",
        feet={ name="PDプーレーヌ+3", augments={'Enhances "Assassin\'s Charge" effect',}},
        neck="コンバタントトルク",
        waist="ウィンバフベルト+1",
        left_ear="シェリダピアス",
        right_ear={ name="スカルカピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+13','Mag. Acc.+13','"Store TP"+4',}},
        left_ring="レコリング",
        right_ring="ゲリリング",
        back={ name="トゥタティスケープ", augments={'AGI+20','Eva.+20 /Mag. Eva.+20','"Dual Wield"+10','Phys. dmg. taken-10%',}},

    })
        
    sets.precast.FC = {
        ammo="サピエンスオーブ",
        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",
        back={ name="トゥタティスケープ", augments={'"Fast Cast"+10',}},
    
    }
    
    sets.precast.JA['アカンプリス']     = {head="SKボンネット+2"}
    sets.precast.JA['コラボレーター']   = {head="SKボンネット+2"}
    sets.precast.JA['絶対回避']         = {hands="PDアムレット+3"}
    sets.precast.JA['フェイント']       = {legs="PDキュロット+3"}
    sets.precast.JA['とんずら']         = {feet="PLプーレーヌ+3"}
    sets.precast.JA['ぬすむ']           = {feet="PLプーレーヌ+3",ammo="バラスルーム",neck="ペンタラグチャーム"}
    sets.precast.JA['かすめとる']       = {hands="PDアムレット+3"}
    sets.precast.JA['ぶんどる']         = {legs="SKキュロット+2",feet="SKプーレーヌ+3"}
    
    sets.precast.WS = {
    }

    sets.precast.WS.wsd = {
        ammo="パルーグストーン",
        head="SKボンネット+2",
        body="SKベスト+3",
        hands={ name="PDアムレット+3", augments={'Enhances "Perfect Dodge" effect',}},
        legs={ name="PDキュロット+3", augments={'Enhances "Feint" effect',}},
        feet="SKプーレーヌ+3",
        neck="フォシャゴルゲット",
        waist="フォシャベルト",
        left_ear="シェリダピアス",
        right_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
        left_ring="アペートリング",
        right_ring="ゲリリング",
        back={ name="トゥタティスケープ", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Weapon skill damage +10%',}},
    }
    
    sets.precast.WS.critical = {
        ammo="パルーグストーン",
        head={ name="アデマボンネット+1", augments={'DEX+12','AGI+12','Accuracy+20',}},
        body="PLベスト+3",
        hands={ name="PDアムレット+3", augments={'Enhances "Perfect Dodge" effect',}},
        legs="PLキュロット+3",
        feet="SKプーレーヌ+3",
        neck="フォシャゴルゲット",
        waist="フォシャベルト",
        left_ear="シェリダピアス",
        right_ear="オドルピアス",
        left_ring="レコリング",
        right_ring="ゲリリング",
        back={ name="トゥタティスケープ", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','Crit.hit rate+10',}},
    }
    
    sets.precast.WS.magic = {
        ammo="ペムフレドタスラム",
        head={ name="ニャメヘルム", augments={'Path: B',}},
        body="ニャメメイル",
        hands="ニャメガントレ",
        legs="ニャメフランチャ",
        feet="SKプーレーヌ+3",
        neck="シビルスカーフ",
       -- waist="オルペウスサッシュ",
        waist="エスカンストーン",
        left_ear="フリオミシピアス",
        right_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
        left_ring="守りの指輪",
        right_ring="ディンジルリング",
        back={ name="トゥタティスケープ", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','Weapon skill damage +10%','Phys. dmg. taken-10%',}},
    }

    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.magic
    sets.precast.WS['エナジースティール']   = sets.precast.WS.wsd
    sets.precast.WS['エナジードレイン']     = sets.precast.WS.wsd
    sets.precast.WS['ダンシングエッジ']     = sets.precast.WS.critical
    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.critical
    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.Waltz={
        ammo="ヤメラング",
        body="グレティキュイラス",
        legs="ダッシングサブリガ",
    }
end

コメント

コメント一覧 (2件)

コメントする

目次