3D Expressive Rendering
Published : February 19, 2022
Temporary home for the documentation of Castagne's function, until I do a real page. This is automatically generated.
Contains the absolute core functions of the engine. This should be included in virtually all cases.
These functions are focused on variable and flag manipulation. You can change both variables added by modules or added by the :Variables: block.
Flag: Raises a flag. Flags are reset at the beginning of each frame and allow you to communicate easily between modules. Flags are tested with L branches. ([Flag name])
Unflag: Unsets a flag, if it was set earlier. ([Flag name])
Set: ([])
Flags:
Transition: Changes the current script/state. If multiple changes are made in the same frame, the first one with the biggest priority wins. Changes from one state to itself are ignored, except if allowing self-transition in the arguments. ([State name, (Optional) Priority, (Optional) Allow self-transition])
Call: Executes another script/state. ([Name of the state to call])
CallParent: Execute another script/state on the parent skeleton. ([Name of the state to call.])
State:
StateChangePriority:
StateStartFrame:
CallParentLevel:
Log: Writes a log to the console output. ([Text to write])
LogT: Writes a log to the console output during the Transition phase only. ([Text to write])
LogB: Writes a log to the console output during the Init, Action, and Transition phases. ([Text to write])
FrameID:
TrueFrameID:
SkipFrame:
CurrentEntityID:
ActiveEntities:
Anim: Plays an animation frame by frame. The animation updates only when this function is called, and follows the same frames as the state. ([Animation Name, (Optional) Offset])
Anim:
AnimFrame:
HP:
HPMax:
Meter:
Timer:
CameraHor:
CameraVer:
PlayerOnTheLeft:
WhoHasWon:
Facing:
FacingTrue:
PositionHor:
PositionVer:
Move: Moves the entity this frame, depending on facing. ([Horizontal move, Vertical move])
MoveAbsolute: Moves the entity this frame, independant of facing. ([Horizontal move, Vertical move])
AddMomentum: Adds to the momentum, depending on facing. This will move the entity every frame. ([Horizontal momentum, Vertical momentum])
AddMomentumAbsolute: Adds to the momentum, independant of facing. This will move the entity every frame. ([Horizontal momentum, Vertical momentum])
SetMomentum: Sets the momentum, depending on facing. This will move the entity every frame. ([Horizontal momentum, Vertical momentum])
SetMomentumAbsolute: Sets the momentum, independant of facing. This will move the entity every frame. ([Horizontal momentum, Vertical momentum])
BreakMomentum: Reduces the momentum by the amount given. ([Horizontal momentum, Vertical momentum])
CapMomentum: Limits the momentum to those values. Ignores a direction if using a negative number. ([Horizontal momentum, Vertical momentum])
AddMomentumTurn: Adds to the momentum, depending on facing. If momentum is going in the opposite direction, cancel it before applying. ([Horizontal momentum, Vertical momentum])
AddMomentumTurnAbsolute: Adds to the momentum, independant of facing. If momentum is going in the opposite direction, cancel it before applying. ([Horizontal momentum, Vertical momentum])
Colbox: Sets the collision box, which will push other entities. ([Back bound, Front bound, Down bound, Up bound])
Hurtbox: Adds a hurtbox, that can be hit by hitboxes. ([Back bound, Front bound, Down bound, Up bound])
Hitbox: Adds a hitbox, that can hit hurtboxes. You need to set attack data beforehand, though the Attack function. This function does not reset the attack data, so you can add several hitboxes for the same attack data by calling Hitbox several times. ([Back bound, Front bound, Down bound, Up bound])
Facing:
FacingTrue:
PlayerOnTheLeft:
CameraHor:
CameraVer:
MovementHor:
MovementVer:
MomentumHor:
MomentumVer:
Hitboxes:
Hurtboxes:
Colbox:
Attack: Initiates an attack with default parameters. This should be the first function called for a new attack, then you use other Attack functions to customize it, and finally you use Hitbox to apply it. ([Damage, (Optional) Total frames (must be specified at the first attack at least)])
AttackDuration: Changes the total duration of the attack. Can replace Attack's second parameter but must be called before it. ([Total frames])
AttackParam: Sets a generic attack parameter directly. This is an advanced function and should be used either when you need some really specific adjustment, or when you want to add functionality without a module. ([Parameter name, Parameter value])
AttackFlag: Sets a flag on the attack. All flags are transfered to the hit opponent with the AF prefix (meaning Low become AFLow), and are used by modules during attack checking. See the list of flags for more information. ([Flag name])
AttackUnflag: Removes a flag from an attack. ([Flag name])
AttackFrameAdvantage: Sets an attack's frame advantage automatically on hit and block. This is based on the total duration of the attack and the last use of the multihit flag. Same functionality as AttackSetHitstunBlockstun, but in an easier way. ([Frame advantage on hit, Frame advantage on block])
AttackProrationHitstun: Sets an attack's proration for hitstun. The lower it is, the more hitstun will decay with each hit. Values are in permil. ([First hit proration (used instead of proration for the first hit), Subsequent hit proration])
AttackProrationDamage: Sets an attack's proration for damage. The lower it is, the more damage will decay with each hit. Values are in permil. ([First hit proration (used instead of proration for the first hit), Subsequent hit proration])
AttackChipDamage: Sets an attack's chip damage, the damage that gets inflicted when an opponent blocks. ([The amount of chip damage])
AttackMinDamage: Sets an attack's minimum damage. ([The minimum amount of damage])
AttackMomentum: Sets an attacks's added momentum to the opponent on hit and block. ([Horizontal grounded momentum, (Optional) Vertical grounded momentum, (Optional) Horizontal airborne momentum, (Optional) Vertical airborne momentum])
AttackMomentumHit: Sets an attacks's added momentum to the opponent on hit. ([Horizontal grounded momentum, (Optional) Vertical grounded momentum, (Optional) Horizontal airborne momentum, (Optional) Vertical airborne momentum])
AttackMomentumBlock: Sets an attacks's added momentum to the opponent on block. ([Horizontal grounded momentum, (Optional) Vertical grounded momentum, (Optional) Horizontal airborne momentum, (Optional) Vertical airborne momentum])
AttackSetHitstunBlockstun: Sets an attack's hitstun and blockstun. Same functionality as AttackFrameAdvantage, but in a more direct way. ([Hitstun, Blockstun])
AttackData:
AttackDuration:
AttackFlags:
AttackHitEntities:
HitstunDuration:
BlockstunDuration:
ProrationHitstun:
ProrationDamage:
Multihit: Allow an attack to hit again.
AFLow: Makes an attack unblockable while standing up.
AFOverhead: Makes an attack unblockable while crouching.
AttackApplyCancels: Manages the transitions of attacks using numpad notation. A prefix can be added. It will only cancel into an attack if it wasn't already used since the last call to AttackResetDoneCancels. ([(Optional) Prefix])
AttackResetDoneCancels: Resets the list of used attacks in cancels, meaning you can use them again. Mostly used when returning to neutral. ([])
AttackCancelOnWhiff: Adds a possible cancel on whiff. ([The command to be used in numpad notation., (Optional) Attack name if different from the numpad notation.])
AttackCancelOnBlock: Adds a possible cancel on block. ([The command to be used in numpad notation., (Optional) Attack name if different from the numpad notation.])
AttackCancelOnHit: Adds a possible cancel on hit. ([The command to be used in numpad notation., (Optional) Attack name if different from the numpad notation.])
AttackCancelOnTouch: Adds a possible cancel on block or hit. ([The command to be used in numpad notation., (Optional) Attack name if different from the numpad notation.])
AttackCancelOnWhiffOrTouch: Adds a possible cancel on whiff, block, or hit. ([The command to be used in numpad notation., (Optional) Attack name if different from the numpad notation.])
AttackCancelNeutral: Adds a possible cancel when in a neutral state. ([The command to be used in numpad notation., (Optional) Attack name if different from the numpad notation.])
AttackCancelOnTouchAndNeutral: Adds a possible cancel when in a neutral state or on block or hit. ([The command to be used in numpad notation., (Optional) Attack name if different from the numpad notation.])
AttackAddAllCancelsOnWhiff: Adds all cancels from a button on whiff. For example using B and j as parameters will add j1B, j2B, j3B and so on. ([The base button to use., (Optional) Prefix.])
AttackAddAllCancelsOnBlock: Adds all cancels from a button on block. For example using B and j as parameters will add j1B, j2B, j3B and so on. ([The base button to use., (Optional) Prefix.])
AttackAddAllCancelsOnHit: Adds all cancels from a button on hit. For example using B and j as parameters will add j1B, j2B, j3B and so on. ([The base button to use., (Optional) Prefix.])
AttackAddAllCancelsOnTouch: Adds all cancels from a button on block or hit. For example using B and j as parameters will add j1B, j2B, j3B and so on. ([The base button to use., (Optional) Prefix.])
AttackAddAllCancelsOnWhiffOrTouch: Adds all cancels from a button on whiff, block, or hit. For example using B and j as parameters will add j1B, j2B, j3B and so on. ([The base button to use., (Optional) Prefix.])
AttackAddAllCancelsNeutral: Adds all cancels from a button when in a neutral state. For example using B and j as parameters will add j1B, j2B, j3B and so on. ([The base button to use., (Optional) Prefix.])
AttackAddAllCancelsOnTouchAndNeutral: Adds all cancels from a button when in a neutral state, or on block or hit. For example using B and j as parameters will add j1B, j2B, j3B and so on. ([The base button to use., (Optional) Prefix.])
AttackInitialFrame:
AttackHitconfirm_State:
AttackDoneCancels:
AttackPossibleCancelsWhiff:
AttackPossibleCancelsBlock:
AttackPossibleCancelsHit:
AttackPossibleCancelsNeutral:
Hitstop:
WhoHasWon:
TimeSinceDead:
TimeSinceHitstun: