text: from toontown.building import DistributedVPElevatorAI
  from toontown.building import FADoorCodes
  from toontown.building.DistributedBoardingPartyAI import DistributedBoardingPartyAI
  from toontown.coghq.DistributedFactoryElevatorExtAI import DistributedFactoryElevatorExtAI
  from toontown.hood import CogHQAI
  from toontown.suit import DistributedSellbotBossAI
  from toontown.suit import DistributedSuitPlannerAI
  from toontown.toonbase import ToontownGlobals
  
  
  class SellbotHQAI(CogHQAI.CogHQAI):
      def __init__(self, air):
          CogHQAI.CogHQAI.__init__(
              self, air, ToontownGlobals.SellbotHQ, ToontownGlobals.SellbotLobby,
              FADoorCodes.SB_DISGUISE_INCOMPLETE,
              DistributedVPElevatorAI.DistributedVPElevatorAI,
              DistributedSellbotBossAI.DistributedSellbotBossAI)
  
          self.factoryElevators = []
          self.factoryBoardingParty = None
          self.suitPlanners = []
  
          self.startup()
  
      def startup(self):
          CogHQAI.CogHQAI.startup(self)
  
          # Sellbot HQ has not just one, but four lobby doors:
          self.cogHQDoors = [self.extDoor]
          for i in xrange(3):  # CogHQAI already created one of the doors for us.
              extDoor = self.makeCogHQDoor(self.lobbyZoneId, 0, i + 1, self.lobbyFADoorCode)
              self.cogHQDoors.append(extDoor)
          self.createFactoryElevators()
          if simbase.config.GetBool('want-boarding-groups', True):
              self.createFactoryBoardingParty()
          if simbase.config.GetBool('want-suit-planners', True):
              self.createSuitPlanners()
  
          # Our suit planner needs the Cog HQ doors as well:
          for sp in self.suitPlanners:
              if sp.zoneId == self.zoneId:
                  sp.cogHQDoors = self.cogHQDoors
  
      def createFactoryElevators(self):
          # We only have two factory elevators: the front, and side elevators.
          for i in xrange(2):
              factoryElevator = DistributedFactoryElevatorExtAI(
                  self.air, self.air.factoryMgr, ToontownGlobals.SellbotFactoryInt, i)
              factoryElevator.generateWithRequired(ToontownGlobals.SellbotFactoryExt)
              self.factoryElevators.append(factoryElevator)
  
          if simbase.config.GetBool('want-megacorp', True):
              factoryElevator = DistributedFactoryElevatorExtAI(
                  self.air, self.air.factoryMgr, ToontownGlobals.SellbotMegaCorpInt, 2)
              factoryElevator.generateWithRequired(ToontownGlobals.SellbotFactoryExt)
              self.factoryElevators.append(factoryElevator)
  
      def createFactoryBoardingParty(self):
          factoryIdList = [elevator.doId for elevator in self.factoryElevators]
          self.factoryBoardingParty = DistributedBoardingPartyAI(self.air, factoryIdList, 4)
          self.factoryBoardingParty.generateWithRequired(ToontownGlobals.SellbotFactoryExt)
  
      def createSuitPlanners(self):
          suitPlanner = DistributedSuitPlannerAI.DistributedSuitPlannerAI(self.air, self.zoneId)
          suitPlanner.generateWithRequired(self.zoneId)
          suitPlanner.d_setZoneId(self.zoneId)
          suitPlanner.initTasks()
          self.suitPlanners.append(suitPlanner)
          self.air.suitPlanners[self.zoneId] = suitPlanner
  
          suitPlanner = DistributedSuitPlannerAI.DistributedSuitPlannerAI(self.air, ToontownGlobals.SellbotFactoryExt)
          suitPlanner.generateWithRequired(ToontownGlobals.SellbotFactoryExt)
          suitPlanner.d_setZoneId(ToontownGlobals.SellbotFactoryExt)
          suitPlanner.initTasks()
          self.suitPlanners.append(suitPlanner)
          self.air.suitPlanners[ToontownGlobals.SellbotFactoryExt] = suitPlanner
  