Exemplo n.º 1
0
    def startup(self):
        HoodDataAI.HoodDataAI.startup(self)
        self.lobbyMgr = LobbyManagerAI.LobbyManagerAI(
            self.air, DistributedBossbotBossAI.DistributedBossbotBossAI)
        self.lobbyMgr.generateWithRequired(ToontownGlobals.BossbotLobby)
        self.addDistObj(self.lobbyMgr)
        self.lobbyElevator = DistributedBBElevatorAI.DistributedBBElevatorAI(
            self.air,
            self.lobbyMgr,
            ToontownGlobals.BossbotLobby,
            antiShuffle=1)
        self.lobbyElevator.generateWithRequired(ToontownGlobals.BossbotLobby)
        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.BossbotLobby)

        def makeDoor(destinationZone, intDoorIndex, extDoorIndex, lock=0):
            intDoor = DistributedCogHQDoorAI.DistributedCogHQDoorAI(
                self.air,
                0,
                DoorTypes.INT_COGHQ,
                self.canonicalHoodId,
                doorIndex=intDoorIndex,
                lockValue=lock)
            intDoor.zoneId = destinationZone
            extDoor = DistributedCogHQDoorAI.DistributedCogHQDoorAI(
                self.air,
                0,
                DoorTypes.EXT_COGHQ,
                destinationZone,
                doorIndex=extDoorIndex,
                lockValue=lock)
            extDoor.setOtherDoor(intDoor)
            intDoor.setOtherDoor(extDoor)
            intDoor.generateWithRequired(destinationZone)
            intDoor.sendUpdate('setDoorIndex', [intDoor.getDoorIndex()])
            self.addDistObj(intDoor)
            extDoor.generateWithRequired(self.canonicalHoodId)
            extDoor.sendUpdate('setDoorIndex', [extDoor.getDoorIndex()])
            self.addDistObj(extDoor)

        makeDoor(ToontownGlobals.BossbotLobby, 0, 0,
                 FADoorCodes.BB_DISGUISE_INCOMPLETE)
        kartIdList = self.createCogKarts()
        if simbase.config.GetBool('want-boarding-groups', 1):
            self.courseBoardingParty = DistributedBoardingPartyAI.DistributedBoardingPartyAI(
                self.air, kartIdList, 4)
            self.courseBoardingParty.generateWithRequired(self.zoneId)
        self.moleField = DistributedCourtyardMoleFieldAI.DistributedCourtyardMoleFieldAI(
            self.air)
        self.moleField.generateWithRequired(self.zoneId)
        self.moleField.restartGame()
Exemplo n.º 2
0
    def startup(self):
        self.notify.info('Creating zone... Bossbot HQ')
        HoodDataAI.HoodDataAI.startup(self)

        def makeOfficeElevator(index, antiShuffle=0, minLaff=0):
            destZone = (ToontownGlobals.LawbotStageIntA,
             ToontownGlobals.LawbotStageIntB,
             ToontownGlobals.LawbotStageIntC,
             ToontownGlobals.LawbotStageIntD)[index]
            elev = DistributedLawOfficeElevatorExtAI.DistributedLawOfficeElevatorExtAI(self.air, self.air.lawMgr, destZone, index, antiShuffle=0, minLaff=minLaff)
            elev.generateWithRequired(ToontownGlobals.LawbotOfficeExt)
            self.addDistObj(elev)

        self.lobbyMgr = LobbyManagerAI.LobbyManagerAI(self.air, DistributedBossbotBossAI.DistributedBossbotBossAI)
        self.lobbyMgr.generateWithRequired(ToontownGlobals.BossbotLobby)
        self.addDistObj(self.lobbyMgr)
        self.lobbyElevator = DistributedBBElevatorAI.DistributedBBElevatorAI(self.air, self.lobbyMgr, ToontownGlobals.BossbotLobby, antiShuffle=1)
        self.lobbyElevator.generateWithRequired(ToontownGlobals.BossbotLobby)
        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.BossbotLobby)

        def makeDoor(destinationZone, intDoorIndex, extDoorIndex, zoneId, lock=0):
            intDoor = DistributedCogHQDoorAI.DistributedCogHQDoorAI(self.air, 0, DoorTypes.INT_COGHQ, zoneId, doorIndex=intDoorIndex, lockValue=lock)
            intDoor.zoneId = destinationZone
            extDoor = DistributedCogHQDoorAI.DistributedCogHQDoorAI(self.air, 0, DoorTypes.EXT_COGHQ, destinationZone, doorIndex=extDoorIndex, lockValue=lock)
            extDoor.setOtherDoor(intDoor)
            intDoor.setOtherDoor(extDoor)
            intDoor.generateWithRequired(destinationZone)
            intDoor.sendUpdate('setDoorIndex', [intDoor.getDoorIndex()])
            self.addDistObj(intDoor)
            extDoor.generateWithRequired(zoneId)
            extDoor.sendUpdate('setDoorIndex', [extDoor.getDoorIndex()])
            self.addDistObj(extDoor)
            return extDoor

        makeDoor(ToontownGlobals.BossbotLobby, 0, 0, ToontownGlobals.BossbotHQ, FADoorCodes.BB_DISGUISE_INCOMPLETE)
        kartIdList = self.createCogKarts()
        if simbase.config.GetBool('want-boarding-groups', 1):
            self.courseBoardingParty = DistributedBoardingPartyAI.DistributedBoardingPartyAI(self.air, kartIdList, 4)
            self.courseBoardingParty.generateWithRequired(self.zoneId)
