def dropPetInMatrix(self, petId): """丢弃阵法中的宠物 """ if petId not in self._matrixSetting.values(): return False for eye, _petId in self._matrixSetting.items(): if petId == _petId: characterId = self._owner.baseInfo.id props = {eye: -1} self._matrixSetting[eye] = -1 dbCharacterMatrix.updateCharacterMatrixInfo(characterId, props) return True return False
def dropPetInMatrix(self,petId): """丢弃阵法中的宠物 """ if petId not in self._matrixSetting.values(): return False for eye,_petId in self._matrixSetting.items(): if petId == _petId: characterId = self._owner.baseInfo.id props = {eye:-1} self._matrixSetting[eye]=-1 dbCharacterMatrix.updateCharacterMatrixInfo(characterId, props) return True return False
def updateMatrix(self, petId, operationType, fromPos, toPos): '''更新阵法位置信息 @param petId: int 宠物的ID 为0时表示是角色自身 @param operationType: int 操作类型0从宠物列表到阵法1从阵法到宠物列表2从阵法到阵法 @param fromPos: int 起始位置 @param toPos: int 结束位置 ''' characterId = self._owner.baseInfo.id fromEyeNo = fromPos + 1 toEyeNo = toPos + 1 if operationType == 0: pet = self._owner.pet._pets.get(petId) if not pet: return {'result': False, 'message': Lg().g(159)} petlevel = pet.level.getLevel() leveldelta = petlevel - self._owner.level.getLevel() if leveldelta >= 5: return {'result': False, 'message': Lg().g(366) % (petlevel)} if petId in self._matrixSetting.values(): return {'result': False, 'message': Lg().g(367)} if self._matrixSetting.get('eyes_%d' % toEyeNo) == 0: return {'result': False, 'message': Lg().g(368)} topetId = self._matrixSetting.get('eyes_%d' % toEyeNo) nowcnt = self.getNowCnt() maxcnt = self.getMatrixMaxEyesCnt() if nowcnt >= maxcnt: if topetId == -1 or (topetId not in self._owner.pet._pets.keys()): return {'result': False, 'message': Lg().g(369)} props = {'eyes_%d' % (toEyeNo): petId} self._matrixSetting['eyes_%d' % (toEyeNo)] = petId dbCharacterMatrix.updateCharacterMatrixInfo(characterId, props) self._owner.quest.specialTaskHandle(109) #特殊任务处理 return {'result': True} elif operationType == 1: petId = self._matrixSetting.get('eyes_%d' % fromEyeNo) if petId == -1: return {'result': False, 'message': Lg().g(370)} if petId == 0: return {'result': False, 'message': Lg().g(368)} props = {'eyes_%d' % (fromEyeNo): -1} self._owner.pet.addLastRemove(petId) self._matrixSetting['eyes_%d' % (fromEyeNo)] = -1 dbCharacterMatrix.updateCharacterMatrixInfo(characterId, props) return {'result': True} else: fromPid = self._matrixSetting.get('eyes_%d' % fromEyeNo, -1) toPid = self._matrixSetting.get('eyes_%d' % toEyeNo, -1) if fromPid == -1: return {'result': False, 'message': Lg().g(370)} props = { 'eyes_%d' % (toEyeNo): fromPid, 'eyes_%d' % (fromEyeNo): toPid } self._matrixSetting['eyes_%d' % (toEyeNo)] = fromPid self._matrixSetting['eyes_%d' % (fromEyeNo)] = toPid dbCharacterMatrix.updateCharacterMatrixInfo(characterId, props) return {'result': True}
def updateMatrix(self,petId,operationType,fromPos,toPos): '''更新阵法位置信息 @param petId: int 宠物的ID 为0时表示是角色自身 @param operationType: int 操作类型0从宠物列表到阵法1从阵法到宠物列表2从阵法到阵法 @param fromPos: int 起始位置 @param toPos: int 结束位置 ''' characterId = self._owner.baseInfo.id fromEyeNo = fromPos+1 toEyeNo = toPos+1 if operationType==0: pet = self._owner.pet._pets.get(petId) if not pet: return {'result':False,'message':Lg().g(159)} petlevel = pet.level.getLevel() leveldelta = petlevel -self._owner.level.getLevel() if leveldelta>=5: return {'result':False,'message':Lg().g(366)%(petlevel)} if petId in self._matrixSetting.values(): return {'result':False,'message':Lg().g(367)} if self._matrixSetting.get('eyes_%d'%toEyeNo)==0: return {'result':False,'message':Lg().g(368)} topetId = self._matrixSetting.get('eyes_%d'%toEyeNo) nowcnt = self.getNowCnt() maxcnt = self.getMatrixMaxEyesCnt() if nowcnt>=maxcnt: if topetId ==-1 or (topetId not in self._owner.pet._pets.keys()): return {'result':False,'message':Lg().g(369)} props = {'eyes_%d'%(toEyeNo):petId} self._matrixSetting['eyes_%d'%(toEyeNo)] = petId dbCharacterMatrix.updateCharacterMatrixInfo(characterId, props) self._owner.quest.specialTaskHandle(109)#特殊任务处理 return {'result':True} elif operationType == 1: petId = self._matrixSetting.get('eyes_%d'%fromEyeNo) if petId==-1: return {'result':False,'message':Lg().g(370)} if petId==0: return {'result':False,'message':Lg().g(368)} props = {'eyes_%d'%(fromEyeNo):-1} self._owner.pet.addLastRemove(petId) self._matrixSetting['eyes_%d'%(fromEyeNo)] = -1 dbCharacterMatrix.updateCharacterMatrixInfo(characterId, props) return {'result':True} else: fromPid = self._matrixSetting.get('eyes_%d'%fromEyeNo,-1) toPid = self._matrixSetting.get('eyes_%d'%toEyeNo,-1) if fromPid==-1: return {'result':False,'message':Lg().g(370)} props = {'eyes_%d'%(toEyeNo):fromPid,'eyes_%d'%(fromEyeNo):toPid} self._matrixSetting['eyes_%d'%(toEyeNo)] = fromPid self._matrixSetting['eyes_%d'%(fromEyeNo)] = toPid dbCharacterMatrix.updateCharacterMatrixInfo(characterId, props) return {'result':True}