def kickToPlayground(self, retCode):
     if retCode == 0:
         msg = TTLocalizer.EstateOwnerLeftMessage % HouseGlobals.BOOT_GRACE_PERIOD
         self.__popupKickoutMessage(msg)
     elif retCode == 1:
         zoneId = base.localAvatar.lastHood
         self.doneStatus = {'loader': ZoneUtil.getBranchLoaderName(zoneId),
          'where': ZoneUtil.getToonWhereName(zoneId),
          'how': 'teleportIn',
          'hoodId': zoneId,
          'zoneId': zoneId,
          'shardId': None,
          'avId': -1}
         messenger.send(self.doneEvent)
     elif retCode == 2:
         zoneId = base.localAvatar.lastHood
         self.doneStatus = {'loader': ZoneUtil.getBranchLoaderName(zoneId),
          'where': ZoneUtil.getToonWhereName(zoneId),
          'how': 'teleportIn',
          'hoodId': zoneId,
          'zoneId': zoneId,
          'shardId': None,
          'avId': -1}
         messenger.send(self.doneEvent)
     else:
         self.notify.error('unknown reason for exiting estate')
示例#2
0
 def kickToPlayground(self, retCode):
     if retCode == 0:
         msg = TTLocalizer.EstateOwnerLeftMessage % HouseGlobals.BOOT_GRACE_PERIOD
         self.__popupKickoutMessage(msg)
     elif retCode == 1:
         zoneId = base.localAvatar.lastHood
         self.doneStatus = {
             'loader': ZoneUtil.getBranchLoaderName(zoneId),
             'where': ZoneUtil.getToonWhereName(zoneId),
             'how': 'teleportIn',
             'hoodId': zoneId,
             'zoneId': zoneId,
             'shardId': None,
             'avId': -1
         }
         messenger.send(self.doneEvent)
     elif retCode == 2:
         zoneId = base.localAvatar.lastHood
         self.doneStatus = {
             'loader': ZoneUtil.getBranchLoaderName(zoneId),
             'where': ZoneUtil.getToonWhereName(zoneId),
             'how': 'teleportIn',
             'hoodId': zoneId,
             'zoneId': zoneId,
             'shardId': None,
             'avId': -1
         }
         messenger.send(self.doneEvent)
     else:
         self.notify.error('unknown reason for exiting estate')
