def exitReward(self):
     self.notify.info('exitReward()')
     self.clearInterval(self.uniqueName('floorReward'))
     self._removeMembersKeep()
     NametagGlobals.setMasterArrowsOn(1)
     for toon in self.toons:
         toon.startSmooth()
 def exitReward(self):
     self.notify.debug('exitReward()')
     self.ignore('resumeAfterReward')
     self.movie.resetReward(finish=1)
     self._removeMembersKeep()
     NametagGlobals.setMasterArrowsOn(1)
     Emote.globalEmote.releaseAll(base.localAvatar, 'dbattle, exitReward')
 def commence(self = self):
     NametagGlobals.setMasterArrowsOn(1)
     self.fsm.request(requestStatus['how'], [requestStatus])
     base.playMusic(self.music, looping=1, volume=0.8)
     base.transitions.irisIn()
     mint = bboard.get(DistributedMint.DistributedMint.ReadyPost)
     self.loader.hood.spawnTitleText(mint.mintId, mint.floorNum)
 def exit(self):
     self.ignoreAll()
     messenger.send('exitToonInterior')
     self._telemLimiter.destroy()
     del self._telemLimiter
     NametagGlobals.setMasterArrowsOn(0)
     self.loader.activityMusic.stop()
 def __unmakeGui(self):
     self.notify.debug('__unmakeGui')
     if not self.madeGui:
         return
     if self.flashingLabel:
         self.flashingLabel.finish()
         self.flashingLabel = None
     NametagGlobals.setMasterArrowsOn(1)
     self.__disableAimInterface()
     self.upButton.unbind(DGG.B1PRESS)
     self.upButton.unbind(DGG.B1RELEASE)
     self.downButton.unbind(DGG.B1PRESS)
     self.downButton.unbind(DGG.B1RELEASE)
     self.leftButton.unbind(DGG.B1PRESS)
     self.leftButton.unbind(DGG.B1RELEASE)
     self.rightButton.unbind(DGG.B1PRESS)
     self.rightButton.unbind(DGG.B1RELEASE)
     self.aimPad.destroy()
     del self.aimPad
     del self.fireButton
     del self.upButton
     del self.downButton
     del self.leftButton
     del self.rightButton
     self.madeGui = 0
     return
Esempio n. 6
0
 def exitReward(self):
     self.notify.debug('exitReward()')
     self.ignore('resumeAfterReward')
     self.movie.resetReward(finish=1)
     self._removeMembersKeep()
     NametagGlobals.setMasterArrowsOn(1)
     Emote.globalEmote.releaseAll(base.localAvatar, 'dbattle, exitReward')
 def exitReward(self):
     self.notify.info('exitReward()')
     self.clearInterval(self.uniqueName('floorReward'))
     self._removeMembersKeep()
     NametagGlobals.setMasterArrowsOn(1)
     for toon in self.toons:
         toon.startSmooth()
Esempio n. 8
0
 def commence(self=self):
     NametagGlobals.setMasterArrowsOn(1)
     self.fsm.request(requestStatus['how'], [requestStatus])
     base.playMusic(self.music, looping=1, volume=0.8)
     base.transitions.irisIn()
     stage = bboard.get(DistributedStage.DistributedStage.ReadyPost)
     self.loader.hood.spawnTitleText(stage.stageId)
 def commence(self = self):
     NametagGlobals.setMasterArrowsOn(1)
     self.fsm.request(requestStatus['how'], [requestStatus])
     base.playMusic(self.music, looping=1, volume=0.8)
     base.transitions.irisIn()
     CountryClub = bboard.get(DistributedCountryClub.DistributedCountryClub.ReadyPost)
     self.loader.hood.spawnTitleText(CountryClub.countryClubId)
    def enter(self, requestStatus, visibilityFlag = 1, arrowsOn = 1):
        teleportDebug(requestStatus, 'Street.enter(%s)' % (requestStatus,))
        self._ttfToken = None
        self.fsm.enterInitialState()
        base.playMusic(self.loader.music, looping=1, volume=0.8)
        self.loader.geom.reparentTo(render)
        if visibilityFlag:
            self.visibilityOn()
        base.localAvatar.setGeom(self.loader.geom)
        base.localAvatar.setOnLevelGround(1)
        self._telemLimiter = TLGatherAllAvs('Street', RotationLimitToH)
        NametagGlobals.setMasterArrowsOn(arrowsOn)
        self.zone = ZoneUtil.getBranchZone(requestStatus['zoneId'])

        def __lightDecorationOn__():
            geom = base.cr.playGame.getPlace().loader.geom
            self.halloweenLights = geom.findAllMatches('**/*light*')
            self.halloweenLights += geom.findAllMatches('**/*lamp*')
            self.halloweenLights += geom.findAllMatches('**/prop_snow_tree*')
            for light in self.halloweenLights:
                light.setColorScaleOff(1)

        if base.cr.newsManager.isHolidayRunning(ToontownGlobals.HALLOWEEN) and self.loader.hood.spookySkyFile:
            lightsOff = Sequence(LerpColorScaleInterval(base.cr.playGame.hood.loader.geom, 0.1, Vec4(0.55, 0.55, 0.65, 1)), Func(self.loader.hood.startSpookySky))
            lightsOff.start()
        else:
            self.loader.hood.startSky()
            lightsOn = LerpColorScaleInterval(base.cr.playGame.hood.loader.geom, 0.1, Vec4(1, 1, 1, 1))
            lightsOn.start()
        self.accept('doorDoneEvent', self.handleDoorDoneEvent)
        self.accept('DistributedDoor_doorTrigger', self.handleDoorTrigger)
        self.enterZone(requestStatus['zoneId'])
        self.tunnelOriginList = base.cr.hoodMgr.addLinkTunnelHooks(self, self.loader.nodeList)
        self.fsm.request(requestStatus['how'], [requestStatus])
 def exitReward(self):
     self.notify.debug("exitReward()")
     self.clearInterval(self.uniqueName("floorReward"), finish=1)
     self._removeMembersKeep()
     NametagGlobals.setMasterArrowsOn(1)
     for toon in self.toons:
         toon.startSmooth()
 def enterBattleFour(self):
     self.cleanupIntervals()
     self.releaseToons(finalBattle=1)
     self.accept('clickedNametag', self.__clickedNameTag)
     self.accept('friendAvatar', self.__handleFriendAvatar)
     self.accept('avatarDetails', self.__handleAvatarDetails)
     NametagGlobals.setMasterArrowsOn(0)
     NametagGlobals.setMasterNametagsActive(1)
