EverambleGAME API / 1

CONTENT CONTRACT · VERSION 1

NpcDefinition

A persistent non-player character with a daily routine and stable respawn identity.

Signature

{ character: CharacterId, dialogue: (DialogueId)?, id: ContentId, interaction: (Interaction)?, lifecycle: NpcLifecycle, loadout: (Loadout)?, look: (Name)?, name: TextKey, routine: RoutineId, tags: {TagId}, voice: (VoiceId)? }

Fields

NameTypeMeaning
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
dialogueDialogueIdDialogue talking to it opens.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: dialogue
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}$
interactionInteractionExplicit prompt, reach and action exposed by this object.
lifecycleNpcLifecycleRespawn policy preserving the NPC's persistent identity.
loadoutLoadoutInventory and quick slots; absent leaves the NPC empty-handed.
lookNameWorld-library human it is drawn as; absent: a look seeded from its character options.
Length: 1…96; Pattern: ^[a-z][a-z0-9_]{0,95}$
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
routineRoutineIdDaily schedule assigned to this named NPC.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: routine
tags{TagId}Unique definition tags used for filtering and classification.
Items: 0…4096; Unique entries
voiceVoiceIdVoice of its lines and mumble.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: voice