Exemplo n.º 3
0
    def startup(self):
        """Start the BossbotHQ zone."""
        HoodDataAI.HoodDataAI.startup(self)

        # TODO: define these in a more modular way
        def makeOfficeElevator(index, antiShuffle=0, minLaff=0):
            destZone = (
                ToontownGlobals.LawbotStageIntA,
                ToontownGlobals.LawbotStageIntB,
                ToontownGlobals.LawbotStageIntC,
                ToontownGlobals.LawbotStageIntD,
            )[index]
            elev = DistributedLawOfficeElevatorExtAI.DistributedLawOfficeElevatorExtAI(
                self.air,
                self.air.lawMgr,
                destZone,
                index,
                antiShuffle=0,
                minLaff=minLaff)  #antiShufflePOI
            elev.generateWithRequired(ToontownGlobals.LawbotOfficeExt)
            self.addDistObj(elev)

        # Lobby elevator
        self.lobbyMgr = LobbyManagerAI.LobbyManagerAI(
            self.air, DistributedBossbotBossAI.DistributedBossbotBossAI)
        self.lobbyMgr.generateWithRequired(ToontownGlobals.BossbotLobby)
        self.addDistObj(self.lobbyMgr)

        self.lobbyElevator = DistributedBBElevatorAI.DistributedBBElevatorAI(
            self.air,
            self.lobbyMgr,
            ToontownGlobals.BossbotLobby,
            antiShuffle=1)  # antiShufflePOI
        self.lobbyElevator.generateWithRequired(ToontownGlobals.BossbotLobby)
        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.BossbotLobby)
        #self.addDistObj(self.boardingParty)

        def makeDoor(destinationZone, intDoorIndex, extDoorIndex, lock=0):
            #set up both doors
            intDoor = DistributedCogHQDoorAI.DistributedCogHQDoorAI(
                self.air,
                0,
                DoorTypes.INT_COGHQ,
                self.canonicalHoodId,
                doorIndex=intDoorIndex,
                lockValue=lock)
            intDoor.zoneId = destinationZone
            extDoor = DistributedCogHQDoorAI.DistributedCogHQDoorAI(
                self.air,
                0,
                DoorTypes.EXT_COGHQ,
                destinationZone,
                doorIndex=extDoorIndex,
                lockValue=lock)

            #point them to each other
            extDoor.setOtherDoor(intDoor)
            intDoor.setOtherDoor(extDoor)

            #generate them
            intDoor.generateWithRequired(destinationZone)
            intDoor.sendUpdate("setDoorIndex", [intDoor.getDoorIndex()])
            self.addDistObj(intDoor)

            extDoor.generateWithRequired(self.canonicalHoodId)
            extDoor.sendUpdate("setDoorIndex", [extDoor.getDoorIndex()])
            self.addDistObj(extDoor)

        # CogHQ Main building -> Lobby doors
        makeDoor(ToontownGlobals.BossbotLobby, 0, 0,
                 FADoorCodes.BB_DISGUISE_INCOMPLETE)
        # Plaza -> Office
        #makeDoor(ToontownGlobals.LawbotOfficeExt, 0, 0)

        kartIdList = self.createCogKarts()
        if simbase.config.GetBool('want-boarding-groups', 1):
            self.courseBoardingParty = DistributedBoardingPartyAI.DistributedBoardingPartyAI(
                self.air, kartIdList, 4)
            self.courseBoardingParty.generateWithRequired(self.zoneId)