
Cobblemon Nuzlocke & Soul Link
A Hardcore Nuzlocke ruleset for Cobblemon: one catch per zone, permadeath, nicknames, shiny clause, level caps — plus Soul Link co-op, where linked parties share fates.
Cobblemon Nuzlocke & Soul Link 1.2.0 (Fabric)
Список изменений
The rules grow teeth and the log grows eyes — plus the trainers, the gyms and the Escape Rope move in. ☠️
🗺️ Every Area is its own capture zone
Areas — the pockets your roads close off — each get their own first encounter. Area 1 and Area 2 are two zones, two chances, two captures; they were being read as one.
🌿 One Wild, everywhere else
Everything not enclosed in a numbered Area is a single Wild zone sharing one first-encounter lock, and it is called the Wild wherever it shows up — the log, the toasts, the capture messages. There is no "Wilderness" any more; it was the same place under a second name.
Your runs carry over untouched. A zone you had already spent stays spent: the log follows the ground an encounter happened on, not the name that ground had at the time.
Closes #19.
😴 A beaten Pokémon is actually easy to catch
Defeated Catch leaves a Pokémon lying on the ground on 1 HP — but the ball was being rolled against it as if it were a healthy wild standing up. It is asleep now, properly, so the odds match what you are looking at: a sleeping target on 1 HP.
It was only ever asleep for the look of it. The pose that lays the model down is not a condition, and the catch formula reads the condition.
Closes #1.
🔁 Duplicates clause
The fifth Pidgey no longer costs you a zone. A Pokémon you already own cannot be caught — and it does not spend the zone either, so that zone's encounter waits for the next new species you find there.
Two settings decide what "already own" means, both starting strict:
- Duplicate means — the whole evolution line. An Ivysaur is a duplicate when you already have a Bulbasaur; the family is the Pokémon, not the stage. Set it to species-exact if you want every stage to be its own catch.
- Already owned means — everything you have ever caught, including the ones that died and the ones you released. Set it to party-and-PC if only what you are still holding should count.
Closes #2.
🥚 Egg clause
Breeding at a picnic hands you the species, the nature and the egg moves on demand — which is the exact randomness a Nuzlocke exists to impose. So eggs now have a rule:
- Encounter (the default) — breeding is allowed, and a hatch is tied to the ground like a wild catch. What counts is where it HATCHES, not where you held the picnic: the egg has to hatch somewhere you have not claimed an encounter, and the hatchling takes that zone's slot for good. Try to hatch it where you already caught something and it simply waits until you carry it somewhere new.
- Banned — the picnic will not hand you an egg at all. Nothing to hatch, nothing to argue about.
- Free — eggs ignore the rules, for a casual run.
Closes #3.
📖 The log is a map of the run now
/nuzlocke log (and the I key) used to list what had already happened. It lists every zone you
have discovered, so the ones still owing you an encounter are right there marked as open — the log
became something you plan with instead of something you read afterwards.
Each row is drawn rather than written: the zone's kind as a coloured tag, the Pokémon as its actual sprite, the nickname you gave it with the species underneath, and a state chip — caught, lost, pending, or still open. Caught ones also say whether that Pokémon is still alive.
The sprite stays even after the Pokémon is gone — the ones that died, the ones you released. The log remembers which species each encounter was, instead of having to go and find the Pokémon to ask.
Closes #11.
🏅 Gym Leader Challenge
An optional, much harder layer: one type for the whole run. Every type on one screen, drawn with Cobblemon's own badges, and what you choose is permanent.
You are asked when you reach for your starter, and not before. The question belongs to picking a starter, so it turns up at that moment rather than being thrown at you the second you log in. You cannot get to the starter screen ahead of it, because the offer is built from your answer: pick Ghost and the three Pokémon you are offered are Ghosts. It overrides the starter mode entirely — a Grass/Fire/Water mix means nothing in a run that only allows one type.
You can also say no. "Play without the challenge" declines it for good: normal starters, any team you like, and you are not asked again.
Catch something off-type and it goes to the PC instead of your party — you could never battle with it anyway. It does not spend the zone either, so that zone's encounter is still waiting for something you can actually use.
And the type binds your whole team. You may only start a battle while every Pokémon in your party carries it — the whole party, not just the one you send out, or a legal lead would smuggle an illegal team in behind it. An off-type Pokémon simply stops you fighting until you box it. Permanently dead Pokémon are ignored; they are not a team any more.
Mega and Tera count (and you can turn that off). A Pokémon is allowed when its Mega form or its Tera type carries your type even though its base form does not — a Gyarados that Megas into Water/Dark belongs on a Dark run, because the form you actually fight in is the one worth judging.
Off by default. It is a challenge layer, not the house rules.
Closes #5, #6.
⛓ Soul link by walking up to someone
Sneak and interact with another player and a wheel comes up offering them a soul link — no command to type. Pick the chain, they get the same request they always did.
Nothing about the contract changed: everyone named has to accept, up to four of you, and the link is only forged once the last person says yes. Walking up to a second and a third player while a request is still open grows the same contract instead of starting rival ones, so a group of four links as one.
/nuzlocke soullink still works exactly as before.
Closes #4.
⛓ You can see what dies with what
The Soul Link summary listed each player's party and put a mark beside the linked ones — which told you that a Pokémon was bound, never to what. In a four-way link that is the only question worth asking.
/nuzlocke soullink summary now shows one row per soul: the bound Pokémon side by side, chained,
with sprites, levels, HP and whose they are — yours highlighted. A row goes red the moment any of them
dies, because that soul is spent. Offline partners' Pokémon are shown too.
The old per-player party listing is still there as /nuzlocke soullink parties.
⌨️ The log has its key back
The I key opens the Nuzlocke log again. It had gone missing entirely — the keybind used to be registered by Routes, and when the ruleset moved out it left with it and was never picked up on this side, so the log was reachable only by typing the command. It is rebindable under its own Cobblemon Nuzlocke category.
⚙️ Every setting, in every place you'd look for one
The create-world tab was one long undivided list. The clauses — shiny, duplicates, eggs, the Gym Leader Challenge, Revival Blessing — now sit together under Clauses, so the rules you tune are next to each other instead of scattered through the general settings.
Nothing is hidden any more. The trainer entity id was the one setting you could not change without
editing a file by hand; it is on the tab with everything else. Every setting is reachable three ways —
the create-world tab, /nuzlocke set, and the Mod Menu screen.
And the Mod Menu screen actually reads properly now. It was showing raw internal keys instead of names for most of its options: the labels were still filed under Routes' name from before this mod was its own, so the game looked for them and found nothing.
⚔️ The trainers, the gyms and the Escape Rope moved in
🪢 The Escape Rope lives here now
The rope that takes you to the nearest town used to ship in Routes. It is here from this version on, because the rule that matters most about it is a Pokémon one: you cannot rope your way out of a battle.
- Nothing changes for you. Same recipe, same behaviour, same trip to the nearest town of the road network — waystone towns included.
- Every rope you already own keeps working, in your bags, in chests, in shulkers, in item frames, and in worlds old enough to predate the mod being renamed. The rope answers to all three of the ids it has ever had, and the ones you carry quietly become current ropes next time you log in.
- Install Routes without this mod and there is simply no rope — the roads and towns are still all there.
🏟️ Gyms beside the towns
The gym that gets built next to every town you discover used to be Routes' doing. It is this mod's now, for the same reason as the trainers: the gyms come from COBBLEVERSE and the markers are named after their Gym Leaders, and Routes does not know what a Pokémon is any more.
- Nothing changes in a world you are already playing. Every gym you have keeps standing where it is, its map marker still says whose gym it is, and no town is handed a second one.
- Install this mod and towns get their gyms. Without it, Routes builds the towns and roads and leaves the gyms alone.
- The setting keeps its name and moves to the NUZLOCKE tab at world creation.
- Packs that put their gyms in the old
routes:gymstag are still read, so nothing needs updating on their side.
🏆 The Elite Four gets its own place
The league used to be handed out like any other gym, which meant the Elite Four could end up as the neighbourhood gym of whatever town drew it. It is its own settlement now — one per world, out past the edge of any town, with its own marker on the map and its own painted ground.
It turns up beside the first town you find that is a real distance from where you spawned, so you are never handed the league next door to your starting town.
If a town in your world had already drawn the league as its gym, that building stays exactly where it is — but the town is now named after a Gym Leader instead of the Elite Four. Every other town keeps the leader it already had.
🗺️ Gyms read as part of their town
A gym could end up painted as open road, or as an island of colour with a gap between it and the town it belongs to. The gym and the ground between it and the town are painted as town now, so it reads as part of the place instead of a building that happens to be nearby.
Closes #18.
⚔️ Trainers on the roads
The trainers that stand along Routes' roads used to ship inside Routes. They live here now — Routes builds the road and says so; this mod decides who is standing on it. Nothing about them changed, only where they come from:
- They appear along both route engines: filled in as you walk a native (gen2) route, or placed end to end the moment a classic road finishes.
- Line-of-sight challenges with the classic "!" wind-up, the per-trainer cooldown, and no dragging you into a fight through a wall or out of a building.
- Ambient trainer-vs-trainer duels near players, with both sides sending out their lead Pokémon.
- Gym leaders, the Elite Four and Champions stay out of the random road pool — they belong in their gyms and their league.
- A battle dodged by relogging is still owed: the trainer re-challenges you when you come back.
Their settings came with them, under the same names, and now sit on the NUZLOCKE tab of the create-world screen: trainer density, sight range, challenge delay, skirmishes, and the trainer entity id. A world in progress keeps every choice you made, and every stretch of road it had already populated — no route gets a second helping of trainers.
Still inert without a trainer mod installed; Radical Cobblemon Trainers is the default.
⚖️ Trainers stop picking fights you can't win
Being challenged on sight by a trainer five, ten, twenty levels above you was never a fair fight — and in a Nuzlocke it costs a Pokémon permanently. A trainer that outlevels you by more than the gap you set will no longer challenge you, and won't even throw the "!" at you.
It measures against your strongest Pokémon, and never gives you more room than your level cap allows — being allowed to reach 40 doesn't help when what you're carrying is a 12. It also covers the trainers that spawn on their own, not just the ones placed along routes.
You can always start the battle yourself by walking up and interacting: the guard stops the game picking the fight for you, it doesn't refuse you one.
Two new settings on the NUZLOCKE tab: Fair-fight guard (on by default) and Max trainer level gap (5 by default; 0 means only trainers at or below your level).
Also moved in: the battle-crash guard that keeps a dead Showdown process from taking the server tick loop down with it.
⚠️ Requires Routes 1.1.0 or newer
The hooks the trainers hang off (RouteEvents) landed in Routes 1.1.0. Both manifests now ask for it.
Closes #15, #16, #17 and routes#128.
