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

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

このコードでは、次のことができます。

  • 特性
    • バフ効果を高める装備に自動着替え
    • 着替え時のHP減少対策
    • 詠唱中断されにくい魔法詠唱(効果アップ装備着替え)
    • バットゥタ時に受け流し装備自動着替え
  • マクロ制御
    • ヘイト稼ぎ関連
  • フラグ制御
    • Jazero切り替え
  • その他
    • ジョブロード時にロックスタイル固定
    • ルーン効果のカンニングペーパー
目次

ソースコード

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

GearSwap/
  └ data/
    ├ RUN.lua
    └ キャラクター名/
      └ RUN_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
end

function user_setup()
    -- gs c cycle OffenseMode
    state.OffenseMode:options('Normal','Parry')
    
    -- gs c cycle IdleMode
    state.IdleMode:options('Normal','Refresh')
    
    -- gs c cycle MainWeapons
    state.MainWeapons  = M{'Epeolatry'}

    -- gs c cycle SubWeapons
    state.SubWeapons  = M{'BalaramaGrip','Khonsu'}

    -- gs c cycle RuneText
    state.RuneText = M(false, 'ルーン')
    
    send_command('wait 5; gs c set IdleMode Normal; gs c lockstyleset;')
end

function user_unload()
    text_destroy()          
end

function user_post_midcast(spell, action, spellMap, eventArgs)
    if spell.skill == '強化魔法' then
        if state.Buff['エンボルド'] then
            equip(sets.buff['エンボルド'])
        end
    end
end

function job_post_precast(spell, action, spellMap, eventArgs) 
    set_priorities_by_hp()
end

function job_post_midcast(spell, action, spellMap, eventArgs) 
    set_priorities_by_hp()
    local fc=63/100
    if buffactive['ファストキャスト'] then
        --フサルクトラウザ装備時メリポのインスパイア1につき+12%
        fc = fc + 12/100
    end
    if player.sub_job == '赤' then
        fc = fc + 15/100
    end
    if fc >= 80/100 then
        fc = 80/100
    end

    if string.find(spell.type, 'Magic') then
        equip(sets.Hpboost)

        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 spellMap == 'Stoneskin' then
            eventArgs.handled = true
            send_command('wait '..cast_time..'; gs equip sets.Hpboost; gs equip sets.midcast.Stoneskin')

        elseif spellMap == 'Regen' then
            eventArgs.handled = true
            send_command('wait '..cast_time..'; gs equip sets.Hpboost; gs equip sets.midcast.Regen')
        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 not gain then
        windower.add_to_chat(167,'■■■■■ファランクス切れ■■■■■')
    elseif buff == 'バットゥタ' and gain then
        send_command('gs c set OffenseMode Parry')
    elseif buff == 'バットゥタ' and not gain then
        send_command('gs c set OffenseMode Normal')
    elseif buff == 'エンボルド' and gain then
        equip(sets.buff['エンボルド'])
    elseif buff == 'エンボルド' and not gain then
        send_command('gs c Idle')
    end
end

