Action Function Reference

All 75 action functions. Each block is a ready-to-copy YAML scaffold wiring the function into an Action (and its Parameter entries). Generated from the engine.

area_of_effect_at_self

Executes specified action on all actors within elliptical area centered at caller's position.

Action:
  exampleAction:
    do: area_of_effect_at_self
    parameters: [p_action, p_radius]
Parameter:
  p_action:
    # KeyRef to Action entity to execute on each affected actor (required)
    key: action
    value:  # Action
  p_radius:
    # Radius of the elliptical area in pixels (required)
    key: radius
    value:  # Dice

area_of_effect_at_self_radial

Executes action on all actors in elliptical area at radial position from caller.

Action:
  exampleAction:
    do: area_of_effect_at_self_radial
    parameters: [p_action, p_distance, p_radial, p_radius]
Parameter:
  p_action:
    # KeyRef to Action entity to execute on each affected actor (required)
    key: action
    value:  # Action
  p_distance:
    # Distance in pixels from caller's position to AoE center (required)
    key: distance
    value:  # Dice
  p_radial:
    # Angle in degrees (0-360) relative to caller's bearing (required)
    key: radial
    value:  # Dice
  p_radius:
    # Radius of the elliptical area in pixels (required)
    key: radius
    value:  # Dice

area_of_effect_at_target

Executes specified action on all actors within elliptical area centered at target's position.

Action:
  exampleAction:
    do: area_of_effect_at_target
    parameters: [p_action, p_radius]
Parameter:
  p_action:
    # KeyRef to Action entity to execute on each affected actor (required)
    key: action
    value:  # Action
  p_radius:
    # Radius of the elliptical area in pixels (required)
    key: radius
    value:  # Dice

area_of_effect_at_target_radial

Executes action on all actors in elliptical area at radial position from target.

Action:
  exampleAction:
    do: area_of_effect_at_target_radial
    parameters: [p_action, p_distance, p_radial, p_radius]
Parameter:
  p_action:
    # KeyRef to Action entity to execute on each affected actor (required)
    key: action
    value:  # Action
  p_distance:
    # Distance in pixels from target's position to AoE center (required)
    key: distance
    value:  # Dice
  p_radial:
    # Angle in degrees (0-360) relative to caller's bearing (required)
    key: radial
    value:  # Dice
  p_radius:
    # Radius of the elliptical area in pixels (required)
    key: radius
    value:  # Dice

attach_particle_self

Attaches a cosmetic particle to the caller.

Action:
  exampleAction:
    do: attach_particle_self
    parameters: [p_duration, p_particle]
Parameter:
  p_duration:
    # seconds before auto-remove (optional; 0/absent = until removed)
    key: duration
    value:  # Number
  p_particle:
    # KeyRef to a Particle entity (required)
    key: particle
    value:  # Particle

attach_particle_target

Attaches a cosmetic particle to the target (e.g. a debuff cloud on an enemy).

Action:
  exampleAction:
    do: attach_particle_target
    parameters: [p_duration, p_particle]
Parameter:
  p_duration:
    # number (optional)
    key: duration
    value:  # Number
  p_particle:
    # keyref -> Particle
    key: particle
    value:  # Particle

change_actor_self

Transforms the calling actor into a different actor type while preserving all resources, location, and identity. Useful for polymorph, shapeshift, level up, or evolution mechanics.

Action:
  exampleAction:
    do: change_actor_self
    parameters: [p_actor]
Parameter:
  p_actor:
    # KeyRef to Actor entity to transform into (required)
    key: actor
    value:  # Actor

change_actor_target

Transforms the target actor into a different actor type while preserving all resources, location, and identity. Useful for polymorph effects cast on other actors.

Action:
  exampleAction:
    do: change_actor_target
    parameters: [p_actor]
Parameter:
  p_actor:
    # KeyRef to Actor entity to transform target into (required)
    key: actor
    value:  # Actor

change_map_self

map: KeyRef to Map. location: KeyRef to Vector where the target actor's new position will be.

Action:
  exampleAction:
    do: change_map_self
    parameters: [p_location, p_map]
Parameter:
  p_location:
    # keyref -> Vector (optional)
    key: location
    value:  # Vector
  p_map:
    # keyref -> Map
    key: map
    value:  # Map

change_map_target

map: KeyRef to Map. location: KeyRef to Vector where the target actor's new position will be.

Action:
  exampleAction:
    do: change_map_target
    parameters: [p_location, p_map]
