public override void Damage(Pl_Weapon weapon)
    {
        float damage = weapon.damage;

        switch (weapon.weaponType)
        {
        case Pl_Weapon.WeaponTypes.Pharaoh:
            damage *= 2;
            break;

        case Pl_Weapon.WeaponTypes.Galaxy:
            damage = 0;
            break;

        case Pl_Weapon.WeaponTypes.Gemini:
            damage = 0.3333f;
            break;

        default:
            damage = 1;
            break;
        }

        if (shielded && !weapon.ignoreShield)
        {
            weapon.Deflect();
            return;
        }

        Damage(damage, weapon.ignoreInvis);
    }
Пример #2
0
    public override void Damage(Pl_Weapon weapon)
    {
        float damage = weapon.damage;

        if (weapon.weaponType == Pl_Weapon.WeaponTypes.Normal)
        {
            damage = Mathf.Min(damage, 1);
        }
        else if (weapon.weaponType == Pl_Weapon.WeaponTypes.Gemini)
        {
            damage = 0.2f;
        }
        else if (weapon.weaponType == Pl_Weapon.WeaponTypes.Galaxy)
        {
            damage = 0.1f;
        }
        else
        {
            damage = 0;
        }


        if ((shielded && !weapon.ignoreShield) || damage == 0)
        {
            weapon.Deflect();
            return;
        }

        if (!lowerHeight)
        {
            phase2Height = Mathf.Clamp01(phase2Height + (phase == 1 ? 0.3f : 0.25f) * damage);
        }

        Damage(damage, weapon.ignoreInvis);
    }
 public override void Damage(Pl_Weapon weapon)
 {
     if (target && invisTime <= 0.0f)
     {
         target.Damage(weapon.damage * 0.33f, false);
     }
     base.Damage(weapon);
 }
Пример #4
0
    public override void Damage(Pl_Weapon weapon)
    {
        float damage = weapon.damage;

        if (shielded && !weapon.ignoreShield)
        {
            weapon.Deflect();
            return;
        }

        Damage(damage, weapon.ignoreInvis);
    }
Пример #5
0
    public virtual void Damage(Pl_Weapon weapon)
    {
        // Unique reactions based on the weapon damage should be handled here.
        // Weaknesses and resistances, for example, should be done before calling Damage(float dmg, bool ignoreInvis).
        float damage = weapon.damage;

        if (shielded && !weapon.ignoreShield)
        {
            weapon.Deflect();
            return;
        }
        Damage(damage, weapon.ignoreInvis);
    }
Пример #6
0
    public override void Damage(Pl_Weapon weapon)
    {
        float damage = weapon.damage;

        if (curWeapon == Pl_WeaponData.Weapons.BlackHoleBomb)
        {
            damage *= 1.5f;
        }
        else
        {
            damage = 1;
        }

        if (shielded && !weapon.ignoreShield)
        {
            weapon.Deflect();
            return;
        }

        Damage(damage, weapon.ignoreInvis);
    }