2026-02-20 21:20:23 +01:00
---
# nuzlocke-tracker-sij8
title: Add gift clause rule
2026-02-20 21:55:16 +01:00
status: in-progress
2026-02-20 21:20:23 +01:00
type: feature
2026-02-20 21:55:16 +01:00
priority: normal
2026-02-20 21:20:23 +01:00
created_at: 2026-02-20T19:56:10Z
2026-02-20 21:55:16 +01:00
updated_at: 2026-02-20T20:53:15Z
2026-02-20 21:20:23 +01:00
parent: nuzlocke-tracker-49xj
---
2026-02-20 21:55:16 +01:00
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.
2026-02-20 21:20:23 +01:00
## Checklist
2026-02-20 21:55:16 +01:00
- [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