| 現在、【命中】【回避】【無効化】といった戦闘結果を取得するにはインクルードを組み、戦闘アニメやメッセージにサブルーチンを挟まなくてはならず、少々手間がかかり過ぎると思います。 そこでこの関数をリクエストしたいのですが、下記の内容についてご意見をお願い致します。
1.名称 仮に【BattleRelust】というものを使います。が、サブルーチン等で使われているかもしれませんので、その場合は報告と代案がありましたらお願いします。
2.概要 最後に行われた戦闘の結果を返します。 ステージ開始時にリセットされ、呼び出されるまで戦闘が起こっていない等、該当する結果が無い場合は空文字列【""】を返します。 この関数の戻り値は攻撃した視点です。 例−1:攻撃し、マジンガーZに援護防御され、800のダメージを与えて捕縛効果を発動させた。反撃されたが分身で回避した。 BattleResult(対象ユニットID) = "命中" BattleResult(相手ユニットID) = "回避" BattleResult(対象ユニットID,詳細) = "800 援護防御=マジンガーZ 防御" BattleResult(相手ユニットID,詳細) = "分身" BattleResult(対象ユニットID,特殊効果) = "縛" BattleResult(相手ユニットID,特殊効果) = "" 例−2:攻撃したが、相手のATフィールドに無効化された。 BattleResult() = "無効化" BattleResult(詳細) = "ATフィールド"
3.引数及び各戻り値 3−1.BattleResult([ユニットID],["結果"]) 【命中】【回避】【無効化】を返します。
3−2.BattleResult([ユニットID],"詳細") ・最後に行われた戦闘結果が【命中】の場合、与えたダメージを返します。何かしらの方法で軽減した場合、与えたダメージ・軽減した方法を発動した順番にリスト形式で返します。特殊能力による軽減は別名を用い、防御による軽減の場合は【防御】が返ります。援護防御による軽減の場合、【援護防御=ユニットID】でリストの二番目に援護防御したユニットが入り、ダメージは援護防御したユニットのものとなります。 ・同上、【回避】の場合、回避の方法を返します。回避率による回避だった場合は【回避】、超回避や分身、切り払い等の特殊能力で回避した場合は特殊能力の別名を返します。 ・同上、【無効化】の場合、無効化した特殊能力の別名を返します。
3−3.BattleResult([ユニットID],"特殊効果") 最後に行われた戦闘で特殊効果が発生した場合、それが発動した属性をリスト形式で返します。
4.問題点 ・当て身技・反射・自動反撃・援護攻撃についてはどうするか。
|