void Deflect(IDamage instigator) { //be sure to stop attack animation if running OnEndAttack?.Invoke(); //deflect attack instigator.AttackGetDeflected(); OnDeflectingAttack?.Invoke(); //wait, then come back to old state SetWaitState(durationDeflectMove); }