* Fix checking the wrong Pokemon for statuses when determining if abilities such as Static should activate.
* Implement Rough Skin
* Implement Iron Barbs and make Rough Skin code reusable for other abilities
* Remove unused import
* Changes for consistency
* Add missing ceiling function to damage
---------
Co-authored-by: Flashfyre <flashfireex@gmail.com>
* Recharge checked earlier, Move Tags not checked if move cancelled
Recharge is now checked at the start of doMove to determine if other Tags need to be checked or if the pokemon is recharging. If the move is already cancelled, Move lapse tags are no longer checked (To account for Sleep/Paralyze happening before hand, so confusion would never trigger)
* PRE_MOVE Lapse added for Recharge, Recharge now cancels
Added a PRE_MOVE Identifier for Recharge specifically, which now cancels the move and shifts the move queue (since this will no longer occur in doMove. This prevents Confusion/Infatuation from also being triggered after a Pokemon is recharging.
* Changed spacing
* Added Flinch to PRE_MOVE Lapse
Added Flinch to PRE_MOVE Lapse tag like recharge so that confusion and infatuation aren't checked if the mon is already flinched
* Recharge checked earlier, Move Tags not checked if move cancelled
Recharge is now checked at the start of doMove to determine if other Tags need to be checked or if the pokemon is recharging. If the move is already cancelled, Move lapse tags are no longer checked (To account for Sleep/Paralyze happening before hand, so confusion would never trigger)
* PRE_MOVE Lapse added for Recharge, Recharge now cancels
Added a PRE_MOVE Identifier for Recharge specifically, which now cancels the move and shifts the move queue (since this will no longer occur in doMove. This prevents Confusion/Infatuation from also being triggered after a Pokemon is recharging.
* Changed spacing