function customize_idle_set(idleSet)
    local weapon = customize_weapon_set()
    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 = customize_weapon_set()
    meleeSet = set_combine(meleeSet, weapon)
    if state.Buff['エンボルド']  then
        idleSet = set_combine(idleSet, sets.buff['エンボルド'] )
    end
    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
        if player.status == 'Idle'then 
            equip(get_idle_set()) 
        else
            equip(get_melee_set()) 
        end
        
    elseif cmdParams[1] == 'Enmity' then
        local spell_recasts = windower.ffxi.get_spell_recasts()
        local recast_time_Flash = spell_recasts[112]/60
        local recast_time_BlankGaze = spell_recasts[592]/60
        local recast_time_Jettatura = spell_recasts[575]/60
        local recast_time_Stun = spell_recasts[252]/60
        
        local ability_recasts = windower.ffxi.get_ability_recasts()
        local recast_time_Provoke = spell_recasts[5]/60

        if recast_time_Flash == 0 then
            send_command('input /ma '..windower.to_shift_jis('フラッシュ')..' <stnpc>')
        elseif player.sub_job == '青' and recast_time_Jettatura == 0 then
            send_command('input /ma '..windower.to_shift_jis('ジェタチュラ')..' <stnpc>')--0.5
        elseif player.sub_job == '青' and recast_time_BlankGaze == 0 then
            send_command('input /ma '..windower.to_shift_jis('ブランクゲイズ')..' <stnpc>')--3
        elseif player.sub_job == '戦' and recast_time_Provoke == 0 then
            send_command('input /ja '..windower.to_shift_jis('挑発')..' <stnpc>')
        elseif player.sub_job == '暗' and recast_time_Stun == 0 then
            send_command('input /ma '..windower.to_shift_jis('スタン')..' <stnpc>')
        end

    elseif cmdParams[1] == 'EnmityRange' then
        local spell_recasts = windower.ffxi.get_spell_recasts()
        local recast_time_FrightfulRoar = spell_recasts[561]/60
        local recast_time_Soporific = spell_recasts[598]/60
        local recast_time_SheepSong = spell_recasts[584]/60
        local recast_time_GeistWall = spell_recasts[605]/60
        local recast_time_Stinking = spell_recasts[537]/60
        local recast_time_Poisonga = spell_recasts[225]/60
        
        if player.sub_job == '青' and recast_time_FrightfulRoar == 0 then
            send_command('input /ma '..windower.to_shift_jis('フライトフルロア')..' <stnpc>')--2
        elseif player.sub_job == '青' and recast_time_GeistWall == 0 then
            send_command('input /ma '..windower.to_shift_jis('ガイストウォール')..' <stnpc>')--3
        elseif player.sub_job == '青' and recast_time_Stinking == 0 then
            send_command('input /ma '..windower.to_shift_jis('スティンキングガス')..' <stnpc>')--4
        elseif player.sub_job == '青' and recast_time_Soporific == 0 then
            send_command('input /ma '..windower.to_shift_jis('サペリフィック')..' <stnpc>')--3
        elseif player.sub_job == '青' and recast_time_SheepSong == 0 then
            send_command('input /ma '..windower.to_shift_jis('シープソ\\ング')..' <stnpc>')--3
        elseif player.sub_job == '暗' and recast_time_Poisonga == 0 then
            send_command('input /ma '..windower.to_shift_jis('ポイゾガ')..' <stnpc>')--3
        end

    elseif cmdParams[1] =='RuneText' then
        if state.RuneText.value then
            showText()
        else
            hideText()
        end
    end
end

function set_priorities_by_hp()
    local future,current = gearswap.equip_list,gearswap.equip_list_history
    function get_hp(piece)
        if piece and type(piece)=='table' and piece.hp and type(piece.hp)=='number' then
            return piece.hp
        end
        return 0
    end
    
    for i,v in pairs(future) do
        local priority = get_hp(future[i]) - get_hp(current[i])
        if type(v) == 'table' then
            future[i].priority = priority
        else
            future[i] = {name=v,priority=priority}
        end
    end
end

