Releases: GoMudEngine/GoMud-Module-Weather
Releases · GoMudEngine/GoMud-Module-Weather
v0.2.0 — Seasons, admin page, per-room weather
v0.2.0 — Seasons, admin page, per-room weather
Everything since v0.1.0: the full seasons system, a web admin page, and the M4
polish milestone (room-scoped weather, bespoke buffs, biome content, CI).
Seasons
- Per-biome season tracks drive the climate: shipped
temperate
(winter/spring/summer/autumn) andmonsoon(wet/dry) tracks, resolved from
your world's calendar with smooth blend windows at season boundaries. - Esoteric seasons for fantastical worlds: a season can inject weather
types that don't exist in the base climate (weatherWeightAdditions) and
suppress normal weather (baseWeightScale) — glass-rain seasons are
YAML-only. - Seasonal
season-*zone mutators, seasonal exits, seasonal ambient emotes,
and seasonal variants of the weather emote tables. - 8 stock-world zones are seasonal out of the box.
Admin page
/admin/weather(permissionweather.write): live fronts and zone-seasons
view, spawn/clear/rebuild actions, and the full config table.- Typed inputs (checkboxes, dropdowns), per-key validation with clear error
messages instead of silent coercion, live/reboot badges, and verified writes
(the page reports failure honestly if the engine rejects a write).
Per-room weather refinement
- New config key
PerRoomRefinement: occupied | all | off(default
occupied): weather mutators are applied to individual rooms instead of
whole zones. Outdoor rooms get the weather; indoor rooms get a new sheltered
weather-<type>-indoorvariant (prose only — no light penalty, no buffs,
no alert). - Rooms refine the moment a player walks in;
offrestores the v0.1.0
zone-wide behavior exactly.
Buffs
- Three bespoke, deliberately gentle buffs ship with the module in the
documented 59001–59099 id range:59001 Weather Chilled(blizzard),
59002 Weather Soaked(storm — new),59003 Weather Parched(heatwave).
The module no longer borrows engine buffs 31/33. - New
BuffOverrides.<type>config keys remap or strip any weather
type's buffs without touching module files.
Content & extensibility
- ~30 new per-biome ambient emote lines across the stock biomes (city,
mountains, shore, water, snow, farmland, road, swamp, desert). - A consolidated "Extending the module" builder guide in the README:
new weather types, season tracks, buff overrides, refinement modes, biome
variants. - New
ExcludeZonePatternsconfig key (defaultinstance_*,ephemeral_*).
Infrastructure & robustness
- CI: a standalone job (pure packages with
-race) plus an
engine-coupled job that builds and tests the module inside a fresh clone of
upstream GoMud master — an early-warning system for engine API drift. - Boot self-heal for an engine config bug: the engine's overlay merge can
wipe an operator's savedModules.weatherconfig block at boot (replace
instead of merge). The module now detects and repairs this automatically,
restoring your settings and completing the config block. The engine-side
fix is being submitted upstream separately.
Upgrade notes (v0.1.0 → v0.2.0)
- Behavior change:
PerRoomRefinementdefaults tooccupied, so zone
configs no longer carryweather-*mutators while the module runs. Any
world script keyed on zone weather mutator tags should check room
mutators instead — or setPerRoomRefinement: offto restore the old
behavior. - Saved weather simulation state is keyed to the module version and will
re-seed once on first boot after upgrading (weather history starts fresh;
nothing else is affected). - Buff ids 59001–59003 are now used by the module. If your world already
defines those ids, your disk versions win automatically (the module's are
skipped with a log line) — remap viaBuffOverrides.<type>if desired. - Minimum Go version unchanged (1.24); install via the module manager as
before:go run . module install weather.
v0.1.0 — first registry release (M3)
First registry release. Traveling weather systems, end-to-end on stock GoMud: zone-graph crawler, deterministic seeded simulation, mutator-based rendering, indoor/outdoor ambient emotes, persistence, player/admin commands, exported API.
sha256(weather.tar.gz) = 24330118bb6c661ae80fb0f63137825116f9f8f53cf60c2f7771f9d8bae233e4