------------------------------------------------------------
MoveHit
------------------------------------------------------------
This
trigger is valid only when the player is in an attack state.
MoveHit
gives 1 if P2 has been hit by P1's attack. It gives 0 if the
attack
missed or was guarded.
Typically
used with the "StateNo" and "Command" triggers for detecting
move-interrupts
in the CMD file.
Format:
MoveHit (oper) value
Arguments:
(oper)
=, != (other operators not valid)
value (boolean)
Value to compare against. 0 for false, 1 for true.
Example:
trigger1 = MoveHit = 1
True if P1's attack connected successfully with P2.
------------------------------------------------------------
MoveType
------------------------------------------------------------
MoveType
gives the player's move-type. Refer to the section
on
StateDef in the CNS documentation for more details on MoveType.
Useful
for "move interrupts" in the CMD file.
Format:
MoveType (oper) move_type
Arguments:
(oper)
=, != (other operators
not valid)
move_type (char)
A, I, H
Attack, Idle and GetHit move-types.
Example:
trigger1 = movetype != H
Triggers if the player is not currently in a gethit-type state.
------------------------------------------------------------
NumExplod
------------------------------------------------------------
This
trigger takes an optional ID number as a suffix. If the ID number
is
omitted, NumExplod returns the number of explods owned by the
player.
If the ID number is included, then NumExplod returns the number
of
explods with that ID number that are owned by the player.
Format:
1. NumExplod (oper) value1
2. NumExplod(ID) (oper) value1
Arguments:
(oper)
=, !=, <, >, <=, >=
(ID)
Optional nonzero ID number.
value1
Value to compare against.
Examples:
1. trigger1 = NumExplod >= 4
Triggers if the player currently owns 4 or more explods.
2. trigger1 = NumExplod1234 >= 4
Triggers if the player currently owns 4 or more explods with ID
1234.
------------------------------------------------------------
NumHelper
------------------------------------------------------------
This
trigger takes an optional ID number as a suffix. If the ID number
is
omitted, then NumHelper returns the total number of helpers
currently
owned by the player. If the ID number is included, then
NumHelper
returns the total number of helpers with that ID number owned
by
the parent.
Format:
1. NumHelper (oper) value1
2. NumHelper(ID) (oper) value1
Arguments:
(oper)
=, !=, <, >, <=, >=
(ID)
Optional nonzero ID number.
value1
Value to compare against.
Examples:
1. trigger1 = NumHelper < 2
Triggers if the player now has less than 2 helpers.
2. trigger1 = NumHelper1234 < 2
Triggers if the player now has less than 2 helpers with ID 1234.
------------------------------------------------------------
NumProj
------------------------------------------------------------
Returns
the total number of projectiles currently owned by the player.
Format:
NumProj (oper) value1
Arguments:
(oper)
=, !=, <, >, <=, >=
value1
Value to compare against.
Example:
trigger1 = NumProj = 0
Triggers if the player has no currently active projectiles.
------------------------------------------------------------
NumProjID
------------------------------------------------------------
This
trigger takes an ID number as a required suffix. It returns the
number
of projectiles currently owned by the player and having the
specified
ID number.
Format:
NumProjID(number) (oper) value1
Arguments:
(number)
Required ID number.
(oper)
=, !=, <, >, <=, >=
value1
Value to compare against.
Example:
trigger1 = NumProjID1234 = 1
Triggers if there the player currently owns exactly 1 projectile
with the ID number 1234.
------------------------------------------------------------
P1Name
------------------------------------------------------------
Returns
the player's name (the internal name specified in the .DEF
file,
which may not be the same as the displayed name).
Format:
P1Name (oper) name
Arguments:
(oper)
=, != (other operators not valid)
name (string)
Name to compare against.
Example:
trigger1 = P1Name = Kumquat
Returns true if the player is named "Kumquat".
------------------------------------------------------------
P2BodyDist
------------------------------------------------------------
Gives
the distance of P2 from P1, where P1 is the player, and P2 is his
opponent.
P2BodyDist is useful in the CMD for cases where P1 has an
attack
that is different when performed close to P2.
Format:
P2BodyDist (component) (oper) valuef1
Arguments:
(component)
X, Y
(oper)
=, !=, <, >, <=, >=
valuef1 (decimal)
The value to compare with.
Details:
For comparing the Y-distance, P2BodyDist gives the difference in the
heights of the players' Y-axes. A negative value means that P2 is
above P1.
For comparing the X-distance, P2BodyDist gives the
X-distance of P2's front from P1's front. So, if the
players are standing right next to each other, then
P2BodyDist is 0. Remember that you can set the width of
the player in "front.width", etc. under [Size] in the
player variables.
See also P2Dist.
Example:
trigger1 = P2BodyDist X < 30
Triggers if the front of P2 is within 30 pixels of the front of
P1.
------------------------------------------------------------
P2Dist
------------------------------------------------------------
Gives
the distance of P2 from P1, where P1 is the player, and P2 is his
opponent.
Format:
P2Dist (component) (oper) valuef1
Arguments:
(component)
X, Y
(oper)
=, !=, <, >, <=, >=
valuef1 (decimal)
The value to compare with.
Details:
For comparing the Y-distance, P2Dist gives the difference in the
heights of the players' Y-axes. A negative value means that P2 is
above P1.
For comparing the X-distance, P2Dist gives the X-distance
of P2's axis from P1's axis. A positive value indicates P2
is in front of P1.
See also P2BodyDist.
Example:
trigger1 = P2Dist Y <= -12
True if P2 is at least 12 pixels higher up than P1.
------------------------------------------------------------
P2Life
------------------------------------------------------------
Same
as Life, except that this returns the opponent's life.
------------------------------------------------------------
P2MoveType
------------------------------------------------------------
Same
as MoveType, except that this returns the opponent's movetype.
------------------------------------------------------------
P2Name
------------------------------------------------------------
Same
as P1Name, except that this returns the name of the primary
opponent
(the opponent in versus mode, or the first opponent in team
mode).
------------------------------------------------------------
P2StateNo
------------------------------------------------------------
Same
as StateNo, except that this returns the opponent's state number.
------------------------------------------------------------
P2StateType
------------------------------------------------------------
Same
as StateType, except that this returns the opponent's state type.
------------------------------------------------------------
P3Name
------------------------------------------------------------
Same
as P1Name, except that this returns the name of the player's
teammate,
if present (if not present, this will never trigger).
------------------------------------------------------------
P4Name
------------------------------------------------------------
Same
as P1Name, except that this returns the name of the secondary
opponent,
if present (if not present, this will never trigger).
------------------------------------------------------------
PalNo
------------------------------------------------------------
Returns
the palette number of the player (i.e., the color scheme chosen
for
the character during character select.)
Format:
PalNo (oper) value1
Arguments:
(oper)
=, !=, <, >, <=, >=
value1 (int)
Numerical value to compare against (1-12).
Details:
The palette ordering is:
X Y Z
4
5 6
A B C
1 2 3
Holding start while selecting will add 6 to the palette number.
Example:
trigger1 = PalNo = 5
Returns true if the current palette number is 5.
------------------------------------------------------------
ParentDist
------------------------------------------------------------
This
trigger is only valid for helper-type characters.
ParentDist
returns the distance from the helper to its parent. It works
similarly
to P2Dist.
Format:
ParentDist (component) (oper) valuef1
Arguments:
(component)
X, Y
(oper)
=, !=, <, >, <=, >=
valuef1 (decimal)
The value to compare with.
Details:
For comparing the Y-distance, ParentDist gives the difference in the
heights of the players' Y-axes. A negative value means that the
parent is above its child.
For comparing the X-distance, ParentDist gives the X-distance
of the parent's axis from the child's axis. A positive value
indicates the parent is in front of the child.
Example:
trigger1 = ParentDist X != 0
Triggers if the parent is not at the exact same x-position as the
helper character.
------------------------------------------------------------
Pos
------------------------------------------------------------
Gets
the value of the player's position. You must specify the component
that
you want to check, eg. "Pos Y" to check the Y-position.
Format:
Pos (component) (oper) valuef1
Arguments:
(component)
X, Y
(oper)
=, !=, <, >, <=, >=
valuef1 (decimal)
The value to compare with.
Details:
For "Pos X", the value is relative to the center of the
screen (value 0). Negative is left, positive is right.
For "Pos Y", the value is relative to the floor. Negative
is higher up, positive is below the floor.
Example:
trigger1 = Pos Y >= 0
True when the player is below the floor.
------------------------------------------------------------
Power
------------------------------------------------------------
Returns
the amount of power the player has.
Format:
Power (oper) value1
Arguments:
(oper)
=, !=, <, >, <=, >=
value1 (int)
Numerical value to compare with.
Example:
trigger1 = power >= 1000
True if player has at least 1000 power (level 1).
------------------------------------------------------------
ProjContact
------------------------------------------------------------
This
trigger takes an optional ID number as a suffix. If the ID number
is
omitted, ProjContact returns true if any of the player's projectiles
either
successfully hit the opponent or were guarded by the opponent.
When
the ID number is specified, ProjContact returns true only if any
of
the player's projectiles with the specified ID number either
successfully
hit the opponent or was guarded.
Format:
1. ProjContact(ID) = value
2. ProjContact(ID) = value, (oper) value2
Arguments:
(ID)
Optional ID number.
value (boolean)
Value to compare against. 0 for false, 1 for true.
(oper)
=, !=, <, >, <=, >=
value2
Time value to compare against.
Details:
ProjContact will trigger once for each hit of the projectile, so a
multi-hit projectile can trigger multiple times.
The first form of ProjContact shown above is only valid for one tick
after contact, unlike MoveContact.
For the second form, ProjContact returns true if the projectile made
contact n ticks ago, where n is a nonnegative number satisfying the
relation "n (oper) value2".
Examples:
1. trigger1 = ProjContact1234 = 1
Triggers if a projectile with ID 1234 just made contact with the
opponent.
2. trigger1 = ProjContact456 = 0, < 15
Triggers if no projectile with ID 456 made contact in the last 15
ticks.
------------------------------------------------------------
ProjGuarded
------------------------------------------------------------
This
trigger takes an optional ID number as a suffix. If the ID number
is
omitted, ProjGuarded returns true if any of the player's projectiles
were
guarded by the opponent. When the ID number is specified,
ProjGuarded
returns true only if one of the player's projectiles with
the
specified ID number was guarded by the opponent.
Format:
1. ProjGuarded(ID) = value
2. ProjGuarded(ID) = value, (oper) value2
Arguments:
(ID)
Optional ID number.
value (boolean)
Value to compare against. 0 for false, 1 for true.
(oper)
=, !=, <, >, <=, >=
value2
Time value to compare against.
Details:
ProjGuarded will trigger once for each hit of the projectile, so a
multi-hit projectile can trigger multiple times.
The first form of ProjGuarded shown above is only valid for one tick
after hit, unlike MoveGuarded.
For the second form, ProjGuarded returns true if the projectile was
guarded n ticks ago, where n is a nonnegative number satisfying the
relation "n (oper) value2".
Examples:
1. trigger1 = ProjGuarded1234 = 1
Triggers if the opponent just blocked a projectile with ID 1234.
2. trigger1 = ProjGuarded = 1, < 15
Triggers if the opponent blocked any projectile in the last 15
ticks.
------------------------------------------------------------
ProjHit
------------------------------------------------------------
This
trigger takes an optional positive ID number as a suffix. If the
ID
number is omitted, ProjHit returns true if any of the player's
projectiles
successfully hit the opponent. When the ID number is
specified,
ProjHit returns true only if one of the player's projectiles
with
the specified ID number successfully hit the opponent.
Format:
1. ProjHit(ID) = value
2. ProjHit(ID) = value, (oper) value2
Arguments:
(ID)
Optional ID number.
value (boolean)
Value to compare against. 0 for false, 1 for true.
(oper)
=, !=, <, >, <=, >=
value2
Time value to compare against.
Details:
ProjHit will trigger once for each hit of the projectile, so a
multi-hit projectile can trigger multiple times.
The first form of ProjHit shown above is only valid for one tick
after hit, unlike MoveHit.
For the second form, ProjHit returns true if the projectile hit
n ticks ago, where n is a nonnegative number satisfying the relation
"n (oper) value2".
Examples:
1. trigger1 = ProjHit1234 = 1
Triggers if a projectile with ID 1234 just made successful
contact with the opponent.
2. trigger1 = ProjHit1234 = 1, < 15
Triggers if any of the player's projectiles made successful
contact with the opponent within the last 15 ticks.
------------------------------------------------------------
Random
------------------------------------------------------------
Returns
a random number between 0 and 999, inclusive.
Format:
Random (oper) value1
Arguments:
(oper)
=, !=, <, >, <=, >=
value1 (int)
Numerical value to compare against (0-999).
Example:
trigger1 = Random <= 249
Triggers if the random number returned is less than or equal to
249. (This occurs with 25% probability.)
------------------------------------------------------------
RootDist
------------------------------------------------------------
This
trigger is only valid for helper-type characters.
RootDist
returns the distance from the helper to its root. The root is
the
main player character who owns the helper: for instance, if you
select
Kumquat to play with, and Kumquat spawns a helper named Kiwi,
who
in turn spawns a helper named Penguin, then Penguin's root is
Kumquat,
and Penguin is a descendant of Kumquat. RootDist works
similarly
to P2Dist.
Format:
RootDist (component) (oper) valuef1
Arguments:
(component)
X, Y
(oper)
=, !=, <, >, <=, >=
valuef1 (decimal)
The value to compare with.
Details:
For comparing the Y-distance, RootDist gives the difference in the
heights of the players' Y-axes. A negative value means that the
root is above its descendant.
For comparing the X-distance, ParentDist gives the X-distance
of the root's axis from the descendant's axis. A positive value
indicates the root is in front of its descendant.
Example:
trigger1 = RootDist X != 0
Triggers if the root is not at the exact same x-position as the
helper character.
------------------------------------------------------------
SelfAnimExist
------------------------------------------------------------
Like
AnimExist, except that this only checks P1's animation data. If P1
has
been given P2's animation data by a hit, SelfAnimExist will not
check
P2's animation data to determine whether or not a given action
exists.
------------------------------------------------------------
StateNo
------------------------------------------------------------
Returns
the player's current state number. Useful for "move interrupts"
in
the CMD file.
Format:
StateNo (oper) value1
Arguments:
(oper)
=, !=, <, >, <=, >=
value1 (int)
Numerical value to compare with.
Example:
trigger1 = stateno = [200,650]
Returns true if the state number is between 200 and 650,
inclusive.
------------------------------------------------------------
StateType
------------------------------------------------------------
StateType
gives the player's state-type. Refer to the section
on
StateDef in the CNS documentation for more details on StateType.
Useful
for "move interrupts" in the CMD file.
Format:
StateType (oper) state_type
Arguments:
(oper)
=, != (other operators
not valid)
state_type (char)
S, C, A
Stand, Crouch and Air state-types.
Example:
trigger1 = StateType != A
Triggers if the player is not in an air-type state.
------------------------------------------------------------
Time
------------------------------------------------------------
Gives
the state-time of the player.
Format:
Time (oper) value
Arguments:
(oper)
=, !=, <, >, <=, >=
value (int)
Value to compare with.
Example:
trigger1 = Time = 2
Triggers when the player's state-time is 2.
------------------------------------------------------------
TimeMod
------------------------------------------------------------
Returns
the remainder when the state-time of the player is divided by
the
specified value.
Format:
TimeMod (oper) divisor, value1
Arguments:
(oper)
=, !=, <, >, <=, >=
divisor (int)
Positive number to use as a divisor.
value1 (int)
Value to compare remainder against.
Example:
trigger1 = TimeMod = 4, 3
Triggers when the state-time is 3, 7, 11, 15, ...
------------------------------------------------------------
Var
------------------------------------------------------------
This
trigger takes a mandatory variable number as a suffix. It returns
the
value of the specified variable.
Format:
Var(no) (oper) value1
Arguments:
(no)
Mandatory variable number. Valid numbers at the time of this
writing are 0-31.
(oper)
=, !=, <, >, <=, >=
value1 (int)
Value to compare against.
Example:
trigger1 = Var0 = -34
Triggers if the value of variable 0 is -34.
------------------------------------------------------------
Vel
------------------------------------------------------------
Gets
the value of the player's velocity. You must specify the component
that
you want to check, eg. "Vel Y" to check the Y-velocity.
Format:
Vel (component) (oper) valuef1
Arguments:
(component)
X, Y
(oper)
=, !=, <, >, <=, >=
valuef1 (decimal)
The value to compare with.
Details:
For Vel X, a positive value indicates that the player is moving
forward. (This behavior is the opposite of HitVel X's behavior.) For
Vel Y, a positive value indicates that the player is moving
downward.
Example:
trigger1 = Vel Y >= 0
True when the player is not moving upward.
------------------------------------------------------------
Win
------------------------------------------------------------
Returns
true if the player (or the player's team, in team mode) has won
the
round, false otherwise. Can be suffixed with "KO" or "Time"
to
trigger
only when the round has been won by a KO or by time expiring,
respectively.
Format:
1. Win (oper) value
2. WinKO (oper) value
3. WinTime (oper) value
Arguments:
(oper)
=, != (other operators not valid)
value (boolean)
Value to compare against. 0 for false, 1 for true.
Examples:
1. trigger1 = Win = 1
Triggers if the player (or his team) has won the round.
2. trigger1 = WinKO = 0
Triggers if the player (or his team) has not won the round by
a KO. For example, this will trigger if the player's team has
not yet won the round, or if they have won the round by time
over.