magicciv/src
Natalie 60e941caa5 feat(@projects/@magic-civilization): 🏜️ p3-26 gap 2 — drought category + shared tile-picker
Second natural-event category, ported from GDScript process_drought:
- apply_drought: reduce moisture (min 0) in a hex disk, skipping water tiles
  (mc_core::grid::biome_registry::has_tag(.., IsWater)). Returns tiles affected.
- dispatch_drought: resolve tier (radius/moisture_loss) + pick a non-water center.
- Extracted pick_matching_tile (shared deterministic tile selection); refactored
  dispatch_wildfire to use it. process_events now dispatches wildfire + drought.

Test: apply_drought_dries_land_skips_water (land moisture drops, ocean untouched).
mc-climate events 8/8. Remaining categories (volcanic/seismic/tsunami/plague/marine/…)
follow the same pattern.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 11:01:50 -04:00
..
game feat(@projects/@magic-civilization): 🔌 p3-26 gap 2 — load event configs in the headless harness (events now LIVE) 2026-06-26 10:55:34 -04:00
packages
simulator feat(@projects/@magic-civilization): 🏜️ p3-26 gap 2 — drought category + shared tile-picker 2026-06-26 11:01:50 -04:00