PokemonGoF / PokemonGo-Bot

The Pokemon Go Bot, baking with community.
MIT License
3.86k stars 1.54k forks source link

release and pokemon optimizer #4435

Closed masterpowers closed 8 years ago

masterpowers commented 8 years ago

Hi , i wanna know what rule will take effect first? will the release rule take precedence on the pokemon optimizer for releasing duplicate pokemon based on your criteria like ncp or iv or any combination....

{
            "type": "PokemonOptimizer",
            "config": {
                "enabled": true,
                    "// the 'transfer' parameter activate or deactivate the transfer of pokemons": {},
                    "// at false, no pokemon is going to be transfered, ever": {},
                    "// at false, you will still get the log information of what the optimizer": {},
                    "// would have transfered if the parameter was true": {},
                "transfer": true,
                    "// 'transfer_wait_min' and 'transfer_wait_max' are the minimum and maximum": {},
                    "// time to wait when transferring a pokemon": {},
                "transfer_wait_min": 1,
                "transfer_wait_max": 4,
                    "// the 'evolve' parameter activate or deactivate the evolution of pokemons": {},
                    "// at false, no pokemon is going to be evolved, ever": {},
                    "// at false, you will still get the log information of what the": {},
                    "// optimizer would have evolved if the parameter was true": {},
                "evolve": true,
                    "// Time in seconds to wait between two evolve": {},
                "evolve_time": 20,
                    "// the 'evolve_for_xp' parameter let you choose if you want the optimizer": {},
                    "// to use your candies to evolve low quality pokemons in order to maximize your xp": {},
                    "// at false, the optimizer will still use candies to evolve your best Pokemons": {},
                "evolve_for_xp": true,
                    "// the 'evolve_only_with_lucky_egg' parameter let you choose if you want the optimizer": {},
                    "// to only Evolve Pokemons when a lucky egg is available": {},
                "evolve_only_with_lucky_egg": true,
                    "// the 'evolve_count_for_lucky_egg' parameter let you define the minimum": {},
                    "// number of Pokemons that must evolve before using a lucky egg": {},
                    "// If that number is not reached, and evolve_only_with_lucky_egg is true, evolution will be skipped": {},
                    "// If that number is not reached, and evolve_only_with_lucky_egg is false,": {},
                    "// evolution will be performed without using a lucky egg": {},
                "evolve_count_for_lucky_egg": 100,
                    "// the 'may_use_lucky_egg' parameter let you choose if you want the optimizer": {},
                    "// to use a lucky egg right before evolving Pokemons. At false; the optimizer": {},
                    "// is free to evolve Pokemons even if you do not have any lucky egg.": {},
                "may_use_lucky_egg": true,
                    "// the 'keep' parameter let you define what pokemons you consider are the 'best'. These Pokemons": {},
                    "// will be keep and evolved. Note that Pokemons are evaluated inside their whole family": {},
                    "// Multiple way of ranking can be defined. Following configuration let you keep the best iv,": {},
                    "// the best ncp and the best cp": {},
                "keep": [
                    {
                            "// Following setting let you keep the best iv of the family": {},
                            "// the 'top' parameter allow you to define how many Pokemons you want to keep": {},
                            "// at the top of your ranking. If several Pokemons get the same score, they are": {},
                            "// considered equal. Thus, top=1 might result in keeping more than 1 Pokemon.": {},
                        "top": 1,
                            "// the 'evolve' parameter let you choose if you want to evolve the Pokemons you keep": {},
                        "evolve": false,
                            "// the 'sort' parameter define how you want to rank your pokemons": {},
                            "// Critera are sorted fro, the most important to the least important.": {},
                            "// Available criteria are:": {},
                            "// 'iv' = individual value": {},
                            "// 'ivcp' = iv weigted so that for equal iv, attack > defense > stamina": {},
                            "// 'cp' = combat power (can be increased with candies)": {},
                            "// 'cp_exact' = combar power (not rounded)": {},
                            "// 'ncp' (normalized cp) or 'cp_percent' = ratio cp / max_cp": {},
                            "// 'iv_attack' = attach component of iv": {},
                            "// 'iv_defense' = defense component of iv": {},
                            "// 'iv_stamina' = stamina component of iv": {},
                            "// 'dps' = raw dps based on the moves of the pokemon": {},
                            "// 'dps_attack' = average dps when attacking": {},
                            "// 'attack_perfection' = ratio dps_attack / best_dps_attack. Return same order as 'dps_attack'": {},
                            "// 'dps_defense' = average dps when defending": {},
                            "// 'defense_perfection' = ratio dps_defense / best_dps_defense. Return same order as 'dps_defense'": {},
                            "// 'hp' = current health points": {},
                            "// 'hp_max' = max health points": {},
                            "// Note that the more criteria you add to this list, the less likely Pokemons": {},
                            "// will be equals": {},
                        "sort": ["iv"]
                    },
                    {
                        "// Following setting let you keep keep the best normalized cp of the family": {},
                        "// That is the Pokemon with higher CP once fully evolved": {},
                        "top": 1,
                        "evolve": false,
                        "sort": ["ncp"]
                    },
                    {
                        "// Following setting let you keep keep the best cp of the family.": {},
                        "// But will not evolve it further (in favor of the best ncp)": {},
                        "// It will only applies to the family of 'Dragonite', 'Arcanine' and 'Muk'": {},
                        "// Other families are not following this setting": {},
                        "names": ["Dragonite", "Arcanine", "Muk"],
                        "top": 1,
                        "evolve": false,
                        "sort": ["ncp","dps_attack","iv"]
                    }
                ]
            }
      },
