Repository navigation
reference api enemy animation
cheaterbob edited this page Oct 3, 2026
·
1 revision
Generated from
enemy-animation.schema.json. Runtime validation remains authoritative for cross-file and engine-dependent rules.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
schemaVersion |
const: 1
|
yes | stable | |
type |
const: enemyAnimation
|
yes | stable | |
id |
string | yes | stable | pattern: ^[a-z0-9][a-z0-9._-]*:enemy-animation/[a-z0-9][a-z0-9._/-]*$
|
enemy |
string | yes | stable | pattern: ^[a-z0-9][a-z0-9._-]*:enemy/[a-z0-9][a-z0-9._/-]*$
|
displayName |
string | yes | stable | min length: 1; max length: 100
|
durationSeconds |
number | yes | stable | exclusive min: 0; max: 60
|
frameRate |
number | yes | stable | exclusive min: 0; max: 240
|
loop |
boolean | yes | stable | |
tracks |
array of ref: numericTrack
|
yes | stable | min items: 1; max items: 1024
|
objectTracks |
array of ref: objectTrack
|
no | stable | max items: 256
|
events |
array of ref: event
|
no | stable | max items: 64
|
effects |
array of ref: effect
|
no | stable | max items: 128
|
effectTriggers |
array of ref: effectTrigger
|
no | stable | max items: 512
|
warnings |
array of string | no | experimental | |
source |
object | no | experimental |
Schema form: string.
Constraints: pattern: ^(?:bone\|sprite)/[a-z0-9][a-z0-9-]*(?:/[a-z0-9][a-z0-9-]*)*$.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
| No named properties | This definition is composed through references or conditional schemas. |
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
time |
number | yes | min: 0
|
|
value |
number | yes | ||
inTangent |
number null | yes | ||
outTangent |
number null | yes |
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
target |
ref: target
|
yes | ||
property |
enum: position.x, position.y, rotation.z, scale.x, scale.y, color.r, color.g, color.b, color.a, sortingOrder
|
yes | ||
keys |
array of ref: key
|
yes | min items: 1
|
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
target |
string | yes | pattern: ^sprite/[a-z0-9][a-z0-9-]*(?:/[a-z0-9][a-z0-9-]*)*$
|
|
property |
const: sprite
|
yes | ||
keys |
array of object | yes | min items: 1
|
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
time |
number | yes | min: 0
|
|
asset |
string null | no | ||
name |
string | yes | min length: 1
|
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
time |
number | yes | min: 0
|
|
type |
enum: attackHit, impulse, sound, cameraShake, spriteEffect, cue
|
yes | ||
amount |
number null | no | ||
x |
number null | no | ||
y |
number null | no | ||
relativeToFacing |
boolean null | no | ||
file |
string null | no | ||
volume |
number null | no | ||
region |
string null | no | ||
bone |
string null | no | ||
durationSeconds |
number null | no | ||
scale |
number null | no | ||
sortingOrder |
integer null | no | ||
cue |
string null | no | max length: 80; pattern: ^[a-z0-9][a-z0-9._/-]*$
|
|
index |
integer null | no | min: 0; max: 255
|
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
id |
string | yes | pattern: ^[a-z0-9][a-z0-9._/-]*$
|
|
kind |
enum: particle, light, trail, decal
|
no | ||
trigger |
string | yes | ||
index |
integer | yes | min: 0
|
|
target |
string | yes | ||
durationSeconds |
number | yes | min: 0; max: 600
|
|
loop |
boolean | yes | ||
maxParticles |
integer | yes | min: 0; max: 100000
|
|
startLifetimeMin |
number | yes | ||
startLifetimeMax |
number | yes | ||
startSpeedMin |
number | yes | ||
startSpeedMax |
number | yes | ||
startSizeMin |
number | yes | ||
startSizeMax |
number | yes | ||
gravityMin |
number | yes | ||
gravityMax |
number | yes | ||
scaleX |
number | yes | ||
scaleY |
number | yes | ||
scaleZ |
number | yes | ||
positionX |
number | no | ||
positionY |
number | no | ||
positionZ |
number | no | ||
rotationX |
number | no | ||
rotationY |
number | no | ||
rotationZ |
number | no | ||
simulationSpace |
enum: Local, World, Custom
|
yes | ||
startColorMin |
ref: color
|
yes | ||
startColorMax |
ref: color
|
yes | ||
emissionRateMin |
number | yes | min: 0
|
|
emissionRateMax |
number | yes | min: 0
|
|
shapeEnabled |
boolean | yes | ||
shape |
string | yes | ||
shapeRadius |
number | yes | min: 0
|
|
shapeAngle |
number | yes | ||
textureSheetTilesX |
integer | yes | min: 1; max: 64
|
|
textureSheetTilesY |
integer | yes | min: 1; max: 64
|
|
textureSheetFrame |
integer | no | min: 0; max: 4095
|
|
textureSheetSprites |
array of string | yes | ||
bursts |
array of ref: particleBurst
|
no | max items: 64
|
|
startLifetimeCurve |
ref: particleCurve
|
no | ||
startSpeedCurve |
ref: particleCurve
|
no | ||
startSizeCurve |
ref: particleCurve
|
no | ||
gravityCurve |
ref: particleCurve
|
no | ||
emissionRateCurve |
ref: particleCurve
|
no | ||
emissionRateOverDistanceCurve |
ref: particleCurve
|
no | ||
startColorGradient |
ref: particleGradient
|
no | ||
colorOverLifetime |
ref: particleGradient
|
no | ||
sizeOverLifetime |
ref: particleAxes
|
no | ||
velocityOverLifetime |
ref: particleAxes
|
no | ||
rotationOverLifetime |
ref: particleAxes
|
no | ||
noise |
ref: particleNoise
|
no | ||
textureSheetFrameOverTime |
ref: particleCurve
|
no | ||
textureSheetStartFrame |
ref: particleCurve
|
no | ||
textureSheetAnimation |
enum: WholeSheet, SingleRow
|
no | ||
textureSheetCycleCount |
integer | no | min: 1; max: 1000
|
|
textureSheetRowIndex |
integer | no | min: 0; max: 63
|
|
textureSheetUseRandomRow |
boolean | no | ||
sortingLayer |
string | no | ||
sortingOrder |
integer | yes | ||
renderMode |
string | no | ||
mesh |
string | no | ||
material |
string | no | ||
texture |
string | no | pattern: ^(?![A-Za-z]:|/|.*(?:^|/)\.\.(?:/|$)).+\.png$
|
|
lightIntensity |
number | no | min: 0; max: 20
|
|
lightRadius |
number | no | exclusive min: 0; max: 100
|
|
trailWidth |
number | no | exclusive min: 0; max: 20
|
|
trailTime |
number | no | exclusive min: 0; max: 30
|
|
decalPixelsPerUnit |
number | no | min: 1; max: 1024
|
|
source |
object | yes |
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
time |
number | yes | min: 0
|
|
source |
string | yes | ||
effects |
array of string | yes | min items: 1; unique items |
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
r |
number | yes | ||
g |
number | yes | ||
b |
number | yes | ||
a |
number | yes |
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
time |
number | yes | ||
value |
number | yes | ||
inTangent |
number | yes | ||
outTangent |
number | yes |
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
mode |
enum: Constant, Curve, TwoCurves, TwoConstants
|
yes | ||
multiplier |
number | yes | ||
constantMin |
number | yes | ||
constantMax |
number | yes | ||
curveMin |
array of ref: particleCurveKey
|
yes | max items: 128
|
|
curveMax |
array of ref: particleCurveKey
|
yes | max items: 128
|
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
time |
number | yes | min: 0; max: 1
|
|
color |
ref: color
|
yes |
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
mode |
enum: Color, Gradient, TwoColors, TwoGradients, RandomColor
|
yes | ||
colorMin |
ref: color
|
no | ||
colorMax |
ref: color
|
no | ||
gradientMin |
array of ref: particleColorKey
|
yes | max items: 32
|
|
gradientMax |
array of ref: particleColorKey
|
yes | max items: 32
|
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
enabled |
boolean | yes | ||
separateAxes |
boolean | yes | ||
space |
enum: Local, World, Custom
|
no | ||
x |
ref: particleCurve
|
no | ||
y |
ref: particleCurve
|
no | ||
z |
ref: particleCurve
|
no |
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
time |
number | yes | min: 0
|
|
countMin |
number | yes | min: 0
|
|
countMax |
number | yes | min: 0
|
|
cycleCount |
integer | yes | min: 1; max: 1000
|
|
repeatInterval |
number | yes | min: 0
|
|
probability |
number | yes | min: 0; max: 1
|
Schema form: object.
| Field | Type | Required | Stability | Constraints and meaning |
|---|---|---|---|---|
enabled |
boolean | yes | ||
separateAxes |
boolean | yes | ||
strengthX |
ref: particleCurve
|
no | ||
strengthY |
ref: particleCurve
|
no | ||
strengthZ |
ref: particleCurve
|
no | ||
frequency |
number | yes | exclusive min: 0
|
|
scrollSpeed |
ref: particleCurve
|
no | ||
damping |
boolean | yes | ||
octaveCount |
integer | yes | min: 1; max: 4
|
|
octaveMultiplier |
number | yes | min: 0; max: 1
|
|
octaveScale |
number | yes | exclusive min: 0
|
|
quality |
enum: Low, Medium, High
|
no |
Published from Docs/Modding/Public. The repository documentation is the canonical source.
Captivity Reloaded wiki* Captivity Reloaded Wiki
- Getting started
- Core concepts
- Content types
- Authoring tools
-
Reference
- Example pack index
- Schema index
- Field-by-field API reference
- Public asset-slot catalog
- Core enemy asset slots
- Validation and errors
- Validation/error-code catalog
- Mod API changelog
- Migration guides
- Troubleshooting
- Glossary
- Defaults and compatibility
- Resource limits
- Mod-author test matrix
- Implementation status
- Mod API v1 release checklist
- Release verification runbook
- Release evidence template
- Licensing and redistribution
- Development