Parameter:
  p_location:
    # keyref -> Vector (optional)
    key: location
    value:  # Vector
  p_map:
    # keyref -> Map
    key: map
    value:  # Map

change_strategy

Interrupts current strategy and switches caller to new AI strategy.

Action:
  exampleAction:
    do: change_strategy
    parameters: [p_strategy]
Parameter:
  p_strategy:
    # KeyRef to Strategy entity (required)
    key: strategy
    value:  # Strategy

clear_overlays

No parameters required Hides every foreground effect.

Action:
  exampleAction:
    do: clear_overlays
    parameters: []

clear_target_self

No parameters required Clears caller's current target, setting it to empty string.

Action:
  exampleAction:
    do: clear_target_self
    parameters: []

close_game

No parameters required Closes and exits the game. Currently a placeholder.

Action:
  exampleAction:
    do: close_game
    parameters: []

close_interaction

No parameters. Closes the caller's interaction panel (e.g. a "Leave" option).

Action:
  exampleAction:
    do: close_interaction
    parameters: []

despawn_self

No parameters required Removes calling actor from the game world permanently.

Action:
  exampleAction:
    do: despawn_self
    parameters: []

despawn_target

No parameters required Removes target actor from the game world permanently.

Action:
  exampleAction:
    do: despawn_target
    parameters: []

echo

Logs a message. Useful for debugging and displaying information.

Action:
  exampleAction:
    do: echo
    parameters: [p_message]
Parameter:
  p_message:
    # Text message to log (required)
    key: message
    value:  # String

fly_self

Action:
  exampleAction:
    do: fly_self
    parameters: []

fly_target

Action:
  exampleAction:
    do: fly_target
    parameters: []

hide_overlay

Hides a single foreground effect.

Action:
  exampleAction:
    do: hide_overlay
    parameters: [p_overlay]
Parameter:
  p_overlay:
    # Overlay entity key (required)
    key: overlay
    value:  # Overlay

land_self

Action:
  exampleAction:
    do: land_self
    parameters: []

land_target

Action:
  exampleAction:
    do: land_target
    parameters: []

minus_resource_self

Subtracts from caller's resource value. Useful for self-damage, costs, debuffs.

Action:
  exampleAction:
    do: minus_resource_self
    parameters: [p_expression, p_resource]
Parameter:
  p_expression:
    # Dice algebra expression (e.g., "2d6+3") (required)
    key: expression
    value:  # Dice
  p_resource:
    # KeyRef to Resource entity (required)
    key: resource
    value:  # Resource

minus_resource_target

Subtracts from target's resource value. Useful for damage, debuffs, resource costs.

Action:
  exampleAction:
    do: minus_resource_target
    parameters: [p_expression, p_resource]
Parameter:
  p_expression:
    # Dice algebra expression (e.g., "2d6+3") (required)
    key: expression
    value:  # Dice
  p_resource:
    # KeyRef to Resource entity (required)
    key: resource
    value:  # Resource

move_away_from_target

Sets caller's destination to position away from target by specified distance.

Action:
  exampleAction:
    do: move_away_from_target
    parameters: [p_distance]
Parameter:
  p_distance:
    # How far to move away (required)
    key: distance
    value:  # Dice

move_to_self_radial

Moves caller to a position at specified radial angle and distance from current location.

Action:
  exampleAction:
    do: move_to_self_radial
    parameters: [p_distance, p_radial]
Parameter:
  p_distance:
    # Distance in pixels from caller's current position (required)
    key: distance
    value:  # Dice
  p_radial:
    # Angle in degrees (0-360) relative to caller's bearing, where 0° is forward (required)
    key: radial
    value:  # Dice

move_to_target

Sets caller's destination to target actor's position. No parameters required.

Action:
  exampleAction:
    do: move_to_target
    parameters: []

move_to_target_radial

Moves caller to a position at specified radial angle and distance from target.

Action:
  exampleAction:
    do: move_to_target_radial
    parameters: [p_distance, p_radial]
Parameter:
  p_distance:
    # Distance in pixels from target position (required)
    key: distance
    value:  # Dice
  p_radial:
    # Angle in degrees (0-360) relative to caller's bearing, where 0° is forward (required)
    key: radial
    value:  # Dice

open_dialog

Shows the dialog's text in the caller's interaction panel (opening it if needed).

Action:
  exampleAction:
    do: open_dialog
    parameters: [p_dialog]
Parameter:
  p_dialog:
    # KeyRef to Dialog entity (required)
    key: dialog
    value:  # Dialog

open_menu

