This game is fantastic. The only thing I would wish would be implemented is actually also type resistence and not only weakness. It gives a lot of depth to type dynamics and I feel it is also one core element of Pokemon gameplay. It would also make it more balanced: there is a clear hierarchy between types, with Ground and Fighting on the top (being effective on 5 other types and weak to 3), and Grass being the worst (effective on 3 and weak to 5 other types). So adding resistence would bring in the existing dynamic between types, adding more depth to gameplay, and would also balance out Pokemons.
The exception of resistence also makes Leppa berry Pokemons less interesting since that group contains mainly Ghost, Dark, Insect and Psychic types, which are weaker types.
This is the type-ranking i made (type-advantege, weaknesses):
S-tier:
- Ground (5, 3)
- Fighting (5, 3)
A-tier:
- Fire (4, 3)
- Water (3, 2)
- Fairy (3,2)
- Electric (2, 1)
B-tier:
- Rock (4, 4)
- Ice (4, 4)
- Flying (3, 3)
- Bug (3, 3)
- Steel (3, 3)
- Poison (2, 2)
- Ghost (2, 2)
C-tier:
- Dark (2, 3)
- Psychic (2, 3)
D-tier:
- Grass (3, 5)
- Dragon (1, 3)
Then there is more to it than just type-advantage and weakness, for exemple: Dragon-types might be D-tier but most of them have incredibly high stats and its weaknesses (Dragon, Ice and Fairy) are some of the most rare types you can find, especially in the first two generations.
I hope this can be useful!