MENU

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

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

目次

ソースコード

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

GearSwap/
  └ data/
    ├ RDM.lua
    └ キャラクター名/
       └RDM_gear.lua

GearSwap\libsによしザウルスさんが日本語対応してくれているMote-libsを設置してください。

ジョブロジック

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

function job_setup()
    include('weather_obi') 
end

function user_setup()
    state.OffenseMode:options('Normal', 'Enn')
    state.IdleMode:options('Normal')
    state.Weapons = M{'CroceaC','Naegling','D1'}
    send_command('wait 5; gs c set IdleMode Normal; gs c lockstyleset')
    send_command('input /si item;')
end

function job_post_midcast(spell, action, spellMap, eventArgs)
    --深度(パライズ,スロウ,アドル,ブライン,ディストラ,フラズル,ポイズン,バイオ)
    --ハック(ブレイク,サイレス,バインド,スリプル)
    if spell.skill == '弱体魔法' then
        equip(sets.midcast['弱体魔法'])
        if spellMap == 'EnfeeblingMagiceffect' then
            --深度
            equip({feet="VIブーツ+3",})
        elseif spellMap == 'Sleep' or spellMap == 'Break' or spellMap == 'Bind' then
            equip(sets.midcast.EnfeeblingEffectInt)
        elseif spellMap == 'Silence' then
            --ハック
            equip(sets.midcast.EnfeeblingEffectMnd)
        end

    elseif spell.skill == '強化魔法' then
         if spell.target.type == 'SELF' then
            if spellMap == 'Temper' or spellMap == 'EnSpell' then
                equip(set_combine(sets.midcast.EnhancingSkill))
            elseif spellMap == 'Refresh' then
                equip(sets.midcast.Refresh)
            elseif spellMap == 'Stoneskin' then
                equip(sets.midcast['ストンスキン'])
            elseif spell.name== 'アクアベール' then
                equip(sets.midcast['アクアベール'])
            else
                equip(sets.midcast['強化魔法'] )
            end
        else
            equip(sets.midcast['強化魔法'].Other)
            if spellMap == 'Refresh' then
                equip(set_combine(sets.midcast['強化魔法'].Other ,sets.midcast.Refresh))                
            end
		end

    elseif spell.skill == '精霊魔法' then
        equip(get_hachirin(spell.element))

    elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
        equip(sets.midcast.CureSelf)
    end
end

function customize_idle_set(idleSet) 
    local weapon = sets.weapons[state.Weapons.value]
    if(player.sub_job == '忍' or player.sub_job == '踊') then
        idleSet = set_combine(idleSet, weapon)
    else
        idleSet = set_combine(idleSet, set_combine(weapon,{sub="玄冥盾"}))
    end
    return idleSet
end

function customize_melee_set(meleeSet)
    local weapon = sets.weapons[state.Weapons.value]
    if(player.sub_job == '忍' or player.sub_job == '踊') then
        meleeSet = set_combine(meleeSet, weapon)
    else
        meleeSet = set_combine(meleeSet, set_combine(weapon,{sub="玄冥盾"}))
    end
    return meleeSet
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
    end
end

装備セット


