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 __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
 def exit(self):
     self.ignoreAll()
     messenger.send('exitToonInterior')
     self._telemLimiter.destroy()
     del self._telemLimiter
     NametagGlobals.setMasterArrowsOn(0)
     self.loader.activityMusic.stop()
    def enterControlled(self, avId):
        self.avId = avId
        self.toon = base.cr.doId2do.get(avId, None)
        if self.toon:
            self.toon.stopSmooth()
            self.toon.stopPosHprBroadcast()
            for feet in self.toon.getPieces(('legs', 'feet')):
                feet.hide()

            self.toon.reparentTo(self.toonSeat)
            self.toon.dropShadow.hide()
            self.notify.debug('setting pos of toon%s' % self.toon.doId)
            self.toon.setPosHpr(0, 0, 0, 0, 0, 0)
            self.toon.loop('sit')
            if self.toon.doId == localAvatar.doId:
                self.notify.debug('calling send currentPosition')
                self.toon.sendCurrentPosition()
            self.doHeadScale(self.toon, 1.75)
            self.toon.setShear(0, 0, 0)
        NametagGlobals.setOnscreenChatForced(1)
        if self.localVehicle:
            camera.reparentTo(self.cameraNode)
            camera.setPosHpr(0, -33, 16, 0, -10, 0)
            self.physicsMgr.attachPhysicalNode(self.node())
            self.__enableControlInterface()
            self.__createPieWindshield()
            self.startPosHprBroadcast()
            self.engineSfxTrack = self.generateEngineStartTrack()
            self.engineSfxTrack.start()
        else:
            self.startSmooth()
            taskName = 'updateNonlocalVehicle-%s' % avId
            self.updateNonLocalTask = taskMgr.add(self.__updateNonlocalVehicle, taskName)
        return
Esempio n. 5
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 __enableControlInterface(self):
     gui = loader.loadModel('phase_3.5/models/gui/avatar_panel_gui')
     self.closeButton = DirectButton(parent=base.a2dBottomRight,
                                     image=(gui.find('**/CloseBtn_UP'),
                                            gui.find('**/CloseBtn_DN'),
                                            gui.find('**/CloseBtn_Rllvr'),
                                            gui.find('**/CloseBtn_UP')),
                                     relief=None,
                                     scale=2,
                                     text=TTLocalizer.CashbotCraneLeave,
                                     text_scale=0.04,
                                     text_pos=(0, -0.07),
                                     text_fg=VBase4(1, 1, 1, 1),
                                     pos=(-0.25, 0, 0.175),
                                     command=self.__exitCrane)
     self.accept('escape', self.__exitCrane)
     self.accept(base.JUMP, self.__controlPressed)
     self.accept('control-up', self.__controlReleased)
     self.accept('InputState-forward', self.__upArrow)
     self.accept('InputState-reverse', self.__downArrow)
     self.accept('InputState-turnLeft', self.__leftArrow)
     self.accept('InputState-turnRight', self.__rightArrow)
     taskMgr.add(self.__watchControls, 'watchCraneControls')
     taskMgr.doMethodLater(5, self.__displayCraneAdvice,
                           self.craneAdviceName)
     taskMgr.doMethodLater(10, self.__displayMagnetAdvice,
                           self.magnetAdviceName)
     NametagGlobals.setOnscreenChatForced(1)
     self.arrowVert = 0
     self.arrowHorz = 0
     return
    def exitControlled(self):
        if self.localVehicle:
            self.stopPosHprBroadcast()
            self.__disableControlInterface()
            self.physicsMgr.removePhysicalNode(self.node())
            self.cleanupParticles()
            camera.reparentTo(localAvatar)
            camera.setPos(localAvatar.cameraPositions[0][0])
            camera.setHpr(0, 0, 0)
            self.engineSfxTrack.finish()
            self.engineSfxTrack = self.generateEngineStopTrack()
        else:
            self.stopSmooth()
            taskMgr.remove(self.updateNonLocalTask)
        if self.toon and not self.toon.isDisabled() and not self.toon.isEmpty():
            self.toon.dropShadow.show()
            self.doHeadScale(self.toon, None)
            self.toon.setPosHpr(self.geom[0], 0, 8, 0, 0, 0, 0)
            for feet in self.toon.getPieces(('legs', 'feet')):
                feet.show()

            self.toon.reparentTo(render)
            self.toon.loop('neutral')
            self.toon.startSmooth()
        NametagGlobals.setOnscreenChatForced(0)
        base.camLens.setMinFov(settings['fov']/(4./3.))
 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 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')