示例#3
0
    def addLinkTunnelHooks(self, hoodPart, nodeList):
        tunnelOriginList = []
        for i in nodeList:
            linkTunnelNPC = i.findAllMatches('**/linktunnel*')
            for p in xrange(linkTunnelNPC.getNumPaths()):
                linkTunnel = linkTunnelNPC.getPath(p)
                name = linkTunnel.getName()
                nameParts = name.split('_')
                hoodStr = nameParts[1]
                zoneStr = nameParts[2]
                hoodId = self.getIdFromName(hoodStr)
                zoneId = int(zoneStr)
                linkSphere = linkTunnel.find('**/tunnel_trigger')
                if linkSphere.isEmpty():
                    linkSphere = linkTunnel.find('**/tunnel_sphere')
                if not linkSphere.isEmpty():
                    cnode = linkSphere.node()
                    cnode.setName('tunnel_trigger_' + hoodStr + '_' + zoneStr)
                    cnode.setCollideMask(ToontownGlobals.WallBitmask
                                         | ToontownGlobals.GhostBitmask)
                else:
                    linkSphere = linkTunnel.find('**/tunnel_trigger_' +
                                                 hoodStr + '_' + zoneStr)
                    if linkSphere.isEmpty():
                        self.notify.error('tunnel_trigger not found')
                tunnelOrigin = linkTunnel.find('**/tunnel_origin')
                if tunnelOrigin.isEmpty():
                    self.notify.error('tunnel_origin not found')
                tunnelOriginPlaceHolder = render.attachNewNode('toph_' +
                                                               hoodStr + '_' +
                                                               zoneStr)
                tunnelOriginList.append(tunnelOriginPlaceHolder)
                tunnelOriginPlaceHolder.setPos(tunnelOrigin.getPos(render))
                tunnelOriginPlaceHolder.setHpr(tunnelOrigin.getHpr(render))
                hood = base.localAvatar.cr.playGame.hood
                if ZoneUtil.tutorialDict:
                    how = 'teleportIn'
                    tutorialFlag = 1
                else:
                    how = 'tunnelIn'
                    tutorialFlag = 0
                hoodPart.accept('enter' + linkSphere.getName(),
                                hoodPart.handleEnterTunnel,
                                [{
                                    'loader': ZoneUtil.getLoaderName(zoneId),
                                    'where': ZoneUtil.getToonWhereName(zoneId),
                                    'how': how,
                                    'hoodId': hoodId,
                                    'zoneId': zoneId,
                                    'shardId': None,
                                    'tunnelOrigin': tunnelOriginPlaceHolder,
                                    'tutorial': tutorialFlag
                                }])

        return tunnelOriginList
 def kickToonsOut(self):
     if not self.localToonOnBoard:
         zoneId = self.cr.playGame.hood.hoodId
         self.cr.playGame.getPlace().fsm.request('teleportOut', [{'loader': ZoneUtil.getLoaderName(zoneId),
           'where': ZoneUtil.getToonWhereName(zoneId),
           'how': 'teleportIn',
           'hoodId': zoneId,
           'zoneId': zoneId,
           'shardId': None,
           'avId': -1}])
     return
 def getRequestStatus(self):
     zoneId = self.otherZoneId
     request = {'loader': ZoneUtil.getBranchLoaderName(zoneId),
      'where': ZoneUtil.getToonWhereName(zoneId),
      'how': 'doorIn',
      'hoodId': ZoneUtil.getHoodId(zoneId),
      'zoneId': zoneId,
      'shardId': None,
      'avId': -1,
      'allowRedirect': 0,
      'doorDoId': self.otherDoId}
     return request
 def enterReward(self, ts = 0):
     base.localAvatar.b_setParent(ToontownGlobals.SPHidden)
     request = {'loader': ZoneUtil.getBranchLoaderName(self.extZoneId),
      'where': ZoneUtil.getToonWhereName(self.extZoneId),
      'how': 'elevatorIn',
      'hoodId': ZoneUtil.getHoodId(self.extZoneId),
      'zoneId': self.extZoneId,
      'shardId': None,
      'avId': base.localAvatar.doId,
      'bldgDoId': self.distBldgDoId}
     messenger.send('DSIDoneEvent', [request])
     return
示例#7
0
 def getRequestStatus(self):
     zoneId = self.otherZoneId
     request = {
         'loader': ZoneUtil.getBranchLoaderName(zoneId),
         'where': ZoneUtil.getToonWhereName(zoneId),
         'how': 'doorIn',
         'hoodId': ZoneUtil.getHoodId(zoneId),
         'zoneId': zoneId,
         'shardId': None,
         'avId': -1,
         'allowRedirect': 0,
         'doorDoId': self.otherDoId
     }
     return request
