Skip to content

Effect Actors

Evghenii edited this page Sep 15, 2021 · 8 revisions

Effect Actors

Q-Zandronum 1.3 introduced a way to spawn actors when a certain movement action like jumping, landing or crouch sliding is performed. Originally this was intended for purely cosmetic purposes, but can also be used to spawn actors that can affect gameplay. Please note that this function will spawn actors marked as clientside even on other clients, but will not do so on server. So, if your actor is purely decorative - mark it as clientside. If the actor is supposed to affect gameplay, then don't mark it as clientside and the engine will handle client prediction and unlagged for you.

To use this feature you first need to create an actor class you want to spawn, then assign that class to the effect you want:

In Decorate:

Player.EffectActor "effect name" "class name"

Or in ACS:

SetEffectActor(int tid, int effect_index, str class_name)

Available effects

Decorate Name ACS Index Description
jump EA_JUMP The actor will spawn on every jump. This is the same time when *jump sound is played.
secondjump EA_SECOND_JUMP The actor will spawn on every second jump (double jump, wall jump). Please read Movement changes for what Second Jump feature is. This is the same time when *secondjump sound is played.
land EA_LAND The actor will spawn on every land. This is the same time when *land sound is played.
grunt EA_GRUNT The actor will spawn on every grunt. This is the same time when *grunt sound is played.
footstep EA_FOOTSTEP The actor will spawn on every step. This is the same time when *footstep sound is played aka it's bound to Player.FootstepInterval property.
crouchslide EA_CROUCH_SLIDE The actor will spawn periodically when the player is crouch sliding. Since the *slide sound is looped, the Effect Actor's spawn interval is configured by Player.CrouchSlideEffectInterval property.
wallclimb EA_WALL_CLIMB The actor will spawn periodically when the player is wall climbing. Since the *wallclimb sound is looped, the Effect Actor's spawn interval is configured by Player.WallClimbEffectInterval property.

Related properties

Decorate ACS Default Description
Player.FootstepInterval APPROP_FootstepInterval 12 Configures how often the *footstep sound is played and the Player.WallClimbEffectActor actor is spawned.
Player.CrouchSlideEffectInterval APPROP_CrouchSlideEffectInterval 12 Configures how often the Player.CrouchSlideEffectActor actor is spawned.
Player.WallClimbEffectInterval APPROP_WallClimbEffectInterval 12 Configures how often the Player.WallClimbEffectActor actor is spawned.