local texts = require('texts')
message={
    [1] = {name='イグニス ', desc1='火:',desc2='(氷:',desc3='麻痺、バインド)'},
    [2] = {name='ゲールス ', desc1='氷:',desc2='(風:',desc3='静寂、ヘヴィ)'},
    [3] = {name='フラブラ ', desc1='風:',desc2='(土:',desc3='石化、テラー、スロウ)'},
    [4] = {name='テッルス ', desc1='土:',desc2='(雷:',desc3='スタン)'},
    [5] = {name='スルポール', desc1='雷:',desc2='(水:',desc3='毒)'},
    [6] = {name='ウンダ  ', desc1='水:',desc2='(火:',desc3='病気、悪疫、アムネジア)'},
    [7] = {name='ルックス ', desc1='光:',desc2='(闇:',desc3='呪い、睡眠)'},
    [8] = {name='テネブレイ', desc1='闇:',desc2='(光:',desc3='魅了、睡眠)'},
}
text_box = texts.new('${text}',{text={font='Meiryo', size=10}, pos={x=10, y=250}, padding = 5, bg={alpha=180}})
text_box.text='属性      耐性\n'..
'\\cs(255,128,128)'..message[1].desc1..message[1].name..message[1].desc2..message[1].desc3..'\\cr'..'\n'..
'\\cs(128,255,255)'..message[2].desc1..message[2].name..message[2].desc2..message[2].desc3..'\\cr'..'\n'..
'\\cs(128,255,128)'..message[3].desc1..message[3].name..message[3].desc2..message[3].desc3..'\\cr'..'\n'..
'\\cs(255,255,128)'..message[4].desc1..message[4].name..message[4].desc2..message[4].desc3..'\\cr'..'\n'..
'\\cs(255,128,255)'..message[5].desc1..message[5].name..message[5].desc2..message[5].desc3..'\\cr'..'\n'..
'\\cs(128,128,255)'..message[6].desc1..message[6].name..message[6].desc2..message[6].desc3..'\\cr'..'\n'..
'\\cs(255,255,255)'..message[7].desc1..message[7].name..message[7].desc2..message[7].desc3..'\\cr'..'\n'..
'\\cs(128,128,128)'..message[8].desc1..message[8].name..message[8].desc2..message[8].desc3..'\\cr'

function showText()
    text_box:show()
end

function hideText()
    text_box:hide()
end

function text_destroy()
    text_box:destroy()
end

