def confirmed(canTeleportTo, avId, failedFlag, avName=avName):
            if canTeleportTo:
                if self.cr.getActiveWorld(
                ) and self.cr.distributedDistrict and localAvatar.getParentObj(
                ):
                    handle.sendTeleportResponse(
                        PiratesGlobals.TAAvailable,
                        self.cr.distributedDistrict.doId,
                        self.cr.getActiveWorld().doId,
                        localAvatar.getParentObj().doId,
                        sendToId=requesterId)
                else:
                    handle.sendTeleportResponse(
                        PiratesGlobals.encodeTeleportFlag(
                            PiratesGlobals.TFUnavailable),
                        0,
                        0,
                        0,
                        sendToId=requesterId)
            elif localAvatar.failedTeleportMessageOk(requesterId):
                localAvatar.setSystemMessage(
                    requesterId, OTPLocalizer.WhisperFailedVisit % avName)

            handle.sendTeleportResponse(
                PiratesGlobals.encodeTeleportFlag(failedFlag),
                0,
                0,
                0,
                sendToId=requesterId)
示例#2
0
    def handleAvatarTeleportQuery(self, requesterId, requesterBandMgrId,
                                  requesterBandId, requesterGuildId,
                                  requesterShardId):
        handle = self.cr.identifyAvatar(requesterId)
        if not handle:
            return
        if self.cr.identifyFriend(requesterId) and (
                requesterId in localAvatar.ignoreList
                or self.cr.avatarFriendsManager.checkIgnored(requesterId)):
            handle.sendTeleportResponse(PiratesGlobals.encodeTeleportFlag(
                PiratesGlobals.TFIgnore),
                                        0,
                                        0,
                                        0,
                                        sendToId=requesterId)
            return
        if localAvatar.ship and len(
                localAvatar.ship.crew) >= localAvatar.ship.getMaxCrew():
            handle.sendTeleportResponse(PiratesGlobals.encodeTeleportFlag(
                PiratesGlobals.TFOnShip),
                                        0,
                                        0,
                                        0,
                                        sendToId=requesterId)
            return
        avName = handle.getName()

        @report(types=['args', 'deltaStamp'], dConfigParam='teleport')
        def confirmed(canTeleportTo, avId, failedFlag, avName=avName):
            if canTeleportTo:
                if self.cr.getActiveWorld():
                    self.cr.distributedDistrict and localAvatar.getParentObj(
                    ) and handle.sendTeleportResponse(
                        PiratesGlobals.TAAvailable,
                        self.cr.distributedDistrict.doId,
                        self.cr.getActiveWorld().doId,
                        localAvatar.getParentObj().doId,
                        sendToId=requesterId)
                else:
                    handle.sendTeleportResponse(
                        PiratesGlobals.encodeTeleportFlag(
                            PiratesGlobals.TFUnavailable),
                        0,
                        0,
                        0,
                        sendToId=requesterId)
            else:
                if localAvatar.failedTeleportMessageOk(requesterId):
                    localAvatar.setSystemMessage(
                        requesterId, OTPLocalizer.WhisperFailedVisit % avName)
                handle.sendTeleportResponse(
                    PiratesGlobals.encodeTeleportFlag(failedFlag),
                    0,
                    0,
                    0,
                    sendToId=requesterId)

        localAvatar.confirmTeleportTo(confirmed, requesterId, avName,
                                      requesterBandMgrId, requesterBandId,
                                      requesterGuildId)
    def handleAvatarTeleportQuery(self, requesterId, requesterBandMgrId, requesterBandId, requesterGuildId, requesterShardId):
        handle = self.cr.identifyAvatar(requesterId)
        if not handle:
            return None
        
        if self.cr.identifyFriend(requesterId):
            if requesterId in localAvatar.ignoreList or self.cr.avatarFriendsManager.checkIgnored(requesterId):
                handle.sendTeleportResponse(PiratesGlobals.encodeTeleportFlag(PiratesGlobals.TFIgnore), 0, 0, 0, sendToId = requesterId)
                return None
            
        if localAvatar.ship and len(localAvatar.ship.crew) >= localAvatar.ship.getMaxCrew():
            handle.sendTeleportResponse(PiratesGlobals.encodeTeleportFlag(PiratesGlobals.TFOnShip), 0, 0, 0, sendToId = requesterId)
            return None
        
        avName = handle.getName()
        
        def confirmed(canTeleportTo, avId, failedFlag, avName = avName):
            if canTeleportTo:
                if self.cr.getActiveWorld() and self.cr.distributedDistrict and localAvatar.getParentObj():
                    handle.sendTeleportResponse(PiratesGlobals.TAAvailable, self.cr.distributedDistrict.doId, self.cr.getActiveWorld().doId, localAvatar.getParentObj().doId, sendToId = requesterId)
                else:
                    handle.sendTeleportResponse(PiratesGlobals.encodeTeleportFlag(PiratesGlobals.TFUnavailable), 0, 0, 0, sendToId = requesterId)
            elif localAvatar.failedTeleportMessageOk(requesterId):
                localAvatar.setSystemMessage(requesterId, OTPLocalizer.WhisperFailedVisit % avName)
            
            handle.sendTeleportResponse(PiratesGlobals.encodeTeleportFlag(failedFlag), 0, 0, 0, sendToId = requesterId)

        confirmed = report(types = [
            'args',
            'deltaStamp'], dConfigParam = 'teleport')(confirmed)
        localAvatar.confirmTeleportTo(confirmed, requesterId, avName, requesterBandMgrId, requesterBandId, requesterGuildId)
 def confirmed(canTeleportTo, avId, failedFlag, avName = avName):
     if canTeleportTo:
         if self.cr.getActiveWorld() and self.cr.distributedDistrict and localAvatar.getParentObj():
             handle.sendTeleportResponse(PiratesGlobals.TAAvailable, self.cr.distributedDistrict.doId, self.cr.getActiveWorld().doId, localAvatar.getParentObj().doId, sendToId = requesterId)
         else:
             handle.sendTeleportResponse(PiratesGlobals.encodeTeleportFlag(PiratesGlobals.TFUnavailable), 0, 0, 0, sendToId = requesterId)
     elif localAvatar.failedTeleportMessageOk(requesterId):
         localAvatar.setSystemMessage(requesterId, OTPLocalizer.WhisperFailedVisit % avName)
     
     handle.sendTeleportResponse(PiratesGlobals.encodeTeleportFlag(failedFlag), 0, 0, 0, sendToId = requesterId)