EverambleGAME API / 1

CONTENT CONTRACT · VERSION 1

animal

A wild or domestic animal: its body, idle actions, gear and loot.

Signature

{ actions: {Name}, character: CharacterId, hunts: boolean, id: ContentId, kind: "animal", lifecycle: TransientLifecycle, loadout: Loadout, loot: (LootId)?, name: TextKey, penned: boolean, sounds: AnimalSounds, tame: boolean }

Fields

NameTypeMeaning
actions{Name}Idle action clips in repertoire order; the first is its rest pose.
Items: 1…16; Unique entries
characterCharacterIdCharacter definition supplying body, stats and movement.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: character
huntsbooleanWhether it hunts a wielder who struck it twice instead of fleeing.
idContentIdPackage-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"animal"Discriminant
lifecycleTransientLifecycleCorpse lifetime; population rules decide any new spawn.
loadoutLoadoutInventory and held weapon; dropped at death except natural weapons.
lootLootIdAdditional items dropped at death.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: loot
nameTextKeyLocalization 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
pennedbooleanWhether village animals of this kind live in the pen.
soundsAnimalSoundsIts call and petting sounds.
tamebooleanWhether players may pet it and it belongs to the village side.

Validated example

{
  "actions": [
    "rest",
    "groom",
    "stretch",
    "pounce"
  ],
  "character": "core:cat_body",
  "hunts": false,
  "id": "core:cat",
  "kind": "animal",
  "lifecycle": {
    "corpse_ticks": 100
  },
  "loadout": {
    "hotbar": [],
    "items": []
  },
  "loot": "core:small_game",
  "name": "core:cat_body_name",
  "penned": false,
  "sounds": {
    "call": "core:sound_cat",
    "call_volume_permille": 500,
    "pet": "core:sound_pet_cat"
  },
  "tame": true
}