def forcedExit(self, avId): target_sz = base.localAvatar.defaultZone base.cr.playGame.getPlace().fsm.request('teleportOut', [{'loader': ZoneUtil.getLoaderName(target_sz), 'where': ZoneUtil.getWhereName(target_sz, 1), 'how': 'teleportIn', 'hoodId': target_sz, 'zoneId': target_sz, 'shardId': None, 'avId': -1}], force=1) return
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 localToonDied(self): target_sz = ZoneUtil.getSafeZoneId(localAvatar.defaultZone) place = self.cr.playGame.getPlace() place.fsm.request('died', [{'loader': ZoneUtil.getLoaderName(target_sz), 'where': ZoneUtil.getWhereName(target_sz, 1), 'how': 'teleportIn', 'hoodId': target_sz, 'zoneId': target_sz, 'shardId': None, 'avId': -1, 'battle': 1}]) return
def forcedExit(self, avId): target_sz = base.localAvatar.defaultZone base.cr.playGame.getPlace().fsm.request( 'teleportOut', [{ 'loader': ZoneUtil.getLoaderName(target_sz), 'where': ZoneUtil.getWhereName(target_sz, 1), 'how': 'teleportIn', 'hoodId': target_sz, 'zoneId': target_sz, 'shardId': None, 'avId': -1 }], force=1) return
def localToonDied(self): target_sz = ZoneUtil.getSafeZoneId(localAvatar.defaultZone) place = self.cr.playGame.getPlace() place.fsm.request('died', [{ 'loader': ZoneUtil.getLoaderName(target_sz), 'where': ZoneUtil.getWhereName(target_sz, 1), 'how': 'teleportIn', 'hoodId': target_sz, 'zoneId': target_sz, 'shardId': None, 'avId': -1, 'battle': 1 }]) 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 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 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 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 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 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
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
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