@@ -38,7 +38,7 @@ export function useGenPokestops() {
3838 }
3939
4040 Object . keys ( pokestops . filter ) . forEach ( ( id ) => {
41- if ( id !== 'global' && ! / \d / . test ( id . charAt ( 0 ) ) ) {
41+ if ( id !== 'global' ) {
4242 switch ( id . charAt ( 0 ) ) {
4343 case 'a' :
4444 if ( tempObj . rocket_pokemon ) {
@@ -192,7 +192,104 @@ export function useGenPokestops() {
192192 }
193193 break
194194 default :
195- if ( tempObj . pokestops ) {
195+ if ( / \d / . test ( id . charAt ( 0 ) ) ) {
196+ // Handle numbered IDs - these are pokemon encounters
197+ // ID format: pokemonId or pokemonId-formId
198+ const [ pokemonId , formId ] = id . split ( '-' , 2 )
199+ const pokemonData = pokemon [ pokemonId ]
200+ if ( tempObj . quest_pokemon && pokemonData ) {
201+ if ( formId ) {
202+ // Handle specific form
203+ const form = pokemonData . forms [ formId ]
204+ if ( form ) {
205+ const pokeName = t ( `poke_${ pokemonId } ` )
206+ const formName = t ( `form_${ formId } ` )
207+ const formTypes = (
208+ form . types ||
209+ pokemonData . types ||
210+ [ ]
211+ ) . map ( ( x ) => `poke_type_${ x } ` )
212+ const name =
213+ form . name &&
214+ form . name !== 'Normal' &&
215+ formId !== '0' &&
216+ + formId !== pokemonData . defaultFormId
217+ ? formName
218+ : pokeName
219+
220+ tempObj . quest_pokemon [ id ] = {
221+ name : form . name === '*' ? `${ name } *` : name ,
222+ category : form . name === '*' ? form . category : undefined ,
223+ pokedexId : + pokemonId ,
224+ formId : + formId ,
225+ defaultFormId : pokemonData . defaultFormId ,
226+ pokeName,
227+ formName,
228+ formTypes,
229+ rarity : form . rarity || pokemonData . rarity ,
230+ historic : pokemonData . historic ,
231+ legendary : pokemonData . legendary ,
232+ mythical : pokemonData . mythical ,
233+ ultraBeast : pokemonData . ultraBeast ,
234+ genId : `generation_${ pokemonData . genId } ` ,
235+ perms : [ 'quests' ] ,
236+ family : pokemonData . family ,
237+ }
238+ tempObj . quest_pokemon [ id ] . searchMeta = `${ Object . entries (
239+ tempObj . quest_pokemon [ id ] ,
240+ )
241+ . flatMap ( ( [ k , v ] ) =>
242+ Array . isArray ( v )
243+ ? v . map ( ( y ) => t ( y ) )
244+ : typeof v === 'boolean'
245+ ? v
246+ ? t ( k )
247+ : ''
248+ : t ( v ) ,
249+ )
250+ . join ( ' ' )
251+ . toLowerCase ( ) } ${ t ( 'pokemon' ) . toLowerCase ( ) } `
252+ }
253+ } else {
254+ // Handle pokemon without specific form (use pokemonData directly)
255+ const pokeName = t ( `poke_${ pokemonId } ` )
256+ const formTypes = pokemonData . types . map (
257+ ( x ) => `poke_type_${ x } ` ,
258+ )
259+
260+ tempObj . quest_pokemon [ id ] = {
261+ name : pokeName ,
262+ pokedexId : + pokemonId ,
263+ formId : pokemonData . defaultFormId ,
264+ defaultFormId : pokemonData . defaultFormId ,
265+ pokeName,
266+ formTypes,
267+ rarity : pokemonData . rarity ,
268+ historic : pokemonData . historic ,
269+ legendary : pokemonData . legendary ,
270+ mythical : pokemonData . mythical ,
271+ ultraBeast : pokemonData . ultraBeast ,
272+ genId : `generation_${ pokemonData . genId } ` ,
273+ perms : [ 'quests' ] ,
274+ family : pokemonData . family ,
275+ }
276+ tempObj . quest_pokemon [ id ] . searchMeta = `${ Object . entries (
277+ tempObj . quest_pokemon [ id ] ,
278+ )
279+ . flatMap ( ( [ k , v ] ) =>
280+ Array . isArray ( v )
281+ ? v . map ( ( y ) => t ( y ) )
282+ : typeof v === 'boolean'
283+ ? v
284+ ? t ( k )
285+ : ''
286+ : t ( v ) ,
287+ )
288+ . join ( ' ' )
289+ . toLowerCase ( ) } ${ t ( 'pokemon' ) . toLowerCase ( ) } `
290+ }
291+ }
292+ } else if ( tempObj . pokestops ) {
196293 tempObj . pokestops [ id ] = {
197294 name : t ( 'pokestop' ) ,
198295 perms : [ 'pokestops' ] ,
0 commit comments