Use OPP_ constants separate from trainer constants since valid opponents can be all Pokemon and trainers
facing directions, npc movement, joypad
rename functions, clean up address/wram comments, other misc only broken up so that all changes are viewable on github