━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■トリガーリダイレクション

トリガーには「バトル中に存在するプレイヤーの種類と状況」を判断しながら
条件を設定する事も出来ます。


『####,(各トリガー)』の「####」の部分

Parent		- 自分を発生させた「親」を判断する。
		　ヘルパーオブジェクト専用の命令。

Root		- どのヘルパーからでも「キャラ本体（根）」を判断する。
		　ヘルパーオブジェクト専用の命令。
		　例え親ヘルパーから出た子ヘルパーからでもRootを使えば本体を認識出来る。

Helper		- ヘルパーが画面中に一つも出ていない場合に
		　キャラ本体が「最初に出したヘルパー」を判断する。

Helper(**)	- 出ているヘルパーの中で「ＩＤナンバーを持つ特定のヘルパー」を判断する。
		　**の中にはステートコントローラ「Helper」で設定したＩＤナンバーが該当する。

Target		- キャラ本体が「自分の制御下に置いた最も近いターゲット」を判断。

Target(**)	- キャラ本体が「自分の制御下に置いたＩＤを指定した特定のターゲット」を判断。
		　**の中にはステートコントローラ「HitDef」の「ID」で設定した
		　『ターゲットＩＤナンバー』が該当し、攻撃がヒットすれば適用出来る。

Partner		-「自分のパートナーキャラ」を判断する。チームバトルモード『Simul』専用の記述。

Enemy		-「相手（Simulの場合相手のリーダーのみ）」を判断する。

Enemy(**)	-「特定の相手」を判断する。
		　**は予めシステムで決められているらしく、
		　 0は「相手側のリーダー」、1は「相手側のパートナー」。

EnemyNear	-「一番近い距離にいる相手」を判断する。

EnemyNear(**)	-「一番近い距離にいる特定の相手」を判断する。
		　**は予めシステムで決められているらしく、
		　0は「相手側のリーダー」、1は「相手側のパートナー」。

PlayerID(**)	-「画面中に存在する特定のプレイヤーのＩＤナンバー」を判断する。
		　画面上に出現した順番に、キャラやヘルパーには
		　システムから「ＩＤナンバー」を強制的に与えられる。
		　（ヘルパーの場合、ヘルパー用のＩＤナンバーとは別物）

		　バトル中にデバッグを表示させると、白い文字の間に
		　灰色の文字でdefで設定した「キャラの名前」が表示されています。
		　 CtrlキーとＣキーで「攻撃判定ボックス」と「食らい判定ボックス」を
		　表示している状態でも、キャラの真下に名前が表示されます。

		　１Ｐ側ならその横に「32」と数字が書かれているはずです。
		　実はその32こそ「ＩＤナンバー」。**の中にはその数字が該当します。


※これらの命令はプレイヤーやヘルパーが『画面内』に存在してる事を判断する訳ではないので注意。


●使用上の注意

リダイレクトを使用する場合、そのコントローラに『Num○○』トリガーを設定して
リダイレクト先の存在を確認しないとエラーを起こす場合があります。
例えば『helper,』のリダイレクトを使用しているのにヘルパーが1つも存在しない場合、
画面左上のエラーログに「ヘルパーが存在しません」という旨のメッセージが表示されます。
とくに常時監視ステート（Statedef-1、-2、-3）にある場合エラー垂れ流しになるので要注意。

リダイレクトと確認トリガー
　・helper	numHelper
　・target	numtarget
　・partner	numpartner
　・enemy	numenemy
　・enemynear	numenemy
　・PlayerID	IDもしくはplayerIDexist

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ヘルパーの処理の流れ

「本体」が「ヘルパーＡ」を出す。その「ヘルパーＡ」が「ヘルパーＢ」を出すとする。

ここで「ヘルパーＢ」から見ると、『Parent』は「ヘルパーＡ」、『Root』は「本体」に該当する。
「ヘルパーB（子）」→「ヘルパーA（Parent・親）」→「本体（Root・根）」

逆に本体側から見たとき。
「ヘルパーＡ」には2000のＩＤナンバーを付けている。
「ヘルパーＢ」には3000のＩＤナンバーを付けている。

『Helper(2000)』は「ヘルパーＡ」に該当する。
『Helper(3000)』は「ヘルパーＢ」に該当する。
そして直前に画面中に１個もヘルパーが出ていない状態で
ヘルパーＡとＢを出したなら、
『Helper』は「ヘルパーＡ」に該当する。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■MUGENで利用できるビット演算子

