oldschool-toontown/toontown/hood/CSHoodDataAI.py

68 lines
4.1 KiB
Python
Raw Normal View History

2019-11-02 22:27:54 +00:00
from direct.directnotify import DirectNotifyGlobal
from . import HoodDataAI
2019-11-02 22:27:54 +00:00
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)