public static void MakeCreepWet(Boss boss) { MakeBossSlowLimited(boss); boss.State.Wet = true; boss.State.WetTimer = 0; MakeBossResistantToFire(boss); }
private static void SetAffectedByIce(Boss boss) { if (boss.State.Wet) StateChanger.MakeBossDelayedLimited(boss); else StateChanger.MakeBossSlowLimited(boss); }
public static void MakeBossSlowLimited(Boss boss) { if (boss.State.Slow) return; boss.State.Slow = true; boss.State.SlowTimer = 0; }
public static void MakeBossDelayedLimited(Boss boss) { if (boss.State.Delayed) return; boss.State.Delayed = true; boss.State.DelayedTimer = 0; }
public static void MakeBossMelt(Boss boss) { MakeBossEnfeeble(boss); MakeBossSlowLimited(boss); boss.State.Melt = true; boss.State.MeltTimer = 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); }
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; } }
private static void SetAffectedByWater(Boss boss) { StateChanger.MakeBossMelt(boss); }
private static void SetAffectedBySlice(Boss boss) { StateChanger.MakeBossNormalToType(boss, TowerType.Slice); }
private static void SetAffectedByImpact(Boss boss) { StateChanger.MakeBossNormalToType(boss, TowerType.Impact); }
public static void CheckBossState(TowerType type, Boss boss) { if (boss.Type == BossType.Cloak) BossCloakStateChanger.ChangeStatesIfCloak(type, boss); }
public static void MakeBossResistantToType(Boss boss, TowerType type) { boss.State.SetVulnerability(type, Vulnerability.Resistant); }
private static void MakeBossResistantToFire(Boss boss) { MakeBossResistantToType(boss, TowerType.Fire); }
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; }