Skip to main content

Walrus

Based on game build 714014 | Last updated: 2026-02-27

Overview​

This file defines three room templates for walrus camps using AddRoom, each tailored to a specific terrain type in the forest world: SAVANNA (plains), GRASS, and ROCKY. These rooms are configured to always contain exactly one walrus_camp prefab and specify per-room probability distributions for additional flora and terrain features. The component is part of the world generation system and ensures variety in walrus camp appearances across different biomes.

Usage example​

This file is not used directly by modders during runtime — it contributes static room definitions to the world generator. However, modders may replicate this pattern to add custom rooms. Example of defining a custom variant (not part of this file):

AddRoom("MyCustomWalrusHut", {
colour = { r = 0.3, g = 0.2, b = 0.5, a = 0.5 },
value = WORLD_TILES.GRASS,
contents = {
countprefabs = { walrus_camp = 1 },
distributepercent = 0.2,
distributeprefabs = {
flower = 0.05,
grass = 0.1,
},
},
})

Dependencies & tags​

Components used: None — this file does not use or reference any entity components directly.
Tags: None identified — no tags are added, removed, or checked here.

Properties​

No component-level properties exist. This file solely invokes the global function AddRoom multiple times to register room templates.

Main functions​

AddRoom(name, roomdefinition)​

  • Description: Registers a new room template with the world generation system. The room can be spawned during world generation based on priority and distribution rules defined elsewhere (e.g., tasksets and tasksets/forest.lua).
  • Parameters:
    • name (string): Unique identifier for the room (e.g., "WalrusHut_Grassy").
    • roomdefinition (table): Configuration table with keys:
      • colour (table {r, g, b, a}): Visual tint used for preview/debug overlays.
      • value (integer, enum WORLD_TILES): Tile type this room is compatible with (e.g., WORLD_TILES.GRASS).
      • contents.countprefabs (table): Number of specific prefabs to place exactly once inside the room (e.g., { walrus_camp = 1 }).
      • contents.distributepercent (number): Probability (0–1) that this room will be selected if the current tile matches value.
      • contents.distributeprefabs (table): Map of prefab names to relative weights for random placement within the room area.
  • Returns: None.
  • Error states: Fails silently if name duplicates an existing room ID. Requires valid value and distributeprefabs weights (non-negative numbers) to behave predictably.

Events & listeners​

None — this file performs registration-only logic and does not register or emit any events.