GearSwap(Mote-libs)武器の持ち替えやモードの切り替えについて

OffenseModeやIdleモード、武器の持ち替えについて説明します。

目次

各種モードの切り替え

Mote-libsには次のモードが用意されています。

    state.OffenseMode         = M{['description'] = 'Offense Mode'}
    state.HybridMode          = M{['description'] = 'Hybrid Mode'}
    state.RangedMode          = M{['description'] = 'Ranged Mode'}
    state.WeaponskillMode     = M{['description'] = 'Weaponskill Mode'}
    state.CastingMode         = M{['description'] = 'Casting Mode'}
    state.IdleMode            = M{['description'] = 'Idle Mode'}
    state.RestingMode         = M{['description'] = 'Resting Mode'}

    state.DefenseMode         = M{['description'] = 'Defense Mode', 'None', 'Physical', 'Magical'}
    state.PhysicalDefenseMode = M{['description'] = 'Physical Defense Mode', 'PDT'}
    state.MagicalDefenseMode  = M{['description'] = 'Magical Defense Mode', 'MDT'}

    state.Kiting              = M(false, 'Kiting')
    state.SelectNPCTargets    = M(false, 'Select NPC Targets')
    state.PCTargetMode        = M{['description'] = 'PC Target Mode', 'default', 'stpt', 'stal', 'stpc'}

    state.EquipStop           = M{['description'] = 'Stop Equipping Gear', 'off', 'precast', 'midcast', 'pet_midcast'}

    state.CombatWeapon        = M{['description']='Combat Weapon', ['string']=''}
    state.CombatForm          = M{['description']='Combat Form', ['string']=''}

正直言ってよく分からないものもありますので、私はすべてのモードを使い分けていません。

これらのモードのうち、私がよく使っているものは次のものだけです。

  • state.OffenseMode:抜刀時のモード
  • state.IdleMode:待機状態のモード

CombatWeaponやCombatFormで武器や防具のセットを切り替える想定なのでしょうが、私はこの方法を使っていません。

state.OffenseMode

敵を殴るときの装備モードです。

マルチアタックやSTP、近接カット装備など、切り替えるためのモードです。

このモードは自動で切り替わるものではなく、状況に応じて手動で切り替えて使います。

私は面倒くさいので、近接カットとSTPマルチをバランスよく積んだ装備だけで攻撃しています。

切り替えるモードは次のように定義します。

state.OffenseMode:options('A','B','C')

このコードを切り替える方法は、順番にサイクルさせる方法と、直接指定する方法の二種類あります。

gs c cycle OffenseMode
gs c set OffenseMode A
gs c set OffenseMode B
gs c set OffenseMode C

これらのコマンドをマクロにセットさせたり、キーバインドさせることで即座に反応させることが可能になります。

state.IdleMode

待機状態の装備モードです。

被ダメカットやリフレ装備などセットするケースが多いでしょう。

切り替えるモードは次のように定義します。

state.IdleMode:options('A','B','C')
gs c cycle IdleMode
gs c set IdleMode A
gs c set IdleMode B
gs c set IdleMode C

武器の持ち替え

私の実装は、サポートジョブや戦う敵によって臨機応変に武器を持ち変えて戦うことが多いので、部分的に武器を持ち替えられるようにしていますので、武器を一つずつ定義する必要があります。

武器を持ち替えることで、デフォルト武器が変更されることになりますので、何らかのアクションで武器を持ち替えてもデフォルト武器に戻せます。

例えば、コルセアの場合、次のような定義になっています。

    state.MainWeapons   = M{'RostamA','RostamB','Naegling'}
    state.SubWeapons    = M{'CrepuscularKnife','GletisKnife','NuskuShield'}
    state.RangeWeapons  = M{'DeathPenalty','Fomalhaut','Ataktos'}

    sets.Weapons= {}
    sets.Weapons.RostamA                = {name="ロスタム", augments={'Path: A'}}
    sets.Weapons.RostamB                = {name="ロスタム", augments={'Path: B'}}
    sets.Weapons.RostamC                = {name="ロスタム", augments={'Path: C'}}
    sets.Weapons.Naegling               = {name="ネイグリング"}
    sets.Weapons.CrepuscularKnife       = {name="クレパスクラナイフ"}
    sets.Weapons.DeathPenalty           = {name="デスペナルティ"}
    sets.Weapons.Fomalhaut              = {name="フォーマルハウト"}
    sets.Weapons.Ataktos                = {name="アナーキー+2"}
    sets.Weapons.NuskuShield            = {name="ヌスクシールド"}
    sets.Weapons.RAbulletphysics        = {name="ライヴブレット"}--{name="クロノブレット"}
    sets.Weapons.RAbulletMagic          = {name="ライヴブレット"}--{name="ライヴブレット"}
    sets.Weapons.CorsairShot            = {name="アニミキーブレット"}
    sets.Weapons.Slip                   = {name="プライムガン"}

武器の持ち替え方

  • メイン武器のサイクル:gs c cycle MainWeapons
  • サブ武器のサイクル:gs c cycle SubWeapons
  • 遠隔武器のサイクル:gs c cycle RangeWeapons

武器の持ち替えも、順番にサイクルさせる方法と、直接指定する方法の二種類あります。

gs c set MainWeapons Naegling
gs c set RangeWeapons Naegling

state.MainWeapons = M{‘RostamA’,’RostamB’,’Naegling’}では、RostamA,RostamB,Naeglingの順番でサイクルします。ほかの武器も同様に記述順にサイクルします。

組み合わせが決まっている場合

例えばネイグリングを使う場合、遠隔にアナーキーをセットするような固定の組み合わせがあるとします。

そのような場合、マクロに次の二行をセットすればデフォルト武器が変更されます。

gs c set MainWeapons
gs c set RangeWeapons Ataktos

※コルセアのロジックでは、ネイグリンブに持ち替えた時点で遠隔武器をアナーキーに持ち替える制御を加えていますので、マクロで持ち替える必要はありません。

武器の初期値

装備定義ファイルに武器の初期値をセットさせています。

function init_weaponns()
    --デフォルト武器を設定
    send_command('gs c set MainWeapons RostamB')
    send_command('gs c set SubWeapons CrepuscularKnife')
    send_command('gs c set RangeWeapons DeathPenalty')
end

サイクルの順番に限らず、初期設定した武器がデフォルト武器になります。

コメント

コメント一覧 (2件)

  • ありがとうございます!
    本来こちらを参考にできるような知識は無いのですが、頑張って勉強します。
    本当にありがとうございます。

    • 難しいかもしれませんが、頑張って覚えると快適にプレイできるようになりますよ!

コメントする

目次