Esempio n. 13
0
 def enterBattleFour(self):
     self.cleanupIntervals()
     self.releaseToons(finalBattle=1)
     self.accept('clickedNametag', self.__clickedNameTag)
     self.accept('friendAvatar', self.__handleFriendAvatar)
     self.accept('avatarDetails', self.__handleAvatarDetails)
     NametagGlobals.setMasterArrowsOn(0)
     NametagGlobals.setMasterNametagsActive(1)
 def exitIntroduction(self):
     self.notify.debug('DistributedBossCog.exitIntroduction:')
     intervalName = 'IntroductionMovie'
     self.clearInterval(intervalName)
     self.unstickToons()
     self.releaseToons()
     NametagGlobals.setMasterArrowsOn(1)
     ElevatorUtils.closeDoors(self.leftDoor, self.rightDoor, self.elevatorType)
Esempio n. 15
0
 def exitIntroduction(self):
     self.notify.debug('DistributedBossCog.exitIntroduction:')
     intervalName = 'IntroductionMovie'
     self.clearInterval(intervalName)
     self.unstickToons()
     self.releaseToons()
     NametagGlobals.setMasterArrowsOn(1)
     ElevatorUtils.closeDoors(self.leftDoor, self.rightDoor,
                              self.elevatorType)
 def enterStageReward(self, ts):
     self.notify.debug('enterStageReward()')
     self.disableCollision()
     self.delayDeleteMembers()
     if self.hasLocalToon():
         NametagGlobals.setMasterArrowsOn(0)
         if self.bossBattle:
             messenger.send('localToonConfrontedStageBoss')
     self.movie.playReward(ts, self.uniqueName('building-reward'), self.__handleStageRewardDone, noSkip=True)
 def enterIntroduction(self):
     self.controlToons()
     ElevatorUtils.openDoors(self.leftDoor, self.rightDoor, self.elevatorType)
     NametagGlobals.setMasterArrowsOn(0)
     intervalName = 'IntroductionMovie'
     delayDeletes = []
     seq = Parallel(self.showTitleText(), Sequence(self.makeIntroductionMovie(delayDeletes), Func(self.__beginBattleOne)), name=intervalName)
     seq.delayDeletes = delayDeletes
     seq.start()
     self.storeInterval(seq, intervalName)
Esempio n. 18
0
 def enter(self, requestStatus):
     self.zoneId = requestStatus['zoneId']
     self.fsm.enterInitialState()
     messenger.send('enterToonInterior')
     self.accept('doorDoneEvent', self.handleDoorDoneEvent)
     self.accept('DistributedDoor_doorTrigger', self.handleDoorTrigger)
     volume = requestStatus.get('musicVolume', 0.7)
     base.playMusic(self.loader.activityMusic, looping=1, volume=volume)
     self._telemLimiter = TLGatherAllAvs('ToonInterior', RotationLimitToH)
     NametagGlobals.setMasterArrowsOn(1)
     self.fsm.request(requestStatus['how'], [requestStatus])
 def exit(self):
     NametagGlobals.setMasterArrowsOn(0)
     self._telemLimiter.destroy()
     del self._telemLimiter
     if hasattr(base, 'factoryReady'):
         del base.factoryReady
     base.localAvatar.inventory.setRespectInvasions(1)
     self.fsm.requestFinalState()
     self.loader.music.stop()
     self.music.stop()
     self.ignoreAll()
Esempio n. 20
0
 def exitPrepareBattleThree(self):
     intervalName = 'PrepareBattleThreeMovie'
     self.clearInterval(intervalName)
     self.unstickToons()
     self.releaseToons()
     if self.newState == 'BattleThree':
         self.movieCrane.request('Free')
         self.movieSafe.request('Initial')
     NametagGlobals.setMasterArrowsOn(1)
     ElevatorUtils.closeDoors(self.leftDoor, self.rightDoor, ElevatorConstants.ELEVATOR_CFO)
     taskMgr.remove(self.uniqueName('physics'))
 def enter(self, requestStatus, bossCog):
     self.zoneId = requestStatus['zoneId']
     BattlePlace.BattlePlace.enter(self)
     self.fsm.enterInitialState()
     self.bossCog = bossCog
     if self.bossCog:
         self.bossCog.d_avatarEnter()
     self._telemLimiter = TLGatherAllAvs('CogHQBossBattle', RotationLimitToH)
     NametagGlobals.setMasterArrowsOn(1)
     base.localAvatar.inventory.setRespectInvasions(0)
     self.fsm.request(requestStatus['how'], [requestStatus])
Esempio n. 22
0
 def enterWaitForToons(self):
     self.cleanupIntervals()
     self.hide()
     if self.gotAllToons:
         self.__doneWaitForToons()
     else:
         self.accept('gotAllToons', self.__doneWaitForToons)
     self.transitions = Transitions.Transitions(loader)
     self.transitions.IrisModelName = 'phase_3/models/misc/iris'
     self.transitions.FadeModelName = 'phase_3/models/misc/fade'
     self.transitions.fadeScreen(alpha=1)
     NametagGlobals.setMasterArrowsOn(0)
