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:
@@ -79,6 +79,7 @@ export interface Encounter {
|
||||
faintLevel: number | null
|
||||
deathCause: string | null
|
||||
isShiny: boolean
|
||||
origin: string | null
|
||||
caughtAt: string
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ export interface NuzlockeRules {
|
||||
// Core rules (affect tracker behavior)
|
||||
duplicatesClause: boolean
|
||||
shinyClause: boolean
|
||||
giftClause: boolean
|
||||
pinwheelClause: boolean
|
||||
levelCaps: boolean
|
||||
|
||||
@@ -19,6 +20,7 @@ export const DEFAULT_RULES: NuzlockeRules = {
|
||||
// Core rules
|
||||
duplicatesClause: true,
|
||||
shinyClause: true,
|
||||
giftClause: false,
|
||||
pinwheelClause: true,
|
||||
levelCaps: false,
|
||||
|
||||
@@ -55,6 +57,13 @@ export const RULE_DEFINITIONS: RuleDefinition[] = [
|
||||
'Shiny Pokémon may always be caught, regardless of whether they are your first encounter.',
|
||||
category: 'core',
|
||||
},
|
||||
{
|
||||
key: 'giftClause',
|
||||
name: 'Gift Clause',
|
||||
description:
|
||||
"In-game gift Pokémon (starters, trades, fossils) do not count against a location's encounter limit.",
|
||||
category: 'core',
|
||||
},
|
||||
{
|
||||
key: 'pinwheelClause',
|
||||
name: 'Pinwheel Clause',
|
||||
|
||||
Reference in New Issue
Block a user