Home Seasons and Weather

Seasons and weather

The planet year is four equal seasons on the existing world clock. Weather is one state per biome zone, biased by that biome’s climate and the current season.

Calendar

WorldClock.day is still the source of truth. With world_clock.days_per_season (default 30) the year is 120 game days:

  • year = day / (days_per_season * 4) (0-based on the wire; the HUD shows year 1)
  • season is spring, summer, autumn, or winter from the day within the year

Scrubbing the day on System → Game time moves the season. There is no second clock.

Where weather lives

Biome zones are the weather regions. Ground outside every zone uses weather.default_biome_id (temperate plains).

Each biome in World → Biomes has:

  • weather_weights for clear, rain, drought, storm, snow, and cloudy
  • heat_bias (arid runs hot, mountains run cold)
  • snow_capable — snow weight is zero unless this is on and the season’s snow multiplier is above zero

A roll lasts weather.period_hours game hours (default 6). It is a pure function of the zone id, the period, and the weights, so a restart or a time jump keeps the same weather. System → Game time can force a state on one zone until cleared or the worker restarts. That override is not saved.

Heat at a point is season heat + biome bias + a per-state delta + a day-night swing (weather.diurnal_amplitude, warmest at 15:00). The status line shows that heat as Celsius (temp_at_zero_c + heat * degrees_per_heat, defaults 16°C and 18). Bands are cold, mild, and hot (weather.cold_threshold, weather.hot_threshold).

The moon is one cycle of weather.moon_cycle_days (default 8). Day 0 of a cycle is new and the middle is full. The HUD adds the phase (Summer, year 2 · Full moon).

What it changes

  • Thirst. A hot band multiplies thirst drain from hot_thirst_mult_min up to hot_thirst_mult_max as heat rises. Mild and cold do not. Indoors, the character is sheltered and skips the modifier.
  • Cold. Below cold_threshold, hunger rises from cold_hunger_mult_min to cold_hunger_mult_max across cold_span, and stamina recovery falls to cold_stamina_regen_min. No health damage. Indoors skip this too. The temperature number still shows.
  • Growth. weather.growth_mult replaces the flat farming weather stub for crops at that cell, and the same number is the harvest respawn weather_mult (base / fertility * mult). Rain is above 1 (faster crops, longer wild respawn). Drought and snow are below 1. Cloudy is near 1. If the biome catalog cannot resolve the cell, farming keeps default_weather_mult.

The HUD and the terminal client clock line shows the season, the 1-based year, the moon phase, the local weather name (Clear, Rain, Drought, Storm, Snow, Cloudy), and the temperature.

Outdoors, the gfx map paints sparse world-locked wet patches on rain and storm ground, and pale snow spots while a zone is snowing. Rain, storm, snow, and cloudy darken both day and night on top of the clock. Clear and drought leave the clock's night darkness in place. A gibbous or full moon lifts that darkness only slightly toward silver and draws a pale disc on the map. Clouds hide the disc. Lightning plays only while the weather under the player is a storm. These overlays are client-only; they do not change the roll.