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>
26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
---
|
|
# nuzlocke-tracker-sij8
|
|
title: Add gift clause rule
|
|
status: in-progress
|
|
type: feature
|
|
priority: normal
|
|
created_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. When enabled, a location with a gift allows both the gift encounter and a regular encounter, in any order.
|
|
|
|
## Checklist
|
|
|
|
- [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 |