CONTENT CONTRACT · VERSION 1
character
Actor geometry, movement, health, compatible clips and resistance data.
Signature
{ animations: {AnimationBinding}, appearance: Name, emotes: {AnimationId}, id: ContentId, immunities: {StatusId}, kind: "character", mass_permille: PositiveCount, max_health: PositiveHitPoints, max_hunger: Count, max_stamina: Count, movement: MovementId, name: TextKey, options: (CharacterOptionsId)?, prefab: (PrefabId)?, presentation: BodyPresentation, resistances: {Resistance}, rig: (RigId)? }Fields
| Name | Type | Meaning |
|---|---|---|
animations | {AnimationBinding} | Action-to-animation bindings; action names must be unique. Items: 0…4096; Unique entries |
appearance | Name | Engine rig and look of the body until native prefabs and rigs replace it. Length: 1…96; Pattern: ^[a-z][a-z0-9_]{0,95}$ |
emotes | {AnimationId} | Animation clips the character exposes as emotes. Items: 0…4096; Unique entries |
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}$ |
immunities | {StatusId} | Status definitions that cannot be applied to this character. Items: 0…4096; Unique entries |
kind | "character" | Discriminant |
mass_permille | PositiveCount | Weight against pushes in thousandths of a standard body. Range: 1…2147483647; Unit: permille |
max_health | PositiveHitPoints | Maximum hit points and upper healing cap. Range: 1…2147483647; Unit: hp |
max_hunger | Count | Maximum hunger resource for this character. Range: 0…2147483647; Unit: count |
max_stamina | Count | Maximum stamina resource for this character. Range: 0…2147483647; Unit: count |
movement | MovementId | Movement profile used by this character. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: movement |
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 |
options | CharacterOptionsId | Appearance customization choices offered for this character. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: character_options |
prefab | PrefabId | Prefab definition supplying the object's geometry. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: prefab |
presentation | BodyPresentation | Engine renderer family drawing the body and its drawing parameters. |
resistances | {Resistance} | Damage multipliers indexed by unique damage-type references. Items: 0…4096; Unique entries |
rig | RigId | Skeleton required by the character's animations and emotes. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: rig |
Validated example
{
"animations": [],
"appearance": "player",
"emotes": [],
"id": "core:adventurer",
"immunities": [],
"kind": "character",
"mass_permille": 1000,
"max_health": 100,
"max_hunger": 100,
"max_stamina": 100,
"movement": "core:adventurer_move",
"name": "core:adventurer_name",
"options": "core:village_looks",
"presentation": {
"clothes_rgb": [
[
239,
168,
51
]
],
"gait_speed_mm_per_s": 4800,
"kind": "human",
"stride_mm": 2800,
"track_speed_mm_per_s": 7957
},
"resistances": []
}