Esempio n. 23
0
 def exit(self):
     NametagGlobals.setMasterArrowsOn(0)
     self._telemLimiter.destroy()
     del self._telemLimiter
     bboard.remove(DistributedStage.DistributedStage.ReadyPost)
     base.cr.forbidCheesyEffects(0)
     base.localAvatar.inventory.setRespectInvasions(1)
     self.fsm.requestFinalState()
     self.loader.music.stop()
     self.music.stop()
     self.ignoreAll()
     del self.stageReadyWatcher
 def enterWaitForToons(self):
     self.cleanupIntervals()
     self.hide()
     if self.gotAllToons:
         self.__doneWaitForToons()
     else:
         self.accept('gotAllToons', self.__doneWaitForToons)
     self.transitions = Transitions.Transitions(loader)
     self.transitions.IrisModelName = 'phase_3/models/misc/iris'
     self.transitions.FadeModelName = 'phase_3/models/misc/fade'
     self.transitions.fadeScreen(alpha=1)
     NametagGlobals.setMasterArrowsOn(0)
 def exit(self):
     NametagGlobals.setMasterArrowsOn(0)
     bboard.remove(DistributedMint.DistributedMint.ReadyPost)
     self._telemLimiter.destroy()
     del self._telemLimiter
     base.cr.forbidCheesyEffects(0)
     base.localAvatar.inventory.setRespectInvasions(1)
     self.fsm.requestFinalState()
     self.loader.music.stop()
     self.music.stop()
     self.ignoreAll()
     del self.mintReadyWatcher
 def enter(self, requestStatus):
     self.zoneId = requestStatus['zoneId']
     BattlePlace.BattlePlace.enter(self)
     self.fsm.enterInitialState()
     base.playMusic(self.loader.music, looping=1, volume=0.8)
     self.loader.geom.reparentTo(render)
     self.nodeList = [self.loader.geom]
     self._telemLimiter = TLGatherAllAvs('CogHQExterior', RotationLimitToH)
     self.accept('doorDoneEvent', self.handleDoorDoneEvent)
     self.accept('DistributedDoor_doorTrigger', self.handleDoorTrigger)
     NametagGlobals.setMasterArrowsOn(1)
     self.tunnelOriginList = base.cr.hoodMgr.addLinkTunnelHooks(self, self.nodeList)
     how = requestStatus['how']
     self.fsm.request(how, [requestStatus])
Esempio n. 27
0
 def enterIntroduction(self):
     self.controlToons()
     ElevatorUtils.openDoors(self.leftDoor, self.rightDoor,
                             self.elevatorType)
     NametagGlobals.setMasterArrowsOn(0)
     intervalName = 'IntroductionMovie'
     delayDeletes = []
     seq = Parallel(self.showTitleText(),
                    Sequence(self.makeIntroductionMovie(delayDeletes),
                             Func(self.__beginBattleOne)),
                    name=intervalName)
     seq.delayDeletes = delayDeletes
     seq.start()
     self.storeInterval(seq, intervalName)
Esempio n. 28
0
 def enter(self, requestStatus):
     self.zoneId = requestStatus['zoneId']
     BattlePlace.BattlePlace.enter(self)
     self.fsm.enterInitialState()
     base.playMusic(self.loader.music, looping=1, volume=0.8)
     self.loader.geom.reparentTo(render)
     self.nodeList = [self.loader.geom]
     self._telemLimiter = TLGatherAllAvs('CogHQExterior', RotationLimitToH)
     self.accept('doorDoneEvent', self.handleDoorDoneEvent)
     self.accept('DistributedDoor_doorTrigger', self.handleDoorTrigger)
     NametagGlobals.setMasterArrowsOn(1)
     self.tunnelOriginList = base.cr.hoodMgr.addLinkTunnelHooks(
         self, self.nodeList)
     how = requestStatus['how']
     self.fsm.request(how, [requestStatus])
    def exit(self, visibilityFlag = 1):
        if visibilityFlag:
            self.visibilityOff()
        self.loader.geom.reparentTo(hidden)
        self._telemLimiter.destroy()
        del self._telemLimiter

        def __lightDecorationOff__():
            for light in self.halloweenLights:
                light.reparentTo(hidden)

        NametagGlobals.setMasterArrowsOn(0)
        self.loader.hood.stopSky()
        self.loader.music.stop()
        base.localAvatar.setGeom(render)
        base.localAvatar.setOnLevelGround(0)
Esempio n. 30
0
    def exit(self, visibilityFlag=1):
        if visibilityFlag:
            self.visibilityOff()
        self.loader.geom.reparentTo(hidden)
        self._telemLimiter.destroy()
        del self._telemLimiter

        def __lightDecorationOff__():
            for light in self.halloweenLights:
                light.reparentTo(hidden)

        NametagGlobals.setMasterArrowsOn(0)
        self.loader.hood.stopSky()
        self.loader.music.stop()
        base.localAvatar.setGeom(render)
        base.localAvatar.setOnLevelGround(0)
