Remove unused nuzlocke rules, reorganize into core and playstyle
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>
This commit is contained in:
@@ -36,37 +36,18 @@ These are boolean flags with real tracker logic:
|
||||
- `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).
|
||||
|
||||
### Follow-up beans to CREATE
|
||||
Rules that need more complex logic, tracked separately:
|
||||
- Type Restrictions (Monolocke) — restrict team to specific types
|
||||
- Team Size Limit — cap active party size with warnings
|
||||
- Static/Legendary Clause — whether static encounters count or are banned
|
||||
### 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
|
||||
|
||||
## Checklist
|
||||
## Children
|
||||
|
||||
### Cleanup: remove unused rules
|
||||
- [ ] Remove `firstEncounterOnly`, `permadeath`, `nicknameRequired`, `setModeOnly`, `postGameCompletion` from `NuzlockeRules` interface and `DEFAULT_RULES`
|
||||
- [ ] Remove their entries from `RULE_DEFINITIONS`
|
||||
|
||||
### Add new rules: frontend types
|
||||
- [ ] Add `egglocke`, `wonderlocke`, `randomizer`, `giftClause` to `NuzlockeRules` interface and `DEFAULT_RULES` (default: false)
|
||||
- [ ] Add `RuleDefinition` entries for the new rules with appropriate categories
|
||||
|
||||
### Add new rules: egglocke / wonderlocke / randomizer logic
|
||||
- [ ] When any of `egglocke`, `wonderlocke`, or `randomizer` is enabled, the encounter Pokemon selector should allow picking from ALL Pokemon (not just the game's regional dex)
|
||||
- [ ] Reuse the existing "all Pokemon" selector pattern used in admin panel encounter creation and boss team creation
|
||||
|
||||
### Add new rules: giftClause logic
|
||||
- [ ] When `giftClause` is enabled, gift-origin encounters should bypass the route-lock check in the backend (similar to shinyClause bypass)
|
||||
- [ ] Update the encounter creation endpoint to check for giftClause when origin is "gift"
|
||||
|
||||
### Update components and pages
|
||||
- [ ] Update `RulesConfiguration`, `RuleToggle`, and `RuleBadges` components as needed
|
||||
- [ ] Update `NewRun.tsx` and `NewGenlocke.tsx` if they reference removed rules
|
||||
|
||||
### Backend and data
|
||||
- [ ] Verify backend encounter logic still works for removed rules (uses `.get()` with defaults)
|
||||
- [ ] Update backend test seed data if it references removed rules
|
||||
|
||||
### Follow-ups
|
||||
- [ ] Create follow-up beans for: Type Restrictions, Team Size Limit, Static/Legendary Clause
|
||||
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)*
|
||||
Reference in New Issue
Block a user