Add egglocke, wonderlocke, and randomizer variant rules
When any variant rule is enabled, the encounter modal switches from the game's regional dex to an all-Pokemon search (same debounced API pattern as EggEncounterModal). A new "Run Variant" section in rules configuration groups these rules, and badges render in amber. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,11 @@ export interface NuzlockeRules {
|
||||
// Playstyle (informational, for stats/categorization)
|
||||
hardcoreMode: boolean
|
||||
setModeOnly: boolean
|
||||
|
||||
// Variant (changes which Pokemon can appear)
|
||||
egglocke: boolean
|
||||
wonderlocke: boolean
|
||||
randomizer: boolean
|
||||
}
|
||||
|
||||
export const DEFAULT_RULES: NuzlockeRules = {
|
||||
@@ -20,13 +25,18 @@ export const DEFAULT_RULES: NuzlockeRules = {
|
||||
// Playstyle - off by default
|
||||
hardcoreMode: false,
|
||||
setModeOnly: false,
|
||||
|
||||
// Variant - off by default
|
||||
egglocke: false,
|
||||
wonderlocke: false,
|
||||
randomizer: false,
|
||||
}
|
||||
|
||||
export interface RuleDefinition {
|
||||
key: keyof NuzlockeRules
|
||||
name: string
|
||||
description: string
|
||||
category: 'core' | 'playstyle'
|
||||
category: 'core' | 'playstyle' | 'variant'
|
||||
}
|
||||
|
||||
export const RULE_DEFINITIONS: RuleDefinition[] = [
|
||||
@@ -74,4 +84,27 @@ export const RULE_DEFINITIONS: RuleDefinition[] = [
|
||||
'The game must be played in "Set" battle style, meaning you cannot switch Pokémon after knocking out an opponent.',
|
||||
category: 'playstyle',
|
||||
},
|
||||
|
||||
// Variant
|
||||
{
|
||||
key: 'egglocke',
|
||||
name: 'Egglocke',
|
||||
description:
|
||||
'All caught Pokémon are replaced with traded eggs. The encounter selector shows all Pokémon since the hatched species is unknown.',
|
||||
category: 'variant',
|
||||
},
|
||||
{
|
||||
key: 'wonderlocke',
|
||||
name: 'Wonderlocke',
|
||||
description:
|
||||
'All caught Pokémon are Wonder Traded away. The encounter selector shows all Pokémon since the received species is unknown.',
|
||||
category: 'variant',
|
||||
},
|
||||
{
|
||||
key: 'randomizer',
|
||||
name: 'Randomizer',
|
||||
description:
|
||||
"The ROM's wild Pokémon are randomized, so the encounter selector shows all Pokémon instead of the game's regional dex.",
|
||||
category: 'variant',
|
||||
},
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user