예제 #1
0
		public static void MakeCreepWet(Boss boss)
		{
			MakeBossSlowLimited(boss);
			boss.State.Wet = true;
			boss.State.WetTimer = 0;
			MakeBossResistantToFire(boss);
		}
예제 #2
0
		private static void SetAffectedByIce(Boss boss)
		{
			if (boss.State.Wet)
				StateChanger.MakeBossDelayedLimited(boss);
			else
				StateChanger.MakeBossSlowLimited(boss);
		}
예제 #3
0
		public static void MakeBossSlowLimited(Boss boss)
		{
			if (boss.State.Slow)
				return;
			boss.State.Slow = true;
			boss.State.SlowTimer = 0;
		}
예제 #4
0
		public static void MakeBossDelayedLimited(Boss boss)
		{
			if (boss.State.Delayed)
				return;
			boss.State.Delayed = true;
			boss.State.DelayedTimer = 0;
		}
예제 #5
0
		public static void MakeBossMelt(Boss boss)
		{
			MakeBossEnfeeble(boss);
			MakeBossSlowLimited(boss);
			boss.State.Melt = true;
			boss.State.MeltTimer = 0;
		}
예제 #6
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);
		}
예제 #7
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;
			}
		}
예제 #8
0
		private static void SetAffectedByWater(Boss boss)
		{
			StateChanger.MakeBossMelt(boss);
		}
예제 #9
0
		private static void SetAffectedBySlice(Boss boss)
		{
			StateChanger.MakeBossNormalToType(boss, TowerType.Slice);
		}
예제 #10
0
		private static void SetAffectedByImpact(Boss boss)
		{
			StateChanger.MakeBossNormalToType(boss, TowerType.Impact);
		}
예제 #11
0
		public static void CheckBossState(TowerType type, Boss boss)
		{
			if (boss.Type == BossType.Cloak)
				BossCloakStateChanger.ChangeStatesIfCloak(type, boss);
		}
예제 #12
0
		public static void MakeBossResistantToType(Boss boss, TowerType type)
		{
			boss.State.SetVulnerability(type, Vulnerability.Resistant);
		}
예제 #13
0
		private static void MakeBossResistantToFire(Boss boss)
		{
			MakeBossResistantToType(boss, TowerType.Fire);
		}
예제 #14
0
		public static void MakeBossNormalToType(Boss boss, TowerType type)
		{
			boss.State.SetVulnerability(type, Vulnerability.Normal);
		}
예제 #15
0
		private static void MakeBossEnfeeble(Boss boss)
		{
			boss.State.Enfeeble = true;
			boss.State.EnfeebleTimer = 0;
		}