public override void BlowUp() { if (!Dead) { SoundManager.PlaySound("MiningRingExplode2", 1, 0, 0); SoundManager.DeafTone(); Dead = true; DoExplosion(); foreach (Faction f in FactionManager.Factions) { if (f.Team != GetTeam()) { f.roundReport.MiningPlatformsLost++; f.AddEvent("Mining Platform Destroyed!", new Color(1, 0.5f, 0.5f), FactionEvent.KillTexture); } else { f.roundReport.MiningPlatformsLost++; f.AddEvent("Mining Platform Lost!", new Color(1, 0.5f, 0.5f), FactionEvent.LossTexture); } } FactionManager.TeamStreak[GetTeam()] = -1; FactionManager.Factions[FactionNumber].MiningPlatformCount--; if (FactionManager.Factions[FactionNumber].MiningPlatformCount < 1) { FactionManager.Factions[FactionNumber].Dead = true; bool TeamAlive = false; foreach (Faction f in FactionManager.Factions) { if (!f.Dead && f.Team == GetTeam()) { TeamAlive = true; break; } } if (!TeamAlive) { if (FactionManager.TeamDead.ContainsKey(GetTeam())) { FactionManager.TeamDead[GetTeam()] = true; } else { FactionManager.TeamDead.Add(GetTeam(), true); } WaveManager.SetState(PlayerEliminatedState.self); } } MyRock.setPlatform(null); BulletExplosionDistance = 1000; BulletExplosionDamage = 10; } Destroy(); }