Esempio n. 10
0
    def exitReward(self):
        self.ignore('clientCleanup')
        taskMgr.remove('countUpTask')
        taskMgr.remove('countDownTask')
        taskMgr.remove('celebrate')
        taskMgr.remove('purchase-trans')
        taskMgr.remove('delayAdd')
        taskMgr.remove('delaySubtract')
        for toon in self.toons:
            toon.detachNode()

        del self.toons
        if hasattr(self, 'toonsKeep'):
            for delayDelete in self.toonsKeep:
                delayDelete.destroy()

            del self.toonsKeep
        for counter in self.counters:
            counter.reparentTo(hidden)

        for total in self.totalCounters:
            total.reparentTo(hidden)

        self.foreground.reparentTo(hidden)
        self.backgroundL.reparentTo(hidden)
        self.backgroundR.reparentTo(hidden)
        self.sidewalk.reparentTo(hidden)
        self.sidewalkL.reparentTo(hidden)
        self.sidewalkR.reparentTo(hidden)
        self.door.reparentTo(hidden)
        self.title.reparentTo(self.frame)
        self.rewardDoubledJellybeanLabel.hide()
        base.camLens.setMinFov(settings['fov'] / (4. / 3.))
        NametagGlobals.setOnscreenChatForced(0)
    def exitReward(self):
        self.ignore('clientCleanup')
        taskMgr.remove('countUpTask')
        taskMgr.remove('countDownTask')
        taskMgr.remove('celebrate')
        taskMgr.remove('purchase-trans')
        taskMgr.remove('delayAdd')
        taskMgr.remove('delaySubtract')
        for toon in self.toons:
            toon.detachNode()

        del self.toons
        if hasattr(self, 'toonsKeep'):
            for delayDelete in self.toonsKeep:
                delayDelete.destroy()

            del self.toonsKeep
        for counter in self.counters:
            counter.reparentTo(hidden)

        for total in self.totalCounters:
            total.reparentTo(hidden)

        self.foreground.reparentTo(hidden)
        self.backgroundL.reparentTo(hidden)
        self.backgroundR.reparentTo(hidden)
        self.sidewalk.reparentTo(hidden)
        self.sidewalkL.reparentTo(hidden)
        self.sidewalkR.reparentTo(hidden)
        self.door.reparentTo(hidden)
        self.title.reparentTo(self.frame)
        self.rewardDoubledJellybeanLabel.hide()
        base.camLens.setMinFov(settings['fov']/(4./3.))
        NametagGlobals.setOnscreenChatForced(0)
Esempio n. 12
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()
 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 exitReward(self):
     self.notify.info('exitReward()')
     self.clearInterval(self.uniqueName('floorReward'))
     self._removeMembersKeep()
     NametagGlobals.setMasterArrowsOn(1)
     for toon in self.toons:
         toon.startSmooth()
 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 exitFLM(self):
     self.notify.debug('FriendsListManager: exitFLM()')
     if self._preserveFriendsList:
         return
     if not self._entered:
         return
     self._entered = False
     self.ignore('openFriendsList')
     self.ignore('clickedNametag')
     base.localAvatar.setFriendsListButtonActive(0)
     NametagGlobals.setMasterNametagsActive(0)
     if self.avatarPanel:
         self.avatarPanel.cleanup()
         self.avatarPanel = None
     self.ignore('gotoAvatar')
     self.ignore('friendAvatar')
     self.ignore('avatarDetails')
     FriendsListPanel.hideFriendsList()
     if base.cr.friendManager:
         base.cr.friendManager.setAvailable(0)
     self.ignore('friendInvitation')
     FriendInviter.hideFriendInviter()
     ToonAvatarDetailPanel.hideAvatarDetail()
     ToonTeleportPanel.hideTeleportPanel()
     return
 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. 20
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)
Esempio n. 21
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)
 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. 25
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'))
Esempio n. 26
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 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])
 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
