| どうも、三笠です。 私のルーチンを使われたようなので、 改造についても含めてお答えできる範囲でご協力します。
> ########以下 battle.txt > > ##命中関係 > > 命中補正 > INT(Info(パイロット, PilotID(防御側ユニットID),回避) + Info(ユニット, 攻撃側ユニットID, 運動性)) INT((命中 + 攻撃値) + 180) > > > 回避補正 > INT(Info(パイロット, PilotID(防御側ユニットID),回避) + Info(ユニット, 攻撃側ユニットID, 運動性)) INT(回避 + 運動性) > > 命中率 > (((攻撃側補正 - 防御側補正) * Call(ユニットサイズ補正, Info(ユニット, 防御側ユニットID, サイズ)) * (Call(攻撃側地形修正, 攻撃側ユニットID, 防御側ユニットID, Info(ユニット, 攻撃側ユニットID, 武器, 武器番号)) * Call(防御側地形修正, 防御側ユニットID))) - Call(地形回避補正, 防御側ユニット))
(攻撃側補正 - 防御側補正) * Call(ユニットサイズ補正, Info(ユニット, 防御側ユニットID, サイズ)) * Call(攻撃側地形修正, 攻撃側ユニットID, 防御側ユニットID, 武器番号) * Call(防御側地形修正, 防御側ユニットID) - Call(地形回避補正, 防御側ユニット) > > > ###ダメージ関係 > > 攻撃補正 > (INT(((Call(アタック補正値, PilotID(攻撃側ユニットID), 攻撃側ユニットID, Info(ユニット, 攻撃側ユニットID, 武器, 武器番号)) + Morale(PilotID(攻撃側ユニットID))) / 200) * Info(ユニット, 攻撃側ユニットID, 武器, 武器番号, 攻撃力)) * Call(武器地形適応補正, 攻撃側ユニットID, Info(ユニット, 攻撃側ユニットID,武器 , 武器番号))) INT(((Call(アタック補正値, PilotID(攻撃側ユニットID), 攻撃側ユニットID, 武器番号) + 気力) / 200) * 武器威力 * Call(武器地形適応補正, 攻撃側ユニットID, 武器番号) > > 防御補正 > ((INT((Info(パイロット, PilotID(攻撃側ユニットID, 反応)) + Morale(PilotID(攻撃側ユニットID))) / 200) * Info(ユニット, 防御側ユニットID, 装甲)) * Call(地形ダメージ補正, 防御側ユニットID)) INT(((反応 + 気力) / 200) * 装甲値 * Call(地形ダメージ補正, 防御側ユニットID)) > > 攻撃地形補正 > 攻撃値 > > ダメージ > INT(攻撃側補正 - 防御側補正) > > ############ > > ######ここからが サブルーチン > > > > #########命中関係################################
中略 > 攻撃側地形修正: 中略 > Switch KT > > Case 空中 > Set TC Mid(Info(ユニット, AT, 地形適応), 1, 1) > Case 地上 水上 > set TC Mid(Info(ユニット, AT, 地形適応), 2, 1) > Case 水中 > Set TC Mid(Info(ユニット, AT, 地形適応), 3, 1) > Case 宇宙 > Set TC Mid(Info(ユニット, AT, 地形適応), 4, 1) > EndSw Switch KT Case 空中 Set TC Mid(Info(ユニット, AT, "地形適応"), 1, 1) Case 地上 水上 set TC Mid(Info(ユニット, AT, "地形適応"), 2, 1) Case 水中 Set TC Mid(Info(ユニット, AT, "地形適応"), 3, 1) Case 宇宙 Set TC Mid(Info(ユニット, AT, "地形適応"), 4, 1) EndSw
中略 > 防御側地形修正: 中略 > Switch BT > > Case 空中 > Set TC Mid(Info(ユニット, BR, 地形適応), 1, 1) > Case 地上 水上 > set TC Mid(Info(ユニット, BR, 地形適応), 2, 1) > Case 水中 > Set TC Mid(Info(ユニット, BR, 地形適応), 3, 1) > Case 宇宙 > Set TC Mid(Info(ユニット, BR, 地形適応), 4, 1) > EndSw Switch BT Case 空中 Set TC Mid(Info(ユニット, BR, "地形適応"), 1, 1) Case 地上 水上 set TC Mid(Info(ユニット, BR, "地形適応"), 2, 1) Case 水中 Set TC Mid(Info(ユニット, BR, "地形適応"), 3, 1) Case 宇宙 Set TC Mid(Info(ユニット, BR, "地形適応"), 4, 1) EndSw
中略 > アタック補正値: 中略 > If Info(ユニット, KU, 武器, WM, 属性所有, 格) = 1 Then > Set AH Info(パイロット, KP, 格闘) > Else > Set AH Info(パイロット, KP, 射撃) > EndIf If Info(ユニット, KU, 武器, WM, 属性所有, 格) = 1 Then Set AH Info(パイロット, KP, "格闘") Else Set AH Info(パイロット, KP, "射撃") EndIf 中略 > 武器地形適応補正: 中略 > Switch KT > Case 空中 > Set TC Left(Info(ユニット, AT, 武器, WM, 地形適応), 1) > Case 地上 水上 > Set TC Left(Info(ユニット, AT, 武器, WM, 地形適応), 2) > Case 水中 > Set TC Left(Info(ユニット, AT, 武器, WM, 地形適応), 3) > Case 宇宙 > Set TC Left(Info(ユニット, AT, 武器, WM, 地形適応), 4) > EndSw Switch KT Case 空中 Set TC Left(Info(ユニット, AT, 武器, WM, "地形適応"), 1) Case 地上 水上 Set TC Left(Info(ユニット, AT, 武器, WM, "地形適応"), 2) Case 水中 Set TC Left(Info(ユニット, AT, 武器, WM, "地形適応"), 3) Case 宇宙 Set TC Left(Info(ユニット, AT, 武器, WM, "地形適応"), 4) EndSw 中略
とりあえず引用した部分をそれぞれその下に書いてあるように直せば 恐らく動作するんじゃないかと思います。テストはしていませんのでご了承を。
注意点としては2つあります。
まず1つ目は、私が試作したものはあくまで今回更新前の本体における バトルコンフィグ変数をサブルーチンへ引数として渡せないバグに 当座対応するために作ったものなので、変数が使えるところは使った方が処理が簡略化できること。
2つ目に、バトルコンフィグ変数として設定されている文字列(「地形適応」や「射撃」)などは、 サブルーチン内でInfo関数などで使う際は、変数と誤認されないよう「"」で囲んで 文字列として認識させるようにしておかないと正常に動作しないということです。
動かなかった場合のため、一応最新版の第三次α仕様のバトルコンフィグを置いておきます。 パイロット・ユニットの特殊能力補正がα仕様になっていない部分以外は動きます。 http://mikasa.jpn.org/notes/System.zip
最後に > 見ての通り、三笠様のコンフィグデータを弄っています。 > 要するにパクリな訳ですが、勝手に使ったらマズイのなら今回は諦めようと思います。 についてですが、私自身このバトルコンフィグを近いうち 素材として適当に配布するつもりだったので、何か一言書いて 私のHPのアドレスでも書いていただければ問題はありません。
それでは失礼します。
|