---
# System prepended metadata

title: Planets

---

# Planets

- Baystation-like arbitrary planet support

## Init
- Initialized during mapload, globally referenced
- Referenced by ID
    - Static maploads will use typepaths
    - Could potentially have flattened JSON format for this

## Registering
- A ztrait allows for a planet of a certain subtype to be made
- Planet subtypes and /atmosphere subtypes are compiled in (unfortunately)
- Turfs in an area associated to a planet can be set to outdoors
    - Criteria for this is unknown yet until we decide what to do with turfs

## Atmosphere
- Generates atmosphere on init
- ATMOSPHERE_ID_USE_PLANET - Grabs planet datum during init and uses the atmosphere generated

## Time
- Station time refactored to be tracked separately
- Each planet tracks time

## Day/Night cycles
- Day/night cycles set by time passed
- Solars outputs on planets depend on this

## Generation
- Contains a seed used for rust-g perlin generation
- Dynamically generate planets for players to explore
- Seed applicable submaps
    - Allow shuttles to dock anywhere when overmaps is finished?
    - For now, generation will use an area variable, allowing for static "landing zones"
        - When overmaps are done, static landing zones will still be needed (but shuttles can land anywhere by crushiing things in their path so)
- /datum/biomes
- WIP