function init_gear_sets()
	lockstyleset = 1

	sets.weapons = {}
	
    sets.weapons.CroceaC  = { main={name="クロセアモース", augments={'Path: C',}},sub={ name="クレパスクラナイフ"}}
    sets.weapons.Naegling = { main={name="ネイグリング"},       sub={ name="クレパスクラナイフ"}}
    sets.weapons.D1       = { main={name="クトゥルブナイフ"},   sub={ name="幽世の短剣"},}

	sets.idle = {
		ammo="ストンチタスラム+1",
		head={ name="VIシャポー+3", augments={'Enfeebling Magic duration','Magic Accuracy',}},
		body="LTサヨン+2",
		hands="LTガントロ+2",
		legs="ニャメフランチャ",
		feet="ニャメソルレット",
		neck="無の喉輪",
		waist="無の腰当",
		left_ear="エアバニピアス",
		right_ear="ハーティーピアス",
		left_ring="守りの指輪",
		right_ring="シュネデックリング",
		back="無の外装",
	}
	
	sets.engaged = {
		ammo="コイストボダー",
		head="マリグナスシャポー",
		body="マリグナスタバード",
		hands="マリグナスグローブ",
		legs="マリグナスタイツ",
		feet="マリグナスブーツ",
		neck="コンバタントトルク",
		waist="霊亀腰帯",
		left_ear="素破の耳",
		right_ear="シェリダピアス",
		left_ring="シーリチリング+1",
		right_ring="シーリチリング+1",
		back={ name="スセロスケープ", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
    }
	sets.engaged.Enn = set_combine(sets.engaged,{hands="アヤモマノポラ+2",legs="VIタイツ+3"})
    sets.precast.JA['サボトゥール'] = {hands="LTガントロ+2"}
    sets.precast.JA['連続魔'] 		= {body="VIタバード+3"}

    sets.precast.FC = {
		head="ATシャポー+3",
		body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
		waist="エンブラサッシュ",
		left_ring="キシャールリング",
		right_ring="メダダリング",
		back={ name="フィフォレケープ+1", augments={'Path: A',}},
    }    

	sets.precast.WS = {
		ammo="オシャシャの原論文",
		head="LTシャペル+2",
		body="LTサヨン+2",
		hands="LTガントロ+2",
		legs="LTフュゾー+2",
		feet="LTウゾー+2",
		neck="共和プラチナ章",
		waist={ name="セールフィベルト+1", augments={'Path: A',}},
		left_ear="テロスピアス",
		right_ear="シェリダピアス",
		left_ring="イラブラットリング",
		right_ring="エパミノダスリング",
		back={ name="スセロスケープ", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
    }
	

	sets.precast.WS['シャンデュシニュ'] = {
		ammo="イェットシーラ",
		head={ name="ブリスタサリット+1", augments={'Path: A',}},
		body="LTサヨン+2",
		hands="LTガントロ+2",
		legs="LTフュゾー+2",
		feet="LTウゾー+2",
		neck="フォシャゴルゲット",
		waist="フォシャベルト",
		left_ear="マーケピアス+1",
		right_ear="シェリダピアス",
		left_ring="イラブラットリング",
		right_ring="シーリチリング+1",
		back={ name="スセロスケープ", augments={'DEX+20','Accuracy+20 Attack+20','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},
	}
	
    sets.precast.WS['サンギンブレード'] = {
		ammo="オシャシャの原論文",
		head="LTシャペル+2",
		body="LTサヨン+2",
		hands="LTガントロ+2",
		legs="LTフュゾー+2",
		feet="LTウゾー+2",
		neck="シビルスカーフ",
		waist="オルペウスサッシュ",
		left_ear="王将の耳飾り",
		right_ear="フリオミシピアス",
		left_ring="メダダリング",
		right_ring="フレキリング",
		back={ name="スセロスケープ", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10',}},
	}

    sets.midcast['精霊魔法'] = {
		main="ブンジロッド",
		sub="アムラピシールド",
		ammo={ name="ガストリタスラム+1", augments={'Path: A',}},
		head="LTシャペル+2",
		body="LTサヨン+2",
		hands={ name="AMゲージ+1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
		legs="LTフュゾー+2",
		feet="LTウゾー+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['弱体魔法'] ={
		main="デイブレイクワンド",
		sub="アムラピシールド",
		ammo="王将の玉",
		head={ name="VIシャポー+3", augments={'Enfeebling Magic duration','Magic Accuracy',}},
		body="LTサヨン+2",
		hands="LTガントロ+2",
		legs="LTフュゾー+2",
		feet="LTウゾー+2",
		neck={ name="デュエルトルク+2", augments={'Path: A',}},
		waist="オブシテナサッシュ",
		left_ear="マリグナスピアス",
		right_ear="スノトラピアス",
		left_ring={ name="メタモルリング+1", augments={'Path: A',}},
		right_ring="キシャールリング",
		back={ name="スセロスケープ", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10',}},
	}
	
	--弱体魔法効果MND/hack
	sets.midcast.EnfeeblingEffectMnd = set_combine(sets.midcast['弱体魔法'],{
		legs={ name="カイロンホーズ", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','"Fast Cast"+1','MND+14','Mag. Acc.+9',}},
		back={ name="スセロスケープ", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','MND+10',}},
	})

	--弱体魔法効果INT/hack
	sets.midcast.EnfeeblingEffectInt = set_combine(sets.midcast['弱体魔法'],{
		legs={ name="カイロンホーズ", augments={'Mag. Acc.+23 "Mag.Atk.Bns."+23','Enmity-1','INT+7','Mag. Acc.+14',}},
		back={ name="スセロスケープ", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10',}},
	})

	sets.midcast.Cure = {
		ammo="ストンチタスラム+1",
		head={ name="ヴァニヤフード", augments={'MP+50','"Cure" potency +7%','Enmity-6',}},
		body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
		hands={ name="テルキネグローブ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
		legs="ATタイツ+3",
		feet={ name="ヴァニヤクロッグ", augments={'MP+50','"Cure" potency +7%','Enmity-6',}},
		neck="インカンタートルク",
		waist="ギシドゥバサッシュ",
		left_ring="クナジリング",
		right_ring="アスクレピアリング",
		back="ソレムニティケープ",
	}

	sets.midcast['強化魔法'] = {
		sub="アムラピシールド",
		head={ name="テルキネキャップ", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
		body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
		hands="ATグローブ+3",
		legs={ name="テルキネブラコーニ", augments={'"Conserve MP"+5','Enh. Mag. eff. dur. +10',}},
		feet="LTウゾー+2",
		neck={ name="デュエルトルク+2", augments={'Path: A',}},
		waist="エンブラサッシュ",
		right_ear={ name="レサジーピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+11','Mag. Acc.+11','"Dbl.Atk."+3',}},
		left_ring="スティキニリング+1",
		right_ring="スティキニリング+1",
		back={ name="ゴストファイケープ", augments={'Enfb.mag. skill +7','Enha.mag. skill +1','Mag. Acc.+4','Enh. Mag. eff. dur. +20',}},
	}

	sets.midcast['強化魔法'].Other = set_combine(sets.midcast['強化魔法'] ,{
		head="LTシャペル+2",
		body="LTサヨン+2",
		hands="LTガントロ+2",
		legs="LTフュゾー+2",
		feet="LTウゾー+2",
	})

	sets.midcast.EnhancingSkill=
	{
		main="プクラトムージュ+1",
		sub={ name="フォフェンド+1", augments={'Path: A',}},
		ammo="ストンチタスラム+1",
		head="ビファウルクラウン",
		body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
		hands={ name="VIグローブ+3", augments={'Enhancing Magic duration',}},
		legs="ATタイツ+3",
		feet="LTウゾー+2",
		neck="インカンタートルク",
		waist="オリンポスサッシュ",
		left_ear="ミミルピアス",
		right_ear="アンドアーピアス",
		left_ring="スティキニリング+1",
		right_ring="スティキニリング+1",
		back={ name="フィフォレケープ+1", augments={'Path: A',}},
	}

	sets.midcast.Refresh =set_combine(sets.midcast['強化魔法'] ,{head="AMコイフ+1",body="ATタバード+3",Legs="LTフュゾー+2"})
    
	sets.midcast['強化魔法']['ストンスキン'] = set_combine(sets.midcast['強化魔法'] ,{legs="シェダルサラウィル", neck='ノデンズゴルゲット', left_ear='アースクライピアス', waist="ジーゲルサッシュ",})
    
	sets.midcast['強化魔法']['アクアベール'] = set_combine(sets.midcast['強化魔法'] ,{head="AMコイフ+1", legs="シェダルサラウィル"})

end
ちょっとだけPR

コメント

コメント一覧 (2件)

  • お世話になってます、自分で組んだ赤より解りやすくて参考にさせて貰ってます。
    OffenseMode( ‘Enn’)で装備を変える時はsets.engaged.Enn = {}を組めばF9(デフォルト)で変わりますよね?
    ロジック26行 feet が foot になってます

    • こんにちは。
      feet部分反映しました。ご指摘助かります!

      sets.engaged.Enn = {}を組めばOffenceModeを切り替えて使用することができます。
      サンプルを更新しましたので、参考にしてみてください。

コメントする

目次