public override void ParryReceive(IParryGiver giver, RectangleF box) { if (CurrentAction is ActionAttack attack) { attack.ParryReceive(giver); } new ParryEffect(World, Vector2.Lerp(box.Center, Position, 0.3f), 0, 10); Invincibility = 10; Hitstop = 20; }
public static bool Parry(IParryGiver giver, IParryReceiver receiver, RectangleF box) { if (giver != receiver && receiver.CanParry) { giver.ParryGive(receiver, box); receiver.ParryReceive(giver, box); return(true); } return(false); }
public abstract void ParryReceive(IParryGiver giver);
public virtual void ParryReceive(IParryGiver giver, RectangleF box) { //NOOP }
public override void ParryReceive(IParryGiver giver) { }
public override void ParryReceive(IParryGiver giver) { SwingVisual(Parried); SlashAction = SwingAction.DownSwing; }
public override void ParryReceive(IParryGiver giver) { PunchVisual(); PunchAction = PunchState.PunchEnd; }