"release": {
      "any": {"release_below_cp": 0, "release_below_iv": 0, "logic": "or"},
      "// Legendary pokemons (Goes under S-Tier)": {},
      "Lapras": { "release_below_cp": 2000, "release_below_iv": 0.99, "logic": "or" },
      "Moltres": { "release_below_cp": 1000, "release_below_iv": 0.1, "logic": "or" },
      "Zapdos": { "release_below_cp": 1000, "release_below_iv": 0.1, "logic": "or" },
      "Articuno": { "release_below_cp": 1000, "release_below_iv": 0.1, "logic": "or" },

      "// S-Tier pokemons (if pokemon can be evolved into tier, list the representative)": {},
      "Mewtwo": { "release_below_cp": 1447, "release_below_iv": 0.8, "logic": "and"},
      "Dragonite": { "release_below_cp": 1221, "release_below_iv": 0.8, "logic": "and" },
      "Snorlax": { "release_below_cp": 1087, "release_below_iv": 0.8, "logic": "and" },
      "// Mew evolves to Mewtwo": {},
      "Mew": { "release_below_cp": 1152, "release_below_iv": 0.8, "logic": "and" },
      "Arcanine": { "release_below_cp": 1041, "release_below_iv": 0.8, "logic": "and" },
      "Vaporeon": { "release_below_cp": 984, "release_below_iv": 0.8, "logic": "and" },
      "Gyarados": { "release_below_cp": 938, "release_below_iv": 0.8, "logic": "and" },
      "Exeggutor": { "release_below_cp": 1032, "release_below_iv": 0.8, "logic": "and" },
      "Muk": { "release_below_cp": 909, "release_below_iv": 0.8, "logic": "and" },
      "Weezing": { "release_below_cp": 784, "release_below_iv": 0.8, "logic": "and" },
      "Flareon": { "release_below_cp": 924, "release_below_iv": 0.8, "logic": "and" },

      "// Growlithe evolves to Arcanine": {},
      "Growlithe": { "release_below_cp": 749, "release_below_iv": 0.8, "logic": "or" },
      "// Dragonair evolves to Dragonite": {},
      "Dragonair": { "release_below_cp": 609, "release_below_iv": 0.8, "logic": "and" },
      "// Grimer evolves to Muk": {},
      "Grimer": { "release_below_cp": 750, "release_below_iv": 0.8, "logic": "or" },
      "// Magikarp evolves to Gyarados": {},
      "Magikarp": { "release_below_cp": 150, "release_below_iv": 0.9, "logic": "or" },
      "// Exeggcute evolves to Exeggutor": {},
      "Exeggcute": { "release_below_cp": 650, "release_below_iv": 0.8, "logic": "or" },
      "// Eevee evolves to many versions, like Vaporeon, Flareon": {},
      "Eevee": { "release_below_cp": 700, "release_below_iv": 0.8, "logic": "or" },

      "// A-Tier pokemons": {},
      "Slowbro": { "release_below_cp": 907, "release_below_iv": 0.8, "logic": "and" },
      "Victreebel": { "release_below_cp": 883, "release_below_iv": 0.8, "logic": "and" },
      "Machamp": { "release_below_cp": 907, "release_below_iv": 0.8, "logic": "and" },
      "Poliwrath": { "release_below_cp": 876, "release_below_iv": 0.8, "logic": "and" },
      "Clefable": { "release_below_cp": 837, "release_below_iv": 0.8, "logic": "and" },
      "Nidoking": { "release_below_cp": 864, "release_below_iv": 0.8, "logic": "and" },
      "Venusaur": { "release_below_cp": 1400, "release_below_iv": 0.8, "logic": "or" },
      "Charizard": { "release_below_cp": 909, "release_below_iv": 0.8, "logic": "and" },
      "Golduck": { "release_below_cp": 832, "release_below_iv": 0.8, "logic": "and" },
      "Nidoqueen": { "release_below_cp": 868, "release_below_iv": 0.8, "logic": "and" },
      "Vileplume": { "release_below_cp": 871, "release_below_iv": 0.8, "logic": "and" },
      "Blastoise": { "release_below_cp": 888, "release_below_iv": 0.8, "logic": "and" },
      "Omastar":  { "release_below_cp": 780, "release_below_iv": 0.8, "logic": "and" },
      "Aerodactyl": { "release_below_cp": 756, "release_below_iv": 0.8, "logic": "and" },
      "Golem": { "release_below_cp": 804, "release_below_iv": 0.8, "logic": "and" },
      "Wigglytuff": { "release_below_cp": 760, "release_below_iv": 0.8, "logic": "and" },
      "Dewgong": { "release_below_cp": 748, "release_below_iv": 0.8, "logic": "and" },
      "Ninetales": { "release_below_cp": 763, "release_below_iv": 0.8, "logic": "and" },
      "Magmar": { "release_below_cp": 1400, "release_below_iv": 0.8, "logic": "or" },
      "Kabutops": { "release_below_cp": 744, "release_below_iv": 0.8, "logic": "and" },
      "Electabuzz": { "release_below_cp": 739, "release_below_iv": 0.8, "logic": "and" },
      "Starmie": { "release_below_cp": 1600, "release_below_iv": 0.8, "logic": "or" },
      "Jolteon": { "release_below_cp": 746, "release_below_iv": 0.8, "logic": "and" },
      "Rapidash": { "release_below_cp": 768, "release_below_iv": 0.8, "logic": "and" },
      "Pinsir": { "release_below_cp": 1600, "release_below_iv": 0.8, "logic": "or" },
      "Scyther": { "release_below_cp": 700, "release_below_iv": 0.8, "logic": "or" },
      "Tentacruel": { "release_below_cp": 1100, "release_below_iv": 0.8, "logic": "or" },
      "Gengar": { "release_below_cp": 724, "release_below_iv": 0.8, "logic": "and" },
      "Hypno": { "release_below_cp": 763, "release_below_iv": 0.8, "logic": "and" },
      "Pidgeot": { "release_below_cp": 1200, "release_below_iv": 0.8, "logic": "or" },
      "Rhydon": { "release_below_cp": 782, "release_below_iv": 0.8, "logic": "and" },
      "Seaking": { "release_below_cp": 712, "release_below_iv": 0.8, "logic": "and" },
      "Kangaskhan": { "release_below_cp": 712, "release_below_iv": 0.8, "logic": "and" },

      "// Koffing evolves to Weezing (A-Tier)": {},
      "Koffing": { "release_below_cp": 675, "release_below_iv": 0.8, "logic": "or" },

      "// Below is B-tier and lower pokemons": {},
      "Caterpie": { "release_below_cp": 220, "release_below_iv": 0.8, "logic": "or" },
      "Weedle": { "release_below_cp": 250, "release_below_iv": 0.8, "logic": "or" },
      "Diglett": { "release_below_cp": 158, "release_below_iv": 0.8, "logic": "and" },
      "Metapod": { "release_below_cp": 275, "release_below_iv": 0.8, "logic": "or" },
      "Kakuna": { "release_below_cp": 220, "release_below_iv": 0.8, "logic": "or" },
      "Rattata": { "release_below_cp": 375, "release_below_iv": 0.8, "logic": "or" },
      "Abra": { "release_below_cp": 330, "release_below_iv": 0.8, "logic": "or" },
      "Zubat": { "release_below_cp": 450, "release_below_iv": 0.8, "logic": "or" },
      "Chansey": { "release_below_cp": 235, "release_below_iv": 0.8, "logic": "and" },
      "Pidgey": { "release_below_cp": 335, "release_below_iv": 0.8, "logic": "and" },
      "Spearow": { "release_below_cp": 375, "release_below_iv": 0.8, "logic": "or" },
      "Meowth": { "release_below_cp": 450, "release_below_iv": 0.8, "logic": "or" },
      "Krabby": { "release_below_cp": 400, "release_below_iv": 0.8, "logic": "or" },
      "Sandshrew": { "release_below_cp": 278, "release_below_iv": 0.85, "logic": "or" },
      "Poliwag": { "release_below_cp": 420, "release_below_iv": 0.8, "logic": "or" },
      "Horsea": { "release_below_cp": 500, "release_below_iv": 0.8, "logic": "or" },
      "Gastly": { "release_below_cp": 500, "release_below_iv": 0.8, "logic": "or" },
      "Ekans": { "release_below_cp": 600, "release_below_iv": 0.8, "logic": "or" },
      "Shellder": { "release_below_cp": 288, "release_below_iv": 0.8, "logic": "and" },
      "Vulpix": { "release_below_cp": 290, "release_below_iv": 0.8, "logic": "and" },
      "Voltorb": { "release_below_cp": 500, "release_below_iv": 0.8, "logic": "and" },
      "Geodude": { "release_below_cp": 600, "release_below_iv": 0.8, "logic": "or" },
      "Doduo": { "release_below_cp": 600, "release_below_iv": 0.8, "logic": "or" },
      "Onix": { "release_below_cp": 750, "release_below_iv": 0.8, "logic": "and" },
      "Mankey": { "release_below_cp": 307, "release_below_iv": 0.8, "logic": "and" },
      "Pikachu": { "release_below_cp": 600, "release_below_iv": 0.8, "logic": "or" },
      "Magnemite": { "release_below_cp": 312, "release_below_iv": 0.8, "logic": "and" },
      "Tentacool": { "release_below_cp": 650, "release_below_iv": 0.8, "logic": "or" },
      "Paras": { "release_below_cp": 725, "release_below_iv": 0.8, "logic": "or" },
      "Jigglypuff": { "release_below_cp": 500, "release_below_iv": 0.8, "logic": "or" },
      "Ditto": { "release_below_cp": 321, "release_below_iv": 0.8, "logic": "and" },
      "Staryu": { "release_below_cp": 480, "release_below_iv": 0.8, "logic": "or" },
      "Charmander": { "release_below_cp": 500, "release_below_iv": 0.8, "logic": "and" },
      "Goldeen": { "release_below_cp": 670, "release_below_iv": 0.8, "logic": "or" },
      "Squirtle": { "release_below_cp": 525, "release_below_iv": 0.8, "logic": "or" },
      "Cubone": { "release_below_cp": 700, "release_below_iv": 0.8, "logic": "or" },
      "Venonat": { "release_below_cp": 725, "release_below_iv": 0.8, "logic": "or" },
      "Bulbasaur": { "release_below_cp": 500, "release_below_iv": 0.8, "logic": "or" },
      "Drowzee": { "release_below_cp": 450, "release_below_iv": 0.8, "logic": "or" },
      "Machop": { "release_below_cp": 725, "release_below_iv": 0.8, "logic": "or" },
      "Psyduck": { "release_below_cp": 620, "release_below_iv": 0.9, "logic": "or" },
      "Seel": { "release_below_cp": 600, "release_below_iv": 0.8, "logic": "or" },
      "Kabuto": { "release_below_cp": 750, "release_below_iv": 0.8, "logic": "or" },
      "Bellsprout": { "release_below_cp": 620, "release_below_iv": 0.8, "logic": "or" },
      "Omanyte": { "release_below_cp": 500, "release_below_iv": 0.8, "logic": "or" },
      "Kadabra": { "release_below_cp": 396, "release_below_iv": 0.8, "logic": "and" },
      "Oddish": { "release_below_cp": 650, "release_below_iv": 0.8, "logic": "or" },
      "Dugtrio": { "release_below_cp": 650, "release_below_iv": 0.8, "logic": "and" },
      "Rhyhorn": { "release_below_cp": 650, "release_below_iv": 0.8, "logic": "and" },
      "Clefairy": { "release_below_cp": 700, "release_below_iv": 0.8, "logic": "and" },
      "Slowpoke": { "release_below_cp": 700, "release_below_iv": 0.8, "logic": "or" },
      "Pidgeotto": { "release_below_cp": 720, "release_below_iv": 0.8, "logic": "or" },
      "Farfetch'd": { "release_below_cp": 441, "release_below_iv": 0.8, "logic": "and" },
      "Poliwhirl": { "release_below_cp": 900, "release_below_iv": 0.8, "logic": "or" },
      "Nidorino": { "release_below_cp": 750, "release_below_iv": 0.8, "logic": "or" },
      "Haunter": { "release_below_cp": 760, "release_below_iv": 0.8, "logic": "or" },
      "Nidorina": { "release_below_cp": 750, "release_below_iv": 0.8, "logic": "or" },
      "Graveler": { "release_below_cp": 750, "release_below_iv": 0.8, "logic": "or" },
      "Beedrill": { "release_below_cp": 750, "release_below_iv": 0.8, "logic": "or" },
      "Raticate": { "release_below_cp": 975, "release_below_iv": 0.8, "logic": "or" },
      "Butterfree": { "release_below_cp": 900, "release_below_iv": 0.8, "logic": "and" },
      "Hitmonlee": { "release_below_cp": 520, "release_below_iv": 0.8, "logic": "and" },
      "Ponyta": { "release_below_cp": 830, "release_below_iv": 0.8, "logic": "or" },
      "Hitmonchan": { "release_below_cp": 530, "release_below_iv": 0.8, "logic": "and" },
      "Charmeleon": { "release_below_cp": 544, "release_below_iv": 0.8, "logic": "and" },
      "Wartortle": { "release_below_cp": 552, "release_below_iv": 0.8, "logic": "and" },
      "Persian": { "release_below_cp": 568, "release_below_iv": 0.8, "logic": "and" },
      "Lickitung": { "release_below_cp": 568, "release_below_iv": 0.8, "logic": "and" },
      "Ivysaur": { "release_below_cp": 571, "release_below_iv": 0.8, "logic": "and" },
      "Electrode": { "release_below_cp": 576, "release_below_iv": 0.8, "logic": "and" },
      "Marowak": { "release_below_cp": 578, "release_below_iv": 0.8, "logic": "and" },
      "Gloom": { "release_below_cp": 900, "release_below_iv": 0.8, "logic": "or" },
      "Porygon": { "release_below_cp": 590, "release_below_iv": 0.8, "logic": "and" },
      "Seadra": { "release_below_cp": 850, "release_below_iv": 0.8, "logic": "and" },
      "Jynx": { "release_below_cp": 600, "release_below_iv": 0.8, "logic": "and" },
      "Weepinbell": { "release_below_cp": 950, "release_below_iv": 0.8, "logic": "or" },
      "Tangela": { "release_below_cp": 1200, "release_below_iv": 0.8, "logic": "or" },
      "Fearow": { "release_below_cp": 1200, "release_below_iv": 0.8, "logic": "or" },
      "Parasect": { "release_below_cp": 609, "release_below_iv": 0.8, "logic": "and" },
      "Machoke": { "release_below_cp": 614, "release_below_iv": 0.8, "logic": "and" },
      "Arbok": { "release_below_cp": 1150, "release_below_iv": 0.8, "logic": "or" },
      "Sandslash": { "release_below_cp": 631, "release_below_iv": 0.8, "logic": "and" },
      "Alakazam": { "release_below_cp": 633, "release_below_iv": 0.8, "logic": "and" },
      "Kingler": { "release_below_cp": 1025, "release_below_iv": 0.8, "logic": "or" },
      "Dodrio": { "release_below_cp": 1000, "release_below_iv": 0.8, "logic": "or" },
      "Tauros": { "release_below_cp": 1500, "release_below_iv": 0.8, "logic": "or" },
      "Primeape": { "release_below_cp": 650, "release_below_iv": 0.8, "logic": "and" },
      "Magneton": { "release_below_cp": 657, "release_below_iv": 0.8, "logic": "and" },
      "Venomoth": { "release_below_cp": 1500, "release_below_iv": 0.8, "logic": "or" },
      "Golbat": { "release_below_cp": 1150, "release_below_iv": 0.8, "logic": "or" },
      "Raichu": { "release_below_cp": 708, "release_below_iv": 0.8, "logic": "and" },
      "Cloyster": { "release_below_cp": 717, "release_below_iv": 0.8, "logic": "and"},
      "Nidoran M": { "release_below_cp": 485, "release_below_iv": 0.8, "logic": "or" },
      "Nidoran F": { "release_below_cp": 465, "release_below_iv": 0.8, "logic": "or" },  
      "Mr. Mime": { "release_below_cp": 650, "release_below_iv": 0.8, "logic": "and" },
      "Dratini": { "release_below_cp": 350, "release_below_iv": 0.8, "logic": "or" }
    },
rendyep commented 8 years ago

I think it should be attached to the config.json.example, as I don't see it there. I always compare my current config.json with the new config.json.example every time there are updates in the branch master.

julienlavergne commented 8 years ago

Whichever you put first in your config will run first. But they will both run anyway so you will always get the result of the most aggressive one. I advice you to have evolve_only_with_lucky_egg = false, otherwise you bag will quickly get full if you do not have any available lucky_egg. The optimizer will still wait to reach your 100 count before using a lucky egg anyway.

k4n30 commented 8 years ago

^