Shows the menu's options in the caller's interaction panel (opening it if needed). Used to branch a dialog tree to a new set of choices.

Action:
  exampleAction:
    do: open_menu
    parameters: [p_menu]
Parameter:
  p_menu:
    # KeyRef to Menu entity (required)
    key: menu
    value:  # Menu

open_options

No parameters required Opens the options/settings menu. Currently a placeholder.

Action:
  exampleAction:
    do: open_options
    parameters: []

play_keyframe_self

Plays specified animation on caller. Sets animation state and triggers playback.

Action:
  exampleAction:
    do: play_keyframe_self
    parameters: [p_animation]
Parameter:
  p_animation:
    # KeyRef to Animation entity (required)
    key: animation
    value:  # Animation

play_keyframe_target

Plays specified animation on target. Sets animation state and triggers playback.

Action:
  exampleAction:
    do: play_keyframe_target
    parameters: [p_animation]
Parameter:
  p_animation:
    # KeyRef to Animation entity (required)
    key: animation
    value:  # Animation

plus_resource_self

Adds to caller's resource value. Useful for self-healing, gaining resources, buffs.

Action:
  exampleAction:
    do: plus_resource_self
    parameters: [p_expression, p_resource]
Parameter:
  p_expression:
    # Dice algebra expression (e.g., "2d6+3") (required)
    key: expression
    value:  # Dice
  p_resource:
    # KeyRef to Resource entity (required)
    key: resource
    value:  # Resource

plus_resource_target

Adds to target's resource value. Useful for healing, buffs, giving resources to allies.

Action:
  exampleAction:
    do: plus_resource_target
    parameters: [p_expression, p_resource]
Parameter:
  p_expression:
    # Dice algebra expression (e.g., "2d6+3") (required)
    key: expression
    value:  # Dice
  p_resource:
    # KeyRef to Resource entity (required)
    key: resource
    value:  # Resource

pull_target_closer

Pulls target closer to caller by specified distance. Direction calculated from target to caller.

Action:
  exampleAction:
    do: pull_target_closer
    parameters: [p_distance]
Parameter:
  p_distance:
    # How far to pull the target toward caller (required)
    key: distance
    value:  # Dice

push_target_away

Pushes target away from caller by specified distance. Direction calculated from caller to target.

Action:
  exampleAction:
    do: push_target_away
    parameters: [p_distance]
Parameter:
  p_distance:
    # How far to push the target away from caller (required)
    key: distance
    value:  # Dice

remove_particle_self

Action:
  exampleAction:
    do: remove_particle_self
    parameters: [p_particle]
Parameter:
  p_particle:
    # Particle key to remove (optional; absent = clear all)
    key: particle
    value:  # Particle

remove_particle_target

Action:
  exampleAction:
    do: remove_particle_target
    parameters: [p_particle]
Parameter:
  p_particle:
    # keyref -> Particle (optional)
    key: particle
    value:  # Particle

set_destination_self

Sets caller's movement destination to specified vertex coordinates.

Action:
  exampleAction:
    do: set_destination_self
    parameters: [p_destination]
Parameter:
  p_destination:
    # KeyRef to Vector entity (required)
    key: destination
    value:  # Vector

set_modulate_self

Sets caller's color modulation/tint. Useful for visual status effects, team colors, highlighting.

Action:
  exampleAction:
    do: set_modulate_self
    parameters: [p_color]
Parameter:
  p_color:
    # Hex color code (e.g., "#ff0000" for red) or color name (required)
    key: color
    value:  # Color

set_modulate_target

Sets target's color modulation/tint. Useful for visual status effects, team colors, highlighting.

Action:
  exampleAction:
    do: set_modulate_target
    parameters: [p_color]
Parameter:
  p_color:
    # Hex color code (e.g., "#ff0000" for red) or color name (required)
    key: color
    value:  # Color

set_overlay_opacity

Sets the opacity of a shown foreground effect.

Action:
  exampleAction:
    do: set_overlay_opacity
    parameters: [p_opacity, p_overlay]
Parameter:
  p_opacity:
    # Opacity 0..1 (required)
    key: opacity
    value:  # Number
  p_overlay:
    # Overlay entity key (required)
    key: overlay
    value:  # Overlay

set_resource_self

Sets caller's resource to exact value (still respects min/max bounds).

Action:
  exampleAction:
    do: set_resource_self
    parameters: [p_resource, p_value]
Parameter:
  p_resource:
    # KeyRef to Resource entity (required)
    key: resource
    value:  # Resource
  p_value:
    # Absolute value to set (required)
    key: value
    value:  # Number

