public void Fire(Titan enemyTitan) { var isHit = accuracy.GetHitChance(enemyTitan.Cloaking); var isCritical = accuracy.GetCriticalChance(enemyTitan.Cloaking); var finalDamage = (isHit ? damage : 0) + (isCritical ? damage : 0); battle.AddInteraction(new LaserInteraction(titan, enemyTitan, new Damage(DamageType.Heat, finalDamage, isCritical && isHit))); timer.Reload(); }
public void Fire(Titan enemyTitan) { for (var i = 0; i < countInSalvo; i++) { var rocketDamage = new Damage(DamageType.Heat, damage); var rocket = new RocketInteraction(titan, enemyTitan, rocketDamage); battle.AddInteraction(new DelayedInteraction(titan, i * delay, rocket)); } timer.Reload(); }
private void ReloadAntiAir() { timer.Reload(); Value = MaxValue; }