Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic rarity does not handle extremely rare species that didn't spawn in the time window #2469

Open
wfcook opened this issue Jan 30, 2018 · 3 comments · May be fixed by #2487
Open

Dynamic rarity does not handle extremely rare species that didn't spawn in the time window #2469

wfcook opened this issue Jan 30, 2018 · 3 comments · May be fixed by #2487

Comments

@wfcook
Copy link

wfcook commented Jan 30, 2018

Expected Behavior

Really rare species that almost never spawn should show as enlarged and classified as "Ultra Rare" in the map GUI. They should not be removed from the map with "Exclude Rarity - Common".

Current Behavior

When updating the dynamic rarity, if a particular species, say #201 Unown, has not spawned in the scan area during the rarity-hours window, it is not assigned a rarity value in rarity.json. When one of those species spawns, its default rarity is "Common", and it gets sized and filtered as such.

This causes really rare spawns such as Unown, Tyranitar, etc. to be minimized or filtered out from the display altogether.

Possible Solution

Several possibilities:
(1) Species that do not appear in the rarity-hours window could be given a default value of "Ultra Rare"
(2) Species that do not have a value in rarity.json could use a default value, such as the one that used to be specified in pokemon.json

Steps to Reproduce (for bugs)

Wait for something really rare to pop that hasn't spawned within the rarity-hours window, like an Unown, Tyranitar, etc. Then observe the map.

Context

An Unown came up on the scanner today but was filtered out of the map because the "Exclude Rarity - Common" feature was turned on.

Your Environment

  • Version used: latest, did a pull this morning
  • Python 2.7
  • Windows 10
@pogo-excalibur
Copy link
Contributor

👍

I think it would be reasonable to change:

function getPokemonRarity(pokemonId) {
    if (pokemonRarities.hasOwnProperty(pokemonId)) {
        return pokemonRarities[pokemonId]
    }

    return ''
}

to

function getPokemonRarity(pokemonId) {
    if (pokemonRarities.hasOwnProperty(pokemonId)) {
        return pokemonRarities[pokemonId]
    }

    return 'Ultra Rare'
}

As the only time a rarity should be undefined is if that pokemon hasn't been spotted in the dynamic rarity window.

But we will need to consider the behaviour for short rarity windows - defaulting everything to Ultra Rare with a rarity window of 2-3 hours wouldn't work well.

@sebastienvercammen
Copy link
Member

@pogo-excalibur Same issue with new scans that don't have any entries yet. Defaulting to Ultra Rare would make all Pokémon (including Pidgeys) Ultra Rare in all instances until enough data was gathered.

@BrownSlaughter
Copy link
Contributor

image

A new spawn is not given a rarity until the rarity file is updated so is not removed via exclude by rarity.
although this still leaves the issue of it being essentially an ultra rare but it would be next to invisible on a map.

I have an idea of how to handle this that I will test and update

@BrownSlaughter BrownSlaughter linked a pull request Feb 9, 2018 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants