private static void SetAffectedByIce(Boss boss) { if (boss.State.Wet) StateChanger.MakeBossDelayedLimited(boss); else StateChanger.MakeBossSlowLimited(boss); }
public static void MakeBossDelayedLimited(Boss boss) { if (boss.State.Delayed) return; boss.State.Delayed = true; boss.State.DelayedTimer = 0; }
public void DrawingCreepCreatesCreepModel() { var boss = new Boss(BossType.Cloak, Vector2D.Zero, 180.0f); boss.RenderModel(); Assert.AreEqual(1, EntitiesRunner.Current.GetEntitiesOfType<Model>().Count); Assert.AreEqual(1, EntitiesRunner.Current.GetEntitiesOfType<Boss>().Count); }
public static void MakeBossMelt(Boss boss) { MakeBossEnfeeble(boss); MakeBossSlowLimited(boss); boss.State.Melt = true; boss.State.MeltTimer = 0; }
public void CheckScaleUpdatingForBossVillain() { var boss = new Boss(BossType.Cloak, Vector2D.Zero); boss.RenderModel(); boss.Scale = 3.0f * Vector3D.One; Assert.AreEqual(3.0f * Vector3D.One, boss.Model.Scale); }
public static void MakeCreepWet(Boss boss) { MakeBossSlowLimited(boss); boss.State.Wet = true; boss.State.WetTimer = 0; MakeBossResistantToFire(boss); }
public static void MakeBossSlowLimited(Boss boss) { if (boss.State.Slow) return; boss.State.Slow = true; boss.State.SlowTimer = 0; }
public void CheckDirectionOfBossVillainWithoutPath() { var grid = new Grid3D(new Size(10, 10)); grid.RenderLayer = -10; var boss = new Boss(BossType.Cloak, Vector2D.Zero); AdvanceTimeAndUpdateEntities(5.0f); Assert.AreEqual(Vector3D.Zero, boss.Direction); }
private static void SetAffectedByFire(Boss boss) { if (boss.State.Delayed) boss.State.Delayed = false; if (boss.State.Slow) boss.State.Slow = false; boss.State.SetVulnerabilitiesToNormal(); StateChanger.MakeBossMelt(boss); }
public void DisplayBossVillainFollowingPreDefinedPath() { camera.ZoomLevel = 1 / 20.0f; var grid = new Grid3D(new Size(10, 10)); grid.RenderLayer = -10; var boss = new Boss(BossType.Cloak, Vector2D.Zero); boss.RenderModel(); boss.FinalTarget = new Vector2D(2, 2); boss.Path = new List<Vector2D> { new Vector2D(4, 0), new Vector2D(4, 9), new Vector2D(2, 9), new Vector2D(2, 2) }; }
public static void ChangeStatesIfCloak(TowerType damageType, Boss boss) { switch (damageType) { case TowerType.Acid: SetAffectedByAcid(boss); break; case TowerType.Fire: SetAffectedByFire(boss); break; case TowerType.Ice: SetAffectedByIce(boss); break; case TowerType.Impact: SetAffectedByImpact(boss); break; case TowerType.Slice: SetAffectedBySlice(boss); break; case TowerType.Water: SetAffectedByWater(boss); break; } }
public static void MakeBossNormalToType(Boss boss, TowerType type) { boss.State.SetVulnerability(type, Vulnerability.Normal); }
private static void MakeBossEnfeeble(Boss boss) { boss.State.Enfeeble = true; boss.State.EnfeebleTimer = 0; }
private static void SetAffectedByWater(Boss boss) { StateChanger.MakeBossMelt(boss); }
private static void SetAffectedBySlice(Boss boss) { StateChanger.MakeBossNormalToType(boss, TowerType.Slice); }
public void CheckGoldRewardForBoss() { var boss = new Boss(BossType.Cloak, Vector2D.Zero); Assert.AreEqual(100, boss.GetStatValue("Gold")); }
public static void MakeBossResistantToType(Boss boss, TowerType type) { boss.State.SetVulnerability(type, Vulnerability.Resistant); }
public void CheckReceiveAttack() { var boss = new Boss(BossType.Cloak, Vector2D.Zero); boss.ReceiveAttack(TowerType.Fire, 50.0f); Assert.AreEqual(465.0f, boss.GetStatValue("Hp")); }
public void CheckReceiveAttackWithInactiveBoss() { var boss = new Boss(BossType.Cloak, Vector2D.Zero); boss.IsActive = false; boss.ReceiveAttack(TowerType.Fire, 100.0f); Assert.IsFalse(boss.IsActive); Assert.AreEqual(boss.GetStatValue("Hp"), boss.GetStatBaseValue("Hp")); }
private static void MakeBossResistantToFire(Boss boss) { MakeBossResistantToType(boss, TowerType.Fire); }
public static void CheckBossState(TowerType type, Boss boss) { if (boss.Type == BossType.Cloak) BossCloakStateChanger.ChangeStatesIfCloak(type, boss); }
private static void SetAffectedByImpact(Boss boss) { StateChanger.MakeBossNormalToType(boss, TowerType.Impact); }
public void CheckReceiveAttackWithDeadBoss() { var boss = new Boss(BossType.Cloak, Vector2D.Zero); boss.AdjustStat(new StatAdjustment("Hp", "", -500)); boss.ReceiveAttack(TowerType.Fire, 100.0f); Assert.AreEqual(0.0f, boss.GetStatValue("Hp")); }
private static void SetAffectedByImpact(Boss boss) { StateChanger.MakeBossNormalToType(boss, TowerType.Impact); }
private static void SetAffectedByAcid(Boss boss) { StateChanger.MakeBossMelt(boss); }