@@ -107,11 +107,64 @@ export function usePokestopMarker({
107107 const gruntData = masterfile . invasions [ invasion . grunt_type ]
108108 if ( invasion . confirmed && invasion . encounters ) {
109109 // If invasion has confirmed lineup from DB, use those specific rewards
110- // But still check which encounters are actually available as rewards
111- if ( gruntData ?. firstReward && invasion . encounters . first ) {
112- invasion . encounters . first . forEach ( ( encounter ) => {
113- const pokemonKey = `a${ encounter . pokemon_id } -${ encounter . pokemon_form || 0 } `
114- const pokemonKeySimple = `a${ encounter . pokemon_id } `
110+ // Check the actual confirmed reward Pokemon
111+ if ( gruntData ?. firstReward && invasion . slot_1_pokemon_id ) {
112+ const pokemonKey = `a${ invasion . slot_1_pokemon_id } -${ invasion . slot_1_form || 0 } `
113+ const pokemonKeySimple = `a${ invasion . slot_1_pokemon_id } `
114+
115+ // Only consider this Pokemon's size if it's enabled in filters
116+ if (
117+ filters [ pokemonKey ] ?. enabled ||
118+ filters [ pokemonKeySimple ] ?. enabled
119+ ) {
120+ const rewardSize =
121+ Icons . getSize ( 'invasion' , filters [ pokemonKey ] ?. size ) ||
122+ Icons . getSize ( 'invasion' , filters [ pokemonKeySimple ] ?. size ) ||
123+ Icons . getSize ( 'invasion' )
124+ maxRewardSize = Math . max ( maxRewardSize , rewardSize )
125+ }
126+ }
127+
128+ if ( gruntData ?. secondReward && invasion . slot_2_pokemon_id ) {
129+ const pokemonKey = `a${ invasion . slot_2_pokemon_id } -${ invasion . slot_2_form || 0 } `
130+ const pokemonKeySimple = `a${ invasion . slot_2_pokemon_id } `
131+
132+ // Only consider this Pokemon's size if it's enabled in filters
133+ if (
134+ filters [ pokemonKey ] ?. enabled ||
135+ filters [ pokemonKeySimple ] ?. enabled
136+ ) {
137+ const rewardSize =
138+ Icons . getSize ( 'invasion' , filters [ pokemonKey ] ?. size ) ||
139+ Icons . getSize ( 'invasion' , filters [ pokemonKeySimple ] ?. size ) ||
140+ Icons . getSize ( 'invasion' )
141+ maxRewardSize = Math . max ( maxRewardSize , rewardSize )
142+ }
143+ }
144+
145+ if ( gruntData ?. thirdReward && invasion . slot_3_pokemon_id ) {
146+ const pokemonKey = `a${ invasion . slot_3_pokemon_id } -${ invasion . slot_3_form || 0 } `
147+ const pokemonKeySimple = `a${ invasion . slot_3_pokemon_id } `
148+
149+ // Only consider this Pokemon's size if it's enabled in filters
150+ if (
151+ filters [ pokemonKey ] ?. enabled ||
152+ filters [ pokemonKeySimple ] ?. enabled
153+ ) {
154+ const rewardSize =
155+ Icons . getSize ( 'invasion' , filters [ pokemonKey ] ?. size ) ||
156+ Icons . getSize ( 'invasion' , filters [ pokemonKeySimple ] ?. size ) ||
157+ Icons . getSize ( 'invasion' )
158+ maxRewardSize = Math . max ( maxRewardSize , rewardSize )
159+ }
160+ }
161+ } else if ( gruntData ?. encounters ) {
162+ // If no confirmed lineup, use all potential rewards from masterfile
163+ // Check first encounter rewards if firstReward is true
164+ if ( gruntData . firstReward && gruntData . encounters . first ) {
165+ gruntData . encounters . first . forEach ( ( encounter ) => {
166+ const pokemonKey = `a${ encounter . id } -${ encounter . form || 0 } `
167+ const pokemonKeySimple = `a${ encounter . id } `
115168
116169 // Only consider this Pokemon's size if it's enabled in filters
117170 if (
@@ -130,10 +183,11 @@ export function usePokestopMarker({
130183 } )
131184 }
132185
133- if ( gruntData ?. secondReward && invasion . encounters . second ) {
134- invasion . encounters . second . forEach ( ( encounter ) => {
135- const pokemonKey = `a${ encounter . pokemon_id } -${ encounter . pokemon_form || 0 } `
136- const pokemonKeySimple = `a${ encounter . pokemon_id } `
186+ // Check second encounter rewards if secondReward is true
187+ if ( gruntData . secondReward && gruntData . encounters . second ) {
188+ gruntData . encounters . second . forEach ( ( encounter ) => {
189+ const pokemonKey = `a${ encounter . id } -${ encounter . form || 0 } `
190+ const pokemonKeySimple = `a${ encounter . id } `
137191
138192 // Only consider this Pokemon's size if it's enabled in filters
139193 if (
@@ -152,10 +206,11 @@ export function usePokestopMarker({
152206 } )
153207 }
154208
155- if ( gruntData ?. thirdReward && invasion . encounters . third ) {
156- invasion . encounters . third . forEach ( ( encounter ) => {
157- const pokemonKey = `a${ encounter . pokemon_id } -${ encounter . pokemon_form || 0 } `
158- const pokemonKeySimple = `a${ encounter . pokemon_id } `
209+ // Check third encounter rewards if thirdReward is true
210+ if ( gruntData . thirdReward && gruntData . encounters . third ) {
211+ gruntData . encounters . third . forEach ( ( encounter ) => {
212+ const pokemonKey = `a${ encounter . id } -${ encounter . form || 0 } `
213+ const pokemonKeySimple = `a${ encounter . id } `
159214
160215 // Only consider this Pokemon's size if it's enabled in filters
161216 if (
@@ -173,78 +228,6 @@ export function usePokestopMarker({
173228 }
174229 } )
175230 }
176- } else if ( gruntData ?. encounters ) {
177- // If no confirmed lineup, use all potential rewards from masterfile
178- if ( gruntData . encounters ) {
179- // Check first encounter rewards if firstReward is true
180- if ( gruntData . firstReward && gruntData . encounters . first ) {
181- gruntData . encounters . first . forEach ( ( encounter ) => {
182- const pokemonKey = `a${ encounter . id } -${ encounter . form || 0 } `
183- const pokemonKeySimple = `a${ encounter . id } `
184-
185- // Only consider this Pokemon's size if it's enabled in filters
186- if (
187- filters [ pokemonKey ] ?. enabled ||
188- filters [ pokemonKeySimple ] ?. enabled
189- ) {
190- const rewardSize =
191- Icons . getSize ( 'invasion' , filters [ pokemonKey ] ?. size ) ||
192- Icons . getSize (
193- 'invasion' ,
194- filters [ pokemonKeySimple ] ?. size ,
195- ) ||
196- Icons . getSize ( 'invasion' )
197- maxRewardSize = Math . max ( maxRewardSize , rewardSize )
198- }
199- } )
200- }
201-
202- // Check second encounter rewards if secondReward is true
203- if ( gruntData . secondReward && gruntData . encounters . second ) {
204- gruntData . encounters . second . forEach ( ( encounter ) => {
205- const pokemonKey = `a${ encounter . id } -${ encounter . form || 0 } `
206- const pokemonKeySimple = `a${ encounter . id } `
207-
208- // Only consider this Pokemon's size if it's enabled in filters
209- if (
210- filters [ pokemonKey ] ?. enabled ||
211- filters [ pokemonKeySimple ] ?. enabled
212- ) {
213- const rewardSize =
214- Icons . getSize ( 'invasion' , filters [ pokemonKey ] ?. size ) ||
215- Icons . getSize (
216- 'invasion' ,
217- filters [ pokemonKeySimple ] ?. size ,
218- ) ||
219- Icons . getSize ( 'invasion' )
220- maxRewardSize = Math . max ( maxRewardSize , rewardSize )
221- }
222- } )
223- }
224-
225- // Check third encounter rewards if thirdReward is true
226- if ( gruntData . thirdReward && gruntData . encounters . third ) {
227- gruntData . encounters . third . forEach ( ( encounter ) => {
228- const pokemonKey = `a${ encounter . id } -${ encounter . form || 0 } `
229- const pokemonKeySimple = `a${ encounter . id } `
230-
231- // Only consider this Pokemon's size if it's enabled in filters
232- if (
233- filters [ pokemonKey ] ?. enabled ||
234- filters [ pokemonKeySimple ] ?. enabled
235- ) {
236- const rewardSize =
237- Icons . getSize ( 'invasion' , filters [ pokemonKey ] ?. size ) ||
238- Icons . getSize (
239- 'invasion' ,
240- filters [ pokemonKeySimple ] ?. size ,
241- ) ||
242- Icons . getSize ( 'invasion' )
243- maxRewardSize = Math . max ( maxRewardSize , rewardSize )
244- }
245- } )
246- }
247- }
248231 }
249232
250233 // Use the maximum size found, or default invasion size if none are enabled
0 commit comments