Armax / Pokemon-GO-node-api

Pokemon GO api node.js library
MIT License
875 stars 198 forks source link

WildPokemon doesn't report most Pokemon seen through the app #232

Closed BasouKazuma closed 7 years ago

BasouKazuma commented 7 years ago

I made a slack notifier that seems to only finds a new Pokemon when the clock strikes X:40 or X:53 and will keep reporting those 2 Pokemon until they expire. I also noticed that these Pokemon are within 2 meters of the set location. I've tried debugging this and looked through everything that is output by the Heartbeat function and it just never finds the Pokemon that are within 100 or 200 meters as they are not even in NearbyPokemon or MapPokemon. Am I doing something wrong or is there a bug in the api? https://github.com/BasouKazuma/pokemon-go-node-slack-notifier/blob/master/app.js

LemonDew commented 7 years ago

As I understand correctly, WildPokemon is obsolete. NearbyPokemon always return pokemon which are <200m away, MapPokemon will return the pokemon you are able to catch (<70m from your location).

BasouKazuma commented 7 years ago

Unfortunately MapPokemon is returning the same things I see in WildPokemon. I'm setting this next to a Pokestop that is usually lured so there should be about 10 Pokemon per hour but I only get reports for 2 of them and always at the same time every hour.

RedSparr0w commented 7 years ago

90% sure lured Pokemon are a seperate thing, I think they are part of the poke stop object.

Sent from my iPhone

On 12/08/2016, at 10:43 AM, Abbas Jaffery notifications@github.com<mailto:notifications@github.com> wrote:

Unfortunately MapPokemon is returning the same things I see in WildPokemon. I'm setting this next to a Pokestop that is usually lured so there should be about 10 Pokemon per hour but I only get reports for 2 of them and always at the same time every hour.

You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/Armax/Pokemon-GO-node-api/issues/232#issuecomment-239315765, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AG82AoxrIeVtUuuwbbGp9b4xK3Lq_A-wks5qe6WogaJpZM4JiXOg.

BasouKazuma commented 7 years ago

I just see an array of these in the Heartbeat.Fort object array. Doesn't seem to be anything listing catchable Pokemon. { FortId: 'd85fe47762e2478999319797e42d65bd.12', LastModifiedMs: Long { low: -2125848967, high: 342, unsigned: false }, Latitude: 37.784423, Longitude: -122.406396, Team: null, GuardPokemonId: null, GuardPokemonLevel: null, Enabled: true, FortType: 1, GymPoints: null, IsInBattle: null, ActiveFortModifier: null, LureInfo: null, CooldownCompleteMs: null, Sponsor: null, RenderingType: null }

RedSparr0w commented 7 years ago

Doesn't look like it is lured though so wouldn't be anything anyway.

Sent from my iPhone

On 13/08/2016, at 1:02 PM, Abbas Jaffery notifications@github.com<mailto:notifications@github.com> wrote:

I just see an array of these in the Heartbeat.Fort object array. Doesn't seem to be anything listing catchable Pokemon. { FortId: 'd85fe47762e2478999319797e42d65bd.12', LastModifiedMs: Long { low: -2125848967, high: 342, unsigned: false }, Latitude: 37.784423, Longitude: -122.406396, Team: null, GuardPokemonId: null, GuardPokemonLevel: null, Enabled: true, FortType: 1, GymPoints: null, IsInBattle: null, ActiveFortModifier: null, LureInfo: null, CooldownCompleteMs: null, Sponsor: null, RenderingType: null }

You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/Armax/Pokemon-GO-node-api/issues/232#issuecomment-239592323, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AG82AoIDJPKe7--gNHx7vPZHqv-EZvbiks5qfRe9gaJpZM4JiXOg.

BasouKazuma commented 7 years ago

Sorry I picked a bad example here's what's under LureInfo on a lured Pokestop: LureInfo: { FortId: 'd85fe47762e2478999319797e42d65bd.12', unknown2: 4.6972251e-316, ActivePokemonId: 7, LureExpiresTimestampMs: Long { low: -2055356800, high: 342, unsigned: false }, DeployerPlayerCodename: null }

Here I see an ActivePokemonId of 7 which is Squirtle. And MapPokemon shows a Bulbasaur in the area which means I should be able to increase my coverage now. So my last question is that since ActivePokemonId can only hold 1 Pokemon id, does a lured Pokestop only bring 1 Pokemon at a time?

RedSparr0w commented 7 years ago

Lured stops bring 1 pokemon every 3 minutes (9 total per lure - they dont spawn on the last minute). not sure if they stack or not though.

chances are it probably is only the 1 per 3 minutes (no stacking)

also not sure if they stay spawned for the entire 3 minutes or just spawn every 3 minutes

source

st0ffern commented 7 years ago

It is because the calculation here: https://github.com/Armax/Pokemon-GO-node-api/blob/master/poke.io.js#L52 is wrong Check it out with s2map.com and you will se.. its wrong. https://github.com/gallexme/pokemongo-api has a working one

BasouKazuma commented 7 years ago

@RedSparr0w Thanks for all the help! With your info I'll be able to create an update that reports wild lured pokemon with a fairly good degree of accuracy. Just as a note, it does look like lured pokemon only stay spawned for 3 minutes and don't stack.