2025/7/9 オリジナル共通ファイルにて被強化バフを受けた際の自動着替えが行えるようになりました

【GearSwap】ナイトのMote-libs用コード

ナイトのMote-libsコードです。

目次

ソースコード

ファイル構成

GearSwap/
  └ data/
    ├ user-globals.lua共通ファイル
    ├ PLD.lua(ジョブロジック)
    └ キャラクター名/
      └ PLD_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

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

     -- gs c cycle PhysicalDefenseMode
    state.PhysicalDefenseMode:options('Normal','Sentinel')

    -- gs c cycle IdleMode
    state.IdleMode:options('Normal','Refresh')
    
    -- gs c cycle WeaponskillMode
    state.WeaponskillMode:options('Normal', 'SubtleBlow')

    -- gs c cycle MainWeapons
    state.MainWeapons   = M{'Burtgang','Levante'}

    -- gs c cycle SubWeapons
    state.SubWeapons    = M{'Duban','Aegis'}

    send_command('bind f3 gs c cycle SubWeapons;')
end


function user_unload()
    send_command('bind f3 gs c cycle OffenseMode;')
end


function job_post_midcast(spell, action, spellMap, eventArgs) 
    for buff,active in pairs(state.Buff) do
        if active and sets.buff[buff] then
            equip(sets.buff[buff])
        end
    end

    if string.find(spell.type, 'Magic') then
        local fc=65/100
        if player.sub_job == '赤' then
            fc = fc + 15/100
        end
        if fc >= 80/100 then
            fc = 80/100
        end
        equip(sets.midcast.interruption)
        local adjust=0.9
        local cast_time = (spell.cast_time*(1-fc))*adjust

        if spellMap == 'Cure' then
            eventArgs.handled = true
            send_command('wait '..cast_time..'; gs equip sets.Hpboost; gs equip sets.midcast.Cure')

        elseif spellMap == 'Phalanx' then
            eventArgs.handled = true
            send_command('wait '..cast_time..'; gs equip sets.Hpboost; gs equip sets.midcast.Phalanx')

        elseif spell.name == 'フラッシュ' then
            eventArgs.handled = true
            send_command('wait '..cast_time..'; gs equip sets.Hpboost; gs equip sets.Enmity')

        else
            eventArgs.handled = true
            send_command('wait '..cast_time..'; gs equip sets.Hpboost; gs equip sets.Enmity')
        end
    end
end

function job_buff_change(buff, gain)
    if buff == 'センチネル' and gain then
        send_command('gs c set PhysicalDefenseMode Sentinel')

    elseif buff == 'センチネル' and not gain then
        send_command('gs c set PhysicalDefenseMode Normal')
    
    elseif buff == '神聖の印' and gain then
        equip(sets.buff['神聖の印'])
        disable('feet')
        
    elseif buff == '神聖の印' and not gain then
        enable('feet')
        Idle()
    end
end

装備定義

function init_weaponns()
    --デフォルト武器を設定
	send_command('gs c set MainWeapons Burtgang')
	send_command('gs c set DefenseMode Physical')
end


