The concept of volatile status was added to the engine. Each Pokemon can have a number of volatile statuses active at one time (stored in a dictionary), and these values map to relevant info about the status (normally just the number of turns). This does not implement their effects.
Test Cases
engine_tests/pokemon_engine_tests.py
Upon switching, a pokemon's volatile_status is reset
A move's counter is only incremented when that Pokemon makes a move
Confusion set after a Pokemon has moved passes its first turn on the next turn.
Substitutes contain 1/4 of the Pokemon's maximum HP, the amount of which is removed from their total HP.
A pokemon locked into a move (ex: outrage) stores the information about the move they are locked into, as well as the duration of locking.
Addresses Issue #112
Updates
The concept of
volatile status
was added to the engine. Each Pokemon can have a number of volatile statuses active at one time (stored in a dictionary), and these values map to relevant info about the status (normally just the number of turns). This does not implement their effects.Test Cases
engine_tests/pokemon_engine_tests.py
volatile_status
is reset