　 && 	：「and」の意味。複数の条件を両方とも有効にさせる
　 || 	：「or」の意味。複数の条件のどちらかを有効にさせる
　 ^^ 	： 二つの条件を「排他的論理和」で比較する
　 ** 	：「累乗」を行う。[例]A ** B（ＡのＢ乗）

　 + 	：「足す」　数値を加算させる
　 - 	：「引く」　数値を減算させる
　 * 	：「掛ける」数値を乗算させる
　 / 	：「割る」　数値を除算させる
　 % 	： 数値を除算し、「余り」を参照する

　 ! 	：「否定」「〜ではない時」という意味 [例]name != "Ren"（キャラの名前がRenでない時） 

　 & 	：「&&」とほぼ同じだが、ビット単位での処理をする。
　 | 	：「||」とほぼ同じだが、ビット単位での処理をする。
　 ^ 	：「^^」とほぼ同じだが、ビット単位での処理をする。
	※「ビット単位での処理」の意味がわからないなら使わないほうが吉。Lycoはさっぱりなのでパス。

　 > 	：「〜よりも大きい」
　 < 	：「〜よりも小さい」
　 >= 	：「〜以上」
　 <= 	：「〜以下」

　 := 	：変数専用。『そのステート内でならこの演算子を使った値を最優先する』演算命令。
	※常時監視で実行するとどんな状況でも常に最優先される。
	　トリガーに設定しただけでも、他のトリガーの条件が無効でも、
	　お構いなく効果があるので注意。

	[例] Var(20) := floor(5+Time)
	（床関数を使いながら、Var(20)に「５にフレーム数を足していく数値」を強制的に最優先で代入する）


;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■端数処理

括弧で挟んで中の数値をどうするか？小数点以下の数値を
「四捨五入」したり「切り捨てたり」する命令。
これはプログラミングでは『端数処理』と呼ばれているものの一部で、

Ceil(**)  = 天井関数(Ceiling)
	（正の値は小数点以下を四捨五入、負の値は小数点以下を切り捨てる）

Floor(**) = 床関数
	（正の値は小数点以下を切り捨て、負の値は小数点以下を四捨五入する）

という処理を値に適用し、整数への補正を行う。
もちろん「正の値」は『０よりも上の数値』、「負の値」は『０よりも下の数値』の事。
例えば、正の値2.8・負の値-2.8があるとする。これにCeilかFloorを与えると、

Ceil(2.8)   = 3
Ceil(-2.8)  = -2
Floor(2.8)  = 2
Floor(-2.8) = -3

となります。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■IfElse

条件を『分岐』させ、適用する値を細分化する命令

	IfElse(X,A,B)
	X = 分岐させる条件（トリガーを使う）
	A =「X」が『有効な時』に適用する値（真）
	B =「X」が『有効ではない時』に適用する値（偽）

つまり、「もしXが実行されていたら『A（真）』そうでない場合は『B（偽）』」となります。

MUGENにおいてIfElse文は数式として処理されるため、
『A』と『B』には「数値（もしくは数値を適用するトリガー）」しか使えません。
ただしIfElse文の中に更にIfElse文を追加出来るので、より細かく分岐させることもできます。

	[例]「Common1.cns」内ジャンプ中ステートのコントローラの1つ
	
	[State 50, アニメ変更] ;表示アニメの決定
	type = ChangeAnim
	trigger1 = Time = 0
	value = ifelse((vel x)=0, 41, ifelse((vel x)>0, 42, 43))

1つ目のIfElse：X軸の移動速度が0ならば41に、そうでない場合は2つ目のIfElseへ
2つ目のIfElse：X軸の移動速度が0より小さい（マイナス）なら42に、そうでないなら43に

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■全てのステートコントローラに共通して使えるパラメータ

persistent = 0	0ならば持続性のトリガーでも1回しかステコンが実行されない。
		2以上にするとその数字のフレームごとにステコンが実行される。
		省略時は1。なお常時監視ステートでは使用不可能。

ignorehitpause = 1	1ならばヒット停止時間を無視してステコンが実行される。省略時は0。

ちなみに『pausemovetime』と『supermovetime』は
Explod、ModifyExplod、Helper、Projectile以外には効果が無い、らしいです。
詳しい情報求む。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
;※このテキストはちょっとこ丸氏の和訳KFM同梱のテキストにLycorisが補足、注釈を加えたものです。