CONTENT CONTRACT · VERSION 1
status
A timed actor condition with a stacking rule, a speed factor and periodic damage.
Signature
{ damage_per_tick: Count, damage_type: (DamageTypeId)?, duration_ticks: PositiveTicks, id: ContentId, kind: "status", name: TextKey, speed_permille: Permille, stacking: StatusStacking }Fields
| Name | Type | Meaning |
|---|---|---|
damage_per_tick | Count | Damage per tick while active. Range: 0…2147483647; Unit: hp |
damage_type | DamageTypeId | Damage type of the periodic damage; present exactly when it is nonzero. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: damage_type |
duration_ticks | PositiveTicks | Duration of one application. Range: 1…2147483647; Unit: tick |
id | ContentId | Package-qualified identity; unique within its declaring namespace. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$ |
kind | "status" | Discriminant |
name | TextKey | Localization key for the displayed name. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: text |
speed_permille | Permille | Movement speed while active, in thousandths of normal speed. Range: 0…1000; Unit: permille |
stacking | StatusStacking | What a repeated application of an active status does. |
Validated example
{
"damage_per_tick": 1,
"damage_type": "core:fire_damage",
"duration_ticks": 40,
"id": "core:burning",
"kind": "status",
"name": "core:burning_name",
"speed_permille": 1000,
"stacking": "max_duration"
}