Esempio n. 29
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
Esempio n. 30
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)
 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 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. 33
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. 34
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])
Esempio n. 35
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)
    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)
 def enterFLM(self):
     self.notify.debug('FriendsListManager: enterFLM()')
     if self._preserveFriendsList:
         self._preserveFriendsList = 0
         return
     self._entered = True
     self.accept('openFriendsList', self.__openFriendsList)
     self.accept('clickedNametag', self.__handleClickedNametag)
     base.localAvatar.setFriendsListButtonActive(1)
     NametagGlobals.setMasterNametagsActive(1)
     self.accept('gotoAvatar', self.__handleGotoAvatar)
     self.accept('friendAvatar', self.__handleFriendAvatar)
     self.accept('avatarDetails', self.__handleAvatarDetails)
     self.accept('friendInvitation', self.__handleFriendInvitation)
     if base.cr.friendManager:
         base.cr.friendManager.setAvailable(1)
Esempio n. 38
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. 40
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)
 def __disableControlInterface(self):
     self.__turnOffMagnet()
     if self.closeButton:
         self.closeButton.destroy()
         self.closeButton = None
     self.__cleanupCraneAdvice()
     self.__cleanupMagnetAdvice()
     self.ignore('escape')
     self.ignore(base.JUMP)
     self.ignore('control-up')
     self.ignore('InputState-forward')
     self.ignore('InputState-reverse')
     self.ignore('InputState-turnLeft')
     self.ignore('InputState-turnRight')
     self.arrowVert = 0
     self.arrowHorz = 0
     NametagGlobals.setOnscreenChatForced(0)
     taskMgr.remove('watchCraneControls')
     self.__setMoveSound(None)
     return
 def __disableControlInterface(self):
     self.__turnOffMagnet()
     if self.closeButton:
         self.closeButton.destroy()
         self.closeButton = None
     self.__cleanupCraneAdvice()
     self.__cleanupMagnetAdvice()
     self.ignore('escape')
     self.ignore(base.JUMP)
     self.ignore('control-up')
     self.ignore('InputState-forward')
     self.ignore('InputState-reverse')
     self.ignore('InputState-turnLeft')
     self.ignore('InputState-turnRight')
     self.arrowVert = 0
     self.arrowHorz = 0
     NametagGlobals.setOnscreenChatForced(0)
     taskMgr.remove('watchCraneControls')
     self.__setMoveSound(None)
     return
Esempio n. 43
0
    def exit(self):
        if not self.entered:
            return
        self.entered = 0
        messenger.send('stickerBookExited')
        base.playSfx(self.closeSound)
        self.pages[self.currPageIndex].exit()
        base.render.show()
        setBlackBackground = 0
        for obj in base.cr.doId2do.values():
            if isinstance(obj, DistributedFireworkShow.DistributedFireworkShow
                          ) or isinstance(
                              obj, DistributedPartyFireworksActivity.
                              DistributedPartyFireworksActivity):
                setBlackBackground = 1

        if setBlackBackground:
            base.setBackgroundColor(Vec4(0, 0, 0, 1))
        else:
            base.setBackgroundColor(ToontownGlobals.DefaultBackgroundColor)
        gsg = base.win.getGsg()
        if gsg:
            base.render.prepareScene(gsg)
        NametagGlobals.setMin2dAlpha(self.oldMin2dAlpha)
        NametagGlobals.setMax2dAlpha(self.oldMax2dAlpha)
        base.setCellsAvailable([base.rightCells[0]], 1)

        self.__isOpen = 0
        self.hide()
        self.hideButton()
        cleanupDialog('globalDialog')
        self.pageTabFrame.hide()
        self.ignore('shtiker-page-done')
        self.ignore(ToontownGlobals.StickerBookHotkey)
        self.ignore(ToontownGlobals.OptionsPageHotkey)
        self.ignore(self.tempRight)
        self.ignore(self.tempLeft)
        self.ignore('disable-hotkeys')
        self.ignore('enable-hotkeys')
        if base.config.GetBool('want-qa-regression', 0):
            self.notify.info('QA-REGRESSION: SHTICKERBOOK: Close')
