2025/6/2 全ロジックジョブファイル sets.Weapons → gear に変更しました。共通ファイルをコピペする人は置換してご利用ください。

【GearSwap】風水師のMote-libs用コード

風水師のMote-libsコードです。

風水師はあまり力を入れてないので、本気で組んでいません。とりあえずのコードです。

目次

ソースコード

ファイル構成

GearSwap/
  └ data/
    ├ user-globals.lua共通ファイル
    ├ GEO.lua(ジョブロジック)
    └ キャラクター名/
      ├ weather_obi.lua属性帯
      └ GEO_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
    
    --gs c cycle OffenseMode
    state.OffenseMode:options('Normal')
    
    --gs c cycle IdleMode
    state.IdleMode:options('Normal','Refresh')
    
    -- gs c cycle Kiting
    state.Kiting        = M(false, 'Kiting')

    -- gs c cycle MainWeapons
    state.MainWeapons   = M{'Idris'}
    
    -- gs c cycle SubWeapons
    state.SubWeapons    = M{'Genbu'}
end


function job_post_midcast(spell, action, spellMap, eventArgs)
    if buffactive['エントラスト'] then
        equip(sets.midcast.Entrust)
    end
end


function customize_idle_set(idleSet)
    if pet.isvalid then
        if state.IdleMode.value == "Normal" then
            idleSet = set_combine(idleSet,sets.idle.Luopan)
        else
            idleSet = set_combine(idleSet,sets.idle.Luopan.Refresh)
        end 
    end

    return idleSet
end

装備定義

function init_weaponns()
    --デフォルト武器を設定
    send_command('gs c set MainWeapons Idris')
    send_command('gs c set SubWeapons Genbu')
end