set_resource_target

Sets target's resource to exact value (still respects min/max bounds).

Action:
  exampleAction:
    do: set_resource_target
    parameters: [p_resource, p_value]
Parameter:
  p_resource:
    # KeyRef to Resource entity (required)
    key: resource
    value:  # Resource
  p_value:
    # Absolute value to set (required)
    key: value
    value:  # Number

set_speed_self

Permanently sets caller's movement speed.

Action:
  exampleAction:
    do: set_speed_self
    parameters: [p_speed]
Parameter:
  p_speed:
    # New speed value in pixels per second (required)
    key: speed
    value:  # Number

set_speed_target

Permanently sets target's movement speed.

Action:
  exampleAction:
    do: set_speed_target
    parameters: [p_speed]
Parameter:
  p_speed:
    # New speed value in pixels per second (required)
    key: speed
    value:  # Number

show_connection_info

No parameters required Displays connection and network information. Currently a placeholder.

Action:
  exampleAction:
    do: show_connection_info
    parameters: []

show_overlay

Shows a full-screen foreground effect (rain/fire/fog) between the world and the UI.

Action:
  exampleAction:
    do: show_overlay
    parameters: [p_overlay]
Parameter:
  p_overlay:
    # Overlay entity key (required)
    key: overlay
    value:  # Overlay

spawn_actor_at_self

Spawns a new actor instance at caller's current position.

Action:
  exampleAction:
    do: spawn_actor_at_self
    parameters: [p_actor]
Parameter:
  p_actor:
    # KeyRef to Actor entity (required)
    key: actor
    value:  # Actor

spawn_actor_at_self_radial

Spawns a new actor instance at radial position from caller.

Action:
  exampleAction:
    do: spawn_actor_at_self_radial
    parameters: [p_actor, p_distance, p_radial]
Parameter:
  p_actor:
    # KeyRef to Actor entity (required)
    key: actor
    value:  # Actor
  p_distance:
    # Distance in pixels from caller's position (required)
    key: distance
    value:  # Dice
  p_radial:
    # Angle in degrees (0-360) relative to caller's bearing (required)
    key: radial
    value:  # Dice

spawn_actor_at_target

Spawns a new actor instance at target's current position.

Action:
  exampleAction:
    do: spawn_actor_at_target
    parameters: [p_actor]
Parameter:
  p_actor:
    # KeyRef to Actor entity (required)
    key: actor
    value:  # Actor

spawn_actor_at_target_radial

Spawns a new actor instance at radial position from target.

Action:
  exampleAction:
    do: spawn_actor_at_target_radial
    parameters: [p_actor, p_distance, p_radial]
Parameter:
  p_actor:
    # KeyRef to Actor entity (required)
    key: actor
    value:  # Actor
  p_distance:
    # Distance in pixels from target's position (required)
    key: distance
    value:  # Dice
  p_radial:
    # Angle in degrees (0-360) relative to caller's bearing (required)
    key: radial
    value:  # Dice

swap_positions

No parameters required Swaps positions of caller and target. Both actors instantly teleport to each other's location.

Action:
  exampleAction:
    do: swap_positions
    parameters: []

target_furthest

Sets caller's target to the furthest actor in view. No parameters required.

Action:
  exampleAction:
    do: target_furthest
    parameters: []

target_highest_measure

Targets the actor in view with the highest value of specified measure.

Action:
  exampleAction:
    do: target_highest_measure
    parameters: [p_measure]
Parameter:
  p_measure:
    # KeyRef to Measure entity (required)
    key: measure
    value:  # Measure

target_highest_resource

Targets the actor in view with the highest value of specified resource.

Action:
  exampleAction:
    do: target_highest_resource
    parameters: [p_resource]
Parameter:
  p_resource:
    # KeyRef to Resource entity (required)
    key: resource
    value:  # Resource

target_lowest_measure

Targets the actor in view with the lowest value of specified measure.

Action:
  exampleAction:
    do: target_lowest_measure
    parameters: [p_measure]
Parameter:
  p_measure:
    # KeyRef to Measure entity (required)
    key: measure
    value:  # Measure

target_lowest_resource

Targets the actor in view with the lowest value of specified resource.

Action:
  exampleAction:
    do: target_lowest_resource
    parameters: [p_resource]
Parameter:
  p_resource:
    # KeyRef to Resource entity (required)
    key: resource
    value:  # Resource

target_nearest

Sets caller's target to the nearest actor in view. No parameters required.

Action:
  exampleAction:
    do: target_nearest
    parameters: []