装備セット

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

    sets.buff['エンボルド'] = {back="ディバートケープ"}
    
    sets.weapons = {}
    sets.weapons.Epeolatry              = {name="エピオラトリー"}
    sets.weapons.BalaramaGrip           = {name="バララマグリップ"}
    sets.weapons.Khonsu                 = {name="コーンスー"}
    
    sets.Hpboost={
		neck={ name="アンムーヴカラー+1",priority=14},
        waist={ name="プラチナモグベルト",priority=16},
        left_ring={ name="月明の指輪",priority=13},
        back={ name="月明の羽衣",priority=15},
    }

    sets.Enmity = {
        ammo="サピエンスオーブ",
        head={ name="ハリタスヘルム",hp=88,},
        body={ name="エメットハーネス+1",hp=61,},
        hands={ name="クーリスグローブ",hp=25,},
        legs={ name="ERレグガード+3",hp=100,},
        feet={ name="ERグリーヴ+3",hp=48,},
        neck="月光の首飾り",
        waist={ name="プラチナモグベルト",hp=300,},
        left_ear={ name="クリプティクピアス",hp=40,},
        right_ear="無知の耳",
        left_ring={ name="ヴェクサーリング+1",hp=55},
        right_ring={ name="アイワツリング",hp=70,},
        back={ name="オーグマケープ", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','Enmity+10','Damage taken-5%',},hp=80},
	}

    sets.idle = {
        ammo="ストンチタスラム+1",
        head={ name="ERガレア+3",hp=111,},
        body={ name="RNコート+3",hp=218,},
        hands={ name="ERガントレ+3",hp=59,},
        legs={ name="ERレグガード+3",hp=100,},
        feet={ name="ERグリーヴ+3",hp=48,},
        neck={ name="フサルクトルク+2", augments={'Path: A',},hp=60,priority=13},
		waist="無の腰当",
        --waist={ name="プラチナモグベルト",priority=16},
        left_ear={ name="クリプティクピアス",hp=40,priority=14},
        right_ear={name="エリラズピアス+1",priority=0},
        left_ring={ name="ヴェクサーリング+1",hp=55,priority=15},
        right_ring="シュネデックリング",
        back={ name="オーグマケープ", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','Enmity+10','Damage taken-5%',},hp=80,priority=16},
    }

    sets.idle.Refresh = set_combine(sets.idle, {
        ammo="ストンチタスラム+1",
        head="無の面",
        body={ name="RNコート+3",hp=218,},
        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="シビルスカーフ",
    })

	sets.idle.Physical = set_combine(sets.idle, {
		left_ring="フォテファイリング",
		right_ring="ワーデンリング"
	})

    sets.engaged = {
        ammo="ストンチタスラム+1",
        head={ name="ERガレア+3",hp=111,},
        body={ name="RNコート+3",hp=218,},
        hands={ name="ERガントレ+3",hp=59,},
        legs={ name="ERレグガード+3",hp=100,},
        feet={ name="ERグリーヴ+3",hp=48,},
        neck={ name="フサルクトルク+2", augments={'Path: A',},hp=60},
        waist="無の腰当",
        left_ear={ name="クリプティクピアス",hp=40,priority=14},
        right_ear={name="エリラズピアス+1",priority=0},
        left_ring={ name="ヴェクサーリング+1",hp=55,priority=15},
        right_ring="ニックマドゥリング",
        back={ name="オーグマケープ", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','Enmity+10','Damage taken-5%',},hp=80},
    }
    sets.engaged.Parry=set_combine(sets.engaged,{ head="無の面", hands="トゥルムミトン+1",legs="ERレグガード+3",feet="トゥルムレギンス+1",})
    
    --
    -- ■■■■■ precast ■■■■■
    --
    sets.precast.JA['E.スフォルツォ']       = set_combine(sets.Enmity,{body="FUコート+3"})
    sets.precast.JA['イグニス']             = set_combine(sets.Enmity,{})
    sets.precast.JA['ヴァリエンス']         = set_combine(sets.Enmity,{body="RNコート+3",legs="FUトラウザ+3"})
    sets.precast.JA['ヴァレション']         = set_combine(sets.Enmity,{body="RNコート+3",legs="FUトラウザ+3"})
    sets.precast.JA['ウンダ']               = set_combine(sets.Enmity,{})
    sets.precast.JA['エンボルド']           = set_combine(sets.Enmity,{})
    sets.precast.JA['オディリックサブタ']   = set_combine(sets.Enmity,{})
    sets.precast.JA['ガンビット']           = set_combine(sets.Enmity,{hands="RNミトン+3"})
    sets.precast.JA['ゲールス']             = set_combine(sets.Enmity,{})
    sets.precast.JA['スルポール']           = set_combine(sets.Enmity,{})
    sets.precast.JA['スワイプ']             = set_combine(sets.Enmity,{})
    sets.precast.JA['センチネル']           = set_combine(sets.Enmity,{})
    sets.precast.JA['ソードプレイ']         = set_combine(sets.Enmity,{hands="FUミトン+3"})
    sets.precast.JA['テッルス']             = set_combine(sets.Enmity,{})
    sets.precast.JA['テネブレイ']           = set_combine(sets.Enmity,{})
    sets.precast.JA['バットゥタ']           = set_combine(sets.Enmity,{head="FUバンド+3"})
    sets.precast.JA['ビベイシャス']         = set_combine(sets.Enmity,{head="ERガレア+3",legs="RNトラウザ+2",neck="インカンタートルク",left_ring="スティキニリング+1",right_ring="スティキニリング+1"})
    sets.precast.JA['フラブラ']             = set_combine(sets.Enmity,{})
    sets.precast.JA['フルーグ']             = set_combine(sets.Enmity,{feet="RNブーツ+2"})
    sets.precast.JA['ランジ']               = set_combine(sets.Enmity,{})
    sets.precast.JA['リエモン']             = set_combine(sets.Enmity,{})
    sets.precast.JA['ルックス']             = set_combine(sets.Enmity,{})
    sets.precast.JA['レイク']               = set_combine(sets.Enmity,{feet="FUブーツ+3"})
    sets.precast.JA['ワンフォアオール']     = set_combine(sets.Enmity,{})

    sets.precast.FC = {
        ammo="サピエンスオーブ",
        head={ name="RNバンド+3",hp=109,},
        body=={ name="ERサーコート+3",hp=143,},
        hands=={ name="レイライングローブ",hp=25,},
        legs=={ name="ニャメフランチャ",hp=114,},
        feet=={ name="ニャメソルレット",hp=68,},
        neck="オルンミラトルク",
        waist={ name="プラチナモグベルト",hp=300},
        left_ear={ name="オノワイヤリング+1", augments={'Path: A',}},
        right_ear={ name="エテオレートピアス",hp=50},
        left_ring={ name="月明の指輪",hp=100,},
        right_ring="メダダリング",
        back={ name="オーグマケープ", augments={'HP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10','Damage taken-5%',},hp=60},
    }
  
    sets.precast.WS.Critical = {
    }

    sets.precast.WS.Damage = {
        ammo="オシャシャの原論文",
        head="ERガレア+3",
        body="ERサーコート+3",
        hands="ERガントレ+3",
        legs="ERレグガード+3",
        feet="ERグリーヴ+3",
        neck="無の喉輪",
        waist="無の腰当",
        left_ear="オドルピアス",
        right_ear={ name="エリラズピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+12','Mag. Acc.+12','Damage taken-4%',}},
        left_ring="イラブラットリング",
        right_ring="王将の指輪",
        back={ name="オーグマケープ", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','Enmity+10','Damage taken-5%',},hp=80},
    }

    sets.precast.WS.Magic = {
        ammo="コイストボダー",
        head="ニャメヘルム",
        body="ニャメメイル",
        hands="ニャメガントレ",
        legs="ニャメフランチャ",
        feet="ニャメソルレット",
        neck="シビルスカーフ",
        waist={ name="セールフィベルト+1", augments={'Path: A',}},
        left_ear={ name="胡蝶のイヤリング", augments={'Accuracy+4','TP Bonus +250',}},
        right_ear="フリオミシピアス",
        left_ring={ name="メタモルリング+1", augments={'Path: A',}},
        right_ring="メダダリング",
        back={ name="オーグマケープ", augments={'HP+60','Eva.+20 /Mag. Eva.+20','HP+20','Enmity+10','Damage taken-5%',},hp=80},
    }

    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.Damage 
    sets.precast.WS['クレセントムーン']     = sets.precast.WS.Damage 
    sets.precast.WS['シックルムーン']       = sets.precast.WS.Damage 
    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.Damage 
    sets.precast.WS['デミディエーション']   = sets.precast.WS.Damage 
    sets.precast.WS['フィンブルヴェト']     = sets.precast.WS.Damage 

    --
    -- ■■■■■ midcast ■■■■■
    --
    sets.midcast.interruption = {
        ammo="ストンチタスラム+1",
        head={ name="ERガレア+3",hp=111,},
        body={ name="アダマンアーマー",hp=182,},
        hands={ name="ローハイドグローブ", augments={'HP+50','Accuracy+15','Evasion+20',},hp=25,},
        legs={ name="カマインクウィス+1", augments={'HP+80','STR+12','INT+12',},hp=130},
        feet={ name="ERグリーヴ+3",hp=48,},
        neck="月光の首飾り",
        waist="オドンブラサッシュ",
        left_ear="オノワイヤリング+1",
        right_ear="磁界の耳",
        left_ring={ name="月明の指輪",hp=100},
        right_ring="ゼラチナスリング+1",
        back={ name="オーグマケープ", augments={'HP+60','Eva.+20 /Mag. Eva.+20','"Fast Cast"+10','Damage taken-5%',},hp=60},
	}

    sets.midcast.EnhancingMagic = {
        ammo="ストンチタスラム+1",
        head={ name="ERガレア+3",hp=111,},
        body={ name="アダマンアーマー",hp=182,},
        hands={ name="ニャメガントレ",hp=91,},
        legs={ name="FUトラウザ+3", augments={'Enhances "Inspire" effect',},hp=107,},
        feet={ name="ニャメソルレット",hp=68,},
        neck={ name="サクロゴルゲット",hp=50,},
        waist="スローダベルト",
        left_ear="ミミルピアス",
        right_ear={ name="エリラズピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+12','Mag. Acc.+12','Damage taken-4%',}},
        left_ring={ name="月明の指輪",hp=100},
        right_ring="守りの指輪",
        back={ name="月明の羽衣",hp=250},
    }

    sets.midcast.Stoneskin= set_combine(sets.midcast.Enhancing ,{
        body={ name="アダマンアーマー",hp=182,},
        hands="ストーンマフラ",
        legs="ヘイヴンホーズ",
        neck="ストーンゴルゲット",
        waist="ジーゲルサッシュ",
        left_ear="アースクライピアス",
        back={ name="月明の羽衣",hp=250},
    })

    sets.midcast.Phalanx = {
        ammo="ストンチタスラム+1",
        head={ name="FUバンド+3", augments={'Enhances "Battuta" effect',},hp=56,},
        body={ name="ヘルクリアベスト", augments={'STR+10','Pet: STR+9','Phalanx +5','Mag. Acc.+3 "Mag.Atk.Bns."+3',},hp=61,},
        hands={ name="ヘルクリアグローブ", augments={'Magic Damage +1','Crit. hit damage +3%','Phalanx +4','Accuracy+10 Attack+10','Mag. Acc.+20 "Mag.Atk.Bns."+20',},hp=20},
        legs={ name="ヘルクリアトラウザ", augments={'AGI+8','Attack+7','Phalanx +4','Accuracy+1 Attack+1','Mag. Acc.+2 "Mag.Atk.Bns."+2',},hp=38},
        feet={ name="ヘルクリアブーツ", augments={'Weapon skill damage +2%','"Fast Cast"+3','Phalanx +5','Accuracy+16 Attack+16',},hp=9},
        neck="インカンタートルク",
        waist={ name="プラチナモグベルト",hp=300},
        left_ear="ミミルピアス",
        right_ear={ name="エリラズピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+12','Mag. Acc.+12','Damage taken-4%',}},
        left_ring={ name="月明の指輪",hp=100},
        right_ring="守りの指輪",
        back={ name="ディバートケープ", augments={'Enmity+1','"Embolden"+15','"Dbl.Atk."+3',}},
    }

    sets.midcast.Regen = set_combine(sets.midcast['強化魔法'],{head="RNバンド+3",body="FUコート+3",neck="サクロゴルゲット",waist="スローダベルト"})

    sets.midcast.Cure = sets.Enmity

end

カスタマイズ注意点

  • ご自身の装備ファストキャスト数値を、job_midcastのfcに反映してください。
  • インスパイア(メリポ)の数値によってFC値が変わりますので、ご注意ください。

コメント

コメント一覧 (5件)

  • 98行目 sets.precast.JA[‘スライトソード’] = set_combine(sets.Enmity,{hands=”FUミトン+3″})

    ですが、[‘スライトソード’]はジョブ特性ですので、
    正しくは、
    90行目 sets.precast.JA[‘ソードプレイ’] = set_combine(sets.Enmity,{})

    90行目 sets.precast.JA[‘ソードプレイ’] = set_combine(sets.Enmity,{hands=”FUミトン+3″})

    かと思われます。

    • ご指摘ありがとうございます。
      魔道剣士は、不慣れなものでして・・・

      用語辞典を参考に作ったので、理解できておりませんでした。
      誤り部分を修正して反映しました。
      また何か待ち該当あれば教えてください!

  • そうなんですね、自分で組むとき気にしてたんですっきりしました。
    ありがとうございます

  • 自分で試せてないので申し訳ないですが
    ロジック
    13  state.Buff[“エンボルド”] = buffactive[“エンボルド”] or false → ’エンボルト’
    ギア
    69-94 装備は ’’ → ””   じゃ無くても動きますか?

    • ダブルクォーテーションとシングルクォーテーションが統一されていないけど動くのか?
      ということですね?

      システム的には問題ありません。
      普通に動きます。

      ただ、あちこちからコピペして作っているため、混在した状態になっていてすっきりしない書き方になっています。

      どちらかで統一した方がよさそうなので、全コードチェックしておきます。

takahashikazuo へ返信する コメントをキャンセル

目次