67 lines
4.1 KiB
Python
67 lines
4.1 KiB
Python
from direct.directnotify import DirectNotifyGlobal
|
|
from . import HoodDataAI
|
|
from toontown.toonbase import ToontownGlobals
|
|
from toontown.coghq import DistributedFactoryElevatorExtAI
|
|
from toontown.coghq import DistributedCogHQDoorAI
|
|
from toontown.coghq import DistributedSellbotHQDoorAI
|
|
from toontown.building import DoorTypes
|
|
from toontown.coghq import LobbyManagerAI
|
|
from toontown.building import DistributedVPElevatorAI
|
|
from toontown.suit import DistributedSellbotBossAI
|
|
from toontown.building import DistributedBoardingPartyAI
|
|
|
|
class CSHoodDataAI(HoodDataAI.HoodDataAI):
|
|
notify = DirectNotifyGlobal.directNotify.newCategory('CSHoodDataAI')
|
|
|
|
def __init__(self, air, zoneId=None):
|
|
hoodId = ToontownGlobals.SellbotHQ
|
|
if zoneId == None:
|
|
zoneId = hoodId
|
|
HoodDataAI.HoodDataAI.__init__(self, air, zoneId, hoodId)
|
|
return
|
|
|
|
def startup(self):
|
|
HoodDataAI.HoodDataAI.startup(self)
|
|
mins = ToontownGlobals.FactoryLaffMinimums[0]
|
|
self.testElev0 = DistributedFactoryElevatorExtAI.DistributedFactoryElevatorExtAI(self.air, self.air.factoryMgr, ToontownGlobals.SellbotFactoryInt, 0, antiShuffle=0, minLaff=mins[0])
|
|
self.testElev0.generateWithRequired(ToontownGlobals.SellbotFactoryExt)
|
|
self.addDistObj(self.testElev0)
|
|
self.testElev1 = DistributedFactoryElevatorExtAI.DistributedFactoryElevatorExtAI(self.air, self.air.factoryMgr, ToontownGlobals.SellbotFactoryInt, 1, antiShuffle=0, minLaff=mins[1])
|
|
self.testElev1.generateWithRequired(ToontownGlobals.SellbotFactoryExt)
|
|
self.addDistObj(self.testElev1)
|
|
self.lobbyMgr = LobbyManagerAI.LobbyManagerAI(self.air, DistributedSellbotBossAI.DistributedSellbotBossAI)
|
|
self.lobbyMgr.generateWithRequired(ToontownGlobals.SellbotLobby)
|
|
self.addDistObj(self.lobbyMgr)
|
|
self.lobbyElevator = DistributedVPElevatorAI.DistributedVPElevatorAI(self.air, self.lobbyMgr, ToontownGlobals.SellbotLobby, antiShuffle=1)
|
|
self.lobbyElevator.generateWithRequired(ToontownGlobals.SellbotLobby)
|
|
self.addDistObj(self.lobbyElevator)
|
|
if simbase.config.GetBool('want-boarding-groups', 1):
|
|
self.boardingParty = DistributedBoardingPartyAI.DistributedBoardingPartyAI(self.air, [self.lobbyElevator.doId], 8)
|
|
self.boardingParty.generateWithRequired(ToontownGlobals.SellbotLobby)
|
|
factoryIdList = [self.testElev0.doId, self.testElev1.doId]
|
|
if simbase.config.GetBool('want-boarding-groups', 1):
|
|
self.factoryBoardingParty = DistributedBoardingPartyAI.DistributedBoardingPartyAI(self.air, factoryIdList, 4)
|
|
self.factoryBoardingParty.generateWithRequired(ToontownGlobals.SellbotFactoryExt)
|
|
destinationZone = ToontownGlobals.SellbotLobby
|
|
extDoor0 = DistributedSellbotHQDoorAI.DistributedSellbotHQDoorAI(self.air, 0, DoorTypes.EXT_COGHQ, destinationZone, doorIndex=0)
|
|
extDoor1 = DistributedSellbotHQDoorAI.DistributedSellbotHQDoorAI(self.air, 1, DoorTypes.EXT_COGHQ, destinationZone, doorIndex=1)
|
|
extDoor2 = DistributedSellbotHQDoorAI.DistributedSellbotHQDoorAI(self.air, 2, DoorTypes.EXT_COGHQ, destinationZone, doorIndex=2)
|
|
extDoor3 = DistributedSellbotHQDoorAI.DistributedSellbotHQDoorAI(self.air, 3, DoorTypes.EXT_COGHQ, destinationZone, doorIndex=3)
|
|
extDoorList = [extDoor0, extDoor1, extDoor2, extDoor3]
|
|
for sp in self.suitPlanners:
|
|
if sp.zoneId == ToontownGlobals.SellbotHQ:
|
|
sp.cogHQDoors = extDoorList
|
|
|
|
intDoor0 = DistributedCogHQDoorAI.DistributedCogHQDoorAI(self.air, 0, DoorTypes.INT_COGHQ, ToontownGlobals.SellbotHQ, doorIndex=0)
|
|
intDoor0.setOtherDoor(extDoor0)
|
|
intDoor0.zoneId = ToontownGlobals.SellbotLobby
|
|
for extDoor in extDoorList:
|
|
extDoor.setOtherDoor(intDoor0)
|
|
extDoor.zoneId = ToontownGlobals.SellbotHQ
|
|
extDoor.generateWithRequired(ToontownGlobals.SellbotHQ)
|
|
extDoor.sendUpdate('setDoorIndex', [extDoor.getDoorIndex()])
|
|
self.addDistObj(extDoor)
|
|
|
|
intDoor0.generateWithRequired(ToontownGlobals.SellbotLobby)
|
|
intDoor0.sendUpdate('setDoorIndex', [intDoor0.getDoorIndex()])
|
|
self.addDistObj(intDoor0)
|