示例#8
0
 def enterReward(self, ts=0):
     base.localAvatar.b_setParent(ToontownGlobals.SPHidden)
     request = {
         'loader': ZoneUtil.getBranchLoaderName(self.extZoneId),
         'where': ZoneUtil.getToonWhereName(self.extZoneId),
         'how': 'elevatorIn',
         'hoodId': ZoneUtil.getHoodId(self.extZoneId),
         'zoneId': self.extZoneId,
         'shardId': None,
         'avId': base.localAvatar.doId,
         'bldgDoId': self.distBldgDoId
     }
     messenger.send('DSIDoneEvent', [request])
     return
 def exitCogdoBuilding(self):
     if base.localAvatar.hp < 0:
         return
     base.localAvatar.b_setParent(ToontownGlobals.SPHidden)
     request = {'loader': ZoneUtil.getBranchLoaderName(self.extZoneId),
      'where': ZoneUtil.getToonWhereName(self.extZoneId),
      'how': 'elevatorIn',
      'hoodId': ZoneUtil.getHoodId(self.extZoneId),
      'zoneId': self.extZoneId,
      'shardId': None,
      'avId': -1,
      'bldgDoId': self.distBldgDoId}
     messenger.send('DSIDoneEvent', [request])
     return
 def handleMintWinEvent(self):
     MintInterior.notify.debug('handleMintWinEvent')
     if base.cr.playGame.getPlace().fsm.getCurrentState().getName() == 'died':
         return
     self.mintDefeated = 1
     if 1:
         zoneId = ZoneUtil.getHoodId(self.zoneId)
     else:
         zoneId = ZoneUtil.getSafeZoneId(base.localAvatar.defaultZone)
     self.fsm.request('teleportOut', [{'loader': ZoneUtil.getLoaderName(zoneId),
                                      'where': ZoneUtil.getToonWhereName(zoneId),
                                      'how': 'teleportIn',
                                      'hoodId': zoneId,
                                      'zoneId': zoneId,
                                      'shardId': None,
                                      'avId': -1}])
    def addLinkTunnelHooks(self, hoodPart, nodeList):
        tunnelOriginList = []
        for i in nodeList:
            linkTunnelNPC = i.findAllMatches('**/linktunnel*')
            for p in xrange(linkTunnelNPC.getNumPaths()):
                linkTunnel = linkTunnelNPC.getPath(p)
                name = linkTunnel.getName()
                nameParts = name.split('_')
                hoodStr = nameParts[1]
                zoneStr = nameParts[2]
                hoodId = self.getIdFromName(hoodStr)
                zoneId = int(zoneStr)
                linkSphere = linkTunnel.find('**/tunnel_trigger')
                if linkSphere.isEmpty():
                    linkSphere = linkTunnel.find('**/tunnel_sphere')
                if not linkSphere.isEmpty():
                    cnode = linkSphere.node()
                    cnode.setName('tunnel_trigger_' + hoodStr + '_' + zoneStr)
                    cnode.setCollideMask(ToontownGlobals.WallBitmask | ToontownGlobals.GhostBitmask)
                else:
                    linkSphere = linkTunnel.find('**/tunnel_trigger_' + hoodStr + '_' + zoneStr)
                    if linkSphere.isEmpty():
                        self.notify.error('tunnel_trigger not found')
                tunnelOrigin = linkTunnel.find('**/tunnel_origin')
                if tunnelOrigin.isEmpty():
                    self.notify.error('tunnel_origin not found')
                tunnelOriginPlaceHolder = render.attachNewNode('toph_' + hoodStr + '_' + zoneStr)
                tunnelOriginList.append(tunnelOriginPlaceHolder)
                tunnelOriginPlaceHolder.setPos(tunnelOrigin.getPos(render))
                tunnelOriginPlaceHolder.setHpr(tunnelOrigin.getHpr(render))
                hood = base.localAvatar.cr.playGame.hood
                if ZoneUtil.tutorialDict:
                    how = 'teleportIn'
                    tutorialFlag = 1
                else:
                    how = 'tunnelIn'
                    tutorialFlag = 0
                hoodPart.accept('enter' + linkSphere.getName(), hoodPart.handleEnterTunnel, [{'loader': ZoneUtil.getLoaderName(zoneId),
                  'where': ZoneUtil.getToonWhereName(zoneId),
                  'how': how,
                  'hoodId': hoodId,
                  'zoneId': zoneId,
                  'shardId': None,
                  'tunnelOrigin': tunnelOriginPlaceHolder,
                  'tutorial': tutorialFlag}])

        return tunnelOriginList
 def goToPartyFailed(self, reason):
     self.notify.debug('goToPartyFailed')
     failedToVisitAvId = self.doneStatus.get('avId')
     message = base.cr.partyManager.getGoToPartyFailedMessage(reason)
     self.notify.debug('goToPartyFailed, why =: %s' % message)
     self.ignore('gotLocalPartyZone')
     zoneId = base.localAvatar.lastHood
     loaderName = ZoneUtil.getLoaderName(zoneId)
     whereName = ZoneUtil.getToonWhereName(zoneId)
     base.localAvatar.setSystemMessage(0, message)
     self.fsm.request('quietZone', [{'loader': loaderName,
       'where': whereName,
       'how': 'teleportIn',
       'hoodId': zoneId,
       'zoneId': zoneId,
       'shardId': None}])
     return Task.done
 def kickToonsOut(self):
     if not self.localToonOnBoard:
         zoneId = self.cr.playGame.hood.hoodId
         self.cr.playGame.getPlace().fsm.request(
             "teleportOut",
             [
                 {
                     "loader": ZoneUtil.getLoaderName(zoneId),
                     "where": ZoneUtil.getToonWhereName(zoneId),
                     "how": "teleportIn",
                     "hoodId": zoneId,
                     "zoneId": zoneId,
                     "shardId": None,
                     "avId": -1,
                 }
             ],
         )
     return
 def kickToPlayground(self, retCode):
     if retCode == 0:
         msg = TTLocalizer.PartyOverWarningNoName
         if hasattr(base, 'distributedParty') and base.distributedParty:
             name = base.distributedParty.hostName
             msg = TTLocalizer.PartyOverWarningWithName % TTLocalizer.GetPossesive(name)
         self.__popupKickoutMessage(msg)
         base.localAvatar.setTeleportAvailable(0)
     if retCode == 1:
         zoneId = base.localAvatar.lastHood
         self.doneStatus = {'loader': ZoneUtil.getBranchLoaderName(zoneId),
          'where': ZoneUtil.getToonWhereName(zoneId),
          'how': 'teleportIn',
          'hoodId': zoneId,
          'zoneId': zoneId,
          'shardId': None,
          'avId': -1}
         messenger.send(self.doneEvent)
     return
