protected virtual void TakeDamage(int damage, Turret.DamageType dt) { if (currentHealth < 0 || Mathf.Approximately(currentHealth, 0)) { return; } resistance.TryGetValue(dt, out var resis); var actualDamage = (int)(damage * resis); TakeDamage(actualDamage); }
public void Damage(int damage, Turret.DamageType damageType, Turret.TurretSize turretSize) { int totalDamage = damage; // calculate damage if (parent == Parent.Ship) { if (damageType == Turret.DamageType.energy) { if (armorEnergyResist > 0) { totalDamage -= damage / 100 * armorEnergyResist; } } else if (damageType == Turret.DamageType.kinetic) { if (armorKineticResist > 0) { totalDamage -= damage / 100 * armorKineticResist; } } if (turretSize == Turret.TurretSize.small) { if (armorLightResist > 0) { totalDamage -= damage / 100 * armorLightResist; } } else if (turretSize == Turret.TurretSize.medium) { if (armorMedResist > 0) { totalDamage -= damage / 100 * armorMedResist; } } else if (turretSize == Turret.TurretSize.big) { if (armorHeavyResist > 0) { totalDamage -= damage / 100 * armorHeavyResist; } } } totalArmor -= totalDamage; if (totalArmor <= 0) { DestroyObject(); } }
public virtual void TakeDamage(int damage, Turret.DamageType dt, bool ignoreResistance) { if (ignoreResistance) { TakeDamage(damage, dt); return; } else { TakeDamage(damage); return; } }
public ExplosiveEffect(ExplosiveEffect ee) : base(ee) { radius = ee.radius; damageType = ee.damageType; damage = ee.damage; }
public void SpawnRocket(Transform prefab, Transform gun, int damage, float speed1, Turret.DamageType damageType, Turret.TurretSize turretSize) { var rocketShotTransform = Instantiate(prefab) as Transform; RocketScript rocketShot = rocketShotTransform.gameObject.GetComponent <RocketScript>(); rocketShot.damageType = damageType; rocketShot.turretSize = turretSize; rocketShot.speed = speed1; rocketShot.damage = damage; rocketShot.parentGuid = guid; // rocketShot.target = target; rocketShot.isGuided = false; if (rocketShot != null) { rocketShot.transform.position = gun.position; rocketShot.transform.rotation = gun.rotation; } }
private void SpawnBullet(Transform prefab, Transform gun, int damage, float speed1, Turret.DamageType damageType, Turret.TurretSize turretSize) { var bulletShotTransform = Instantiate(prefab) as Transform; bulletShotTransform.position = gun.position; BulletScript bulletShot = bulletShotTransform.gameObject.GetComponent <BulletScript>(); if (bulletShot != null) { bulletShot.damageType = damageType; bulletShot.turretSize = turretSize; bulletShot.speed = speed1; bulletShot.damage = damage; bulletShot.parentGuid = guid; bulletShot.transform.rotation = gun.rotation; } }
public ContinuousDamage(ContinuousDamage cd) : base(cd) { damagePerSecond = cd.damagePerSecond; damageType = cd.damageType; }