base_pkmn: fixed set_castform_type bug
get_pkmn_of_type/base_pkmn: manually corrected for Magne(mite|tron) type in Gen 1
Using std::shared_ptr for portability
vla: better vector initialization