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

PokemonOptimizer keep Pokemon base on current candy count and required candy to evolve #5526

Closed
hobbes3 opened this issue Sep 18, 2016 · 10 comments

Comments

@hobbes3
Copy link

hobbes3 commented Sep 18, 2016

Short Description

Keep Pokemon based base on current candy count and required candy to evolve. For example, keep 0 Pidgeys if you have <12 Pidgey candies, keep 2 Pidgeys if you have 13-23 candies, etc. (since it takes 12 candies to evolve a Pidgey).

Possible solution

Math/modulo + a list of required candies per Pokemon

How it would help others

That way the PokemonOptimizer can be used to keep certain "farmable" Pokemon for lucky egg XP farming without completely filling up the bag. I've had times when my bag was completely full since the PokemonOptimizer kept like 70 Pidgeys although I had only like 2 candies.

@kureijir
Copy link

Pokemon Optimizer only transfer after free Pokemon slots get lower than a certain value (default 5). Are you sure that even after transfering it still keeps 70 Pidgeys?

@julienlavergne
Copy link
Contributor

That is very very strange since the Pokemon Optimizer does much more than just keeping the Pokemon for xp. It computes exactly how many Pokemon it should keep based on the number of candies you have and the number of candies you will get by transferring Pokemon.

Do you have the log of a run of the PokemonOptimizer where, after the run, you see in your inventory that there is Pidgey that should either be transferred or evolve ?

@hobbes3
Copy link
Author

hobbes3 commented Sep 18, 2016

@anakin5 Is there a config setting for the Pokemon Optimizer to be smart and "candy-aware"? Because by default top is 0, which means all Pokemon will be kept.

@julienlavergne
Copy link
Contributor

I do not understand your question.
By default, if you do not define any rules, no Pokemon will be kept. If you define a rule and do not define "top", all Pokemon matching the rule will be kept.

The evolve_for_xp does take candies into account, you do not have to take care of that in your configuration. As I said earlier, it is going to keep exactly the number of Pokemon that can be evolved with the number of candies you have.

@kureijir
Copy link

@anakin5 hey is there any way to force some pokemon to always eligible for evolve_for_xp, regardless of 2% rule?

@hobbes3
Copy link
Author

hobbes3 commented Sep 18, 2016

I think I'm misunderstanding the configs. Basically I just want to do the following:

  • Keep all Pokemon above 0.9 IV
  • Only keep the minimum number of farmable Pokemon (list below) for XP evolving with a lucky egg
  • Don't touch the super rare Pokemon

Here is what I came up with the config:

{
    "type": "PokemonOptimizer",
    "config": {
        "enabled": true,
        "min_slots_left": 99999,
        "transfer": true,
        "transfer_wait_min": 1,
        "transfer_wait_max": 3,
        "evolve": true,
        "evolve_time": 23,
        "evolve_for_xp": true,
        "evolve_only_with_lucky_egg": true,
        "evolve_count_for_lucky_egg": 80,
        "may_use_lucky_egg": true,
        "upgrade": false,
        "upgrade_level": 60,
        "groups": {
        },
        "rules": [
        {
            "mode": "by_pokemon",
            "names": ["Articuno", "Lapras", "Mew", "Mewtwo", "Moltres", "Snorlax", "Zapdos", "Dragonite", "Arcanine"],
            "keep": true
        },
        {
            "mode": "by_pokemon",
            "names": ["Caterpie", "Ekans", "Goldeen", "Krabby", "Pidgey", "Rattata", "Psyduck", "Paras", "Spearow", "Tentacool", "Poliwag", "Weedle", "Zubat", "Staryu"],
            "sort": ["iv"],
            "evolve": true,
            "upgrade": false
        },
        {
            "mode": "by_pokemon",
            "keep": {"iv": 0.9},
            "evolve": false,
            "upgrade": false
        }
        ]
    }
}

With this setting, my bag would get full when the my candies for the farmable Pokemon gets low, which usually happens after a mass evolve with a lucky egg.

@julienlavergne
Copy link
Contributor

julienlavergne commented Sep 18, 2016

@hobbes3
It is almost good, but just almost.

{
    "mode": "by_pokemon",
    "names": ["Caterpie", "Ekans", "Goldeen", "Krabby", "Pidgey", "Rattata", "Psyduck", "Paras", "Spearow", "Tentacool", "Poliwag", "Weedle", "Zubat", "Staryu"],
    "sort": ["iv"],
    "evolve": true,
    "upgrade": false
},

This rule probably does not do what you think it does. This is going to keep all these Pokemon. That is why you have the problem you are talking about. You do not need that rule at all.
The evolve_for_xp works alone and independently from your rules.

@kureijir
Cannot deactivate it yet but I was thinking about just that yesterday and I am thinking I might open a parameter for that. Especially since I made the evolve_for_xp configurable as a list of Pokemon.

@hobbes3
Copy link
Author

hobbes3 commented Sep 18, 2016

@anakin5 Thanks for the answer. Are you saying the evolve_for_xp will allow a list of Pokemon in a future merge? Or it can get take a list now?

@julienlavergne
Copy link
Contributor

There is PR already, it is for future merge. For now, it is just true or false with the 2% rule to ensure we use Pokemon you have in big quantities in your bag.

@julienlavergne
Copy link
Contributor

@hobbes
If you want to handle these Pokemon with a rule rather than evolve_for_xp, you can consider adding for example keep: {"iv": 0.8} to the rule I mentioned earlier. It is not going to be as effective as evolve_for_xp but it will be restricted to the Pokemon you listed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants