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

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

赤魔道士はあまり力を入れてないので、本気で組んでいません。とりあえずのコードです。

目次

ソースコード

ファイル構成

GearSwap/
  └ data/
    ├ Common.lua(共通ファイル
    ├ RDM.lua(ジョブロジック)
    └ キャラクター名/
      ├ weather_obi.lua(属性帯
      └ RDM_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
end

function user_setup()
    -- gs c cycle MainWeapons
    state.MainWeapons = M{'CroceaC','Naegling','QutrubKnife'}
    
    -- gs c cycle SubWeapons
    state.SubWeapons = M{'CrepuscularKnife','EtherealDagger'}
    
    -- gs c cycle OffenseMode
    state.OffenseMode:options('Normal','Enn')
    
    -- gs c cycle IdleMode
    state.IdleMode:options('Normal')

    Initialize()
end

function job_post_midcast(spell, action, spellMap, eventArgs)
    if spell.skill == '弱体魔法' then
        if spellMap == 'EnfeeblingMagiceffect' then
            --効果時間 スロウ,スロウII,パライズ,パライズII,ブライン,ブラインII,ポイズン,ポイズンII,グラビデ,グラビデII,ディストラ,ディストラII,ディストラIII,フラズル,フラズルII,フラズルIII,アドル,アドルII
            equip(sets.midcast['弱体魔法'])

        elseif spellMap == 'Sleep' or spellMap == 'Break' or spellMap == 'Bind' then
            --ハック バインド,スリプル,スリプルII,スリプガ,スリプガII,
            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
            if not (player.sub_job == '忍' or player.sub_job == '踊') then
                equip({sub=sets.Weapons.AmmurapiShield})
            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 job_buff_change(buff, gain)
    if state.Buff['睡眠'] then
        equip({main=sets.Weapons.Slip})
    end
end

function customize_idle_set(idleSet)
    if(player.sub_job == '忍') then
        --二刀流装備 係数11
        idleSet = set_combine(idleSet,sets.engaged.dual11)
    elseif(player.sub_job == '踊') then
        --二刀流装備 係数21
        idleSet = set_combine(idleSet,sets.engaged.dual21)
    end
    
    return set_combine(idleSet,customize_weapon_set())
end

function customize_melee_set(meleeSet)
    if(player.sub_job == '忍') then
        --二刀流装備 係数11
        meleeSet = set_combine(meleeSet,sets.engaged.dual11)
    elseif(player.sub_job == '踊') then
        --二刀流装備 係数21
        meleeSet = set_combine(meleeSet,sets.engaged.dual21)
    end
    
    if state.OffenseMode.value=='Enn' then
        meleeSet = set_combine(meleeSet,sets.engaged.Enn)
    end
    return set_combine(meleeSet,customize_weapon_set())
end

function customize_weapon_set()
    --武器のセット
    local weapon = nil
    weapon = set_combine(weapon,{main=sets.Weapons[state.MainWeapons.value]})
    if player.sub_job == '忍' or player.sub_job == '踊' then
        weapon = set_combine(weapon,{sub=sets.Weapons[state.SubWeapons.value]})
    else
        weapon = set_combine(weapon,{sub=sets.Weapons.Genbu})
    end
    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 CroceaC')
	send_command('gs c set SubWeapons CrepuscularKnife')
end
function init_gear_sets()
	lockstyleset = 21

	sets.Weapons = {}
    sets.Weapons.CroceaC                = {name="クロセアモース", augments={'Path: C'}}
    sets.Weapons.Naegling               = {name="ネイグリング"}
    sets.Weapons.CrepuscularKnife       = {name="クレパスクラナイフ"}
	sets.Weapons.QutrubKnife    		= {name="クトゥルブナイフ"}
	sets.Weapons.EtherealDagger 		= {name="幽世の短剣"}
    sets.Weapons.Genbu    				= {name="玄冥盾"}
    sets.Weapons.AmmurapiShield			= {name="アムラピシールド"}
    sets.Weapons.Slip  					= {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="無の外装",
    }
	sets.engaged.dual11={left_ear="素破の耳",waist="霊亀腰帯",}
	sets.engaged.dual21=set_combine(sets.engaged.dual11,{back={ name="スセロスケープ", augments={'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10','Phys. dmg. taken-10%',}},})

	sets.engaged.Enn = set_combine(sets.engaged,{
		ammo="スローダタスラム",
		head="ウムシクハット",
		hands="アヤモマノポラ+2",
		legs="VIタイツ+3",
		waist="無の腰当",
		back={ name="スセロスケープ", augments={'DEX+20','Accuracy+20 Attack+20','"Dual Wield"+10','Phys. dmg. taken-10%',}},})
	
	sets.precast.JA['サボトゥール'] = {hands="LTガントロ+2"}
    sets.precast.JA['連続魔'] 		= {body="VIタバード+3"}

    sets.precast.FC = {
		body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
		feet={ name="マーリンクラッコー", augments={'"Fast Cast"+7','MND+5',}},
		neck="オルンミラトルク",
		waist={name="プラチナモグベルト",priority=15},
		left_ear={name="オノワイヤリング+1",priority=14},
		right_ear={name="エテオレートピアス",priority=12},
		left_ring={name="月明の指輪",priority=13},
		right_ring="メダダリング",
		back={name="月明の羽衣",priority=16},
    }
	sets.precast.FC['ディスペガ'] = set_combine(sets.precast.FC,{main="デイブレイクワンド",})
	sets.precast.FC['インパクト'] = set_combine(sets.precast.FC,{head=empty,body="クレパスクラプリス",})

    sets.precast.WS.Damage = {
		ammo="オシャシャの原論文",
		head={ name="ニャメヘルム", augments={'Path: B',}},
		body={ name="ニャメメイル", augments={'Path: B',}},
		hands={ name="ニャメガントレ", augments={'Path: B',}},
		legs={ name="ニャメフランチャ", augments={'Path: B',}},
		feet="LTウゾー+3",
		neck="共和プラチナ章",
		waist={ name="セールフィベルト+1", augments={'Path: A',}},
		left_ear="テロスピアス",
		right_ear="シェリダピアス",
		left_ring="イラブラットリング",
		right_ring="エパミノダスリング",
		back="無の外装",
    }
	
    sets.precast.WS.Critical = {
		ammo="イェットシーラ",
		head={ name="ブリスタサリット+1", augments={'Path: A',}},
		body="マリグナスタバード",
		hands="マリグナスグローブ",
		legs="マリグナスタイツ",
		feet="マリグナスブーツ",
		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.Magic = {
		ammo="ペムフレドタスラム",
		head={ name="ニャメヘルム", augments={'Path: B',}},
		body={ name="ニャメメイル", augments={'Path: B',}},
		hands={ name="ニャメガントレ", augments={'Path: B',}},
		legs={ name="ニャメフランチャ", augments={'Path: B',}},
		feet="LTウゾー+3",
		neck="シビルスカーフ",
		waist="スクリミルコード",
		left_ear="マリグナスピアス",
		right_ear="王将の耳飾り",
		left_ring={ name="メタモルリング+1", augments={'Path: A',}},
		right_ring="メダダリング",
		back={ name="スセロスケープ", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10',}},
	}

    sets.precast.WS['レクイエスカット'] = set_combine(sets.precast.WS.MultDamagei, {})
    sets.precast.WS['シャンデュシニュ'] = set_combine(sets.precast.WS.Critical, {})
    sets.precast.WS['サベッジブレード'] = set_combine(sets.precast.WS.Damage, {})
    sets.precast.WS['エクスピアシオン'] = set_combine(sets.precast.WS.Damage, {})
    sets.precast.WS['ブラックヘイロー'] = set_combine(sets.precast.WS.Damage, {})
    sets.precast.WS['サンギンブレード'] = set_combine(sets.precast.WS.Magic, {head="妖蟲の髪飾り+1"})

    sets.midcast['精霊魔法'] = {
		main="ブンジロッド",
		sub="アムラピシールド",
		ammo={ name="ガストリタスラム+1", augments={'Path: A',}},
		head="LTシャペル+2",
		body="LTサヨン+2",
		hands="LTガントロ+2",
		legs="LTフュゾー+2",
		feet="LTウゾー+3",
		neck={ name="デュエルトルク+2", augments={'Path: A',}},
		left_ear="マリグナスピアス",
		right_ear="王将の耳飾り",
		left_ring={ name="メタモルリング+1", augments={'Path: A',}},
		right_ring="メダダリング",
		back={ name="スセロスケープ", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10',}},
    }
	
	--弱体魔法時間
	sets.midcast['弱体魔法'] ={
		ammo="王将の玉",
		head={ name="VIシャポー+3", augments={'Enfeebling Magic duration','Magic Accuracy',}},
		body="LTサヨン+2",
		hands="LTガントロ+2",
		legs="LTフュゾー+2",
		feet={ name="VIブーツ+3", augments={'Immunobreak Chance',}},
		neck={ name="デュエルトルク+2", augments={'Path: A',}},
		waist={ name="オブシテナサッシュ", augments={'Path: A',}},
		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',}},
	}
	sets.midcast['ディスペガ']  = set_combine(sets.midcast['弱体魔法'],{main="デイブレイクワンド",})
	sets.midcast["インパクト"]  = set_combine(sets.midcast['弱体魔法'],{head=empty,body="クレパスクラプリス",})

	--弱体魔法効果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={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
		body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
		hands={ name="テルキネグローブ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
		legs={ name="ヴァニヤスロップス", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
		feet={ name="ヴァニヤクロッグ", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
		neck="オルンミラトルク",
		waist="コーネリアの黒帯",
		left_ear="メンデカントピアス",
		right_ear={ name="オノワイヤリング+1", augments={'Path: A',}},
		left_ring="スティキニリング+1",
		right_ring="レベッチェリング",
		back="ソレムニティケープ",
	}

	sets.midcast['強化魔法'] = {
		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ウゾー+3",
		neck={ name="デュエルトルク+2", augments={'Path: A',}},
		waist="エンブラサッシュ",
		left_ear={ name="オノワイヤリング+1", augments={'Path: A',}},
		right_ear={ name="レサジーピアス+1", augments={'System: 1 ID: 1676 Val: 0','Accuracy+11','Mag. Acc.+11','"Dbl.Atk."+3',}},
		left_ring="スティキニリング+1",
		right_ring={ name="ゼラチナスリング+1", augments={'Path: A',}},
		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ウゾー+3",
	})

	sets.midcast.EnhancingSkill=
	{
		ammo="ストンチタスラム+1",
		head="ビファウルクラウン",
		body={ name="VIタバード+3", augments={'Enhances "Chainspell" effect',}},
		hands={ name="VIグローブ+3", augments={'Enhancing Magic duration',}},
		legs="ATタイツ+3",
		feet="LTウゾー+3",
		neck="インカンタートルク",
		waist="オリンポスサッシュ",
		left_ear="ミミルピアス",
		right_ear="アンドアーピアス",
		left_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

コメント

コメント一覧 (5件)

  • いつも参考にさせていただいております。
    すごく初歩的な質問で申し訳ありませんが state.Weapons = M{‘CroceaC’,’Naegling’,’D1′}
    この3種の武器セットの切り替えを行うコマンドを教えていただきたいです。
    ゲーム内で//gs equip sets.weapons.Naeglingで一時的に変更することはできるのですが
    すぐクロセアモースに戻ってしまいます。何卒よろしくお願いします。

      • ありがとうございます!できました!
        もっと理解を深められるようこれからも熟読させていただます。

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

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

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

コメントする

目次