Giovanni, a predominantly Ground/Poison type trainer, is vulnerable to Water, Grass, Ice, Psychic, and Ground type attacks. Packing Pokémon with Fighting, Fairy, or Dragon secondary typings also helps to address additional weaknesses he may utilize, like as Rock, Dark, and Steel.