Skip to main content

Quagmire

Based on game build 714014 | Last updated: 2026-03-06

Overview

quagmire.lua is the world registration file for the Quagmire game mode. It defines all prefabs and assets required for the mode, initializes world-level components (e.g., ambient lighting, wave rendering, colour cube overrides), and sets up the custom recipe system (including trader recipes, classified prefabs, and stage-specific items). It extends the base Map component to add custom tile collision and registers the world with the recipe book system.

Usage example

This file is loaded automatically by the game when the Quagmire world type is selected. It is not intended for manual instantiation.

Dependencies & tags

Components used: Map, ambientlighting, ambientsound, colourcube, WaveComponent
Tags: Adds quagmire tag via MakeWorld (not directly visible in code, inferred from MakeWorld call)

Properties

No public properties.

Main functions

common_preinit(inst)

  • Description: Runs during world pre-initialization before most prefabs are loaded. Registers the Quagmire-specific map extension (quagmire_map) and prepares tile physics.
  • Parameters: inst (Entity) — the world entity instance.
  • Returns: Nothing.

tile_physics_init(inst)

  • Description: Configures tile collision behavior for the Quagmire world, specifically setting up ocean/land limits for map navigation and pathfinding.
  • Parameters: inst (Entity) — the world entity instance.
  • Returns: Nothing.

common_postinit(inst)

  • Description: Runs after the world entity is created. Performs the following:
    • Adds and configures client-only components (WaveComponent, AmbientSound, ColourCube) when not on a dedicated server.
    • Registers world-specific ambient lighting override.
    • Unlocks and replaces the default recipe book with the Quagmire recipe set via RemoveAllRecipes() and Recipe() calls.
    • Registers all Quagmire-specific recipes across traders: Goat Mum, Goat Kid, Merm, Merm2, and Elder.
    • Subscribes to playeractivated to sync playing-with-friends status.
  • Parameters: inst (Entity) — the world entity instance.
  • Returns: Nothing.

master_postinit(inst)

  • Description: Delegates server-side (master) initialization to a shared event server handler.
  • Parameters: inst (Entity) — the world entity instance.
  • Returns: Nothing.

Events & listeners

  • Listens to: playeractivated — triggers TheNet:UpdatePlayingWithFriends() on client when the local player activates.
  • Pushes: overrideambientlighting(Point) — sets the world ambient light color.
  • Pushes: overridecolourcube(string) — sets the active colour cube texture.