Пример #1
0
		private static void SetAffectedByIce(Boss boss)
		{
			if (boss.State.Wet)
				StateChanger.MakeBossDelayedLimited(boss);
			else
				StateChanger.MakeBossSlowLimited(boss);
		}
Пример #2
0
		public static void MakeBossDelayedLimited(Boss boss)
		{
			if (boss.State.Delayed)
				return;
			boss.State.Delayed = true;
			boss.State.DelayedTimer = 0;
		}
Пример #3
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);
		}
Пример #4
0
		public static void MakeBossMelt(Boss boss)
		{
			MakeBossEnfeeble(boss);
			MakeBossSlowLimited(boss);
			boss.State.Melt = true;
			boss.State.MeltTimer = 0;
		}
Пример #5
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);
		}
Пример #6
0
		public static void MakeCreepWet(Boss boss)
		{
			MakeBossSlowLimited(boss);
			boss.State.Wet = true;
			boss.State.WetTimer = 0;
			MakeBossResistantToFire(boss);
		}
Пример #7
0
		public static void MakeBossSlowLimited(Boss boss)
		{
			if (boss.State.Slow)
				return;
			boss.State.Slow = true;
			boss.State.SlowTimer = 0;
		}
Пример #8
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);
		}
Пример #9
0
		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);
		}
Пример #10
0
		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)
			};
		}
Пример #11
0
		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;
			}
		}
Пример #12
0
		public static void MakeBossNormalToType(Boss boss, TowerType type)
		{
			boss.State.SetVulnerability(type, Vulnerability.Normal);
		}
Пример #13
0
		private static void MakeBossEnfeeble(Boss boss)
		{
			boss.State.Enfeeble = true;
			boss.State.EnfeebleTimer = 0;
		}
Пример #14
0
		private static void SetAffectedByWater(Boss boss)
		{
			StateChanger.MakeBossMelt(boss);
		}
Пример #15
0
		private static void SetAffectedBySlice(Boss boss)
		{
			StateChanger.MakeBossNormalToType(boss, TowerType.Slice);
		}
Пример #16
0
		public void CheckGoldRewardForBoss()
		{
			var boss = new Boss(BossType.Cloak, Vector2D.Zero);
			Assert.AreEqual(100, boss.GetStatValue("Gold"));
		}
Пример #17
0
		public static void MakeBossResistantToType(Boss boss, TowerType type)
		{
			boss.State.SetVulnerability(type, Vulnerability.Resistant);
		}
Пример #18
0
		public void CheckReceiveAttack()
		{
			var boss = new Boss(BossType.Cloak, Vector2D.Zero);
			boss.ReceiveAttack(TowerType.Fire, 50.0f);
			Assert.AreEqual(465.0f, boss.GetStatValue("Hp"));
		}
Пример #19
0
		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"));
		}
Пример #20
0
		private static void MakeBossResistantToFire(Boss boss)
		{
			MakeBossResistantToType(boss, TowerType.Fire);
		}
Пример #21
0
		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);
 }
Пример #23
0
		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"));
		}
Пример #24
0
		private static void SetAffectedByImpact(Boss boss)
		{
			StateChanger.MakeBossNormalToType(boss, TowerType.Impact);
		}
 private static void SetAffectedByAcid(Boss boss)
 {
     StateChanger.MakeBossMelt(boss);
 }