public override void Damage(int dmg, EUnitDamageType dType) { int unmitigated = dmg; if (mShieldReady) { mTint = Color.MediumBlue; mShieldActive = true; mShieldReady = false; } if (mShieldActive) { if (dType == EUnitDamageType.Energy) { unmitigated = dmg; } else { unmitigated = (int)((1 - mAbsorbtion) * dmg); } } base.Damage(unmitigated, dType); }
public virtual void Damage(int dmg, EUnitDamageType dType) { mHealth -= RealDamage(dmg, dType); if (mHealth <= 0) { Die(); } }
protected override int RealDamage( int dmg, EUnitDamageType dType ) { switch( dType ) { case EUnitDamageType.Energy: dmg = (int)( 1.5 * dmg ); break; case EUnitDamageType.Piercing: dmg = (int)( 0.5 * dmg ); break; default: break; } return dmg; }
protected override int RealDamage( int dmg, EUnitDamageType dType ) { switch( dType ) { case EUnitDamageType.Burn: dmg = (int)( 1.5 * dmg ); break; case EUnitDamageType.Explosive: dmg = (int)( 0.5 * dmg ); break; default: break; } return dmg; }
protected override int RealDamage(int dmg, EUnitDamageType dType) { switch (dType) { case EUnitDamageType.Energy: dmg = (int)(1.5 * dmg); break; case EUnitDamageType.Piercing: dmg = (int)(0.5 * dmg); break; default: break; } return(dmg); }
public override void Damage( int dmg, EUnitDamageType dType ) { int unmitigated = dmg; if( mShieldReady ) { mTint = Color.MediumBlue; mShieldActive = true; mShieldReady = false; } if( mShieldActive ) { if( dType == EUnitDamageType.Energy ) unmitigated = dmg; else unmitigated = (int)( ( 1 - mAbsorbtion ) * dmg ); } base.Damage( unmitigated, dType ); }
protected override int RealDamage(int dmg, EUnitDamageType dType) { switch (dType) { case EUnitDamageType.Explosive: dmg = (int)(1.5 * dmg); break; case EUnitDamageType.Burn: dmg = (int)(0.5 * dmg); break; default: break; } return(dmg); }