Esempio n. 44
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 enter(self):
        if base.config.GetBool('want-qa-regression', 0):
            self.notify.info('QA-REGRESSION: SHTICKERBOOK: Open')
        if self.entered:
            return
        self.entered = 1
        messenger.send('releaseDirector')
        messenger.send('stickerBookEntered')
        base.playSfx(self.openSound)
        base.disableMouse()
        base.render.hide()
        base.setBackgroundColor(0.05, 0.15, 0.4)
        base.setCellsAvailable([base.rightCells[0]], 0)

        self.oldMin2dAlpha = NametagGlobals.getMin2dAlpha()
        self.oldMax2dAlpha = NametagGlobals.getMax2dAlpha()
        NametagGlobals.setMin2dAlpha(0.8)
        NametagGlobals.setMax2dAlpha(1.0)
        self.__isOpen = 1
        self.__setButtonVisibility()
        self.show()
        self.showPageArrows()
        self.tempLeft = 'arrow_left'
        self.tempRight = 'arrow_right'
        if not self.safeMode:
            self.accept('shtiker-page-done', self.__pageDone)
            self.accept(ToontownGlobals.StickerBookHotkey, self.__close)
            self.accept(ToontownGlobals.OptionsPageHotkey, self.__close)


            self.pageTabFrame.show()
        self.pages[self.currPageIndex].enter()
Esempio n. 46
0
    def enter(self):
        if base.config.GetBool('want-qa-regression', 0):
            self.notify.info('QA-REGRESSION: SHTICKERBOOK: Open')
        if self.entered:
            return
        self.entered = 1
        messenger.send('releaseDirector')
        messenger.send('stickerBookEntered')
        base.playSfx(self.openSound)
        base.disableMouse()
        base.render.hide()
        base.setBackgroundColor(0.05, 0.15, 0.4)
        base.setCellsAvailable([base.rightCells[0]], 0)

        self.oldMin2dAlpha = NametagGlobals.getMin2dAlpha()
        self.oldMax2dAlpha = NametagGlobals.getMax2dAlpha()
        NametagGlobals.setMin2dAlpha(0.8)
        NametagGlobals.setMax2dAlpha(1.0)
        self.__isOpen = 1
        self.__setButtonVisibility()
        self.show()
        self.showPageArrows()
        self.tempLeft = 'arrow_left'
        self.tempRight = 'arrow_right'
        if not self.safeMode:
            self.accept('shtiker-page-done', self.__pageDone)
            self.accept(ToontownGlobals.StickerBookHotkey, self.__close)
            self.accept(ToontownGlobals.OptionsPageHotkey, self.__close)

            self.pageTabFrame.show()
        self.pages[self.currPageIndex].enter()
