switch, push, cancelbattle are now done

Probably still very buggy :[