Esempio n. 31
0
 def enterPrepareBattleThree(self):
     self.controlToons()
     NametagGlobals.setMasterArrowsOn(0)
     intervalName = 'PrepareBattleThreeMovie'
     delayDeletes = []
     self.movieCrane = self.cranes[0]
     self.movieSafe = self.safes[1]
     self.movieCrane.request('Movie')
     seq = Sequence(self.makePrepareBattleThreeMovie(delayDeletes, self.movieCrane, self.movieSafe), Func(self.__beginBattleThree), name=intervalName)
     seq.delayDeletes = delayDeletes
     seq.start()
     self.storeInterval(seq, intervalName)
     self.endVault.unstash()
     self.evWalls.stash()
     self.midVault.unstash()
     self.__showResistanceToon(False)
     taskMgr.add(self.__doPhysics, self.uniqueName('physics'), priority=25)
    def enterReward(self, ts):
        self.notify.debug('enterReward()')
        self.disableCollision()
        self.delayDeleteMembers()
        Emote.globalEmote.disableAll(base.localAvatar, 'dbattle, enterReward')
        if self.hasLocalToon():
            NametagGlobals.setMasterArrowsOn(0)
            if self.localToonActive() == 0:
                self.removeInactiveLocalToon(base.localAvatar)
        for toon in self.toons:
            toon.startSmooth()

        self.accept('resumeAfterReward', self.handleResumeAfterReward)
        prop = self.getInteractiveProp()

        if prop:
            prop.gotoVictory()
        self.playReward(ts)
Esempio n. 33
0
    def enterReward(self, ts):
        self.notify.debug('enterReward()')
        self.disableCollision()
        self.delayDeleteMembers()
        Emote.globalEmote.disableAll(base.localAvatar, 'dbattle, enterReward')
        if self.hasLocalToon():
            NametagGlobals.setMasterArrowsOn(0)
            if self.localToonActive() == 0:
                self.removeInactiveLocalToon(base.localAvatar)
        for toon in self.toons:
            toon.startSmooth()

        self.accept('resumeAfterReward', self.handleResumeAfterReward)
        prop = self.getInteractiveProp()

        if prop:
            prop.gotoVictory()
        self.playReward(ts)
Esempio n. 34
0
    def enter(self, requestStatus, visibilityFlag=1, arrowsOn=1):
        teleportDebug(requestStatus, 'Street.enter(%s)' % (requestStatus, ))
        self._ttfToken = None
        self.fsm.enterInitialState()
        base.playMusic(self.loader.music, looping=1, volume=0.8)
        self.loader.geom.reparentTo(render)
        if visibilityFlag:
            self.visibilityOn()
        base.localAvatar.setGeom(self.loader.geom)
        base.localAvatar.setOnLevelGround(1)
        self._telemLimiter = TLGatherAllAvs('Street', RotationLimitToH)
        NametagGlobals.setMasterArrowsOn(arrowsOn)
        self.zone = ZoneUtil.getBranchZone(requestStatus['zoneId'])

        def __lightDecorationOn__():
            geom = base.cr.playGame.getPlace().loader.geom
            self.halloweenLights = geom.findAllMatches('**/*light*')
            self.halloweenLights += geom.findAllMatches('**/*lamp*')
            self.halloweenLights += geom.findAllMatches('**/prop_snow_tree*')
            for light in self.halloweenLights:
                light.setColorScaleOff(1)

        if base.cr.newsManager.isHolidayRunning(
                ToontownGlobals.HALLOWEEN) and self.loader.hood.spookySkyFile:
            lightsOff = Sequence(
                LerpColorScaleInterval(base.cr.playGame.hood.loader.geom, 0.1,
                                       Vec4(0.55, 0.55, 0.65, 1)),
                Func(self.loader.hood.startSpookySky))
            lightsOff.start()
        else:
            self.loader.hood.startSky()
            lightsOn = LerpColorScaleInterval(
                base.cr.playGame.hood.loader.geom, 0.1, Vec4(1, 1, 1, 1))
            lightsOn.start()
        self.accept('doorDoneEvent', self.handleDoorDoneEvent)
        self.accept('DistributedDoor_doorTrigger', self.handleDoorTrigger)
        self.enterZone(requestStatus['zoneId'])
        self.tunnelOriginList = base.cr.hoodMgr.addLinkTunnelHooks(
            self, self.loader.nodeList)
        self.fsm.request(requestStatus['how'], [requestStatus])
    def __makeGui(self):
        if self.madeGui:
            return
        NametagGlobals.setMasterArrowsOn(0)
        guiModel = 'phase_4/models/gui/cannon_game_gui'
        cannonGui = loader.loadModel(guiModel)
        self.aimPad = DirectFrame(image=cannonGui.find('**/CannonFire_PAD'), relief=None, pos=(0.7, 0, -0.553333), scale=0.8)
        cannonGui.removeNode()
        self.fireButton = DirectButton(parent=self.aimPad, image=((guiModel, '**/Fire_Btn_UP'), (guiModel, '**/Fire_Btn_DN'), (guiModel, '**/Fire_Btn_RLVR')), relief=None, pos=(0.0115741, 0, 0.00505051), scale=1.0, command=self.__firePressed)
        self.upButton = DirectButton(parent=self.aimPad, image=((guiModel, '**/Cannon_Arrow_UP'), (guiModel, '**/Cannon_Arrow_DN'), (guiModel, '**/Cannon_Arrow_RLVR')), relief=None, pos=(0.0115741, 0, 0.221717))
        self.downButton = DirectButton(parent=self.aimPad, image=((guiModel, '**/Cannon_Arrow_UP'), (guiModel, '**/Cannon_Arrow_DN'), (guiModel, '**/Cannon_Arrow_RLVR')), relief=None, pos=(0.0136112, 0, -0.210101), image_hpr=(0, 0, 180))
        self.leftButton = DirectButton(parent=self.aimPad, image=((guiModel, '**/Cannon_Arrow_UP'), (guiModel, '**/Cannon_Arrow_DN'), (guiModel, '**/Cannon_Arrow_RLVR')), relief=None, pos=(-0.199352, 0, -0.000505269), image_hpr=(0, 0, -90))
        self.rightButton = DirectButton(parent=self.aimPad, image=((guiModel, '**/Cannon_Arrow_UP'), (guiModel, '**/Cannon_Arrow_DN'), (guiModel, '**/Cannon_Arrow_RLVR')), relief=None, pos=(0.219167, 0, -0.00101024), image_hpr=(0, 0, 90))
        guiClose = loader.loadModel('phase_3.5/models/gui/avatar_panel_gui')
        cannonBallText = '%d/%d' % (self.cannonBallsLeft, ToontownGlobals.LawbotBossCannonBallMax)
        self.cannonBallLabel = DirectLabel(parent=self.aimPad, text=cannonBallText, text_fg=VBase4(1, 1, 1, 1), text_align=TextNode.ACenter, relief=None, pos=(0.475, 0.0, -0.35), scale=0.25)
        if self.cannonBallsLeft < 5:
            if self.flashingLabel:
                self.flashingLabel.stop()
            flashingTrack = Sequence()
            for i in xrange(10):
                flashingTrack.append(LerpColorScaleInterval(self.cannonBallLabel, 0.5, VBase4(1, 0, 0, 1)))
                flashingTrack.append(LerpColorScaleInterval(self.cannonBallLabel, 0.5, VBase4(1, 1, 1, 1)))

            self.flashingLabel = flashingTrack
            self.flashingLabel.start()
        self.aimPad.setColor(1, 1, 1, 0.9)

        def bindButton(button, upHandler, downHandler):
            button.bind(DGG.B1PRESS, lambda x, handler = upHandler: handler())
            button.bind(DGG.B1RELEASE, lambda x, handler = downHandler: handler())

        bindButton(self.upButton, self.__upPressed, self.__upReleased)
        bindButton(self.downButton, self.__downPressed, self.__downReleased)
        bindButton(self.leftButton, self.__leftPressed, self.__leftReleased)
        bindButton(self.rightButton, self.__rightPressed, self.__rightReleased)
        self.__enableAimInterface()
        self.madeGui = 1
        return
