Example #1
0
    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();
    }
Example #2
0
    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 });
    }