Add nullable region field to evolutions for regional form filtering
Regional evolutions (e.g., Pikachu → Alolan Raichu) only occur in specific regions. This adds a nullable region column so the app can filter evolutions by the game's region. When a regional evolution exists for a given trigger/item, the non-regional counterpart is automatically hidden. Full-stack: migration, model, schemas, API with region query param, seeder, Go fetch tool, frontend types/API/hook/components, and admin form. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -165,6 +165,7 @@ type EvolutionOverrides struct {
|
||||
Item *string `json:"item"`
|
||||
HeldItem *string `json:"held_item"`
|
||||
Condition *string `json:"condition"`
|
||||
Region *string `json:"region"`
|
||||
} `json:"add"`
|
||||
Modify []struct {
|
||||
FromDex int `json:"from_dex"`
|
||||
@@ -213,6 +214,7 @@ func applyEvolutionOverrides(evolutions []EvolutionOutput, overridesPath string)
|
||||
Item: addition.Item,
|
||||
HeldItem: addition.HeldItem,
|
||||
Condition: addition.Condition,
|
||||
Region: addition.Region,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -252,6 +254,12 @@ func applyEvolutionOverrides(evolutions []EvolutionOutput, overridesPath string)
|
||||
} else if value == nil {
|
||||
e.Condition = nil
|
||||
}
|
||||
case "region":
|
||||
if s, ok := value.(string); ok {
|
||||
e.Region = &s
|
||||
} else if value == nil {
|
||||
e.Region = nil
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user