Triggers (changed) - ikemen-engine/Ikemen-GO GitHub Wiki
The triggers in this page already existed in Mugen, but were adjusted or received new features in Ikemen GO.
Refer to the sidebar for quicker navigation.
Changed trigger redirections
Helper (nightly build only)
The Helper redirection now also accepts an optional index argument, through the new format Helper(ID, index). Defaults to 0 (first one).
The old formats still work exactly the same.
Example:
trigger1 = NumHelper(1005) >= 2
trigger1 = Helper(1005, 1), MoveType = A; The second helper with ID 1005
Target (nightly build only)
The Target redirection now also accepts an optional index argument, through the new format Target(ID, index). Defaults to 0 (first one).
The old format still works exactly the same.
Example:
trigger1 = NumTarget >= 2
trigger1 = Target(-1, 1), Alive; The second target with any ID
Changed triggers
Command
If a character has ikemenversion, when the Command trigger is redirected to another player, the engine will first check if the other player is performing its own command with the same name. If not, it'll check if it's performing the command from our own command list. Otherwise it will work like Mugen.
Const
The Const trigger can now also read Ikemen GO's new constants.
Const(constants)
Returns the value of one of the player's constants from the Constants(Character-features/#cns_constants) section.
[Constants]
FireballState = 1000
[State -1, Fireball]
triggerall = NumHelper(Const(FireballState)) = 0
data.dizzypoints
Returns the value of the player's [Data] dizzypoints constant.
data.fall.defence_up
Returns the value of the player's [Data] fall.defence_up constant.
data.guardpoints
Returns the value of the player's [Data] guardpoints constant.
data.guardsound.channel
Returns the value of the player's [Data] guardsound.channel constant.
data.hitsound.channel
Returns the value of the player's [Data] hitsound.channel constant.
size.height.crouch
Returns the value of the player's [Size] height.crouch constant.
size.height.air.top
Returns the first value of the player's [Size] height.air constant.
size.height.air.bottom
Returns the second value of the player's [Size] height.air constant.
size.height.down
Returns the value of the player's [Size] height.down constant.
velocity.air.gethit.ko.add
Returns the value of the player's [Velocity] air.gethit.ko.add constant.
- velocity.air.gethit.ko.add.x
- velocity.air.gethit.ko.add.y
- velocity.air.gethit.ko.add.z
velocity.air.gethit.ko.ymin
Returns the value of the player's [Velocity] air.gethit.ko.ymin constant.
velocity.ground.gethit.ko.xmul
Returns the value of the player's [Velocity] ground.gethit.ko.xmul constant.
velocity.ground.gethit.ko.add
Returns the value of the player's [Velocity] ground.gethit.ko.add constant.
- velocity.ground.gethit.ko.add.x
- velocity.ground.gethit.ko.add.y
- velocity.ground.gethit.ko.add.z
velocity.ground.gethit.ko.ymin
Returns the value of the player's [Velocity] ground.gethit.ko.ymin constant.
GameHeight
If mugenVersion is specified as 1.0 in character's Info(Character-features/#def_info) section, GameHeight returns the same value as ScreenHeight.
GameWidth
If mugenVersion is specified as 1.0 in character's Info(Character-features/#def_info) section, GameWidth returns the same value as ScreenWidth.
GetHitVar
air.velocity.x (y, z) (nightly build only)
Returns the X, Y or Z component of the last HitDef's air.velocity parameter, even if the player was not hit in the air. (float)
airguard.velocity.x (y, z) (nightly build only)
Returns the X, Y or Z component of the last HitDef's airguard.velocity parameter, even if the player did not guard in the air. (float)
air.animtype, fall.animtype, ground.animtype
Returns the literal value specified in the HitDef.
attr (nightly build only)
Returns the last HitDef attr assignment. (string)
trigger1 = getHitVar(attr) = SCA, HA
dizzypoints
Returns last HitDef dizzypoints value. (int)
down.velocity.x (y, z) (nightly build only)
Returns the X, Y or Z component of the last HitDef's down.velocity parameter, even if the player was not hit while down. (float)
facing (nightly build only)
Returns last HitDef p2facing value. (int)
fall.envshake.mul
Returns last HitDef fall.envshake.mul value. (float)
fall.zvel (nightly build only)
Returns z velocity after bouncing off ground (float)
frame (nightly build only)
Returns true only during the same frame where the player got hit by an attack. (bool)
ground.velocity.x (y, z) (nightly build only)
Returns the X, Y or Z component of the last HitDef's ground.velocity parameter, even if the player was not hit on the ground. (float)
guard.velocity.x (y, z) (nightly build only)
Returns the X, Y or Z component of the last HitDef's guard.velocity parameter, even if the player did not guard on the ground. (float)
guardpoints
Returns last HitDef guardpoints value. (int)
guardcount (nightly build only)
Returns how many hits the player has guarded without a chance to fight back. (int)
guarddamage
Returns the second value of the last HitDef's damage parameter. (int)
guardpower
Returns the second value of the last HitDef's givepower parameter. In other words, the power received when guarding. (int)
hitpower
Returns the first value of the last HitDef's givepower parameter. In other words, the power received when getting hit. (int)
hitdamage
Returns the first value of the last HitDef's damage parameter. (int)
id
Returns the ID of the last character that hit the player. (int)
kill
Returns the kill flag of the last hit or LifeAdd the character suffered. (int)
playerno
Returns the PlayerNo of the last character that hit the player. (int)
power (nightly build only)
Returns how much power the player received from the last hit, regardless of getting hit or guarding. (int)
priority (nightly build only)
Returns the numerical value of the attack priority of the last HitDef. (int)
redlife
Returns last HitDef redlife value. (int)
score
Returns last HitDef score value. (float)
type
Returns the value of either groundtype or airtype, depending on the character's StateType upon being hit. Such a trigger was documented in Mugen but did not work.
xaccel (nightly build only)
Returns the X acceleration set by the hit. (float)
NOTE: Currently, this parameter will only work if the character does not override the common1.cns.zss states that use it.
xveladd (nightly build only)
This trigger was dummied out in Mugen, always returning 0. In Ikemen, it works as documented.
yveladd (nightly build only)
This trigger was dummied out in Mugen, always returning 0. In Ikemen, it works as documented.
zaccel (nightly build only)
Returns the Z acceleration set by the hit. (float)
NOTE: Currently, this parameter will only work if the character does not override the common1.cns.zss states that use it.
zvel (nightly build only)
Returns the fixed z-velocity imparted by hit. (float)
zoff (nightly build only)
"Snap" z offset when hit.
IsHelper (nightly build only)
The IsHelper trigger now also accepts an optional index argument, through the new format IsHelper(ID, index). Defaults to -1 (any index).
The old formats still work exactly the same.
Example:
trigger1 = IsHelper(123, 2); Is the third helper with ID 123
P2BodyDist (nightly build only)
Y (nightly build only)
In Mugen, this trigger merely does the same as P2Dist Y. If a character has ikemenversion, it will instead return the distance between the size boxes of the two players.
Z (nightly build only)
P2BodyDist now also accepts a Z argument. When there is overlap between the players' Z width, it returns 0, otherwise returns the distance between their theoretical width boxes.
P2Dist Z (nightly build only)
The P2Dist trigger now also accepts a Z argument. Returns the distance between the players in the Z axis.
ParentDist Z (nightly build only)
The ParentDist trigger now also accepts a Z argument. Returns the distance between the helper and its parent in the Z axis.
RootDist Z (nightly build only)
The RootDist trigger now also accepts a Z argument. Returns the distance between the helper and its root in the Z axis.
RoundState (nightly build only)
The RoundState trigger no longer returns 2 during the "Fight!" screen, before players have control, returning 1 instead.
RoundState = 2 is generally understood and documented as the main part of the fight, so this oddity only caused trouble in Mugen.
StageVar
StageVar now accepts all stage parameters that ModifyStageVar state controller can change. In addition it accepts the following parameters (nightly build only):
info.ikemenversion = version (float)
info.mugenversion = version (float)
stageinfo.localcoord.x = width (int)
stageinfo.localcoord.y = height (int)
TeamMode = Tag
Now TeamMode can also return "Tag".
Note that TeamMode returns "Turns" during Ratio mode.
trigger1 = TeamMode = Tag