Skip to content
Cataclysm: Bright Nights
GitHubDiscord

Weather Types

Weather type specifies conditions under which it can occur (temperature, humidity, pressure, windpower, time of day, etc.) and what effects it causes on the game world and reality bubble.

When selecting weather type, the game goes over the list defined in region settings and selects the last entry that is considered eligible under current conditions. If none of the entries are eligible, invalid weather type "none" will be used.

Fields

IdentifierDescription
id(mandatory) Unique ID. Must be one continuous word, use underscores if necessary.
name(mandatory) In-game name displayed.
color(mandatory) Color of in-game name.
glyph(mandatory) Glyph used on overmap.
map_color(mandatory) Color of overmap glyph.
ranged_penalty(mandatory) Penalty to ranged attacks.
sight_penalty(mandatory) Sight penalty, aka multiplier to tile transparency.
light_modifier(mandatory) Flat bonus to ambient light.
sound_attn(mandatory) Sound attenuation (flat reduction to volume).
dangerous(mandatory) If true, prompts for activity interrupt.
precip(mandatory) Amount of associated precipitation. Valid values are: none, very_light, light and heavy.
rains(mandatory) Whether said precipitation falls as rain.
acidic(optional) Whether said precipitation is acidic.
sound_category(optional) Sound effects to play. Valid values are: silent, drizzle, rainy, thunder, flurries, snowstorm and snow.
sun_intensity(mandatory) Sunlight intensity. Valid values are: none, light, normal, and high. Normal and high are considered “direct sunlight”.
weather_animation(optional) Weather animation in reality bubble. Details
effects(optional) [string, int] pair array for the effects the weather causes. Details
requirements(optional) Conditions under which this weather type will be eligible to be selected. Details

weather_animation

All members are mandatory.

IdentifierDescription
factorDisplay density: 0 is none, 1 will blot out the screen.
glyphGlyph to use in ASCII mode.
colorGlyph color.
tileGraphical tile to use in TILES mode.

effects

int here is effect intensity.

IdentifierDescription
wetwets player by int amount
thunderthunder sound with chance 1 in int
lightening1 in int chance of sound plus message and possible super charging electric fields
light_acidcauses pain unless waterproof
acid_raincauses more pain unless waterproof

requirements

All members are optional.

IdentifierDescription
pressure_minMin pressure
pressure_maxMax pressure
humidity_minMin humidity
humidity_maxMax humidity
temperature_minMin temperature
temperature_maxMax temperature
windpower_minMin windpower
windpower_maxMax windpower
humidity_and_pressureIf there are pressure and humidity requirements are they both required or just one
acidicDoes this require acidic precipitation
timeTime of day. Valid values are: day, night, and both.
required_weathersWill only be selected if conditions match for any of the specified types, i.e. rain can only happen if the conditions for clouds, light drizzle or drizzle are present. Required weathers should be “before” this one in the region weather list.

Example

{
  "id": "lightning",
  "type": "weather_type",
  "name": "Lightning Storm",
  "color": "c_yellow",
  "map_color": "h_yellow",
  "glyph": "%",
  "ranged_penalty": 4,
  "sight_penalty": 1.25,
  "light_modifier": -45,
  "sound_attn": 8,
  "dangerous": false,
  "precip": "heavy",
  "rains": true,
  "acidic": false,
  "effects": [{ "name": "thunder", "intensity": 50 }, { "name": "lightning", "intensity": 600 }],
  "tiles_animation": "weather_rain_drop",
  "weather_animation": { "factor": 0.04, "color": "c_light_blue", "glyph": "," },
  "sound_category": "thunder",
  "sun_intensity": "none",
  "requirements": { "pressure_max": 990, "required_weathers": ["thunder"] }
}