Removed is_switching_to_self as a function that operates on ActivePokemon. LegalSelections now accepts a Team const & as the first parameter instead of ActivePokemon const & ...
Changed ActivePokemon to use trailing return types everywhere. Moved some member functions to be free functions.
Removed clear_leech_seed member function, as it cannot be cleared separately from clear_field.
Removed member functions that provide access to the MoveCollection from ActivePokemon. Made MoveCollection a private member variable of Pokemon instead of public and provided friend ...
Removed macro from Pokemon.hpp. Instead just define the functions inline.