target_nearest_in_group

Targets nearest actor in view that belongs to specified group.

Action:
  exampleAction:
    do: target_nearest_in_group
    parameters: [p_group]
Parameter:
  p_group:
    # KeyRef to Group entity (required)
    key: group
    value:  # Group

target_random

Sets caller's target to a random actor in view. No parameters required.

Action:
  exampleAction:
    do: target_random
    parameters: []

target_random_in_group

Targets a random actor in view that belongs to specified group.

Action:
  exampleAction:
    do: target_random_in_group
    parameters: [p_group]
Parameter:
  p_group:
    # KeyRef to Group entity (required)
    key: group
    value:  # Group

teleport

Teleports caller forward in current bearing direction by specified distance.

Action:
  exampleAction:
    do: teleport
    parameters: [p_distance]
Parameter:
  p_distance:
    # Distance in pixels to teleport forward (required)
    key: distance
    value:  # Dice

teleport_self_to_target

No parameters required Instantly teleports caller to target's current position.

Action:
  exampleAction:
    do: teleport_self_to_target
    parameters: []

teleport_self_to_target_radial

Teleports caller to position at specified radial angle and distance from target.

Action:
  exampleAction:
    do: teleport_self_to_target_radial
    parameters: [p_distance, p_radial]
Parameter:
  p_distance:
    # Distance in pixels from target position (required)
    key: distance
    value:  # Dice
  p_radial:
    # Angle in degrees (0-360) relative to caller's bearing, where 0° is forward (required)
    key: radial
    value:  # Dice

teleport_target_to_self

No parameters required Instantly teleports target to caller's current position.

Action:
  exampleAction:
    do: teleport_target_to_self
    parameters: []

teleport_target_to_self_radial

Teleports target to position at specified radial angle and distance from caller.

Action:
  exampleAction:
    do: teleport_target_to_self_radial
    parameters: [p_distance, p_radial]
Parameter:
  p_distance:
    # Distance in pixels from caller's position (required)
    key: distance
    value:  # Dice
  p_radial:
    # Angle in degrees (0-360) relative to target's bearing, where 0° is forward (required)
    key: radial
    value:  # Dice

teleport_to_radial

Teleports caller to position at specified radial angle and distance from current location.

Action:
  exampleAction:
    do: teleport_to_radial
    parameters: [p_distance, p_radial]
Parameter:
  p_distance:
    # Distance in pixels from caller's current position (required)
    key: distance
    value:  # Dice
  p_radial:
    # Angle in degrees (0-360) relative to caller's bearing, where 0° is forward (required)
    key: radial
    value:  # Dice

temp_speed_self

Temporarily changes caller's speed, then restores original speed after duration.

Action:
  exampleAction:
    do: temp_speed_self
    parameters: [p_duration, p_speed]
Parameter:
  p_duration:
    # Duration in seconds for the speed change (required)
    key: duration
    value:  # Number
  p_speed:
    # Temporary speed value in pixels per second (required)
    key: speed
    value:  # Number

temp_speed_target

Temporarily changes target's speed, then restores original speed after duration.

Action:
  exampleAction:
    do: temp_speed_target
    parameters: [p_duration, p_speed]
Parameter:
  p_duration:
    # Duration in seconds for the speed change (required)
    key: duration
    value:  # Number
  p_speed:
    # Temporary speed value in pixels per second (required)
    key: speed
    value:  # Number

transfer_resource

Subtracts from target's resource and adds same amount to caller's resource. Example: Drain 10 health from enemy and heal self for same amount.

Action:
  exampleAction:
    do: transfer_resource
    parameters: [p_expression, p_resource]
Parameter:
  p_expression:
    # Dice algebra for amount to transfer (required)
    key: expression
    value:  # Dice
  p_resource:
    # KeyRef to Resource entity (required)
    key: resource
    value:  # Resource

use_track

Index-numbered params - Vector entity keys keyed by integer index, e.g. "0": pointA, "2": pointB (at least one; indices need not be contiguous). Points are ordered by their integer key. Executes the resulting sequence of points for AI pathfinding behavior.

Action:
  exampleAction:
    do: use_track
    # one or more index-numbered Vector keys, in order
    parameters: [point0, point1]
Parameter:
  point0:
    key: "0"
    value:  # Vector
  point1:
    key: "1"
    value:  # Vector

wait

No parameters required. Duration specified via action.time field. Pauses action chain execution. Useful for timing/sequencing effects.

Action:
  exampleAction:
    do: wait
    parameters: []