Entity Reference
Every one of the 33 entity types and its fields. Each block is a ready-to-copy YAML scaffold — required fields carry a default, optional fields are null (and dissolve away on load). Generated from the engine.
Action
Action Entity An action used by an actor to effect resources.
Action:
exampleAction:
# The KeyRef to the animation entity that runs while this action is running. If not null, time must be greater that 0.0
animation: null # Animation
# Function name of action, or empty for an animation-only / chain-only action. When set, must be a defined action function.
do: null # String
# KeyRef to another action. To be run if the `if` condtion fails. Must be a valid action key defined in the campaign.
else: null # Action
# If condition to check if the `do` action should be executed.
if: null # Condition
# Human-readable name of action.
name: null # String
# Array of of parameters. They are expected to match the parameters of the `do` in action.gd
parameters: null # Array[Parameter]
# KeyRef to anther action. To be run if the `if` condition succeeds after the `do` action function is complete.
then: null # Action
# The time this action takes to execute in seconds. Expressed as a float.
time: 0.0 # Float
Actor
Actor Entity A controllable or AI-driven character in the game world.
Actor:
exampleActor:
# Size of actor's base circle in pixels.
base: null # Integer
# Current facing direction in degrees (0-360). Default north (0).
bearing: 0 # Integer
# Dialog entity shown when a player interacts with this actor.
dialog: null # Dialog
# If true, the actor starts flying: it ignores walls and the navmesh (moves straight to its destination) and is stopped only by boundary tiles. Toggle at runtime with the fly_*/land_* actions.
flying: null # Boolean
# Group entity for faction/team membership and outline color.
group: null # Group
# Measure entities associated with this actor.
measures: null # Array[Measure]
# Menu entity for custom interaction options.
menu: null # Menu
# Human-readable name displayed in UI.
name: null # String
# Action triggered when this actor enters a map.
on_map_entered: null # Action
# Action triggered when this actor exits a map.
on_map_exited: null # Action
# Action triggered on the player's first login (login_count == 1).
on_start: null # Action
# Action triggered when another actor touches this actor.
on_touch: null # Action
# Action triggered when this actor is viewed by another actor.
on_view: null # Action
# Vision range in pixels for detecting other actors.
perception: null # Integer
# Private resources visible only on own data plate.
private: null # Array[Resource]
# Public resources visible on target focus plate when other actors view this actor.
public: null # Array[Resource]
# Resource entities associated with this actor.
resources: null # Array[Resource]
# Detection difficulty for other actors (higher = more visible).
salience: null # Integer
# Skills available to actor. Maximum 9 skills.
skills: null # Array[Skill]
# Movement speed in pixels per second.
speed: null # Float
# Reference to Sprite entity for visual representation.
sprite: null # Sprite
# Strategy entity for AI behavior control.
strategy: null # Strategy
# Timer entities that execute actions at intervals or after duration.
timers: null # Array[Timer]
# Trigger entit ies that monitor resource changes and execute actions.
triggers: null # Array[Trigger]
Animation
Animation Entity 8-directional sprite animation with frame data for each direction.
Animation:
exampleAnimation:
# Frame array for east (90°) direction. Default empty.
E: [] # Array
# Frame array for north (0°) direction. Default empty.
N: [] # Array
# Frame array for northeast (45°) direction. Default empty.
NE: [] # Array
# Frame array for northwest (315°) direction. Default empty.
NW: [] # Array
# Frame array for south (180°) direction. Default empty.
S: [] # Array
# Frame array for southeast (135°) direction. Default empty.
SE: [] # Array
# Frame array for southwest (225°) direction. Default empty.
SW: [] # Array
# Frame array for west (270°) direction. Default empty.
W: [] # Array
# If true, animation repeats continuously.
loop: null # Boolean
# Scaler speed that the animation plays at. Default 1
rate: 1.0 # Float
# Sound entity to play with this animation.
sound: null # Sound
AnimationSet
AnimationSet Entity A named collection of animations for an actor.
AnimationSet:
exampleAnimationSet:
# Animation entities in this set (idle, walk, attack, etc).
animations: null # Array[Animation]
# Animation played while a flying actor is moving (the airborne walk/run).
fly: null # Animation
# Which animation in this set fills each engine auto-state. Lets an actor name its animations anything (e.g. barb_ogre_idle) instead of the literal idle/walk/run keys.
idle: null # Animation
# Human-readable animation set name.
name: null # String
run: null # Animation
walk: null # Animation
Behavior
Behavior Entity A goal-action pair for AI decision making.
Behavior:
exampleBehavior:
# Action entity to execute when goals are satisfied.
action: null # Action
# Condition entities that must be met to activate this behavior.
goals: null # Array[Condition]
Condition
Condition Entity A boolean comparison used in action if/else logic.
Condition:
exampleCondition:
# Left operand of comparison. Future: dice expression support.
left: null # String
# Comparison operator (==, !=, <, >, <=, >=). NOT NULL.
operator: '' # String
# Right operand of comparison. Future: dice expression support.
right: null # String
Deployment
Deployment Entity Defines an actor's initial placement on a map.
Deployment:
exampleDeployment:
# Actor entity to deploy at this location.
actor: null # Actor
# Vector entity defining spawn position (x, y).
location: null # Vector
Dialog
Dialog Entity A text display with title and body content.
Dialog:
exampleDialog:
# Body text content.
text: '' # String
# Title text displayed prominently.
title: '' # String
Face
Face Entity The six triangular wedges of a tile's isometric-cube silhouette, each enabled or disabled. Referenced by Tile.navigation and Tile.obstacle to place per-wedge navigation and collision shapes. The hexagon is split into six triangles from its center.
Face:
exampleFace:
# Right vertical side wedge.
east: null # Boolean
# Upper-right half of the top diamond (roof).
northeast: null # Boolean
# Upper-left half of the top diamond (roof).
northwest: null # Boolean
# Lower-right half of the bottom diamond (floor).
southeast: null # Boolean
# Lower-left half of the bottom diamond (floor).
southwest: null # Boolean
# Left vertical side wedge.
west: null # Boolean
Floor
Floor Entity A texture placed at a specific location on the map floor.
Floor:
exampleFloor:
# Location Vector defining floor position (x, y).
location: null # Vector
# Path to texture image file.
texture: null # String
Group
Group Entity A faction or team with visual identification color.
Group:
exampleGroup:
# Hex color code for actor outline and UI display.
color: null # String
# Human-readable group name.
name: null # String
Inset
Inset Entity Per-edge padding (in pixels) around a sprite's visible art within its frame.
Inset:
exampleInset:
# Padding below the art (the gap under the feet).
bottom: null # Integer
# Padding left of the art.
left: null # Integer
# Padding right of the art.
right: null # Integer
# Padding above the art.
top: null # Integer
Layer
Layer Entity A rendering layer in a tilemap defining tile placement data.
Layer:
exampleLayer:
# Tile placement source data identifying which tiles to place.
source: null # String
# If true, enables Y-sorting for depth-based rendering.
ysort: null # Boolean
Main
Main Entity Campaign configuration defining the starting state. A Main entity is required for each campaign and for each campaign, there can only be one Main entity.
Main:
exampleMain:
# Main player-controlled Actor entity.
actor: '' # Actor
# Starting Map entity where campaign begins.
map: '' # Map
# Campaign notes or description. Default empty.
notes: '' # String
# Plugin resolution order (nested-zip basenames); earlier = higher priority. The campaign top-level always wins; unlisted plugins rank lowest. Default empty.
plugins: [] # Array
# Save-compatibility version. Bump when an entity change would invalidate older player saves; saves from a lower version are migrated, higher are discarded. Default 0.
version: 0 # Integer
Map
Map Entity A game level containing terrain, actors, and environmental elements.
Map:
exampleMap:
# Background audio/music for this map.
audio: null # Array[Sound]
# Parallax background layers.
background: null # Array[Parallax]
# Actor deployments defining initial actor placements.
deployments: null # Array[Deployment]
# Floor textures placed at specific locations.
floor: null # Array[Floor]
# Human-readable name displayed in UI.
name: null # String
# Foreground Overlay effects shown full-screen on map load (rain/fire/fog).
overlay: null # Array[Overlay]
# Spawn point Vector where player enters the map.
spawn: null # Vector
# TileMap entity defining the terrain grid.
tilemap: null # TileMap
Measure
Measure Entity A calculated value based on dice expressions, associated with an actor.
Measure:
exampleMeasure:
# Dice expression to calculate value (e.g., "2d6+3").
expression: null # Dice
# Icon path for UI display.
icon: null # String
# Menu entity for interaction options.
menu: null # Menu
# If true, measure is shown on own data plate.
private: null # Boolean
# If true, measure is shown on target focus plate when other actors view this actor.
public: null # Boolean
# Visibility threshold. Measure only visible when value >= reveal. 0 = always visible.
reveal: null # Integer
Menu
Menu Entity A collection of action options for interaction.
Menu:
exampleMenu:
# Action entities available in this menu.
actions: null # Array[Action]
# Human-readable menu name.
name: null # String
Overlay
Overlay Entity A full-screen animated foreground effect (rain, fire, fog) shown between the game world and the UI, fixed to the camera. Shown/hidden by triggers via the overlay action functions.
Overlay:
exampleOverlay:
# Frame indices into the sheet, in play order.
frames: [] # Array
# If true, the animation repeats; otherwise it holds on the last frame.
loop: null # Boolean
# Starting opacity (0..1); the set_overlay_opacity action can change it at runtime.
opacity: 1.0 # Float
# Playback speed scalar over the base FPS (1.0 = unchanged).
rate: 1.0 # Float
# Reference to a Vector entity giving one frame's size in the sheet.
size: null # Vector
# Path to the effect's sprite-sheet texture.
texture: null # String
# If true, the texture tiles across the screen (rain/snow); otherwise it stretches to fill.
tile: null # Boolean
Parallax
Parallax Entity A background layer with parallax scrolling effect.
Parallax:
exampleParallax:
# Parallax scroll speed multiplier. Lower values = slower movement.
effect: null # Float
# Path to texture image file.
texture: null # String
Parameter
Parameter Entity A key-value pair passed to action functions.
Parameter:
exampleParameter:
# Parameter key matching the action function argument (clean JSON key is `key`; `key_` backs it because Entity already owns `key()`/`_key`).
key: '' # String
# Parameter value (string representation).
value: '' # String
Particle
Particle Entity A cosmetic sprite attached to an actor via the attach_particle actions. It follows the actor and optionally drifts (direction degrees + speed). Purely visual — the attached set replicates, so it shows on every client with no extra networking.
Particle:
exampleParticle:
# Drift direction as a bearing: degrees relative to the way the actor faces (0 = forward, 90 = clockwise). 0..360.
direction: 0 # Integer
# Frame indices into the sheet, in play order.
frames: [] # Array
# If true, the drift bearing is captured once when the particle is attached (fixed to the facing at that moment); if false (default), it tracks the actor's current facing each frame.
lock: null # Boolean
# If true, the animation repeats; otherwise it holds on the last frame.
loop: null # Boolean
# Starting opacity (0..1).
opacity: 1.0 # Float
# Playback speed scalar over the base FPS (1.0 = unchanged).
rate: 1.0 # Float
# Reference to a Vector entity giving one frame's size in the sheet.
size: null # Vector
# Drift speed in pixels/second relative to the actor (0 = static, follows the actor).
speed: 0.0 # Float
# Path to the particle's sprite-sheet texture.
texture: null # String
Resource
Resource Entity A trackable numeric value associated with an actor (health, mana, stamina, etc).
Resource:
exampleResource:
# Default starting value.
default: null # Integer
# Description text displayed in UI.
description: null # String
# Dialog entity shown when a player interacts with this resource.
dialog: null # Dialog
# Icon path for UI display.
icon: null # String
# Maximum allowed value, as dice notation evaluated per-actor (supports $/@ injection).
max: null # Dice
# Menu entity for interaction options.
menu: null # Menu
# Minimum allowed value, as dice notation evaluated per-actor (supports $/@ injection).
min: null # Dice
# Human-readable name displayed in UI.
name: null # String
# Visibility threshold. Resource only visible when value >= reveal. 0 = always visible.
reveal: null # Integer
Skill
Skill Entity A skill action available to an actor, typically bound to hotkeys.
Skill:
exampleSkill:
# Maximum charge value for charging skills. 0 = no charging. Default 0.
charge: 0 # Integer
# Description text displayed in UI tooltips. Default empty.
description: '' # String
# Action triggered when skill button is released.
end: null # Action
# Icon path for UI display in skill bar.
icon: null # String
# Human-readable name displayed in UI.
name: null # String
# Action triggered when skill button is pressed.
start: null # Action
Sound
Sound Entity An audio file with volume control and looping options.
Sound:
exampleSound:
# If true, audio loops continuously.
loop: null # Boolean
# Volume scale multiplier (dice expression, e.g., "1.0" or "1d4*0.25").
scale: null # Dice
# Path to audio file.
source: null # String
Sprite
Sprite Entity Visual representation configuration for actors with animation and texture data.
Sprite:
exampleSprite:
# Reference to AnimationSet entity containing available animations.
animation_set: null # AnimationSet
# Reference to Inset entity: per-edge padding (top/right/bottom/left) around the visible art.
margin: null # Inset
# Reference to Vector entity defining sprite dimensions (width, height).
size: null # Vector
# Path to texture/sprite sheet file.
texture: null # String
Strategy
Strategy Entity AI behavior strategy defining goal-based decision making.
Strategy:
exampleStrategy:
# Behavior entities evaluated to determine AI actions.
behaviors: null # Array[Behavior]
Tile
Tile Entity A single tile definition with navigation and rendering properties.
Tile:
exampleTile:
# Reference to a Face entity: which cube faces are a hard boundary that blocks ALL actors, including flying ones (unlike obstacle/walls, which flyers ignore). Absent = none.
boundary: null # Face
# If true, tile is invisible but still functional for pathfinding/collision.
ghost: null # Boolean
# Index in the tileset texture grid.
index: null # Integer
# If true, this tile's navigation faces are kept in their own navigation region (as-is) instead of being merged into the map's combined navmesh — finer pathing control on custom maps.
isolated: null # Boolean
# Reference to a Face entity: which cube faces are walkable. Absent = none.
navigation: null # Face
# Reference to a Face entity: which cube faces collide (walls). Absent = none.
obstacle: null # Face
# Y-sort origin offset for rendering layering.
origin: null # Integer
# Symbol identifier for this tile type.
symbol: null # String
TileMap
TileMap Entity A grid-based map using tiles from a tileset arranged in layers.
TileMap:
exampleTileMap:
# Layer entities defining tile placement and rendering order.
layers: null # Array[Layer]
# TileSet entity containing tile definitions.
tileset: null # TileSet
TileSet
TileSet Entity A collection of tiles from a texture atlas arranged in a grid.
TileSet:
exampleTileSet:
# Number of columns in the tile grid.
columns: null # Integer
# Path to tileset texture file.
texture: null # String
# Tile entities defining individual tiles in the set.
tiles: null # Array[Tile]
Timer
Timer Entity Executes an action at intervals or after a total duration.
Timer:
exampleTimer:
# Action entity to execute at intervals or completion.
action: null # Action
# Interval between action executions in seconds (dice expression).
interval: null # Dice
# Total duration in seconds (dice expression, e.g., "60" or "2d6").
total: null # Dice
Trigger
Trigger Entity Monitors a resource and executes an action when the resource changes.
Trigger:
exampleTrigger:
# Action entity to execute when resource changes.
action: null # Action
# Resource entity to monitor for changes.
resource: null # Resource
Vector
Vector Entity A 2D coordinate point used for positions, dimensions, and polygon vertices.
Vector:
exampleVector:
# X coordinate in pixels.
x: null # Integer
# Y coordinate in pixels.
y: null # Integer
Waypoint
Waypoint Entity A discoverable fast-travel location on a map.
Waypoint:
exampleWaypoint:
# Description text displayed in UI.
description: null # String
# Icon path for map and UI display.
icon: null # String
# Vector entity defining waypoint position (x, y).
location: null # Vector
# Map entity this waypoint belongs to.
map: null # Map
# Menu entity for waypoint interaction options.
menu: null # Menu
# Human-readable waypoint name.
name: null # String