Add starter, gift, and fossil encounters to seed data
Define special encounter data (starters, gifts, fossils) in a new special_encounters module and merge them into route seed JSON during generation. Add new route locations to ROUTE_ORDER for cities that previously had no wild encounters (Saffron City, Pewter City, etc.). Show colored method badges in the EncounterModal UI for special encounter types. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,40 @@ const statusOptions: { value: EncounterStatus; label: string; color: string }[]
|
||||
},
|
||||
]
|
||||
|
||||
const specialMethodStyles: Record<string, { label: string; color: string }> = {
|
||||
starter: {
|
||||
label: 'Starter',
|
||||
color:
|
||||
'bg-yellow-100 text-yellow-800 dark:bg-yellow-900/40 dark:text-yellow-300',
|
||||
},
|
||||
gift: {
|
||||
label: 'Gift',
|
||||
color: 'bg-pink-100 text-pink-800 dark:bg-pink-900/40 dark:text-pink-300',
|
||||
},
|
||||
fossil: {
|
||||
label: 'Fossil',
|
||||
color:
|
||||
'bg-amber-100 text-amber-800 dark:bg-amber-900/40 dark:text-amber-300',
|
||||
},
|
||||
trade: {
|
||||
label: 'Trade',
|
||||
color:
|
||||
'bg-emerald-100 text-emerald-800 dark:bg-emerald-900/40 dark:text-emerald-300',
|
||||
},
|
||||
}
|
||||
|
||||
function EncounterMethodBadge({ method }: { method: string }) {
|
||||
const config = specialMethodStyles[method]
|
||||
if (!config) return null
|
||||
return (
|
||||
<span
|
||||
className={`text-[9px] font-medium px-1.5 py-0.5 rounded-full ${config.color}`}
|
||||
>
|
||||
{config.label}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
export function EncounterModal({
|
||||
route,
|
||||
existing,
|
||||
@@ -198,6 +232,7 @@ export function EncounterModal({
|
||||
<span className="text-xs text-gray-700 dark:text-gray-300 mt-1 capitalize">
|
||||
{rp.pokemon.name}
|
||||
</span>
|
||||
<EncounterMethodBadge method={rp.encounterMethod} />
|
||||
<span className="text-[10px] text-gray-400">
|
||||
Lv. {rp.minLevel}
|
||||
{rp.maxLevel !== rp.minLevel && `–${rp.maxLevel}`}
|
||||
|
||||
Reference in New Issue
Block a user