SRC質問掲示板Mk2

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

■22925 / 親階層)  相手との技量差で回避率を変化させるには?
□投稿者/ Shun -(2016/12/10(Sat) 17:01:53) [ID:nE4DXYig]
    まず、バトルコンフィグにて以下のような命中率・回避率の計算式を設定しております。

    命中補正
    命中 / 2 * (Call(攻撃側地形適応修正, 攻撃側ユニットID, 防御側ユニットID, 武器番号) + Call(夜間補正, 攻撃側ユニットID)) + Call(照準値補正,攻撃側ユニットID) + 攻撃値 + Call(命中率特殊技能補正,攻撃側ユニットID)

    回避補正
    回避 / 2 * (Call(防御側地形適応修正, 防御側ユニットID) + Call(夜間補正, 防御側ユニットID)) + 運動性 + Call(回避率特殊技能補正,防御側ユニットID)

    命中率
    (攻撃側補正 - 防御側補正) * Call(命中率サイズ補正,防御側ユニットID,攻撃側ユニットID) + Call(命中率距離補正,攻撃側ユニットID,防御側ユニットID) - Call(命中率地形効果補正,防御側ユニットID) + Call(連続ターゲット補正, 防御側ユニットID)

    最終命中率
    最終値 + Call(最終命中補正, 攻撃側ユニットID, 最終値) - Call(最終回避補正, 防御側ユニットID, 最終値)


    各種サブルーチンの内、最終回避補正に関するサブルーチンは以下のようにしており、そこに記されている回避系技能は正しく機能しています

    最終回避補正:

    Local Re_hit = 0

    # 見切りを持っている場合、回避値に+10される
    # 極を持っている場合、回避値に+30される
    # 予知を持っている場合、反撃時のみ回避値に+30される

    If Morale(Pilot(Args(1))) >= 130 Then
    If Info(パイロット,Pilot(Args(1)),特殊能力所有,見切り) = 1 Then
    Re_hit = Re_hit + 10
    EndIf

    If Info(パイロット,Pilot(Args(1)),特殊能力所有,極) = 1 Then
    Re_hit = Re_hit + 30
    EndIf

    If Info(パイロット,Pilot(Args(1)),特殊能力所有,予知) = 1 Then
    If Party(Pilot(Args(1))) <> フェイズ Then
    Re_hit = Re_hit + 30
    EndIf
    EndIf
    EndIf

    # 天才を持っている場合、回避値に+20される

    If Info(パイロット,Pilot(Args(1)),特殊能力所有,天才) = 1 Then
    Re_hit = Re_hit + 20
    EndIf

    Return Re_hit


    その上で、以下のようなユニット特殊能力を作ろうとしているのですが、
    こちらに攻撃を仕掛ける相手の技量を参照する方法が分からず質問させていただきました。

    幽蝶の舞
    ダミー特殊能力=幽蝶の舞
    幽蝶の舞=解説 相手との技量差に応じて最終回避率に補正。;技量が高いほど効果がアップ。

    雛形として、最終回避補正のサブルーチン内に他の以下のような記述で再現してみたのですが、

    If Info(ユニット,UnitID(Args(1)),特殊能力所有,幽蝶の舞) = 1 Then
    #相手よりも技量が勝っていれば補正がかかる。
    If 0 < Info(パイロット, Pilot(Args(1)), "技量") - Info(パイロット, 相手パイロット, "技量") Then
    Re_hit = Re_hit + Info(パイロット, Pilot(Args(1)), "技量") - Info(パイロット, 相手パイロット, "技量")
    EndIf
    EndIf

    この表記だと、ターゲットへカーソル合わせの時に表示される敵側の命中が0%で表記され、
    しかし、実際に攻撃が始まった時のシステム文では

    ○○(ユニット名)は○○(武器名)で攻撃をかけた。
    命中率 = ○○%

    となっている箇所の命中率の数値は0%でなく、幽蝶の舞の補正がかかってないデフォルトの数値になってて、
    実際に命中している事例もあったりして額面通りの数値になってなかったりと不具合が発生するようです。

    もしかしたらサブルーチン内の相手側の技量の参照方法に問題があるかもしれませんが、
    正しい参照の仕方があれば教えていただきたいと思います。
記事引用 削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: 相手との技量差で回避率を変化さ.. /dip [ID:rwBu6WTa]
 
上記関連ツリー

Nomal 相手との技量差で回避率を変化させるには? / Shun (16/12/10(Sat) 17:01) [ID:nE4DXYig] #22925 ←Now
Nomal Re[1]: 相手との技量差で回避率を変化さ.. / dip (16/12/12(Mon) 19:19) [ID:rwBu6WTa] #22927
  └Nomal Re[2]: 相手との技量差で回避率を変化さ.. / Shun (16/12/14(Wed) 19:11) [ID:nE4DXYig] #22928 解決済み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -