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: []