-
Notifications
You must be signed in to change notification settings - Fork 226
Character features
The character's Command file (referenced to as cmd in the character's DEF file) has the following new features.
In addition to B and F, characters can now use L (left) and R (right) absolute directions when defining commands.
Example:
[Command]
name = "QCR_x"
command = ~D, DR, R, xThe character's Constants file (referenced to as cns in the character's DEF file) has the following new features.
Ikemen GO allows you to set an unlimited amount of new float type constant variables that are detectable by the Const trigger. These can be declared in the character's constants, under the optional [Constants] section. Character's constant variables will overwrite the default constant variables assigned via the data/common.const file. Constant variable names should not contain spaces or brackets.
[Constants]
Default.Attack.LifeToPowerMul = 0.7
Default.GetHit.LifeToPowerMul = 0.6
Super.TargetDefenceMul = 1.5
Default.LifeToGuardPointsMul = -1.5
Default.LifeToDizzyPointsMul = 0
Default.LifeToRedLifeMul = 0.25
Default.IgnoreDefeatedEnemies = 1
Input.PauseOnHitPause = 1Amount of Dizzy Points to start with (defaults to Life)
Amount of Guard Points to start with (defaults to Life)
The default channel for guardsounds. Defaults to -1, meaning the sound will play on any free channel.
The default channel for hitsounds. Defaults to -1, meaning the sound will play on any free channel.
attack.dist.back (nightly build only)
Sets the default distance that a player can attack behind the enemy and still allow them to enter proximity guard.
height.crouch (nightly build only)
Sets the character's height value while crouching.
height.air (nightly build only)
Sets the character's height value while in the air. Takes two parameters: top and bottom.
height.down (nightly build only)
Sets the character's height value while lying down.
proj.attack.dist.back (nightly build only)
Sets the default distance that a player's projectile can be behind the enemy and still allow them to enter proximity guard.
The full support for z-axis is currently a work in progress. Complete documentation will be made available once the development of z-axis functionality has been completed.
The full support for z-axis is currently a work in progress. Complete documentation will be made available once the development of z-axis functionality has been completed.
Extra velocity for a KOed character in the air (x, y, z). Defaults to -2, -2, 0 for 240p chars (auto scaled based on localcoord, if omitted)
Minimum y-velocity for a non-falling KOed character in the air. Defaults to 3 for 240p chars (auto scaled based on localcoord, if omitted)
Multiplier for the x-velocity of a KOed character on the ground. Defaults to 0.66 for 240p chars (auto scaled based on localcoord, if omitted)
Extra velocity for a KOed character on the ground (x, y, z). Defaults to -2.5, -2, 0 for 240p chars (auto scaled based on localcoord, if omitted)
Minimum y-velocity for a non-falling KOed character on the ground. Defaults to -6 for 240p chars (auto scaled based on localcoord, if omitted)
The character's Definition file (the DEF file itself) supports the following new features.
All parameters in the [Files] section of the character definition file are now optional. This update is particularly beneficial for AttachedChars that do not intend to utilize sprites, sounds or commands, but solely character state code. In such cases, they can simply declare st files and proceed accordingly without the need for additional parameters.
Up to 10 fonts can be specified in the same way as in motif definition files (fight.def and system.def). These fonts can be used with the Text controller. Fonts are searched in the following order: the character's DEF file directory, the motif directory, the mugen program directory, data/, and font/. Currently, font loading for AttachedChar is not supported.
font0 = font/jg.fnt
font1 = font/num1.fnt
font2 = mssansserif-tt36.def
font2.height = 36The Ikemen GO Pause menu allows you to view a character's commands during the game. The command data must be assigned via the character's DEF file, under the Files section, using the new movelist file type (recommended file extension: dat).
[Files]
movelist = movelist.datThe IkemenVersion flag is an optional flag that can be used to enable specific engine functionalities or modify older behaviors based on the engine version. Its purpose is to maintain backward compatibility with legacy content. The default value of this flag is 0. Functionality affected by IkemenVersion:
Ikemen GO exclusive ModifyExplod parameters that also existed in MUGEN for Explod controller (anim, space, ignorehitpause) only work for players with ikemenversion greater than 0.
In MUGEN, declaring negative StateDef in one file prevents doing so in other files. However, for players with an IkemenVersion greater than 0, this limitation is lifted. States defined in the current statedef will be appended to the states of the previously defined statedef. A special case exists for ZSS files and files defined under CommonStates since they don't require an IkemenVersion declared to work like this.
In MUGEN, the DefenceMulSet state controller multiplies the amount of damage taken by the player's defense value. However, this is not the behavior stated in the docs. Additionally, the DefenceMulSet state controller in MUGEN only starts working when the character is already in a hit state (typically from the second hit onward). To maintain backward compatibility with this behavior, Ikemen GO uses two new DefenceMulSet parameters: mulType and onHit. The default values of these parameters depend on the IkemenVersion. When IkemenVersion is greater than 0, the DefenceMulSet state controller works as advertised in the docs (defense is multiplied instead of divided, and there is no delay before it kicks in). Otherwise, the bugged MUGEN behavior is replicated.
Contrary to the MUGEN docs, the Projectile state controller does not support the ChainID and NochainID parameters. This behavior has been replicated by default in Ikemen GO. However, when IkemenVersion is greater than 0, the Projectile state controller takes these parameters into account.
If IkemenVersion is greater than 0, the AssertSpecial state controller NoKO flag affects only the player/helper that called it. Otherwise, the MUGEN behavior is replicated, and all players and helpers are affected. The new GlobalNoKo flag can be used to replicate the old MUGEN behavior.
If IkemenVersion is greater than 0, when redirecting a command trigger to another player, command will first check if the other player is performing its own command with that name. If not, it'll check if it's performing the command from our own command list. Otherwise it will work like mugen.
The name of the character to be displayed on the lifebar can be specified. If no name is specified, the default name "DisplayName" will be used.
This setting specifies the display magnification of the portrait, overriding the display magnification according to Localcoord.
portraitscale = 1.0This variant of associative array allows to link a string and a float value for each character. This can be used as a variable, as a tag, or as a flag for a specific technique. For example, a map can be set by adding the following description to the character def file:
[Map]
Ryu = 1
Streetfighter = 1
man = 1
birthyear = 1964
Japan = 1
Ansatsuken = 1This map can be recognized by a Map trigger and its value can be modified or set by MapSet and MapAdd state controllers. Note that spaces cannot be used in map names.
Ikemen GO allows you to remap your character's sprites using the RemapSprite state controller. You can use the [RemapPreset X] sections, declared in your character's CNS (referenced as cns in the character's DEF file), alongside other constant groups, to prepare multiple sprite remaps in advance and use them all at once. There can be multiple [RemapPreset X] sections in the cns file; X is the name of the preset.
[RemapPreset Claw]
5000,0 = 5000,100
5071,10 = 5071,110
5071,20 = 5071,120
[RemapPreset ClawAndMask]
5000,0 = 5000,200
5071,10 = 5071,210
5071,20 = 5071,220