function init_gear_sets()
	--ロックスタイル番号
	lockstyleset = 41

	--武器
	gear.Burtgang	= {name="ブルトガング"}
	gear.Levante	= {name="レヴァンテダガー"}
	gear.Duban		= {name="ドゥバン"}
	gear.Aegis 		= {name="イージス"}
	gear.Slip  		= {name="カリブルヌス"}

	--待機装備(通常)
	sets.idle = {
		ammo="ストンチタスラム+1",
		head="CVアーメット+3",
		body="サクロブレスト",
		hands="CVガントレ+3",
		legs="CVクウィス+3",
		feet="CVサバトン+3",
		neck={ name="アンムーヴカラー+1", augments={'Path: A',},priority=15},
		waist={ name="プラチナモグベルト",priority=16},
		left_ear={ name="ズワゾピアス+1", augments={'Path: A',},priority=13},
		right_ear={ name="シバリエピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
		left_ring="ワーデンリング",
		right_ring="シュネデックリング",
		back={ name="ルディアノスマント", augments={'VIT+20','Eva.+20 /Mag. Eva.+20','VIT+10','Enmity+10','Chance of successful block +5',}},
	}

	--待機装備(リフレ)
	sets.idle.Refresh = {body="SVキュイラス+1"}
	
    --走り回る用
    sets.Kiting={right_ring="シュネデックリング",}

    --センチネル
   	sets.defense.Sentinel={feet="CBレギンス+3"}

	--抜刀装備
	sets.engaged = {
		ammo="ストンチタスラム+1",
		head="サクパタヘルム",
		body="アダマンアーマー",
		hands="サクパタガントレ",
		legs="サクパタクウィス",
		feet="サクパタレギンス",
		neck={ name="アンムーヴカラー+1", augments={'Path: A',},priority=15},
		waist={ name="プラチナモグベルト",priority=16},
		left_ear={ name="ズワゾピアス+1", augments={'Path: A',},priority=13},
		right_ear={ name="シバリエピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
		left_ring="ワーデンリング",
		right_ring="アイワツリング",
		back={ name="ルディアノスマント", augments={'VIT+20','Eva.+20 /Mag. Eva.+20','VIT+10','Enmity+10','Chance of successful block +5',}},
	}

	--敵対心装備
	sets.Enmity = {
		ammo="サピエンスオーブ",
		head={ name="ロースバルブータ+1", augments={'Path: A',}},
		body="CVキュイラス+3",
		hands={ name="SVハントシュ+1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
		legs={ name="CBブリーチズ+3", augments={'Enhances "Invincible" effect',}},
		feet="CVサバトン+3",
		neck="月光の首飾り",
		waist={ name="プラチナモグベルト",priority=16},
		left_ear={ name="オノワイヤリング+1", augments={'Path: A',},priority=15},
		right_ear="無知の耳",
		left_ring={ name="ヴェクサーリング+1",priority=14},
		right_ring={ name="アイワツリング",priority=13},
		back={ name="ルディアノスマント", augments={'VIT+20','Eva.+20 /Mag. Eva.+20','VIT+10','Enmity+10','Chance of successful block +5',}},
	}

	--HPブースト装備(着替えHP低下対策用)
	sets.Hpboost={
		neck={ name="アンムーヴカラー+1",priority=14},
        waist={ name="プラチナモグベルト",priority=16},
        left_ring={ name="ゼラチナスリング+1", augments={'Path: A',},priority=13},
        right_ring={ name="月明の指輪",priority=12},
        back={ name="月明の羽衣",priority=15},
    }

	--HP低下装備(自己ケアル用)
    sets.LowHp={
		head="カマインマスク+1",
		body="SVキュイラス+1",
		left_ring="守りの指輪",
		waist="オドンブラサッシュ"
    }

	--監視用バフ]
    sets.buff['神聖の印'] 				= {feet="CVサバトン+3"}
    
	--即時発動系バフ
	sets.precast.JA = sets.Enmity
	sets.precast.JA['かばう'] 	        = set_combine(sets.Enmity,{head="RVコロネット+1",legs="CBブリーチズ+3"})
	sets.precast.JA['ホーリーサークル'] = set_combine(sets.Enmity,{feet="RVレギンス+3"})
	sets.precast.JA['インビンシブル'] 	= set_combine(sets.Enmity,{legs="CBブリーチズ+3"})
	sets.precast.JA['ホーリーサークル'] = set_combine(sets.Enmity,{feet="RVレギンス+3"})
	sets.precast.JA['シールドバッシュ'] = set_combine(sets.Enmity,{hands="CBガントレ+3"})
	sets.precast.JA['センチネル'] 		= set_combine(sets.Enmity,{feet="CBレギンス+3"})
	sets.precast.JA['ランパート'] 		= set_combine(sets.Enmity,{head="CBコロネット+3"})
	sets.precast.JA['フィールティ'] 	= set_combine(sets.Enmity,{body="CBサーコート+3"})
	sets.precast.JA['シバルリー'] 		= {
		ammo="クォーツタスラム+1",
		hands={ name="CBガントレ+3", augments={'Enhances "Chivalry" effect',}},
		neck={ name="騎士の数珠+2", augments={'Path: A',},priority=13},
        waist={ name="プラチナモグベルト",priority=16},
		left_ear={ name="オノワイヤリング+1", augments={'Path: A',},priority=14},
		right_ear="エアバニピアス",
		left_ring="スティキニリング+1",
		right_ring="スティキニリング+1",
        back={ name="月明の羽衣",priority=15},
	}

	--FC
	sets.precast.FC = {--65
		ammo="サピエンスオーブ",
		head={ name="カマインマスク+1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
		body="RVサーコート+3",
		hands={ name="レイライングローブ", augments={'Accuracy+15','Mag. Acc.+15','"Mag.Atk.Bns."+15','"Fast Cast"+3',}},
		legs={ name="カマインクウィス+1", augments={'HP+80','STR+12','INT+12',}},
		feet={ name="オディシアグリーヴ", augments={'Mag. Acc.+1 "Mag.Atk.Bns."+1','"Fast Cast"+6','VIT+2','Mag. Acc.+2','"Mag.Atk.Bns."+13',}},
		neck={ name="アンムーヴカラー+1", augments={'Path: A',},priority=15},
        waist={ name="プラチナモグベルト",priority=16},
		left_ear={ name="オノワイヤリング+1", augments={'Path: A',},priority=13},
		right_ear={ name="シバリエピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
		left_ring={ name="ゼラチナスリング+1", augments={'Path: A',},priority=14},
		right_ring="メダダリング",
		back={ name="ルディアノスマント", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','"Fast Cast"+10','Spell interruption rate down-10%',}},
    }

	--WSダメージ
	sets.precast.WS.Damage = {
		ammo="昏黄の礫",
		head="サクパタヘルム",
		body="サクパタブレスト",
		hands="サクパタガントレ",
		legs="サクパタクウィス",
		feet="サクパタレギンス",
		neck="フォシャゴルゲット",
		waist="フォシャベルト",
		left_ear="テロスピアス",
		right_ear={ name="シバリエピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
		left_ring="月明の指輪",
		right_ring="エパミノダスリング",
		back="月明の羽衣",
    }

	--WSクリティカル
	sets.precast.WS.Critical = {
		ammo="昏黄の礫",
		head="サクパタヘルム",
		body="サクパタブレスト",
		hands="サクパタガントレ",
		legs="サクパタクウィス",
		feet="サクパタレギンス",
		neck="フォシャゴルゲット",
		waist="フォシャベルト",
		left_ear="テロスピアス",
		right_ear={ name="シバリエピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
		left_ring="月明の指輪",
		right_ring="エパミノダスリング",
		back="月明の羽衣",
    }

	--WS魔攻
	sets.precast.WS.Magic = {
		main="レヴァンテダガー",
		sub="ドゥバン",
		ammo="ストンチタスラム+1",
		head="ニャメヘルム",
		body="ニャメメイル",
		hands="ニャメガントレ",
		legs="ニャメフランチャ",
		feet="ニャメソルレット",
		neck="シビルスカーフ",
		waist="オルペウスサッシュ",
		left_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
		right_ear="フリオミシピアス",
		left_ring={ name="メタモルリング+1", augments={'Path: A',}},
		right_ring="メダダリング",
		back="無の外装",
    }

    --WSモクシャ
    sets.precast.WS.SubtleBlow = 
    {
        neck={ name="バーシチョーカー+1", augments={'Path: A',}},
		body="デーゴンブレスト",
        waist="サリサフロイベルト",
        left_ear="ディグニタリピアス",
        left_ring="シーリチリング+1",
        right_ring="シーリチリング+1",
    }
    
	--共通WS定義読み込み
    init_weapon_skill()

    sets.precast.WS["ロイエ"] = { Normal=sets.Enmity,
                                  SubtleBlow=set_combine(sets.Enmity,sets.precast.WS.SubtleBlow)}

	--詠唱中断
	sets.midcast.interruption = {
		ammo="ストンチタスラム+1",
		head={ name="SVシャレル+1", augments={'HP+105','VIT+12','Phys. dmg. taken -4',}},
		body="CVキュイラス+3",
		hands="CVガントレ+3",
		legs="CVクウィス+3",
		feet={ name="SVシュー+1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
		neck="月光の首飾り",
		waist="オドンブラサッシュ",
		left_ear="磁界の耳",
		right_ear={ name="シバリエピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
		left_ring={ name="ゼラチナスリング+1", augments={'Path: A',},priority=16},
        right_ring={ name="月明の指輪",priority=15},
		back={ name="ルディアノスマント", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','"Fast Cast"+10','Spell interruption rate down-10%',},priority=14},
	}

	--ファランクス
	sets.midcast.Phalanx = {
		main="サクパタソード",
		sub="プリュウェン",
		ammo="ストンチタスラム+1",
		head={ name="オディシアヘルム", augments={'"Dbl.Atk."+3','"Mag.Atk.Bns."+3','Phalanx +5',}},
		body={ name="オディシアプレート", augments={'VIT+8','Attack+1','Phalanx +5',}},
		hands={ name="SVハントシュ+1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
		legs="サクパタクウィス",
		feet={ name="SVシュー+1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
		neck="月光の首飾り",
        waist={ name="プラチナモグベルト",priority=16},
		left_ear="磁界の耳",
		right_ear="ミミルピアス",
		left_ring="守りの指輪",
        right_ring={ name="月明の指輪",priority=15},
		back={ name="ウェルドマント", augments={'VIT+1','DEX+2','Enmity+1','Phalanx +5',}},
	}

    --被プロテス
    sets.midcast.Protect = {
        right_ring="シェルターリング",
    }

    --被シェル
    sets.midcast.Shell = {
        right_ring="シェルターリング",
    }
    
	--ケアル
	sets.midcast.Cure = {
		ammo="ストンチタスラム+1",
		head={ name="SVシャレル+1", augments={'HP+105','VIT+12','Phys. dmg. taken -4',}},
		body="CVキュイラス+3",
		hands={ name="SVハントシュ+1", augments={'HP+105','Enmity+9','Potency of "Cure" effect received +15%',}},
		legs="CVクウィス+3",
		feet="CVサバトン+3",
		neck="月光の首飾り",
		waist="スローダベルト",
		left_ear={ name="オノワイヤリング+1", augments={'Path: A',},priority=16},
		right_ear={ name="シバリエピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+15','Mag. Acc.+15','Damage taken-5%',}},
		left_ring={ name="ヴェクサーリング+1",priority=13},
		right_ring={ name="アイワツリング",priority=14},
		back={ name="ルディアノスマント", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','"Fast Cast"+10','Spell interruption rate down-10%',},priority=15},
	}
end

コメント

コメント一覧 (6件)

  • ジョブロジックファイルと装備定義ファイルがHPlowのあるなしだけで他が同じように見えたのですが、それで問題なかったでしょうか(PCから離れているので自分で確認できておりません)

  • sets.precast.JA[‘センチネル’] = set_combine(sets.Enmity,{feer=”CBレギンス+3″})
    お世話になってます、粗探しみたいになって申し訳ないですが feet が feerになってます

    • 教えてくれて感謝です!
      今まで動いてなかったことすら気付いていませんでした。。

コメントする

目次