-
-
Notifications
You must be signed in to change notification settings - Fork 136
Description
Generation 1 mechanics are not properly accounted for in the Pokemon, battle, or player objects. Generation 1 is filled with bugs and oddities that are different from future generations. This means poke env either does not track or tracks attributes incorrectly for generation 1. There are likely more, but the five I ran into during development were
-
Stat Boosting Moves - In gen 1, debuffs like paralysis speed drop and burn attack drop can be reapplied when any other stat boosting effect takes place. This is not properly tracked with the self._boosts attribute.
-
Stat overflow glitch - It is possible in generation 1 to exceed the stat limit of 1023 which causes an overflow. I did not see a way to properly track this.
-
Counter - I did not see a way to track previous damage dealt, so it could be determined how much damage this move would do.
-
Toxic/Leech Seed Counter - In generation 1, toxic and leech seed use the same counter. Having both applied doubles the rate of damage increases. Burn also shares this same counter and the toxic counter is not reset upon cleansing moves like rest. So for example after a rest removed toxic, a newly applied toxic, burn, or leech seed would still do an increased damage amount.
-
Partial Trapping moves (Wrap, Bind, Fire Spin, etc.) - There is no way to track the number of turns that a pokemon has been partially trapped for.
Let me know if methods to handle this stuff already exists. Otherwise, I'd be happy to work on all of this