Remove firstEncounterOnly, permadeath, nicknameRequired, and postGameCompletion from the rules system — they are either implicit (it's a nuzlocke tracker) or not enforced. Move levelCaps to core (it's displayed in the sticky bar). Create a new "playstyle" category for hardcoreMode and setModeOnly — informational rules useful for stats but not enforced by the tracker. Remove the completion category entirely. Add sub-task beans for the rules overhaul epic. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
title, status, type, priority, created_at, updated_at
| title | status | type | priority | created_at | updated_at |
|---|---|---|---|---|---|
| Overhaul Nuzlocke Rules System | todo | epic | normal | 2026-02-20T13:22:23Z | 2026-02-20T13:27:58Z |
Audit and overhaul the nuzlocke rules configuration. The current rules are a flat collection of boolean settings, some of which don't meaningfully affect tracker behavior. This epic cleans up existing rules and adds new rules for popular variants with actual tracker logic.
Scope
Rules to REMOVE (5)
These rules either define what a nuzlocke is (always true) or don't affect tracker behavior at all:
firstEncounterOnly— implicit; it's a nuzlocke trackerpermadeath— implicit; it's a nuzlocke trackernicknameRequired— not enforced or trackedsetModeOnly— not enforced or trackedpostGameCompletion— not enforced or tracked
Rules to KEEP (5)
These actively affect tracker logic:
duplicatesClause— used in encounter creation and bulk randomizationshinyClause— used in encounter creation (bypass route-lock)pinwheelClause— used for zone-based encounter logichardcoreMode— used in BossDefeatModal (auto-win, 1 attempt)levelCaps— displayed in sticky bar on encounters page
New rules to ADD (4)
These are boolean flags with real tracker logic:
egglocke— all caught Pokemon are replaced with traded eggs. When enabled, encounter Pokemon selection should allow picking from ALL Pokemon (not just the game's regional dex), similar to the admin panel encounter creation / boss team creation flow.wonderlocke— all caught Pokemon are Wonder Traded away. Same as egglocke: encounter Pokemon selection allows picking from ALL Pokemon.randomizer— the run uses a randomized ROM. Same behavior: encounter Pokemon selection allows picking from ALL Pokemon since the dex is randomized.giftClause— in-game gift Pokemon are free and do not count against the area's encounter limit. When enabled, gift-origin encounters should bypass the route-lock check (similar to how shinyClause bypasses it for shinies).
Complex rules (need design work)
These need more complex logic and are tracked as draft sub-tasks:
- Type Restrictions (Monolocke) — bs0y
- Team Size Limit — fv7w
- Static/Legendary Clause — knnc
Children
Work is tracked in sub-tasks:
- o7r8 — Remove unused nuzlocke rules
- fitk — Add egglocke, wonderlocke, and randomizer rules
- sij8 — Add gift clause rule
- bs0y — Add type restriction rules (monolocke) (draft)
- fv7w — Add team size limit rule (draft)
- knnc — Add static/legendary clause rule (draft)