32 lines
2.0 KiB
Markdown
32 lines
2.0 KiB
Markdown
|
|
---
|
||
|
|
# nuzlocke-tracker-knnc
|
||
|
|
title: Add static/legendary clause rule
|
||
|
|
status: todo
|
||
|
|
type: feature
|
||
|
|
priority: normal
|
||
|
|
created_at: 2026-02-20T19:56:27Z
|
||
|
|
updated_at: 2026-02-20T20:02:07Z
|
||
|
|
parent: nuzlocke-tracker-49xj
|
||
|
|
---
|
||
|
|
|
||
|
|
Control whether static/legendary encounters count against the area's encounter limit.
|
||
|
|
|
||
|
|
## Design Decisions
|
||
|
|
|
||
|
|
**Scope:** This rule covers overworld Pokemon that are always available (legendaries, Snorlax blocking the road, Sudowoodo, Voltorb in the power plant, etc.). These are distinct from gifts (given by NPCs) which are covered by giftClause (sij8).
|
||
|
|
|
||
|
|
**Encounter method:** The existing encounter method list (walk, surf, gift, fossil, etc.) doesn't have a "static" method. Add `static` as a new encounter method in the seed data and `METHOD_CONFIG`. Static encounters are one-time overworld Pokemon the player walks up to and battles.
|
||
|
|
|
||
|
|
**Rule behavior:** `staticClause: boolean` (default: false). When enabled, encounters with method `static` bypass the route-lock check (same pattern as shinyClause and giftClause). This means static Pokemon are "free" and don't consume the area's encounter.
|
||
|
|
|
||
|
|
**No legendary ban:** Rather than banning legendaries outright, the community standard is to let the player choose. The tracker just needs to support logging static encounters correctly. Players who want to ban legendaries simply don't catch them.
|
||
|
|
|
||
|
|
**Interaction with giftClause:** These are separate rules. `giftClause` covers NPC gifts (method: `gift`). `staticClause` covers overworld statics (method: `static`). A player can enable both, one, or neither.
|
||
|
|
|
||
|
|
## Checklist
|
||
|
|
|
||
|
|
- [ ] Add `static` encounter method to seed data and `METHOD_CONFIG` / `METHOD_ORDER`
|
||
|
|
- [ ] Add `staticClause` to `NuzlockeRules` interface and `DEFAULT_RULES` (default: false)
|
||
|
|
- [ ] Add `RuleDefinition` entry under `'core'` category
|
||
|
|
- [ ] When enabled, encounters with method `static` bypass route-lock check in backend (add to `skip_route_lock` condition alongside shiny/egg/shed/transfer)
|
||
|
|
- [ ] Update encounter creation frontend to show `static` as a selectable method where appropriate
|