| 初めまして。バトルコンフィグに関して、こちらの方々の知恵をお借りしたいと思い、書き込ませて頂きました。 タイトルにも既にあるのですが、ダメージ計算の際、本来格闘や射撃の値が入る部分に 命中や技量などの値を代入できないか、ということです。 具体的には命中値を第3の攻撃値として使用したいと考えています。
一応、こちらでも試行錯誤してみたのですが、手詰まりになってしまいました。 以下、処理になります。
攻撃補正には攻撃値を入れないとエラーが出るようなので、式は
--------------------------------------------------------------- 攻撃補正 武器威力 * (攻撃値 + Call(参照能力値呼び出し) / 100) * (気力 / 100) ---------------------------------------------------------------
以上のようにし、まず攻撃イベントラベル内で、参照する能力をローカル属性を使って判定、 数値を参照数値として後の計算式に使えるように保存します。
--------------------------------------------------------------- *攻撃 味方 敵: *攻撃 敵 味方: If Info(ユニット, 対象ユニットID, 武器, 対象ユニット使用武器, 属性所有, 闘) = 1 then Set 参照数値 Info(パイロット, 対象ユニットID, 格闘) ElseIf Info(ユニット, 対象ユニットID, 武器, 対象ユニット使用武器, 属性所有, 命) = 1 then Set 参照数値 (Info(パイロット, 対象ユニットID, 命中基本値) + ((Info(パイロット, 対象ユニットID, 命中) - Info(パイロット, 対象ユニットID, 命中基本値)) / 2)) ElseIf Info(ユニット, 対象ユニットID, 武器, 対象ユニット使用武器, 属性所有, 知) = 1 then Set 参照数値 Info(パイロット, 対象ユニットID, 射撃) EndIf Exit ---------------------------------------------------------------
その後、式内のCallで参照能力値呼び出しルーチンに飛び、 参照値から攻撃値を引いたものを最終参照値として保存、 この数値を攻撃値から引くことで、実現可能だと思っていたのですが、 実際のところ、攻撃値をルーチン内で2度使用したのが仇となったのか、 テスト時に攻撃無効化が発動してしまいました。 攻撃値を別のローカル変数に代入し、それを使用してみたりもしたのですが、結果は同じに…。 以下は処理に失敗したルーチンです。
---------------------------------------------------------------
参照能力値呼び出し: Set 参照数値 (参照数値 - 攻撃値) return 参照数値
参照能力値呼び出し: Set 攻撃値代入 攻撃値 Set 参照数値 (参照数値 - 攻撃値代入) return 参照数値
---------------------------------------------------------------
この辺りの処理に詳しい方、ご指導いただければありがたいです。
|