function init_gear_sets()
    --ロックスタイル番号
    lockstyleset = 141

    --武器
    gear.Idris                  = {name="イドリス"}
    gear.Genbu                  = {name="玄冥盾"}
    gear.Slip                   = {name="プライムモール"}

    --待機装備(通常)
    sets.idle = {
        range={ name="デュンナ", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
        head="無の面",
        body="AZコート+3",
        hands="AZグローブ+3",
        legs={ name="ニャメフランチャ", augments={'Path: B',}},
        feet="AZゲートル+3",
        neck="シビルスカーフ",
        waist="無の腰当",
        left_ear="ハーティーピアス",
        right_ear={ name="アジムスピアス+2", augments={'System: 1 ID: 1676 Val: 0','Mag. Acc.+17','Damage taken-6%','INT+9 MND+9',}},
        left_ring="スティキニリング+1",
        right_ring="シュネデックリング",
        back="無の外装",
    }
    
    --待機装備(リフレ)
    sets.idle.Refresh = set_combine(sets.idle,{
        body="AZコート+3",
        hands="BAミテーヌ+3",
        head={ name="マーリンフード", augments={'Crit. hit damage +2%','Pet: Crit.hit rate +1','"Refresh"+2','Accuracy+4 Attack+4',}},
        body="AZコート+3",
        hands={ name="マーリンダスタナ", augments={'AGI+6','Pet: STR+5','"Refresh"+2','Accuracy+8 Attack+8',}},
        legs={ name="マーリンシャルワ", augments={'CHR+8','STR+3','"Refresh"+2','Mag. Acc.+2 "Mag.Atk.Bns."+2',}},
        feet={ name="マーリンクラッコー", augments={'Weapon Skill Acc.+8','"Fast Cast"+2','"Refresh"+2',}},
        neck="シビルスカーフ",
        left_ring="スティキニリング+1",}
    )

    --待機装備(羅盤通常)
    sets.idle.Luopan = {
        range={ name="デュンナ", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
        head="AZフード+3",
        body={ name="テルキネシャジュブ", augments={'Pet: "Regen"+3','Pet: Damage taken -4%',}},
        hands="AZグローブ+3",
        legs={ name="テルキネブラコーニ", augments={'Pet: "Regen"+3','Pet: Damage taken -4%',}},
        feet="BAサンダル+3",
        neck={ name="バグアチャーム+2", augments={'Path: A',}},
        waist="イーサベルト",
        left_ear="ハンドラーピアス+1",
        right_ear={ name="アジムスピアス+2", augments={'System: 1 ID: 1676 Val: 0','Mag. Acc.+17','Damage taken-6%','INT+9 MND+9',}},
        left_ring="守りの指輪",
        right_ring="シュネデックリング",
        back={ name="ナントセルタケープ", augments={'Pet: "Regen"+10','Pet: "Regen"+5',}},
    }

    --待機装備(羅盤リフレ)
    sets.idle.Luopan.Refresh = set_combine(sets.idle.Luopan,sets.idle.Refresh)
    
    --走り回る用
    sets.Kiting = {right_ring="シュネデックリング",}

    --FC
    sets.precast.FC = {
        main="パルーグハンマー",
        sub="玄武盾",
        range={ name="デュンナ", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
        head={ name="マーリンフード", augments={'"Fast Cast"+5','DEX+9','Mag. Acc.+9',}},
        body={ name="マーリンジュバ", augments={'Mag. Acc.+26','"Fast Cast"+6','MND+1',}},
        hands={ name="マーリンダスタナ", augments={'"Mag.Atk.Bns."+8','"Fast Cast"+5','CHR+6',}},
        legs={ name="サイクロスラッパ", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
        feet={ name="マーリンクラッコー", augments={'"Mag.Atk.Bns."+2','"Fast Cast"+5','AGI+6','Mag. Acc.+14',}},
        neck="オルンミラトルク",
        waist="エンブラサッシュ",
        left_ear="マリグナスピアス",
        right_ear="エテオレートピアス",
        left_ring="キシャールリング",
        right_ring="シュネデックリング",
        back={ name="フィフォレケープ+1", augments={'Path: A',}},
    }
    
    --即時発動系
    sets.precast.JA["ライフサイクル"]               = {body="GOチュニック+1"}
    sets.precast.JA["ボルスター"]                   = {body="BAチュニック+1"}
    sets.precast.JA["メンドハレイション"]           = {Legs="BAパンツ+1"}
    sets.precast.JA["レイディアルアルカナ"]         = {feet="BAサンダル+3"}
    sets.precast.JA["フルサークル"]                 = {head="AZフード+3"}

    --ケアル
    sets.midcast.Cure={
        head={ name="ヴァニヤフード", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
        body={ name="ヴァニヤローブ", augments={'Healing magic skill +20','"Cure" spellcasting time -7%','Magic dmg. taken -3',}},
        hands={ name="テルキネグローブ", augments={'"Cure" potency +8%','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="エテオレートピアス",
        left_ring="スティキニリング+1",
        right_ring="レベッチェリング",
        back="ソレムニティケープ",
    }
    
    --強化魔法
    sets.midcast['強化魔法']={
        sub="アムラピシールド",
        head={ name="テルキネキャップ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
        body={ name="テルキネシャジュブ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
        hands={ name="テルキネグローブ", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
        legs={ name="テルキネブラコーニ", augments={'"Cure" potency +7%','Enh. Mag. eff. dur. +10',}},
        feet={ name="テルキネピガッシュ", augments={'"Cure" potency +8%','Enh. Mag. eff. dur. +10',}},
        neck="インカンタートルク",
        waist="エンブラサッシュ",
        right_ear="ミミルピアス",
        back={ name="フィフォレケープ+1", augments={'Path: A',}},
    }
    
    --精霊魔法
    sets.midcast['精霊魔法']={
        main="デイブレイクワンド",
        range={ name="デュンナ", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
        head={ name="ニャメヘルム", augments={'Path: B',}},
        body="AZコート+3",
        hands="AZグローブ+3",
        legs="AZタイツ+3",
        feet="AZゲートル+3",
        neck="シビルスカーフ",
        waist="エスカンストーン",
        left_ear="マリグナスピアス",
        right_ear={ name="アジムスピアス+2", augments={'System: 1 ID: 1676 Val: 0','Mag. Acc.+17','Damage taken-6%','INT+9 MND+9',}},
        left_ring="フレキリング",
        right_ring={ name="メタモルリング+1", augments={'Path: A',}},
        back="無の外装",
    }
    
    --弱体魔法
    sets.midcast['弱体魔法']={
        main="デイブレイクワンド",
        range={ name="デュンナ", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
        head="AZフード+3",
        body="AZコート+3",
        hands="AZグローブ+3",
        legs="AZタイツ+3",
        feet="AZゲートル+3",
        neck="無の喉輪",
        waist="無の腰当",
        left_ear="マリグナスピアス",
        right_ear={ name="アジムスピアス+2", augments={'System: 1 ID: 1676 Val: 0','Mag. Acc.+17','Damage taken-6%','INT+9 MND+9',}},
        left_ring="フレキリング",
        right_ring={ name="メタモルリング+1", augments={'Path: A',}},
        back="無の外装",
    }
    
    --風水魔法
    sets.midcast.Geomancy={
        main="イドリス",
        sub="玄武盾",
        range={ name="デュンナ", augments={'MP+20','Mag. Acc.+10','"Fast Cast"+3',}},
        head="AZフード+3",
        body="AZコート+3",
        hands="AZグローブ+3",
        legs={ name="BAパンツ+3", augments={'Enhances "Mending Halation" effect',}},
        feet="AZゲートル+3",
        neck={ name="バグアチャーム+2", augments={'Path: A',}},
        waist="無の腰当",
        left_ear="ハーティーピアス",
        right_ear={ name="アジムスピアス+2", augments={'System: 1 ID: 1676 Val: 0','Mag. Acc.+17','Damage taken-6%','INT+9 MND+9',}},
        left_ring="守りの指輪",
        right_ring="ピュリティーリング",
        back={ name="龍脈の外套", augments={'Geomancy Skill +8','Indi. eff. dur. +20','Pet: Damage taken -3%',}},
    }

    --エントラスト
    sets.midcast.Entrust={
        main={ name="ガーダ", augments={'Indi. eff. dur. +10','Mag. Acc.+11','"Mag.Atk.Bns."+15',}},
    }
end

コメント

コメント一覧 (16件)

  • 管理人様
    連投申し訳ありません。
    user-globals.luaの更新ありがとうございます。本当にお礼を致したく・・・w
    私だけなのかもしれませんが、user-globals.luaを更新しましたら、風水で動かしたときに、user-globals.luaの67行目のMainWeaponsがうんたらというエラーが出てしまいます。
    お時間のある時にでもご教示いただけたら嬉しく思います。
    よろしくお願いします。

    • 風水の装備定義側に下記があるか確認してみてください。

      function init_weaponns()
      –デフォルト武器を設定
      send_command(‘gs c set MainWeapons Idris’)
      send_command(‘gs c set SubWeapons Genbu’)
      end

  • 管理人様
    いつもありがとうございます。
    少しずつですがわかってきました。(初歩的過ぎてわかってきたなどおこがましいですが)
    一つ質問なのですが、各ジョブの初頭に下記
    GearSwap/
      └ data/
        ├ Common.lua(共通ファイル)
        ├ GEO.lua(ジョブロジック)
        └ キャラクター名/
          ├ weather_obi.lua(属性帯)
          └ GEO_gear.lua(装備定義)

    とありますが、Common.lua とは user-globals.lua の事でいいのでしょうか?

  • いい情報いつも有難うございます。
    風水師につきましてご質問なのですが、
    アビ使用中(エントラスト)使用時に装備を固定する方法を
    教えて頂ければと思い
    学者の記載にある方法で試して見たのですが、うまくいかなくご質問となります。

    ■ジョブロジックへ下記を追記
    function job_setup()
    include(player.name .. ‘/weather_obi’)
    ※追記項目   state.Buff[‘エントラスト’] = buffactive[‘エントラスト’] or false
    state.OffenseMode:options(‘Normal’)
    state.IdleMode:options(‘Normal’)
    end

    ■装備セットへ下記を追記
    sets.buff[‘エントラスト’] = {
    main={ name=”ガーダ”, augments={‘Indi. eff. dur. +11′,’STR+6’,}},
    }

    • エントラスト中に、風水士が装備しておかなければいけない装備なんてありましたっけ・・・?
      インデ延長装備でエントラを付与すれば、延長状態で付与されると思いますが、風水は詳しくないのでこの辺の話はよくわからないです。

      ご質問の件ですが、GearSwapは自分の状態は判断できますが、エントラストを付与した相手の状態まで管理することが出来ませんので、やろうとしてることは出来ないかもしれません。

      付与時点から時間経過で判断する方法なら可能かもしれませんが、現実的ではないような気もします。

      • おそらく 普段のインデはイドリス(この子は他人へのインデは延長してくれない)
        エントラストのバフ効果中、または他人にインデ魔法を唱える場合にインデ延長オグメ付きガーダ
        への変更についてではないかと思います。
        そして私もその記述にお悩み中であります。
        なにとぞご教授のほどよろしくお願いいたします

        • なるほど。
          私がまだイドリスを使っていなかったので、実感できていなかっただけでした(汗)
          エントラスト時に延長装備(ガーダ)へ持ち帰るように更新しました。

  • ごめんなさい素人ですが風水士のジョブロジック?でエラーが出るのですが…

    > GearSwap: Lua runtime error: GearSwap/flow.lua:321:

    > GearSwap has detected an error in the user function get_sets:

    >…m Files (x86)Windower/addons/GearSwap/data/GEO.lua:8:

    > GearSwap: Cannot find the include file (〇〇〇〇/weather_obi.lua). 1

    他のジョブは2ジョブぐらい試しましたが動きました、アドバイスよろしくお願いします

      • 助かりました(´;ω;`)解決しました〜ありがとうございます♪めちゃくちゃ助かりました!属性帯の件でわからないことあるので属性帯のページで質問させていただきます!ど素人に親切にありがとうございます!

  • 他のはできるのになぜか風水士だけエラーが出るマニアック向けとはいえせっかく良いサイトだとおもうのに残念

    • 私の環境では正常に動くコードをブログに掲載しているので、基本的には動くと思います。
      しかし、他の方からもエラー関連の問い合わせは数多く受けております。
      環境面によるものではないのかと考えておりますが、それぞれ環境が違いますので、何が原因か分からないのが現状です。
      どんなエラーが出ているか教えて貰えれば、分かる範囲で調査しますよ。
      Windowerのアップデートの影響もあるのかなと最近思っています。

コメントする

目次