Fully integrated Player class. canAttack() uses timer.