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')
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')
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
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
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
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 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
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
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