CONTENT CONTRACT · VERSION 1
Definition
Closed catalog of content records activated in this authoring stage.
Signature
{ description: (TextKey)?, equip: (ItemEquipment)?, icon: (TextureAssetId)?, id: ContentId, kind: "item", max_stack: PositiveCount, name: TextKey, place: (Placement)?, spell: (ItemSpell)?, tags: {TagId}, use: (ItemUse)? } | { character: CharacterId, dialogue: (DialogueId)?, id: ContentId, interaction: (Interaction)?, kind: "npc", lifecycle: NpcLifecycle, loadout: (Loadout)?, look: (Name)?, name: TextKey, routine: RoutineId, tags: {TagId}, voice: (VoiceId)? } | { 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)? } | { beards: {Name}, builds_permille: {BodyScale}, eyes: {ColorChannel}, hair: {Name}, hair_colors: {{ColorChannel}}, heights_permille: {BodyScale}, id: ContentId, kind: "character_options", outfit: {OutfitPiece}, proportions: (BodyProportions)?, skins: {{ColorChannel}}, torsos: {Name} } | { id: ContentId, kind: "voice", pitch_permille: BodyScale, recordings: {Recording}, timbre_permille: Permille } | { id: ContentId, kind: "movement", radius_mm: PositiveDistance, speed_mm_per_tick: MovementSpeed, stamina_per_tick: Count, step_height_mm: Distance } | { asset: PrefabAssetId, collision: CollisionShape, id: ContentId, kind: "prefab", seats: {Seat} } | { defends: boolean, entries: {RoutineEntry}, home: (SettlementMarker)?, id: ContentId, idle: {Name}, kind: "routine", shifts: {SeasonShift}, topics: {Name} } | { description: TextKey, giver: (NpcId)?, id: ContentId, initial_stage: Name, kind: "quest", name: TextKey, objectives: {QuestObjective}, rewards: {QuestReward}, stages: {Name}, states: {QuestState}, transitions: {QuestTransition}, xp: (PositiveCount)? } | { id: ContentId, kind: "variable", owner_scope: OwnerScope, value: VariableDeclaration } | { event: EventKind, filter: EventFilter, id: ContentId, kind: "binding", owner_from: BindingOwner, parameters: Parameters, script: ScriptId, snapshot: SnapshotSpec } | { id: ContentId, kind: "season", look: SeasonLook, music: (SeasonMusic)?, name: TextKey } | { cloud_permille: Permille, id: ContentId, kind: "weather", look: WeatherLook, rain_permille: Permille, wind_mm_per_second: WindSpeed } | { day_ticks: PositiveTicks, id: ContentId, kind: "climate", seasons: {SeasonDuration}, weather_period_ticks: PositiveTicks } | { color_rgb: {ColorChannel}, hardness: PositiveCount, id: ContentId, kind: "material", shader: MaterialShader, solid: boolean, surface: (TerrainSurface)?, voxel_material: (Name)? } | { anchors: {MapAnchor}, bounds: Bounds, cell_mm: PositiveDistance, climate: ClimateId, id: ContentId, kind: "map", library: WorldLibraryId, spawn_anchor: Name, zones: {MapZone} } | { checkpoint_mode: CheckpointMode, drop_lifetime_ticks: PositiveTicks, dug_sand: (ItemId)?, encounters: Encounters, fishing: (FishingRules)?, hearth: StructureId, hotbar_slots: PositiveCount, house_destroyed_notice: TextKey, hunger_per_day: Count, id: ContentId, inventory_slots: PositiveCount, kind: "ruleset", max_actors: PositiveCount, pickup_radius_mm: PositiveDistance, progression: (Progression)?, quick_use: {TagId}, respawn_delay_ticks: PositiveTicks, respawn_health: PositiveHitPoints, sign_inputs: {ItemStack}, stash: StructureId, village_animals: {AnimalPlacement}, village_building: StructureId, village_chests: ({ChestPlacement})?, villager_character: CharacterId, villager_loadout: Loadout, villagers: {NpcId} } | { character: CharacterId, id: ContentId, kind: "player_profile", loadout: Loadout, starting_recipes: {RecipeId} } | { id: ContentId, kind: "game", name: TextKey, new_player: PlayerProfileId, presentation: PresentationProfileId, ruleset: RulesetId, start_map: MapId } | { bus: AudioBus, cooldown_ms: Milliseconds, gain_permille: Permille, id: ContentId, kind: "audio_cue", looped: boolean, radius_mm: PositiveDistance, variants: {AudioVariant} } | { creature_sounds: CreatureSounds, id: ContentId, kind: "presentation_profile", music: Soundtrack, sounds: {SoundBinding} } | { id: ContentId, kind: "tag", name: TextKey } | { action: ToolAction, ammo: (ItemId)?, arc_permille: Permille, combo: {ToolBlow}, damage_type: DamageTypeId, hit_status: (StatusId)?, hug_mm: Distance, id: ContentId, kind: "tool", lift_mm_per_tick: Count, projectile: (ProjectileKind)?, reach_mm: Distance, recover_ticks: PositiveTicks, release_ticks: DurationTicks, siege_damage: Count, stamina: (PositiveCount)?, targets: PositiveCount, windup_ticks: PositiveTicks } | { attachment: Name, color_rgb: {ColorChannel}, id: ContentId, intensity_permille: Permille, kind: "light", radius_mm: PositiveDistance } | { id: ContentId, kind: "damage_type", name: TextKey, tags: {TagId} } | { damage_per_tick: Count, damage_type: (DamageTypeId)?, duration_ticks: PositiveTicks, id: ContentId, kind: "status", name: TextKey, speed_permille: Permille, stacking: StatusStacking } | { id: ContentId, initially_available: boolean, inputs: {ItemStack}, kind: "recipe", name: TextKey, reach_mm: PositiveDistance, result: RecipeResult, station: (TagId)? } | { ["function"]: (StructureFunction)?, id: ContentId, item: (ItemId)?, kind: "structure", max_health: PositiveHitPoints, model: Name, name: TextKey, prompt: (TextKey)?, repair_recipe: (RecipeId)? } | { entries: {LootEntry}, id: ContentId, kind: "loot" } | { hits: PositiveCount, id: ContentId, kind: "flora", loot: LootId, model: Name, name: TextKey, produce: (FloraProduce)?, scale_permille: {PositiveCount}, trunk: (CollisionShape)? } | { aggro_mm: PositiveDistance, alarm_mm: (PositiveDistance)?, behavior: (BehaviorId)?, boss: (BossMark)?, camp_health: PositiveHitPoints, character: CharacterId, chase_mm: PositiveDistance, faction: (ContentId)?, fight_music: FightMusic, flee: (EnemyFlight)?, guard_permille: Permille, guard_series_permille: Permille, guard_ticks: PositiveTicks, heal: (HealthUse)?, id: ContentId, kind: "enemy", leash_mm: PositiveDistance, lifecycle: TransientLifecycle, loadout: Loadout, loot: (LootId)?, name: TextKey, pursuit: (EnemyPursuit)?, ranged_reaction: (RangedReaction)?, rolls: boolean, sounds: CreatureSounds, stamina_per_second: Count, steady: boolean, xp: (PositiveCount)? } | { actions: {Name}, character: CharacterId, hunts: boolean, id: ContentId, kind: "animal", lifecycle: TransientLifecycle, loadout: Loadout, loot: (LootId)?, name: TextKey, penned: boolean, sounds: AnimalSounds, tame: boolean } | { agility_permille: Permille, color_rgb: {ColorChannel}, id: ContentId, item: ItemId, kind: "fish", size_mm: PositiveDistance, strength_permille: Permille, waters: {WaterKind}, weight: PositiveCount } | { id: ContentId, kind: "encounter", loot: (LootId)?, members: {EncounterMember}, name: TextKey, site_health: PositiveHitPoints, site_reach_mm: PositiveDistance, trigger_radius_mm: PositiveDistance, waves: (WaveRules)? } | { binding: BindingId, id: ContentId, kind: "timer", owner_scope: OwnerScope } | { id: ContentId, initial_state: Name, kind: "behavior", states: {BehaviorState} } | { id: ContentId, kind: "schedule", maps: {MapId}, minute: DayMinute } | { entries: {DialogueEntry}, id: ContentId, initial_node: Name, kind: "dialogue", nodes: {DialogueNode}, npc: NpcId } | { camera_script: (ScriptId)?, cast: {CastMember}, duration_ticks: PositiveTicks, id: ContentId, kind: "cutscene", name: TextKey, places: {ScenePlace}, skip: CutsceneSkip, staging: {SceneStep}, timeline: {VisualStep} } | { clip: Name, duration_ticks: PositiveTicks, id: ContentId, kind: "animation", looping: boolean } | { bonuses: {SkillBonus}, branch: SkillBranch, column: Count, cost: PositiveCount, description: TextKey, icon: (TextureAssetId)?, id: ContentId, kind: "skill", level: PositiveCount, name: TextKey, requires: {SkillId}, spell: (ItemId)?, tier: Count } | { burst: (ProjectileBurst)?, damage_type: DamageTypeId, hit_status: (StatusId)?, homing: boolean, id: ContentId, impact: (FxId)?, kind: "projectile", look: FxId, radius_mm: PositiveDistance, range_mm: PositiveDistance, speed_mm_per_tick: MovementSpeed } | { color_rgb: {ColorChannel}, duration_ticks: PositiveTicks, glow_rgb: {ColorChannel}, id: ContentId, kind: "fx", light: (LightId)?, particles: Count, primitive: FxPrimitive, size_mm: PositiveDistance, sound: (AudioCueId)? } | { character_permille: Permille, icon: (TextureAssetId)?, id: ContentId, kind: "progress_track", level_variable: (VariableId)?, level_xp: {PositiveCount}, name: TextKey }