| 前回の質問についての補足です。 武器の地形適応の変化に関してですが、バトルコンフィグにおいて、 武器の地形適応にサブルーチンで地形適応の補正値を変化させることで 地形適応の変化を擬似的に再現させる方法を考えました。
# アイテム
河童の作業着 河童の作業着, かっぱのさぎょうぎ, 汎用, アイテム 特殊能力 水中移動 パイロット地形適応変更=0 0 3 0 0, 0, 0, 0, 0 *地形適応『水』をAにし、移動タイプに水が追加される。 *武器の地形適応『水』がB以下の場合、Aとして計算される。
# バトルコンフィグ
攻撃地形補正 攻撃値 * (地形適応 + Call(武器地形適応変更, 攻撃側ユニットID, 武器番号))
# サブルーチン
武器地形適応変更:
Local Re_Terrain = 0
If IsEquiped(PilotID(対象ユニットID),河童の作業着) = 1 Then If Mid(Info(ユニット,Args(1),武器,Args(2),"地形適応"), 3, 1) = B Then Re_Terrain = Re_Terrain + 0.1 ElseIf Mid(Info(ユニット,Args(1),武器,Args(2),"地形適応"), 3, 1) = C Then Re_Terrain = Re_Terrain + 0.2 ElseIf Mid(Info(ユニット,Args(1),武器,Args(2),"地形適応"), 3, 1) = D Then Re_Terrain = Re_Terrain + 0.3 EndIf EndIf
Return Re_Terrain
#####
上記のサブルーチンでは、河童の作業着を装備した時に 攻撃側の使用した武器の水の地形適応に合わせて数値(Re_Terrain)を足して、 その合計値が1.0(地形適応Aに相当)になるようにしています。
例:水適応がBの武器を使用した場合 バトルコンフィグの攻撃地形補正の地形適応の数値は0.9となり、 サブルーチンは「If Mid(Info(ユニット,Args(1),武器,Args(2),"地形適応"), 3, 1) = B Then」が取得され、 その結果の0.1が武器地形適応の0.9に足されて1.0になる。
理論上はこうなるはずなのですが、 上記の記述だとサブルーチンの数値が足されておらず、計算式が変化しません。 武器の地形適応の関数の取得は正しく記せてあると思うのですが、 もし、問題点があれば教えていただきたいと思います。
|