public void DestroyBase(Base bs) { var team = bs.Team; if (team <= 0 || bs.Destroyed) { return; } var spec = bs.Spec; if (spec == null) { return; } lock (_game) { var t = team - 1; var faction = _game.Faction[t]; var settings = _game.GameSettings; if (bs.Type == EBaseType.Shipyard) { faction.CapitalMaxDrones -= settings.InitialCapitalMaxDrones; } bs.Destroyed = true; _game.UpdateTotalPilots(bs.Team); } }