示例#15
0
 def goToPartyFailed(self, reason):
     self.notify.debug('goToPartyFailed')
     failedToVisitAvId = self.doneStatus.get('avId')
     message = base.cr.partyManager.getGoToPartyFailedMessage(reason)
     self.notify.debug('goToPartyFailed, why =: %s' % message)
     self.ignore('gotLocalPartyZone')
     zoneId = base.localAvatar.lastHood
     loaderName = ZoneUtil.getLoaderName(zoneId)
     whereName = ZoneUtil.getToonWhereName(zoneId)
     base.localAvatar.setSystemMessage(0, message)
     self.fsm.request('quietZone', [{
         'loader': loaderName,
         'where': whereName,
         'how': 'teleportIn',
         'hoodId': zoneId,
         'zoneId': zoneId,
         'shardId': None
     }])
     return Task.done
示例#16
0
 def handleMintWinEvent(self):
     MintInterior.notify.debug('handleMintWinEvent')
     if base.cr.playGame.getPlace().fsm.getCurrentState().getName(
     ) == 'died':
         return
     self.mintDefeated = 1
     if 1:
         zoneId = ZoneUtil.getHoodId(self.zoneId)
     else:
         zoneId = ZoneUtil.getSafeZoneId(base.localAvatar.defaultZone)
     self.fsm.request('teleportOut',
                      [{
                          'loader': ZoneUtil.getLoaderName(zoneId),
                          'where': ZoneUtil.getToonWhereName(zoneId),
                          'how': 'teleportIn',
                          'hoodId': zoneId,
                          'zoneId': zoneId,
                          'shardId': None,
                          'avId': -1
                      }])
 def goHomeFailed(self, task):
     self.notify.debug('goHomeFailed')
     failedToVisitAvId = self.doneStatus.get('avId')
     if failedToVisitAvId > 0:
         message = TTLocalizer.EstateTeleportFailedNotFriends % base.cr.identifyAvatar(failedToVisitAvId).getName()
     else:
         message = TTLocalizer.EstateTeleportFailed
     self.notify.debug('goHomeFailed, why =: %s' % message)
     self.ignore('setLocalEstateZone')
     zoneId = base.localAvatar.lastHood
     loaderName = ZoneUtil.getLoaderName(zoneId)
     whereName = ZoneUtil.getToonWhereName(zoneId)
     base.localAvatar.setSystemMessage(0, message)
     self.fsm.request('quietZone', [{'loader': loaderName,
       'where': whereName,
       'how': 'teleportIn',
       'hoodId': zoneId,
       'zoneId': zoneId,
       'shardId': None}])
     return Task.done
 def enter(self, hoodId, zoneId, avId):
     if hoodId == ToontownGlobals.Tutorial:
         loaderName = 'townLoader'
         whereName = 'toonInterior'
     elif hoodId == ToontownGlobals.MyEstate:
         self.getEstateZoneAndGoHome(avId, zoneId)
         return
     elif hoodId == ToontownGlobals.PartyHood:
         self.getPartyZoneAndGoToParty(avId, zoneId)
         return
     else:
         loaderName = ZoneUtil.getLoaderName(zoneId)
         whereName = ZoneUtil.getToonWhereName(zoneId)
     self.fsm.request('quietZone', [{'loader': loaderName,
       'where': whereName,
       'how': 'teleportIn',
       'hoodId': hoodId,
       'zoneId': zoneId,
       'shardId': None,
       'avId': avId}])
     return
