Add gift clause rule for free gift encounters
When enabled, in-game gift Pokemon (starters, trades, fossils) do not count against a location's encounter limit. Both a gift encounter and a regular encounter can coexist on the same route, in any order. Persists encounter origin on the Encounter model so the backend can exclude gift encounters from route-lock checks bidirectionally, and the frontend can split them into a separate display layer that doesn't lock the route for regular encounters. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,18 +1,26 @@
|
||||
---
|
||||
# nuzlocke-tracker-sij8
|
||||
title: Add gift clause rule
|
||||
status: todo
|
||||
status: in-progress
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-02-20T19:56:10Z
|
||||
updated_at: 2026-02-20T19:56:10Z
|
||||
updated_at: 2026-02-20T20:53:15Z
|
||||
parent: nuzlocke-tracker-49xj
|
||||
---
|
||||
|
||||
Add a new `giftClause` boolean rule: in-game gift Pokemon are free and do not count against the area's encounter limit.
|
||||
Add a new giftClause boolean rule: in-game gift Pokemon are free and do not count against the area's encounter limit. When enabled, a location with a gift allows both the gift encounter and a regular encounter, in any order.
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] Add `giftClause` to `NuzlockeRules` interface and `DEFAULT_RULES` (default: false)
|
||||
- [ ] Add `RuleDefinition` entry with appropriate category
|
||||
- [ ] When enabled, gift-origin encounters 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"
|
||||
- [x] Add giftClause to NuzlockeRules interface and DEFAULT_RULES (default: false)
|
||||
- [x] Add RuleDefinition entry with core category
|
||||
- [x] Add origin column to Encounter model + alembic migration
|
||||
- [x] Add origin to EncounterResponse schema and frontend Encounter type
|
||||
- [x] Persist origin when creating encounters (frontend sends, backend stores)
|
||||
- [x] Backend: gift-origin encounters bypass route-lock check (skip_route_lock)
|
||||
- [x] Backend: existing gift encounters excluded from route-lock query
|
||||
- [x] Frontend: split encounterByRoute into regular and gift maps
|
||||
- [x] Frontend: routes with only gift encounters remain clickable for new encounters
|
||||
- [x] Frontend: gift encounters displayed on route cards with (gift) label
|
||||
- [x] Frontend: route filtering accounts for gift encounters
|
||||
Reference in New Issue
Block a user