Skip to content

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

Open

Description

@wfcook

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

Activity

  1. pogo-excalibur commented on Jan 31, 2018

    @pogo-excalibur
    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.

  2. sebastienvercammen commented on Jan 31, 2018

    @sebastienvercammen
    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.

  3. added this to the 4.1.1 milestone on Jan 31, 2018
  4. BrownSlaughter commented on Feb 9, 2018

    @BrownSlaughter
    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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions