protected override void BatCollision(Bat_Base other) { other.GetHurt(5); if (other.Physics.vspeed > 1) other.Physics.vspeed = 1; else if (other.Physics.vspeed < -1) other.Physics.vspeed = -1; if (Base.Physics.hspeed > 0) other.Physics.hspeed += 0.75f; else other.Physics.hspeed -= 0.75f; Base.DestroySelf(); }
protected override void BatCollision(Bat_Base other) { if (other.Sprite.IsPlaying("bat_die")) return; if (GroundAttackSuccess(other)) { other.GetHurt(); if (Base.Sprite.FacingRight) other.Physics.hspeed = other.Physics.hspeedMax; else other.Physics.hspeed = -other.Physics.hspeedMax; other.Physics.vspeed = (other.Mask.Center.y - Base.Mask.Center.y) / 2; BounceOffEnemy(6, Kat.Is("Kicking")); } else if (Kat.Is("GroundPounding")) { other.GetHurt(); other.Physics.hspeed = 0; other.Physics.vspeed = -other.Physics.vspeedMax; BounceOffEnemy(8, false); Kat.Physics.hspeed = 0; } else if (Kat.Is("Uppercutting")) { other.GetHurt(); other.Physics.hspeed = (other.x - Base.x) / 2; other.Physics.vspeed = other.Physics.vspeedMax; BounceOffEnemy(12, false); } else if (!other.hurt && !Kat.Is("Invincible") && !Kat.Is("Hurt")) Kat.State("Hurt", new object[] { other.x > Kat.x ? -5 : 5 }); }