def d_teleportResponse(self, avId, available, shardId, hoodId, zoneId, sendToId): teleportNotify.debug( 'sending teleportResponse%s' % ((avId, available, shardId, hoodId, zoneId, sendToId), )) base.cr.ttaFriendsManager.d_teleportResponse(sendToId, available, shardId, hoodId, zoneId)
def d_teleportQuery(self, requesterId, sendToId = None): if sendToId in base.cr.doId2do: teleportNotify.debug('sending teleportQuery%s' % ((requesterId, sendToId),)) self.sendUpdate('teleportQuery', [requesterId], sendToId) else: teleportNotify.debug('sending TTRFM teleportQuery%s' % ((requesterId, sendToId),)) base.cr.ttFriendsManager.d_teleportQuery(sendToId)
def identifyFriend(self, doId, source = None): if doId in self.friendsMap: teleportNotify.debug('friend %s in friendsMap' % doId) return self.friendsMap[doId] avatar = None if doId in self.doId2do: teleportNotify.debug('found friend %s in doId2do' % doId) avatar = self.doId2do[doId] elif self.cache.contains(doId): teleportNotify.debug('found friend %s in cache' % doId) avatar = self.cache.dict[doId] elif self.playerFriendsManager.getAvHandleFromId(doId): teleportNotify.debug('found friend %s in playerFriendsManager' % doId) avatar = base.cr.playerFriendsManager.getAvHandleFromId(doId) else: self.notify.warning("Don't know who friend %s is." % doId) return if not ((isinstance(avatar, DistributedToon.DistributedToon) and avatar.__class__ is DistributedToon.DistributedToon) or isinstance(avatar, DistributedPet.DistributedPet)): self.notify.warning('friendsNotify%s: invalid friend object %s' % ((source, '(%s)' % source, ''), doId)) return if base.wantPets: if avatar.isPet(): if avatar.bFake: handle = PetHandle.PetHandle(avatar) else: handle = avatar else: handle = FriendHandle.FriendHandle(doId, avatar.getName(), avatar.style, avatar.getPetId()) else: handle = FriendHandle.FriendHandle(doId, avatar.getName(), avatar.style, '') teleportNotify.debug('adding %s to friendsMap' % doId) self.friendsMap[doId] = handle return handle
def requestTeleport(self, hoodId, zoneId, shardId, avId): if avId > 0: teleportNotify.debug("requestTeleport%s" % ((hoodId, zoneId, shardId, avId),)) if localAvatar.hasActiveBoardingGroup(): if avId > 0: teleportNotify.debug("requestTeleport: has active boarding group") rejectText = TTLocalizer.BoardingCannotLeaveZone localAvatar.elevatorNotifier.showMe(rejectText) return loaderId = ZoneUtil.getBranchLoaderName(zoneId) whereId = ZoneUtil.getToonWhereName(zoneId) if hoodId == ToontownGlobals.MyEstate: loaderId = "safeZoneLoader" whereId = "estate" if hoodId == ToontownGlobals.PartyHood: loaderId = "safeZoneLoader" whereId = "party" self.requestLeave( { "loader": loaderId, "where": whereId, "how": "teleportIn", "hoodId": hoodId, "zoneId": zoneId, "shardId": shardId, "avId": avId, } )
def requestTeleport(self, hoodId, zoneId, shardId, avId): if avId > 0: teleportNotify.debug('requestTeleport%s' % ((hoodId, zoneId, shardId, avId), )) if localAvatar.hasActiveBoardingGroup(): if avId > 0: teleportNotify.debug( 'requestTeleport: has active boarding group') rejectText = TTLocalizer.BoardingCannotLeaveZone localAvatar.elevatorNotifier.showMe(rejectText) return loaderId = ZoneUtil.getBranchLoaderName(zoneId) whereId = ZoneUtil.getToonWhereName(zoneId) if hoodId == ToontownGlobals.MyEstate: loaderId = 'safeZoneLoader' whereId = 'estate' if hoodId == ToontownGlobals.PartyHood: loaderId = 'safeZoneLoader' whereId = 'party' self.requestLeave({ 'loader': loaderId, 'where': whereId, 'how': 'teleportIn', 'hoodId': hoodId, 'zoneId': zoneId, 'shardId': shardId, 'avId': avId })
def requestTeleport(self, hoodId, zoneId, shardId, avId): if avId > 0: teleportNotify.debug('requestTeleport%s' % ((hoodId, zoneId, shardId, avId),)) if localAvatar.hasActiveBoardingGroup(): if avId > 0: teleportNotify.debug('requestTeleport: has active boarding group') rejectText = TTLocalizer.BoardingCannotLeaveZone localAvatar.elevatorNotifier.showMe(rejectText) return loaderId = ZoneUtil.getBranchLoaderName(zoneId) whereId = ZoneUtil.getToonWhereName(zoneId) if hoodId == ToontownGlobals.MyEstate: loaderId = 'safeZoneLoader' whereId = 'estate' if hoodId == ToontownGlobals.PartyHood: loaderId = 'safeZoneLoader' whereId = 'party' self.requestLeave({'loader': loaderId, 'where': whereId, 'how': 'teleportIn', 'hoodId': hoodId, 'zoneId': zoneId, 'shardId': shardId, 'avId': avId})
def d_teleportQuery(self, requesterId, sendToId = None): if sendToId in base.cr.doId2do: teleportNotify.debug('sending teleportQuery%s' % ((requesterId, sendToId),)) self.sendUpdate('teleportQuery', [requesterId], sendToId) else: teleportNotify.debug('sending TTRFM teleportQuery%s' % ((requesterId, sendToId),)) base.cr.ttrFriendsManager.d_teleportQuery(sendToId)
def identifyFriend(self, doId, source = None): if self.friendsMap.has_key(doId): teleportNotify.debug('friend %s in friendsMap' % doId) return self.friendsMap[doId] avatar = None if self.doId2do.has_key(doId): teleportNotify.debug('found friend %s in doId2do' % doId) avatar = self.doId2do[doId] elif self.cache.contains(doId): teleportNotify.debug('found friend %s in cache' % doId) avatar = self.cache.dict[doId] elif self.playerFriendsManager.getAvHandleFromId(doId): teleportNotify.debug('found friend %s in playerFriendsManager' % doId) avatar = base.cr.playerFriendsManager.getAvHandleFromId(doId) else: self.notify.warning("Don't know who friend %s is." % doId) return if not (isinstance(avatar, DistributedToon.DistributedToon) and avatar.__class__ is DistributedToon.DistributedToon): if not isinstance(avatar, DistributedPet.DistributedPet): self.notify.warning('friendsNotify%s: invalid friend object %s' % (choice(source, '(%s)' % source, ''), doId)) return if base.wantPets: if avatar.isPet(): handle = avatar.bFake and PetHandle.PetHandle(avatar) else: handle = avatar else: handle = FriendHandle.FriendHandle(doId, avatar.getName(), avatar.style, avatar.getPetId()) else: handle = FriendHandle.FriendHandle(doId, avatar.getName(), avatar.style, '') teleportNotify.debug('adding %s to friendsMap' % doId) self.friendsMap[doId] = handle return handle
def d_teleportResponse(self, avId, available, shardId, hoodId, zoneId): teleportNotify.debug('sending teleportResponse%s' % ((avId, available, shardId, hoodId, zoneId),)) base.localAvatar.sendUpdate('teleportResponse', [ avId, available, shardId, hoodId, zoneId], sendToId = self.doId)
def d_teleportResponse(self, avId, available, shardId, hoodId, zoneId, sendToId): teleportNotify.debug('sending teleportResponse%s' % ((avId, available, shardId, hoodId, zoneId, sendToId),) ) base.cr.ttjFriendsManager.d_teleportResponse(sendToId, available, shardId, hoodId, zoneId )
def identifyFriend(self, avId): handle = None teleportNotify.debug('identifyFriend(%s)' % avId) handle = base.cr.identifyFriend(avId) if not handle: teleportNotify.debug('getAvHandleFromId(%s)' % avId) handle = self.getAvHandleFromId(avId) return handle
def d_teleportResponse(self, avId, available, shardId, hoodId, zoneId, sendToId = None): teleportNotify.debug('sending teleportResponse%s' % ((avId, available, shardId, hoodId, zoneId, sendToId),)) self.sendUpdate('teleportResponse', [ avId, available, shardId, hoodId, zoneId], sendToId)
def teleportResponse(self, avId, available, shardId, hoodId, zoneId): teleportNotify.debug('received teleportResponse%s' % ((avId, available, shardId, hoodId, zoneId),)) messenger.send('teleportResponse', [ avId, available, shardId, hoodId, zoneId])
def teleportGiveup(self, requesterId): teleportNotify.debug('received teleportGiveup(%s)' % (requesterId,)) avatar = base.cr.identifyAvatar(requesterId) if not self._isValidWhisperSource(avatar): self.notify.warning('teleportGiveup from non-toon %s' % requesterId) return if avatar != None: self.setSystemMessage(requesterId, OTPLocalizer.WhisperGiveupVisit % avatar.getName()) return
def d_teleportResponse(self, avId, available, shardId, hoodId, zoneId): teleportNotify.debug('sending teleportResponse%s' % ((avId, available, shardId, hoodId, zoneId),)) base.localAvatar.sendUpdate('teleportResponse', [avId, available, shardId, hoodId, zoneId], sendToId=self.doId)
def enterTeleport(self, shardId, hoodId, zoneId): teleportNotify.debug('enterTeleport%s' % ((shardId, hoodId, zoneId),)) hoodsVisited = base.localAvatar.hoodsVisited canonicalHoodId = ZoneUtil.getCanonicalZoneId(hoodId) if hoodId == ToontownGlobals.MyEstate: teleportNotify.debug('enterTeleport: estate') if shardId == base.localAvatar.defaultShard: shardId = None place = base.cr.playGame.getPlace() place.requestTeleport(hoodId, zoneId, shardId, self.avId) unloadTeleportPanel() elif canonicalHoodId not in hoodsVisited + ToontownGlobals.HoodsAlwaysVisited: teleportNotify.debug('enterTeleport: unknownHood') self.fsm.request('unknownHood', [ hoodId]) elif canonicalHoodId not in base.cr.hoodMgr.getAvailableZones(): print 'hoodId %d not ready' % hoodId self.fsm.request('unavailableHood', [ hoodId]) elif shardId == base.localAvatar.defaultShard: shardId = None teleportNotify.debug('enterTeleport: requesting teleport') place = base.cr.playGame.getPlace() place.requestTeleport(hoodId, zoneId, shardId, self.avId) unloadTeleportPanel()
def enterTeleport(self, shardId, hoodId, zoneId): teleportNotify.debug('enterTeleport%s' % ((shardId, hoodId, zoneId), )) hoodsVisited = base.localAvatar.hoodsVisited canonicalHoodId = ZoneUtil.getCanonicalZoneId(hoodId) if hoodId == ToontownGlobals.MyEstate: teleportNotify.debug('enterTeleport: estate') if shardId == base.localAvatar.defaultShard: shardId = None place = base.cr.playGame.getPlace() place.requestTeleport(hoodId, zoneId, shardId, self.avId) unloadTeleportPanel() elif canonicalHoodId not in hoodsVisited + ToontownGlobals.HoodsAlwaysVisited: teleportNotify.debug('enterTeleport: unknownHood') self.fsm.request('unknownHood', [hoodId]) elif canonicalHoodId not in base.cr.hoodMgr.getAvailableZones(): print 'hoodId %d not ready' % hoodId self.fsm.request('unavailableHood', [hoodId]) else: if shardId == base.localAvatar.defaultShard: shardId = None teleportNotify.debug('enterTeleport: requesting teleport') place = base.cr.playGame.getPlace() place.requestTeleport(hoodId, zoneId, shardId, self.avId) unloadTeleportPanel() return
def hookTeleportInDone(self): global HOOD teleportNotify.debug('Hooked TeleportInDone') if hasattr(self, 'fsm'): teleportNotify.debug('teleportInDone: %s' % self.nextState) self.fsm.request(self.nextState, [1]) try: coordinates = ToontownGlobals.hood2Coords[HOOD] base.localAvatar.setPos(*coordinates[0]) base.localAvatar.setHpr(*coordinates[1]) HOOD = None except: return return
def d_teleportQuery(self, requesterId, sendToId = None): lastQuery = self.lastTeleportQuery currentQuery = time.time() if currentQuery - lastQuery < 0.1: # Oh boy! We found a skid! self.cr.stopReaderPollTask() self.cr.lostConnection() self.lastTeleportQuery = time.time() if sendToId in base.cr.doId2do: teleportNotify.debug('sending teleportQuery%s' % ((requesterId, sendToId),)) self.sendUpdate('teleportQuery', [requesterId], sendToId) else: teleportNotify.debug('sending TTIFM teleportQuery%s' % ((requesterId, sendToId),)) base.cr.ttiFriendsManager.d_teleportQuery(sendToId)
def __teleportResponse(self, avId, available, shardId, hoodId, zoneId): teleportNotify.debug('__teleportResponse%s' % ((avId, available, shardId, hoodId, zoneId), )) if avId != self.avId: return if available == 0: teleportNotify.debug('__teleportResponse: not available') self.fsm.request('notAvailable') elif available == 2: teleportNotify.debug('__teleportResponse: ignored') self.fsm.request('ignored') elif shardId != base.localAvatar.defaultShard: teleportNotify.debug('__teleportResponse: otherShard') self.fsm.request('otherShard', [shardId, hoodId, zoneId]) else: teleportNotify.debug('__teleportResponse: teleport') self.fsm.request('teleport', [shardId, hoodId, zoneId])
def d_teleportQuery(self, requesterId, sendToId=None): lastQuery = self.lastTeleportQuery currentQuery = time.time() if currentQuery - lastQuery < 0.1: # Oh boy! We found a skid! self.cr.stopReaderPollTask() self.cr.lostConnection() self.lastTeleportQuery = time.time() if sendToId in base.cr.doId2do: teleportNotify.debug('sending teleportQuery%s' % ((requesterId, sendToId), )) self.sendUpdate('teleportQuery', [requesterId], sendToId) else: teleportNotify.debug('sending TTIFM teleportQuery%s' % ((requesterId, sendToId), )) base.cr.ttiFriendsManager.d_teleportQuery(sendToId)
def hookTeleportInDone(place): ''' Called instead of Place.py's original teleportInDone function; indicates that the destination has been reached. ''' global HOOD teleportNotify.debug('Hooked TeleportInDone') if hasattr(place, 'fsm'): teleportNotify.debug('teleportInDone: %s' % place.nextState) place.fsm.request(place.nextState, [1]) try: coordinates = ToontownGlobals.hood2Coords[HOOD] base.localAvatar.setPos(*coordinates[0]) base.localAvatar.setHpr(*coordinates[1]) HOOD = None except: return
def handleEnterPortal(self, hoodId, zoneId): if localAvatar.hasActiveBoardingGroup(): if avId > 0: teleportNotify.debug( 'handleEnterPortal: has active boarding group') rejectText = TTLocalizer.BoardingCannotLeaveZone localAvatar.elevatorNotifier.showMe(rejectText) return else: self.requestLeave({ 'loader': ZoneUtil.getBranchLoaderName(zoneId), 'where': ZoneUtil.getToonWhereName(zoneId), 'how': 'portalIn', 'hoodId': hoodId, 'zoneId': zoneId, 'shardId': None, 'avId': -1 }) return
def __teleportResponse(self, avId, available, shardId, hoodId, zoneId): teleportNotify.debug('__teleportResponse%s' % ((avId, available, shardId, hoodId, zoneId),)) if avId != self.avId: return if available == 0: teleportNotify.debug('__teleportResponse: not available') self.fsm.request('notAvailable') elif available == 2: teleportNotify.debug('__teleportResponse: ignored') self.fsm.request('ignored') elif shardId != base.localAvatar.defaultShard: teleportNotify.debug('__teleportResponse: otherShard') self.fsm.request('otherShard', [shardId, hoodId, zoneId]) else: teleportNotify.debug('__teleportResponse: teleport') self.fsm.request('teleport', [shardId, hoodId, zoneId])
def enterTeleport(self, shardId, hoodId, zoneId): shardName = base.cr.getShardName(shardId) if shardName is None: shardName = 'unknown' hoodsVisited = base.localAvatar.hoodsVisited canonicalHoodId = ZoneUtil.getCanonicalZoneId(hoodId) if hoodId == ToontownGlobals.MyEstate: teleportNotify.debug('enterTeleport: estate') if shardId == base.localAvatar.defaultShard: shardId = None place = base.cr.playGame.getPlace() place.requestTeleport(hoodId, zoneId, shardId, self.avId) unloadTeleportPanel() elif canonicalHoodId not in hoodsVisited + ToontownGlobals.HoodsAlwaysVisited: teleportNotify.debug('enterTeleport: unknownHood') self.fsm.request('unknownHood', [hoodId]) else: if shardId == base.localAvatar.defaultShard: shardId = None teleportNotify.debug('enterTeleport: requesting teleport') place = base.cr.playGame.getPlace() place.requestTeleport(hoodId, zoneId, shardId, self.avId) unloadTeleportPanel() return
def d_teleportGiveup(self, requesterId): teleportNotify.debug('sending d_teleportGiveup(%s)' % (requesterId,)) base.localAvatar.sendUpdate('teleportGiveup', [requesterId], sendToId=self.doId)
def d_teleportGiveup(self, requesterId, sendToId=None): teleportNotify.debug('sending teleportGiveup(%s) to %s' % (requesterId, sendToId)) self.sendUpdate('teleportGiveup', [requesterId], sendToId)
def teleportQuery(self, requesterId): teleportNotify.debug('receieved teleportQuery(%s)' % requesterId) avatar = base.cr.playerFriendsManager.identifyFriend(requesterId) if avatar != None: teleportNotify.debug('avatar is not None') if base.cr.avatarFriendsManager.checkIgnored(requesterId): teleportNotify.debug('avatar ignored via avatarFriendsManager') self.d_teleportResponse(self.doId, 2, 0, 0, 0, sendToId=requesterId) return if requesterId in self.ignoreList: teleportNotify.debug('avatar ignored via ignoreList') self.d_teleportResponse(self.doId, 2, 0, 0, 0, sendToId=requesterId) return if hasattr(base, 'distributedParty'): if base.distributedParty.partyInfo.isPrivate: if requesterId not in base.distributedParty.inviteeIds: teleportNotify.debug('avatar not in inviteeIds') self.d_teleportResponse(self.doId, 0, 0, 0, 0, sendToId=requesterId) return if base.distributedParty.isPartyEnding: teleportNotify.debug('party is ending') self.d_teleportResponse(self.doId, 0, 0, 0, 0, sendToId=requesterId) return if self.__teleportAvailable and not self.ghostMode and base.config.GetBool( 'can-be-teleported-to', 1): teleportNotify.debug('teleport initiation successful') self.setSystemMessage( requesterId, OTPLocalizer.WhisperComingToVisit % avatar.getName()) messenger.send('teleportQuery', [avatar, self]) return teleportNotify.debug('teleport initiation failed') if self.failedTeleportMessageOk(requesterId): self.setSystemMessage( requesterId, OTPLocalizer.WhisperFailedVisit % avatar.getName()) teleportNotify.debug('sending try-again-later message') self.d_teleportResponse(self.doId, 0, 0, 0, 0, sendToId=requesterId) return
def d_teleportQuery(self, requesterId, sendToId=None): teleportNotify.debug('sending teleportQuery%s' % ((requesterId, sendToId), )) self.sendUpdate('teleportQuery', [requesterId], sendToId)
def d_teleportGiveup(self, requesterId): teleportNotify.debug('sending d_teleportGiveup(%s)' % (requesterId, )) base.cr.ttiFriendsManager.d_teleportGiveup(self.doId)
def teleportInDone(self): if hasattr(self, "fsm"): teleportNotify.debug("teleportInDone: %s" % self.nextState) self.fsm.request(self.nextState, [1])
def d_teleportQuery(self, requesterId, sendToId = None): teleportNotify.debug('sending teleportQuery%s' % ((requesterId, sendToId),)) self.sendUpdate('teleportQuery', [requesterId], sendToId)
def d_teleportQuery(self, requesterId): teleportNotify.debug("sending d_teleportQuery(%s)" % (requesterId,)) base.cr.ttiFriendsManager.d_teleportQuery(self.doId)
def d_teleportQuery(self, requesterId, sendToId=None): teleportNotify.debug("sending teleportQuery%s" % ((requesterId, sendToId),)) self.sendUpdate("teleportQuery", [requesterId], sendToId)
def d_teleportGiveup(self, requesterId, sendToId): teleportNotify.debug('sending teleportGiveup(%s) to %s' % (requesterId, sendToId)) base.cr.ttiFriendsManager.d_teleportGiveup(sendToId)
def teleportQuery(self, requesterId): teleportNotify.debug('receieved teleportQuery(%s)' % requesterId) avatar = base.cr.playerFriendsManager.identifyFriend(requesterId) if avatar != None: teleportNotify.debug('avatar is not None') if base.cr.avatarFriendsManager.checkIgnored(requesterId): teleportNotify.debug('avatar ignored via avatarFriendsManager') self.d_teleportResponse(self.doId, 2, 0, 0, 0, sendToId=requesterId) return if requesterId in self.ignoreList: teleportNotify.debug('avatar ignored via ignoreList') self.d_teleportResponse(self.doId, 2, 0, 0, 0, sendToId=requesterId) return if hasattr(base, 'distributedParty'): if base.distributedParty.partyInfo.isPrivate: if requesterId not in base.distributedParty.inviteeIds: teleportNotify.debug('avatar not in inviteeIds') self.d_teleportResponse(self.doId, 0, 0, 0, 0, sendToId=requesterId) return if base.distributedParty.isPartyEnding: teleportNotify.debug('party is ending') self.d_teleportResponse(self.doId, 0, 0, 0, 0, sendToId=requesterId) return if self.__teleportAvailable and not self.ghostMode and base.config.GetBool('can-be-teleported-to', 1): teleportNotify.debug('teleport initiation successful') self.setSystemMessage(requesterId, OTPLocalizer.WhisperComingToVisit % avatar.getName()) messenger.send('teleportQuery', [avatar, self]) return teleportNotify.debug('teleport initiation failed') if self.failedTeleportMessageOk(requesterId): self.setSystemMessage(requesterId, OTPLocalizer.WhisperFailedVisit % avatar.getName()) teleportNotify.debug('sending try-again-later message') self.d_teleportResponse(self.doId, 0, 0, 0, 0, sendToId=requesterId) return
def d_teleportGiveup(self, requesterId): teleportNotify.debug('sending d_teleportGiveup(%s)' % (requesterId, )) base.localAvatar.sendUpdate('teleportGiveup', [requesterId], sendToId=self.doId)
def d_teleportGiveup(self, requesterId): teleportNotify.debug('sending d_teleportGiveup(%s)' % (requesterId,)) base.cr.ttsFriendsManager.d_teleportGiveup(self.doId)
def teleportInDone(self): if hasattr(self, 'fsm'): teleportNotify.debug('teleportInDone: %s' % self.nextState) self.fsm.request(self.nextState, [1])
def d_teleportGiveup(self, requesterId, sendToId = None): teleportNotify.debug('sending teleportGiveup(%s) to %s' % (requesterId, sendToId)) self.sendUpdate('teleportGiveup', [requesterId], sendToId)
def d_teleportQuery(self, requesterId): teleportNotify.debug("sending d_teleportQuery(%s)" % (requesterId,)) base.localAvatar.sendUpdate("teleportQuery", [requesterId], sendToId=self.doId)
def d_teleportGiveup(self, requesterId, sendToId): teleportNotify.debug('sending teleportGiveup(%s) to %s' % (requesterId, sendToId)) base.cr.ttjFriendsManager.d_teleportGiveup(sendToId)