Exemplo n.º 1
0
    void TakesProjectileHit(Weapon playerWeapon, Collider2D coll, int hitFrom)
    {
        hp -= (int)(playerWeapon.damage * DIFFICULTY_DAMAGE_MODIFIER);

        // bounceback from projectile
        if (hitFrom == RIGHT && !blockedLeft)
        {
            // rigidbody2D.AddForce(new Vector3(-100, 0, 0));
            MFX.RepulseToLeftRandomly(transform, .3f, .8f, .2f);
        }
        else if (hitFrom == LEFT && !blockedRight)
        {
            // rigidbody2D.AddForce(new Vector3(100, 0, 0));
            MFX.RepulseToRightRandomly(transform, .3f, .8f, .2f);
        }
        else
        {
            rigidbody2D.velocity = Vector2.zero;
        }

        if (hp <= 0)
        {
            Messenger.Broadcast <int>("prize collected", worth);
            KillSelf(hitFrom, PROJECTILE);
        }
    }
Exemplo n.º 2
0
    void TakesMeleeHit(Weapon playerWeapon, Collider2D coll, int hitFrom)
    {
        if (!dead)
        {
            hp -= (int)(playerWeapon.damage);

            // bounceback from projectile
            if (hitFrom == RIGHT && !blockedLeft)
            {
                MFX.RepulseToLeftRandomly(transform, repulseMin, repulseMax, repulseTime);
            }
            else if (hitFrom == LEFT && !blockedRight)
            {
                MFX.RepulseToRightRandomly(transform, repulseMin, repulseMax, repulseTime);
            }
            else
            {
                rigidbody2D.velocity = Vector2.zero;
            }

            if (hp <= 0)
            {
                EventKit.Broadcast <int>("prize collected", worth);
                KillSelf(hitFrom, MELEE);
            }
        }
    }