Phase 3: Alpha guardians, one per zone, back 5 hours after a defeat
CI / build-and-smoke-test (push) Failing after 7m6s
CI / build-and-smoke-test (push) Failing after 7m6s
- 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>
This commit is contained in:
1 parent
398301f0be
commit
73fe71918f
25 files changed
+607
-23
No files matched your search
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "button_isle",
|
||||
"pokemon": "pachirisu level=15 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:poke_ball",
|
||||
"count": 10
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:potion",
|
||||
"count": 4
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "deep_dark",
|
||||
"pokemon": "dusknoir level=65 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:icy_rock",
|
||||
"count": 3
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:exp_candy_l",
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "deep_sea",
|
||||
"pokemon": "kingdra level=55 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:mystic_water",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:exp_candy_m",
|
||||
"count": 3
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "frostpeak",
|
||||
"pokemon": "tyranitar level=60 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:icy_rock",
|
||||
"count": 3
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:exp_candy_l",
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "highlands",
|
||||
"pokemon": "cinderace level=40 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:icy_rock",
|
||||
"count": 3
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:super_potion",
|
||||
"count": 4
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "jungle",
|
||||
"pokemon": "tangrowth level=35 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:pecha_berry",
|
||||
"count": 8
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:exp_candy_m",
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "mire",
|
||||
"pokemon": "arcanine level=43 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:icy_rock",
|
||||
"count": 3
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:super_potion",
|
||||
"count": 4
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "southwold",
|
||||
"pokemon": "sigilyph level=23 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:great_ball",
|
||||
"count": 6
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:exp_candy_s",
|
||||
"count": 4
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "sunscorch",
|
||||
"pokemon": "delphox level=50 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:heat_rock",
|
||||
"count": 3
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:exp_candy_l",
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"_comment": "Generated by tools/zone_spawns.py from world/zones.json; do not edit by hand.",
|
||||
"zone": "westmarch",
|
||||
"pokemon": "carbink level=30 uncatchable=yes",
|
||||
"scale": 1.5,
|
||||
"drops": [
|
||||
{
|
||||
"item": "cobblemon:pecha_berry",
|
||||
"count": 8
|
||||
},
|
||||
{
|
||||
"item": "cobblemon:exp_candy_m",
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"respawn_hours": 5
|
||||
}
|
||||
Reference in new issue
Block a user