「MUGENのメカニズム」の編集履歴(バックアップ)一覧はこちら
「MUGENのメカニズム」(2016/11/29 (火) 14:33:11) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
-戦闘の流れ
まず、1P側の-3ステート、-2、-1、の順に解決されます。
この際、selfstateやchangestateを実行すると、それ以降のステートコントローラは
triggerを満たしていても実行されません。
次に、1Pは本体ステートを参照します。
ここでいう本体ステートとは、この瞬間の1Pのstatenoの事です。
ただし、ステートを奪われていた場合、2Pのステートから参照します。
その後、ヘルパーのstatenoのstatedefを解決します。
2Pもこの後同様に処理されます。
格ターンの終了時にライフが0かつnokoフラグが立ってなければ勝敗がつきます。
-何故死なないのか考える
本体hitdefキャラと戦う時、苦労せず永久ターゲットを取れます。
しかし、-2(常時監視ステート)で常にtargetlifeaddやtargetstateを使用しているのに
全然死なないキャラもいます。
そんな相手には何個lifesetやtargetlifeaddを記述しても無駄です。1個で十分です。
targetlifeaddで相手のlifeに適当に多い値を減算してやれば、その瞬間は確かに
敵のlifeは0なのです。(targetを持ってる時のみ)lifesetでvalueが0のものを実行すると
どんなキャラでもlifeは0になります。
なら、何故死なないのかというと、実行の順番の問題なのです。
targetlifeaddは自分のターンに実行されます。この瞬間、敵のlifeは0になりました。
自分のターンが終わります。この時には、自分の死亡確認(自分のlifeが0かどうか)しかしません。
次に敵のターンに敵は-2ステートでlifeを1000にします。これにより、敵のターン終了時の死亡確認で
lifeが0でないので、KOとなりません。
targetstateと併用した場合はもう少しだけ大変になります。
targetlifeaddとtargetstateは自分のターンに実行されます。
この瞬間、敵のlifeは0になり、statenoは自分のステートの指定したものとなります。
敵のターンに敵は-2ステートでlifeを1000にして、selfstateにより安全なステートに避難します。
ちなみにselfstateしなかった場合はlifeが-2ステートでひとまず1000になりますが、その後
本体ステートを解決する際、こちらのステートを参照してくれるので、そこにlifeを0にする記述を
しておけば、敵のターン終了時の死亡確認の際lifeが0なのでKO判定を出してくれます。
-戦闘の流れ
まず、1P側の-3ステート、-2、-1、の順に解決されます。
この際、selfstateやchangestateを実行すると、それ以降のステートコントローラは
triggerを満たしていても実行されません。
-何故死なないのか考える
本体hitdefキャラと戦う時、苦労せず永久ターゲットを取れます。
しかし、-2(常時監視ステート)で常にtargetlifeaddやtargetstateを使用しているのに
全然死なないキャラもいます。何故死なないのかというと、実行の順番の問題なのです。
targetlifeaddは自分のターンに実行されます。この瞬間、敵のlifeは0になりました。
自分のターンが終わります。この時には、自分の死亡確認(自分のlifeが0かどうか)しかしません。
次に敵のターンに敵は-2ステートでlifeを1000にします。これにより、敵のターン終了時の死亡確認で
lifeが0でないので、KOとなりません。