Esempio n. 36
0
    def enter(self, requestStatus):
        self.zoneId = requestStatus['zoneId']

        # Load the CogHQ DNA file:
        dnaStore = DNAStorage()
        dnaFileName = self.genDNAFileName(self.zoneId)

        if not dnaFileName.endswith('13200.pdna'):

            loadDNAFileAI(dnaStore, dnaFileName)

            # Collect all of the vis group zone IDs:
            self.zoneVisDict = {}
            for i in xrange(dnaStore.getNumDNAVisGroupsAI()):
                groupFullName = dnaStore.getDNAVisGroupName(i)
                visGroup = dnaStore.getDNAVisGroupAI(i)
                visZoneId = int(base.cr.hoodMgr.extractGroupName(groupFullName))
                visibles = []
                for i in xrange(visGroup.getNumVisibles()):
                    visibles.append(int(visGroup.getVisible(i)))
                visibles.append(ZoneUtil.getBranchZone(visZoneId))
                self.zoneVisDict[visZoneId] = visibles

            # Next, we want interest in all vis groups due to this being a Cog HQ:
            base.cr.sendSetZoneMsg(self.zoneId, self.zoneVisDict.values()[0])

        BattlePlace.BattlePlace.enter(self)
        self.fsm.enterInitialState()
        base.playMusic(self.loader.music, looping=1, volume=0.8)
        self.loader.geom.reparentTo(render)
        self.nodeList = [self.loader.geom]
        self.loader.hood.startSky()
        self._telemLimiter = TLGatherAllAvs('FactoryExterior', RotationLimitToH)
        self.accept('doorDoneEvent', self.handleDoorDoneEvent)
        self.accept('DistributedDoor_doorTrigger', self.handleDoorTrigger)
        NametagGlobals.setMasterArrowsOn(1)
        self.tunnelOriginList = base.cr.hoodMgr.addLinkTunnelHooks(self, self.nodeList)
        how = requestStatus['how']
        self.fsm.request(how, [requestStatus])
 def __faceOff(self, ts, name, callback):
     if len(self.suits) == 0:
         self.notify.warning('__faceOff(): no suits.')
         return
     if len(self.toons) == 0:
         self.notify.warning('__faceOff(): no toons.')
         return
     suit = self.suits[0]
     point = self.suitPoints[0][0]
     suitPos = point[0]
     suitHpr = VBase3(point[1], 0.0, 0.0)
     toon = self.toons[0]
     point = self.toonPoints[0][0]
     toonPos = point[0]
     toonHpr = VBase3(point[1], 0.0, 0.0)
     p = toon.getPos(self)
     toon.setPos(self, p[0], p[1], 0.0)
     toon.setShadowHeight(0)
     suit.setState('Battle')
     suitTrack = Sequence()
     toonTrack = Sequence()
     suitTrack.append(Func(suit.loop, 'neutral'))
     suitTrack.append(Func(suit.headsUp, toon))
     taunt = SuitBattleGlobals.getFaceoffTaunt(suit.getStyleName(), suit.doId)
     suitTrack.append(Func(suit.setChatAbsolute, taunt, CFSpeech | CFTimeout))
     toonTrack.append(Func(toon.loop, 'neutral'))
     toonTrack.append(Func(toon.headsUp, suit))
     suitHeight = suit.getHeight()
     suitOffsetPnt = Point3(0, 0, suitHeight)
     faceoffTime = self.calcFaceoffTime(self.getPos(), self.initialSuitPos)
     faceoffTime = max(faceoffTime, BATTLE_SMALL_VALUE)
     delay = FACEOFF_TAUNT_T
     if self.hasLocalToon():
         MidTauntCamHeight = suitHeight * 0.66
         MidTauntCamHeightLim = suitHeight - 1.8
         if MidTauntCamHeight < MidTauntCamHeightLim:
             MidTauntCamHeight = MidTauntCamHeightLim
         TauntCamY = 16
         TauntCamX = random.choice((-5, 5))
         TauntCamHeight = random.choice((MidTauntCamHeight, 1, 11))
         camTrack = Sequence()
         camTrack.append(Func(camera.wrtReparentTo, suit))
         camTrack.append(Func(base.camLens.setMinFov, self.camFOFov/(4./3.)))
         camTrack.append(Func(camera.setPos, TauntCamX, TauntCamY, TauntCamHeight))
         camTrack.append(Func(camera.lookAt, suit, suitOffsetPnt))
         camTrack.append(Wait(delay))
         camTrack.append(Func(base.camLens.setMinFov, self.camFov/(4./3.)))
         camTrack.append(Func(camera.wrtReparentTo, self))
         camTrack.append(Func(camera.setPos, self.camFOPos))
         camTrack.append(Func(camera.lookAt, suit.getPos(self)))
         camTrack.append(Wait(faceoffTime))
     suitTrack.append(Wait(delay))
     toonTrack.append(Wait(delay))
     suitTrack.append(Func(suit.headsUp, self, suitPos))
     suitTrack.append(Func(suit.clearChat))
     toonTrack.append(Func(toon.headsUp, self, toonPos))
     suitTrack.append(Func(suit.loop, 'walk'))
     suitTrack.append(LerpPosInterval(suit, faceoffTime, suitPos, other=self))
     suitTrack.append(Func(suit.loop, 'neutral'))
     suitTrack.append(Func(suit.setHpr, self, suitHpr))
     toonTrack.append(Func(toon.loop, 'run'))
     toonTrack.append(LerpPosInterval(toon, faceoffTime, toonPos, other=self))
     toonTrack.append(Func(toon.loop, 'neutral'))
     toonTrack.append(Func(toon.setHpr, self, toonHpr))
     if base.localAvatar == toon:
         soundTrack = Sequence(Wait(delay), SoundInterval(base.localAvatar.soundRun, loop=1, duration=faceoffTime, node=base.localAvatar))
     else:
         soundTrack = Wait(delay + faceoffTime)
     mtrack = Parallel(suitTrack, toonTrack, soundTrack)
     if self.hasLocalToon():
         NametagGlobals.setMasterArrowsOn(0)
         mtrack = Parallel(mtrack, camTrack)
     done = Func(callback)
     track = Sequence(mtrack, done, name=name)
     track.delayDeletes = [DelayDelete.DelayDelete(toon, '__faceOff'), DelayDelete.DelayDelete(suit, '__faceOff')]
     track.start(ts)
     self.storeInterval(track, name)
 def commence(self = self):
     NametagGlobals.setMasterArrowsOn(1)
     self.fsm.request(requestStatus['how'], [requestStatus])
     base.playMusic(self.music, looping=1, volume=0.8)
     base.transitions.irisIn()
