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

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

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

目次

ソースコード

ファイル構成

GearSwap/
  └ data/
    ├ user-globals.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
    state.Buff['エンストーン']  = buffactive['エンストーン'] or false

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

function job_post_midcast(spell, action, spellMap, eventArgs)
    if spell.skill == '弱体魔法' then
        if string.find(spell.name, 'スリプ') or spell.name == 'ブレイク' or spell.name == 'バインド' then
            equip(sets.midcast.EnfeeblingEffectInt)

        elseif spell.name == 'サイレス' then
            equip(sets.midcast.EnfeeblingEffectMnd)

        else
            equip(sets.midcast['弱体魔法'])
        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 spell.name == 'ストンスキン' 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 user_customize_melee_set(meleeSet)
    if state.OffenseMode.value=='Enn' then
        for buff,active in pairs(state.Buff) do
            if active and sets.buff[buff] then
                meleeSet = set_combine(meleeSet,sets.buff[buff])
            end
        end
    end
    return meleeSet
end

function job_buff_change(buff, gain, eventArgs)
    Idle()
end

装備定義

function init_weaponns()
    --デフォルト武器を設定
    send_command('gs c set MainWeapons CroceaC')
    if player.sub_job == '忍' or player.sub_job == 'NIN' or player.sub_job == '踊' or player.sub_job == 'DNC' then
		send_command('gs c set SubWeapons CrepuscularKnife')
	else
		send_command('gs c set SubWeapons Genbu')
	end
end
function init_gear_sets()
	lockstyleset = 21

	sets.buff['エンストーン'] 			= {neck="クアンプネックレス"}
	sets.buff['エンエアロ'] 			= {sub="レヴァンテダガー"}

	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.RA ={range="ラミアベーン"}

	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を切り替えて使用することができます。
      サンプルを更新しましたので、参考にしてみてください。

コメントする

目次