public void CheckStealthBoost() { var ship = new CombatShip(_game, string.Empty, 10, 10, Color.White, 1, 1, 100, 1, EShipType.StealthFighter, 0) { Signature = 1 }; ship.UseAbility(EAbilityType.StealthBoost); ship.Signature.ShouldBe(0.666f, 0.001); }
public void CheckScanBoost() { var ship = new CombatShip(_game, string.Empty, 10, 10, Color.White, 1, 1, 100, 1, EShipType.Scout, 0) { ScanRange = 1 }; ship.UseAbility(EAbilityType.ScanBoost); ship.ScanRange.ShouldBe(1.5f, 0.001); }
public void CheckShieldBoost() { var ship = new CombatShip(_game, string.Empty, 10, 10, Color.White, 1, 1, 100, 1, EShipType.Bomber, 0) { MaxShield = 100, Shield = 10 }; ship.UseAbility(EAbilityType.ShieldBoost); ship.Shield.ShouldBe(60f, 0.001); }
public void CheckEngineBoost() { var ship = new CombatShip(_game, string.Empty, 10, 10, Color.White, 1, 1, 100, 1, EShipType.Frigate, 0) { Speed = 1 }; ship.UseAbility(EAbilityType.EngineBoost); ship.Speed.ShouldBe(1.5f, 0.001); Thread.Sleep(6000); ship.AbilityIsActive(EAbilityType.EngineBoost).ShouldBe(false); ship.Speed.ShouldBe(1f, 0.001); }
public void CheckStealthBoostWithMaxUpgrade() { var effect = _game.TechTree[0].TechItems.First(_ => _.Name == "Ability Effect +30%"); effect.ApplyGlobalUpgrade(_game.TechTree[0]); var ship = new CombatShip(_game, string.Empty, 10, 10, Color.White, 1, 1, 100, 1, EShipType.StealthFighter, 0) { Signature = 1 }; ship.UseAbility(EAbilityType.StealthBoost); ship.Signature.ShouldBe(0.512f, 0.001); }
public void CheckEngineBoostWithMaxUpgrade() { var effect = _game.TechTree[0].TechItems.First(_ => _.Name == "Ability Effect +30%"); effect.ApplyGlobalUpgrade(_game.TechTree[0]); var ship = new CombatShip(_game, string.Empty, 10, 10, Color.White, 1, 1, 100, 1, EShipType.Frigate, 0) { Speed = 1 }; var expectedSpeed = 1 * 1.5f * 1.3f; ship.UseAbility(EAbilityType.EngineBoost); ship.Speed.ShouldBe(expectedSpeed, 0.001); }
public void CheckDurationUpgrade() { var effect = _game.TechTree[0].TechItems.First(_ => _.Name == "Ability Duration +30%"); effect.ApplyGlobalUpgrade(_game.TechTree[0]); var ship = new CombatShip(_game, string.Empty, 10, 10, Color.White, 1, 1, 100, 1, EShipType.Frigate, 0); var ability = ship.Abilities[EAbilityType.WeaponBoost]; var expectedDuration = 5 * 1.3f; ability.AbilityDuration.ShouldBe(expectedDuration, 0.001); ship.UseAbility(EAbilityType.WeaponBoost); ability.IsActive().ShouldBeTrue(); var duration = ability.InActiveAfter - DateTime.Now; duration.TotalSeconds.ShouldBeLessThanOrEqualTo(expectedDuration); }