- Companion mod (zone/Guardians.kt): each zone's guardian stands at the
zone's sample point, appears when a player is within 96 blocks, stays
within 24 blocks, is uncatchable and half again as big. Beating it in a
battle gives every player in the battle its drops; it returns after 5
hours of game time (Adrian: fixed spots, 5 hours). State lives in the
world save; /cobblesurvival guardians lists it.
- tools/zone_spawns.py writes data/cobblesurvival/guardians/<zone>.json:
the strongest walking (or swimming) Pokemon of the zone at band top + 5,
with the drops from world/zones.json. Boss drops follow Adrian's rule:
Icy Rocks before Sunscorch, Heat Rocks before Frostpeak.
- Goat Fur and Hoglin Hide recipes make 8 per rock, so one guardian's 3
rocks pay for one full insulating set.
- Self-test guardian_appears_and_returns; hazard tests cleaned up; the
zone generator reads Cobblemon's own entries from the field guide's
hidden_spawns.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>