Esempio n. 47
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 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. 49
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)
Esempio n. 50
0
    def enterReward(self):
        numToons = 0
        toonLayouts = ((2, ), (1, 3), (0, 2, 4), (0, 1, 3, 4))
        toonPositions = (5.0, 1.75, -0.25, -1.75, -5.0)
        self.toons = []
        self.toonsKeep = []
        self.counters = []
        self.totalCounters = []
        camera.reparentTo(render)
        camera.setPos(0, 16.0, 2.0)
        camera.lookAt(0, 0, 0.75)
        base.transitions.irisIn(0.4)
        base.camLens.setMinFov(60 / (4. / 3.))
        base.setBackgroundColor(Vec4(0, 0.6, 1, 1))
        self.title.reparentTo(aspect2d)
        self.foreground.reparentTo(render)
        self.backgroundL.reparentTo(render)
        self.backgroundR.reparentTo(render)
        self.sidewalk.reparentTo(render)
        self.sidewalkL.reparentTo(render)
        self.sidewalkR.reparentTo(render)
        self.door.reparentTo(render)
        size = 20
        z = -2.5
        floor = CollisionPolygon(Point3(-size, -size, z),
                                 Point3(size, -size, z), Point3(size, size, z),
                                 Point3(-size, size, z))
        floor.setTangible(1)
        floorNode = CollisionNode('collision_floor')
        floorNode.addSolid(floor)
        self.collisionFloor = render.attachNewNode(floorNode)
        NametagGlobals.setOnscreenChatForced(1)
        for index in xrange(len(self.ids)):
            avId = self.ids[index]
            if self.states[index] != PURCHASE_NO_CLIENT_STATE and self.states[
                    index] != PURCHASE_DISCONNECTED_STATE and avId in base.cr.doId2do:
                numToons += 1
                toon = base.cr.doId2do[avId]
                toon.stopSmooth()
                self.toons.append(toon)
                self.toonsKeep.append(
                    DelayDelete.DelayDelete(toon, 'Purchase.enterReward'))
                counter = DirectLabel(parent=hidden,
                                      relief=None,
                                      pos=(0.0, 0.0, 0.0),
                                      text=str(0),
                                      text_scale=0.2,
                                      text_fg=(0.95, 0.95, 0, 1),
                                      text_pos=(0, -0.1, 0),
                                      text_font=ToontownGlobals.getSignFont())
                counter['image'] = DGG.getDefaultDialogGeom()
                counter['image_scale'] = (0.33, 1, 0.33)
                counter.setScale(0.5)
                counter.count = 0
                counter.max = self.pointsArray[index]
                self.counters.append(counter)
                money = self.playerMoney[index]
                totalCounter = DirectLabel(
                    parent=hidden,
                    relief=None,
                    pos=(0.0, 0.0, 0.0),
                    text=str(money),
                    text_scale=0.2,
                    text_fg=(0.95, 0.95, 0, 1),
                    text_pos=(0, -0.1, 0),
                    text_font=ToontownGlobals.getSignFont(),
                    image=self.jarImage)
                totalCounter.setScale(0.5)
                totalCounter.count = money
                totalCounter.max = toon.getMaxMoney()
                self.totalCounters.append(totalCounter)

        self.accept('clientCleanup', self._handleClientCleanup)
        pos = 0
        toonLayout = toonLayouts[numToons - 1]
        for toon in self.toons:
            thisPos = toonPositions[toonLayout[pos]]
            toon.setPos(Vec3(thisPos, 1.0, -2.5))
            toon.setHpr(Vec3(0, 0, 0))
            toon.setAnimState('neutral', 1)
            toon.setShadowHeight(0)
            if not toon.isDisabled():
                toon.reparentTo(render)
            self.counters[pos].setPos(thisPos * -0.17, 0,
                                      toon.getHeight() / 10 + 0.25)
            self.counters[pos].reparentTo(aspect2d)
            self.totalCounters[pos].setPos(thisPos * -0.17, 0, -0.825)
            self.totalCounters[pos].reparentTo(aspect2d)
            pos += 1

        self.maxPoints = max(self.pointsArray)

        def reqCountUp(state):
            self.countUp()
            return Task.done

        countUpDelay = DELAY_BEFORE_COUNT_UP
        taskMgr.doMethodLater(countUpDelay, reqCountUp, 'countUpTask')

        def reqCountDown(state):
            self.countDown()
            return Task.done

        countDownDelay = countUpDelay + COUNT_UP_DURATION + DELAY_AFTER_COUNT_UP
        taskMgr.doMethodLater(countDownDelay, reqCountDown, 'countDownTask')

        def celebrate(task):
            for counter in task.counters:
                counter.hide()

            winningPoints = max(task.pointsArray)
            for i in xrange(len(task.ids)):
                if task.pointsArray[i] == winningPoints:
                    avId = task.ids[i]
                    if avId in base.cr.doId2do:
                        toon = base.cr.doId2do[avId]
                        toon.setAnimState('jump', 1.0)

            base.playSfx(task.celebrateSound)
            return Task.done

        celebrateDelay = countDownDelay + COUNT_DOWN_DURATION + DELAY_AFTER_COUNT_DOWN
        celebrateTask = taskMgr.doMethodLater(celebrateDelay, celebrate,
                                              'celebrate')
        celebrateTask.counters = self.counters
        celebrateTask.pointsArray = self.pointsArray
        celebrateTask.ids = self.ids
        celebrateTask.celebrateSound = self.celebrateSound

        def reqPurchase(state):
            self.fsm.request('purchase')
            return Task.done

        purchaseDelay = celebrateDelay + DELAY_AFTER_CELEBRATE
        taskMgr.doMethodLater(purchaseDelay, reqPurchase, 'purchase-trans')
        if base.skipMinigameReward:
            self.fsm.request('purchase')
        return