示例#19
0
 def kickToPlayground(self, retCode):
     if retCode == 0:
         msg = TTLocalizer.PartyOverWarningNoName
         if hasattr(base, 'distributedParty') and base.distributedParty:
             name = base.distributedParty.hostName
             msg = TTLocalizer.PartyOverWarningWithName % TTLocalizer.GetPossesive(
                 name)
         self.__popupKickoutMessage(msg)
         base.localAvatar.setTeleportAvailable(0)
     if retCode == 1:
         zoneId = base.localAvatar.lastHood
         self.doneStatus = {
             'loader': ZoneUtil.getBranchLoaderName(zoneId),
             'where': ZoneUtil.getToonWhereName(zoneId),
             'how': 'teleportIn',
             'hoodId': zoneId,
             'zoneId': zoneId,
             'shardId': None,
             'avId': -1
         }
         messenger.send(self.doneEvent)
     return
示例#20
0
 def enter(self, hoodId, zoneId, avId):
     if hoodId == ToontownGlobals.Tutorial:
         loaderName = 'townLoader'
         whereName = 'toonInterior'
     elif hoodId == ToontownGlobals.MyEstate:
         self.getEstateZoneAndGoHome(avId, zoneId)
         return
     elif hoodId == ToontownGlobals.PartyHood:
         self.getPartyZoneAndGoToParty(avId, zoneId)
         return
     else:
         loaderName = ZoneUtil.getLoaderName(zoneId)
         whereName = ZoneUtil.getToonWhereName(zoneId)
     self.fsm.request('quietZone', [{
         'loader': loaderName,
         'where': whereName,
         'how': 'teleportIn',
         'hoodId': hoodId,
         'zoneId': zoneId,
         'shardId': None,
         'avId': avId
     }])
     return
示例#21
0
 def goHomeFailed(self, task):
     self.notify.debug('goHomeFailed')
     failedToVisitAvId = self.doneStatus.get('avId')
     if failedToVisitAvId > 0:
         message = TTLocalizer.EstateTeleportFailedNotFriends % base.cr.identifyAvatar(
             failedToVisitAvId).getName()
     else:
         message = TTLocalizer.EstateTeleportFailed
     self.notify.debug('goHomeFailed, why =: %s' % message)
     self.ignore('setLocalEstateZone')
     zoneId = base.localAvatar.lastHood
     loaderName = ZoneUtil.getLoaderName(zoneId)
     whereName = ZoneUtil.getToonWhereName(zoneId)
     base.localAvatar.setSystemMessage(0, message)
     self.fsm.request('quietZone', [{
         'loader': loaderName,
         'where': whereName,
         'how': 'teleportIn',
         'hoodId': zoneId,
         'zoneId': zoneId,
         'shardId': None
     }])
     return Task.done