
// Doesn't work for "weapon" because "loop" motions don't actually use transitions!
// Also, "weapon" is not enough for pistols & riffles
// This table should really be reused for pistol & riffles motion cells....

//	|Modifier	|<Name>			|Weapon		|!Weapon	|Crouch		|!Crouch	|FW			|!FW		|BK			|!BK		|RT			|!RT		|LT			|!LT		|Combat		|Walk		|Locked		|Jump		|
//	|-----------|---------------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|
	|Modifier	|Idle1			|-			|-			|IdleCrouch	|-			|RunStart	|-			|RunBKStart	|-			|RunRTStart	|-			|RunLTStart	|-			|-			|-			|-			|-			|
	|Modifier	|Idle2			|-			|-			|IdleCrouch	|-			|RunStart	|-			|RunBKStart2|-			|RunRTStart	|-			|RunLTStart	|-			|Idle1		|-			|-			|-			|
//	|Modifier	|IdleTmp		|-			|-			|IdleCrouch	|-			|RunStart	|-			|RunBKStart2|-			|RunRTStart	|-			|RunLTStart	|-			|-			|-			|-			|-			|
	|Modifier	|IdleCrouch		|-			|-			|-			|CrouchToIdle|CrouchWalk|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|
	|Modifier	|CrouchWalk		|-			|-			|-			|CrouchToIdle|-			|IdleCrouch	|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|
	|Modifier	|CrouchWalk2	|-			|-			|-			|CrouchToIdle|-			|IdleCrouch	|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|
	|Modifier	|CrouchWalkBK	|-			|-			|-			|CrouchToIdle|-			|-			|-			|IdleCrouch	|-			|-			|-			|-			|-			|-			|-			|-			|
	|Modifier	|CrouchWalkBK2	|-			|-			|-			|CrouchToIdle|-			|-			|-			|IdleCrouch	|-			|-			|-			|-			|-			|-			|-			|-			|
	|Modifier	|CrouchRunLT	|-			|-			|-			|CrouchToIdle|-			|IdleCrouch	|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|
	|Modifier	|CrouchRunRT	|-			|-			|-			|CrouchToIdle|-			|IdleCrouch	|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|

	|Modifier	|RunLTStop		|-			|-			|IdleCrouch	|-			|RunStart	|-			|RunBKStart	|-			|RunRTStart	|-			|RunLTStart	|-			|-			|-			|-			|-			|
	|Modifier	|RunRTStop		|-			|-			|IdleCrouch	|-			|RunStart	|-			|RunBKStart	|-			|RunRTStart	|-			|RunLTStart	|-			|-			|-			|-			|-			|

	|Modifier	|PisIdle1		|-			|Idle1		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|
	|Modifier	|PisIdle2		|-			|Idle2		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|

	|Modifier	|RifIdle		|-			|Idle1		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|

	|Modifier	|JumpLand		|-			|-			|-			|-			|JumpLandFW	|-			|JumpLandBK	|-			|JumpLandRT	|-			|JumpLandLT	|-			|-			|-			|-			|-			|

// Those ones make the character walk instead of run
	|Modifier	|RunStart		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|WalkStart	|-			|-			|
	|Modifier	|RunStop		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|WalkStop	|-			|-			|
//	|Modifier	|RunFWLeft		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|WalkFWLeft	|-			|JumpIdleFW	|
//	|Modifier	|RunFWRight		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|WalkFWRight|-			|JumpIdleFW	|
	|Modifier	|RunFWLeft		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|WalkFWLeft	|-			|-			|
	|Modifier	|RunFWRight		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|WalkFWRight|-			|-			|
// And this tries to make the character jump more and more
//	|Modifier	|RunBKLeft2		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpIdleBK	|
//	|Modifier	|RunBKRight2	|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpIdleBK	|
//	|Modifier	|RunRTLeft		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpIdleRT	|
//	|Modifier	|RunRTRight		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpIdleRT	|
//	|Modifier	|RunLTLeft		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpIdleLT	|
//	|Modifier	|RunLTRight		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpIdleLT	|

// Those ones replace the left/right attack with directed attacks when an enemy is locked
	|Modifier	|RunLTKick		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|ComboK		|-			|
	|Modifier	|RunRTKick		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|ComboK		|-			|
	|Modifier	|RunLTPunch		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|ComboP		|-			|
	|Modifier	|RunRTPunch		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|ComboP		|-			|

// This one replaces the run-rick with a special version when an enemy is locked
	|Modifier	|JumpFWKick		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpFWKickLocked|-			|
//	|Modifier	|JumpFWPunch	|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpFWPunchLocked|-		|
// This one is a test to enable the locked punch/kick even when we don't run
	|Modifier	|ComboK			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpFWKickLocked|-			|
//	|Modifier	|ComboP			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpFWPunchLocked|-		|
// This one is a test to enable the locked kick when we jump
	|Modifier	|JumpKick		|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|-			|JumpFWKickLocked|-			|

// Also, for hit motions we don't really want this dependencies, we need to select a particular target hit motion at runtime
// depending on what happened in the game. So ideally we would need *per motion* modifiers bits, while they're currently the
// same for all moves, and stored in the skeleton. Maybe an alternative is to select a modifier list for each move, but overall
// we still have a few list only, stored in the skeleton.
//
// Then we need a way to select:
// - a list index for each motion, to look up modifiers from
// - a way to map a source attack to a hit motion
//
// Actually it comes down to something very different from modifiers: just plain motion override. Or in other words, an "open"
// motion target that could actually be defined *in the event generating it*, i.e. completely at runtime. If we do that, we don't
// need any modifier list or anything, current system is fine.

