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); }
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); }
public override void Damage(Pl_Weapon weapon) { float damage = weapon.damage; if (shielded && !weapon.ignoreShield) { weapon.Deflect(); return; } Damage(damage, weapon.ignoreInvis); }
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); }
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); }