Esempio n. 39
0
 def exitFactoryReward(self):
     self.notify.info('exitFactoryReward()')
     self.movie.resetReward(finish=1)
     self._removeMembersKeep()
     NametagGlobals.setMasterArrowsOn(1)
Esempio n. 40
0
 def exitWaitForToons(self):
     self.show()
     self.transitions.noFade()
     del self.transitions
     NametagGlobals.setMasterArrowsOn(1)
 def exitWaitForToons(self):
     self.show()
     self.transitions.noFade()
     del self.transitions
     NametagGlobals.setMasterArrowsOn(1)
 def exitStageReward(self):
     self.notify.debug('exitStageReward()')
     self.movie.resetReward(finish=1)
     self._removeMembersKeep()
     NametagGlobals.setMasterArrowsOn(1)
Esempio n. 43
0
 def __faceOff(self, ts, name, callback):
     if len(self.suits) == 0:
         self.notify.warning('__faceOff(): no suits.')
         return
     if len(self.toons) == 0:
         self.notify.warning('__faceOff(): no toons.')
         return
     suit = self.suits[0]
     point = self.suitPoints[0][0]
     suitPos = point[0]
     suitHpr = VBase3(point[1], 0.0, 0.0)
     toon = self.toons[0]
     point = self.toonPoints[0][0]
     toonPos = point[0]
     toonHpr = VBase3(point[1], 0.0, 0.0)
     p = toon.getPos(self)
     toon.setPos(self, p[0], p[1], 0.0)
     toon.setShadowHeight(0)
     suit.setState('Battle')
     suitTrack = Sequence()
     toonTrack = Sequence()
     suitTrack.append(Func(suit.loop, 'neutral'))
     suitTrack.append(Func(suit.headsUp, toon))
     taunt = SuitBattleGlobals.getFaceoffTaunt(suit.getStyleName(),
                                               suit.doId)
     suitTrack.append(
         Func(suit.setChatAbsolute, taunt, CFSpeech | CFTimeout))
     toonTrack.append(Func(toon.loop, 'neutral'))
     toonTrack.append(Func(toon.headsUp, suit))
     suitHeight = suit.getHeight()
     suitOffsetPnt = Point3(0, 0, suitHeight)
     faceoffTime = self.calcFaceoffTime(self.getPos(), self.initialSuitPos)
     faceoffTime = max(faceoffTime, BATTLE_SMALL_VALUE)
     delay = FACEOFF_TAUNT_T
     if self.hasLocalToon():
         MidTauntCamHeight = suitHeight * 0.66
         MidTauntCamHeightLim = suitHeight - 1.8
         if MidTauntCamHeight < MidTauntCamHeightLim:
             MidTauntCamHeight = MidTauntCamHeightLim
         TauntCamY = 16
         TauntCamX = random.choice((-5, 5))
         TauntCamHeight = random.choice((MidTauntCamHeight, 1, 11))
         camTrack = Sequence()
         camTrack.append(Func(camera.wrtReparentTo, suit))
         camTrack.append(
             Func(base.camLens.setMinFov, self.camFOFov / (4. / 3.)))
         camTrack.append(
             Func(camera.setPos, TauntCamX, TauntCamY, TauntCamHeight))
         camTrack.append(Func(camera.lookAt, suit, suitOffsetPnt))
         camTrack.append(Wait(delay))
         camTrack.append(
             Func(base.camLens.setMinFov, self.camFov / (4. / 3.)))
         camTrack.append(Func(camera.wrtReparentTo, self))
         camTrack.append(Func(camera.setPos, self.camFOPos))
         camTrack.append(Func(camera.lookAt, suit.getPos(self)))
         camTrack.append(Wait(faceoffTime))
     suitTrack.append(Wait(delay))
     toonTrack.append(Wait(delay))
     suitTrack.append(Func(suit.headsUp, self, suitPos))
     suitTrack.append(Func(suit.clearChat))
     toonTrack.append(Func(toon.headsUp, self, toonPos))
     suitTrack.append(Func(suit.loop, 'walk'))
     suitTrack.append(
         LerpPosInterval(suit, faceoffTime, suitPos, other=self))
     suitTrack.append(Func(suit.loop, 'neutral'))
     suitTrack.append(Func(suit.setHpr, self, suitHpr))
     toonTrack.append(Func(toon.loop, 'run'))
     toonTrack.append(
         LerpPosInterval(toon, faceoffTime, toonPos, other=self))
     toonTrack.append(Func(toon.loop, 'neutral'))
     toonTrack.append(Func(toon.setHpr, self, toonHpr))
     if base.localAvatar == toon:
         soundTrack = Sequence(
             Wait(delay),
             SoundInterval(base.localAvatar.soundRun,
                           loop=1,
                           duration=faceoffTime,
                           node=base.localAvatar))
     else:
         soundTrack = Wait(delay + faceoffTime)
     mtrack = Parallel(suitTrack, toonTrack, soundTrack)
     if self.hasLocalToon():
         NametagGlobals.setMasterArrowsOn(0)
         mtrack = Parallel(mtrack, camTrack)
     done = Func(callback)
     track = Sequence(mtrack, done, name=name)
     track.delayDeletes = [
         DelayDelete.DelayDelete(toon, '__faceOff'),
         DelayDelete.DelayDelete(suit, '__faceOff')
     ]
     track.start(ts)
     self.storeInterval(track, name)
    def __faceOff(self, ts, name, callback):
        if len(self.suits) == 0:
            self.notify.warning('__faceOff(): no suits.')
            return
        if len(self.toons) == 0:
            self.notify.warning('__faceOff(): no toons.')
            return
        toon = self.toons[0]
        point = self.toonPoints[0][0]
        toonPos = point[0]
        toonHpr = VBase3(point[1], 0.0, 0.0)
        p = toon.getPos(self)
        toon.setPos(self, p[0], p[1], 0.0)
        toon.setShadowHeight(0)
        if len(self.suits) == 1:
            leaderIndex = 0
        elif self.bossBattle == 1:
            for suit in self.suits:
                if suit.boss:
                    leaderIndex = self.suits.index(suit)
                    break

        else:
            maxTypeNum = -1
            for suit in self.suits:
                suitTypeNum = SuitDNA.getSuitType(suit.dna.name)
                if maxTypeNum < suitTypeNum:
                    maxTypeNum = suitTypeNum
                    leaderIndex = self.suits.index(suit)

        delay = FACEOFF_TAUNT_T
        suitTrack = Parallel()
        suitLeader = None
        for suit in self.suits:
            suit.setState('Battle')
            suitIsLeader = 0
            oneSuitTrack = Sequence()
            oneSuitTrack.append(Func(suit.loop, 'neutral'))
            oneSuitTrack.append(Func(suit.headsUp, toonPos))
            if self.suits.index(suit) == leaderIndex:
                suitLeader = suit
                suitIsLeader = 1
                if self.bossBattle == 1 and self.levelDoId in base.cr.doId2do:
                    level = base.cr.doId2do[self.levelDoId]
                    if suit.boss:
                        taunt = level.getBossTaunt()
                    else:
                        taunt = level.getBossBattleTaunt()
                else:
                    taunt = SuitBattleGlobals.getFaceoffTaunt(suit.getStyleName(), suit.doId)
                oneSuitTrack.append(Func(suit.setChatAbsolute, taunt, CFSpeech | CFTimeout))
            destPos, destHpr = self.getActorPosHpr(suit, self.suits)
            oneSuitTrack.append(Wait(delay))
            if suitIsLeader == 1:
                oneSuitTrack.append(Func(suit.clearChat))
            oneSuitTrack.append(self.createAdjustInterval(suit, destPos, destHpr))
            suitTrack.append(oneSuitTrack)

        suitHeight = suitLeader.getHeight()
        suitOffsetPnt = Point3(0, 0, suitHeight)
        toonTrack = Parallel()
        for toon in self.toons:
            oneToonTrack = Sequence()
            destPos, destHpr = self.getActorPosHpr(toon, self.toons)
            oneToonTrack.append(Wait(delay))
            oneToonTrack.append(self.createAdjustInterval(toon, destPos, destHpr, toon=1, run=1))
            toonTrack.append(oneToonTrack)

        if self.hasLocalToon():
            MidTauntCamHeight = suitHeight * 0.66
            MidTauntCamHeightLim = suitHeight - 1.8
            if MidTauntCamHeight < MidTauntCamHeightLim:
                MidTauntCamHeight = MidTauntCamHeightLim
            TauntCamY = 18
            TauntCamX = 0
            TauntCamHeight = random.choice((MidTauntCamHeight, 1, 11))
            camTrack = Sequence()
            camTrack.append(Func(camera.reparentTo, suitLeader))
            camTrack.append(Func(base.camLens.setMinFov, self.camFOFov/(4./3.)))
            camTrack.append(Func(camera.setPos, TauntCamX, TauntCamY, TauntCamHeight))
            camTrack.append(Func(camera.lookAt, suitLeader, suitOffsetPnt))
            camTrack.append(Wait(delay))
            camTrack.append(Func(base.camLens.setMinFov, self.camFov/(4./3.)))
            camTrack.append(Func(camera.wrtReparentTo, self))
            camTrack.append(Func(camera.setPos, self.camFOPos))
            camTrack.append(Func(camera.lookAt, suit))
        mtrack = Parallel(suitTrack, toonTrack)
        if self.hasLocalToon():
            NametagGlobals.setMasterArrowsOn(0)
            mtrack = Parallel(mtrack, camTrack)
        done = Func(callback)
        track = Sequence(mtrack, done, name=name)
        track.start(ts)
        self.storeInterval(track, name)
        return
 def exitCountryClubReward(self):
     self.notify.debug('exitCountryClubReward()')
     self.movie.resetReward(finish=1)
     self._removeMembersKeep()
     NametagGlobals.setMasterArrowsOn(1)
    def __faceOff(self, ts, name, callback):
        if len(self.suits) == 0:
            self.notify.warning('__faceOff(): no suits.')
            return
        if len(self.toons) == 0:
            self.notify.warning('__faceOff(): no toons.')
            return
        toon = self.toons[0]
        point = self.toonPoints[0][0]
        toonPos = point[0]
        toonHpr = VBase3(point[1], 0.0, 0.0)
        p = toon.getPos(self)
        toon.setPos(self, p[0], p[1], 0.0)
        toon.setShadowHeight(0)
        if len(self.suits) == 1:
            leaderIndex = 0
        elif self.bossBattle == 1:
            for suit in self.suits:
                if suit.boss:
                    leaderIndex = self.suits.index(suit)
                    break

        else:
            maxTypeNum = -1
            for suit in self.suits:
                suitTypeNum = SuitDNA.getSuitType(suit.dna.name)
                if maxTypeNum < suitTypeNum:
                    maxTypeNum = suitTypeNum
                    leaderIndex = self.suits.index(suit)

        delay = FACEOFF_TAUNT_T
        suitTrack = Parallel()
        suitLeader = None
        for suit in self.suits:
            suit.setState('Battle')
            suitIsLeader = 0
            oneSuitTrack = Sequence()
            oneSuitTrack.append(Func(suit.loop, 'neutral'))
            oneSuitTrack.append(Func(suit.headsUp, toonPos))
            if self.suits.index(suit) == leaderIndex:
                suitLeader = suit
                suitIsLeader = 1
                if self.bossBattle == 1 and self.levelDoId in base.cr.doId2do:
                    level = base.cr.doId2do[self.levelDoId]
                    if suit.boss:
                        taunt = level.getBossTaunt()
                    else:
                        taunt = level.getBossBattleTaunt()
                else:
                    taunt = SuitBattleGlobals.getFaceoffTaunt(
                        suit.getStyleName(), suit.doId)
                oneSuitTrack.append(
                    Func(suit.setChatAbsolute, taunt, CFSpeech | CFTimeout))
            destPos, destHpr = self.getActorPosHpr(suit, self.suits)
            oneSuitTrack.append(Wait(delay))
            if suitIsLeader == 1:
                oneSuitTrack.append(Func(suit.clearChat))
            oneSuitTrack.append(
                self.createAdjustInterval(suit, destPos, destHpr))
            suitTrack.append(oneSuitTrack)

        suitHeight = suitLeader.getHeight()
        suitOffsetPnt = Point3(0, 0, suitHeight)
        toonTrack = Parallel()
        for toon in self.toons:
            oneToonTrack = Sequence()
            destPos, destHpr = self.getActorPosHpr(toon, self.toons)
            oneToonTrack.append(Wait(delay))
            oneToonTrack.append(
                self.createAdjustInterval(toon,
                                          destPos,
                                          destHpr,
                                          toon=1,
                                          run=1))
            toonTrack.append(oneToonTrack)

        if self.hasLocalToon():
            MidTauntCamHeight = suitHeight * 0.66
            MidTauntCamHeightLim = suitHeight - 1.8
            if MidTauntCamHeight < MidTauntCamHeightLim:
                MidTauntCamHeight = MidTauntCamHeightLim
            TauntCamY = 18
            TauntCamX = 0
            TauntCamHeight = random.choice((MidTauntCamHeight, 1, 11))
            camTrack = Sequence()
            camTrack.append(Func(camera.reparentTo, suitLeader))
            camTrack.append(
                Func(base.camLens.setMinFov, self.camFOFov / (4. / 3.)))
            camTrack.append(
                Func(camera.setPos, TauntCamX, TauntCamY, TauntCamHeight))
            camTrack.append(Func(camera.lookAt, suitLeader, suitOffsetPnt))
            camTrack.append(Wait(delay))
            camTrack.append(
                Func(base.camLens.setMinFov, self.camFov / (4. / 3.)))
            camTrack.append(Func(camera.wrtReparentTo, self))
            camTrack.append(Func(camera.setPos, self.camFOPos))
            camTrack.append(Func(camera.lookAt, suit))
        mtrack = Parallel(suitTrack, toonTrack)
        if self.hasLocalToon():
            NametagGlobals.setMasterArrowsOn(0)
            mtrack = Parallel(mtrack, camTrack)
        done = Func(callback)
        track = Sequence(mtrack, done, name=name)
        track.start(ts)
        self.storeInterval(track, name)
        return