Open Axeia opened 7 years ago
Hi, i'll code that but first:
Werify list of attacker types against defender type:
case PokemonType.Bug:
return new PokemonType[] { PokemonType.Rock, PokemonType.Fire, PokemonType.Flying };
case PokemonType.Dark:
return new PokemonType[] { PokemonType.Bug, PokemonType.Fairy, PokemonType.Fighting };
case PokemonType.Dragon:
return new PokemonType[] { PokemonType.Dragon, PokemonType.Fire, PokemonType.Ice };
case PokemonType.Electric:
return new PokemonType[] { PokemonType.Ground };
case PokemonType.Fairy:
return new PokemonType[] { PokemonType.Poison, PokemonType.Steel };
case PokemonType.Fighting:
return new PokemonType[] { PokemonType.Fairy, PokemonType.Flying, PokemonType.Psychic };
case PokemonType.Fire:
return new PokemonType[] { PokemonType.Ground, PokemonType.Rock, PokemonType.Water };
case PokemonType.Flying:
return new PokemonType[] { PokemonType.Electric, PokemonType.Ice, PokemonType.Rock };
case PokemonType.Ghost:
return new PokemonType[] { PokemonType.Dark, PokemonType.Ghost };
case PokemonType.Grass:
return new PokemonType[] { PokemonType.Bug, PokemonType.Fire, PokemonType.Flying, PokemonType.Ice, PokemonType.Poison };
case PokemonType.Ground:
return new PokemonType[] { PokemonType.Grass, PokemonType.Ice, PokemonType.Water };
case PokemonType.Ice:
return new PokemonType[] { PokemonType.Fighting, PokemonType.Fire, PokemonType.Rock, PokemonType.Steel };
case PokemonType.None:
return new PokemonType[] { };
case PokemonType.Normal:
return new PokemonType[] { PokemonType.Fighting };
case PokemonType.Poison:
return new PokemonType[] { PokemonType.Ground, PokemonType.Psychic };
case PokemonType.Psychic:
return new PokemonType[] { PokemonType.Bug, PokemonType.Dark, PokemonType.Ghost };
case PokemonType.Rock:
return new PokemonType[] { PokemonType.Fighting, PokemonType.Grass, PokemonType.Ground, PokemonType.Steel, PokemonType.Water };
case PokemonType.Steel:
return new PokemonType[] { PokemonType.Fighting, PokemonType.Fire, PokemonType.Ground };
case PokemonType.Water:
return new PokemonType[] { PokemonType.Electric, PokemonType.Grass };
read it as: if defender is water then use electric or grass
Hi, new here.. while type is an important factor for gym training.. the most important is using all 6 attackers with less CP than the first defender.. this way you are guaranteed 500 prestige or more per battle, which makes training gyms significantly quicker and less resource intensive.
y, but if some moron will put lvl1 pokemon to defened gym this rule will always fails. when i'll finish attack module maybe i'll make train profile.
@ziomber if you already has this metadata, you can put it in the code to use
maybe we can use something like if first defender below 1000CP use CP of second defender to choose starting CP of attackers for training.. to further safeguard you could roll right on through to also check the second defender, probably the first scenario is more often to be seen.
hyper beam issues also still seem there, if anything sorting the HB issue should take precedence..
How it works
I've noticed that the gym fights are done simply by whatever has the highest CP, which doesn't work out at all for me as I have a strong Gyrados and 5 strong Rhydons.
The gym has this lineup:
[14:11:17] (INFO) Start battle with : Vaporeon, Charizard, Vaporeon, Charizard, Charizard, Vaporeon, Vaporeon
and after my 2815cp Gyrados loses from a 2008cp Vaporeon (I guess that's related to #551 ) a Rhydon is used as that's my second highest cp attacker (2623cp). And then the battle times out.Meanwhile my 2227 and 2176 Venusaurs don't even get used.
How it should work
Rather than simply selecting by highest cp it should look at: