def FightWithPlayer_720(dynamicId, request_proto): '''场景中玩家战斗 ''' argument = FightWithPlayer720_pb2.FightPkRequest() argument.ParseFromString(request_proto) response = FightWithPlayer720_pb2.FightPkResponse() fightResponse = battle_new703_pb2.FightResponse() characterId = argument.id tid = argument.tid data = fight.FightWithPlayer(dynamicId, characterId, tid) msg = data.get('message', '') response.result = data.get('result', False) response.message = msg if msg: pushOtherMessage(905, msg, [dynamicId]) if data.get('data', None): from twisted.internet import reactor battle = data.get('data', None) sendlist = data.get('sendlist', []) fightResponse.data.battleResult = battle.battleResult fightResponse.data.centerX = 550 fightResponse.data.centerY = 550 fightResponse.data.fightType = 1 rResArr = fightResponse.data.rResArr startData = fightResponse.data.startData setpdata = fightResponse.data.stepData fightResponse.result = True fightResponse.message = u'' battle.SerializationResource(rResArr) battle.SerializationInitBattleData(startData) battle.SerializationStepData(setpdata) battlemsg = fightResponse.SerializeToString() setData1 = fightResponse.data.setData.add() setData1.id = characterId setData1.coinBonus = 10 setData2 = fightResponse.data.setData.add() setData2.id = tid setData2.coinBonus = 10 reactor.callLater(1, pushApplyMessage, 711, battlemsg, sendlist) return response.SerializeToString()
def ZhangJieFight_4501(dynamicId, request_proto): '''爬塔战斗 ''' argument = ZhangJieFight4501_pb2.ZhangJieFightRequest() argument.ParseFromString(request_proto) response = ZhangJieFight4501_pb2.ZhangJieFightResponse() fightResponse = battle_new703_pb2.FightResponse() characterId = argument.id zhangjieid = argument.zhangjieid data = zhanyi.zhangjieFight(dynamicId, characterId, zhangjieid) response.result = data.get('result', False) response.message = data.get('message', '') battlemsg = None if data.get('data', None): from twisted.internet import reactor responsedata = data.get('data') battle = responsedata.get('fight') bounds = responsedata.get('bound', {}) fightResponse.data.fightType = data.get('fightType', 1) fightResponse.data.centerX = 550 fightResponse.data.centerY = 350 #data['centerY'] fightResponse.data.battleResult = battle.battleResult rResArr = fightResponse.data.rResArr startData = fightResponse.data.startData setpdata = fightResponse.data.stepData fightResponse.result = True fightResponse.message = u'' battle.SerializationResource(rResArr) battle.SerializationInitBattleData(startData) battle.SerializationStepData(setpdata) setData = fightResponse.data.setData.add() setData.id = characterId setData.expBonus = bounds.get('exp', 0) setData.name = bounds.get('name', u'') itembound = bounds.get('item') if itembound: itemsBoundResponse = setData.itemsBonus itemsBoundResponse.itemId = itembound.baseInfo.itemTemplateId itemsBoundResponse.stack = itembound.pack.getStack() battlemsg = fightResponse.SerializeToString() reactor.callLater(1, pushApplyMessage, 711, battlemsg, [dynamicId]) return response.SerializeToString()
def ArenaBattle_3704(dynamicId, request_proto): '''竞技场战斗 ''' argument = ArenaBattle_3704_pb2.ArenaBattleRequest() argument.ParseFromString(request_proto) response = ArenaBattle_3704_pb2.FightResponse() fightResponse = battle_new703_pb2.FightResponse() characterId = argument.id tocharacterId = argument.tiID data = arena.ArenaBattle_3704(dynamicId, characterId, tocharacterId) response.result = data.get('result', False) response.message = data.get('message', '') if data.get('data', None): from twisted.internet import reactor responsedata = data.get('data') battle = responsedata.get('fight') bounds = data.get('bound') fightResponse.data.battleResult = battle.battleResult fightResponse.data.centerX = 550 fightResponse.data.centerY = 550 fightResponse.data.fightType = 1 rResArr = fightResponse.data.rResArr startData = fightResponse.data.startData setpdata = fightResponse.data.stepData fightResponse.result = True fightResponse.message = u'' battle.SerializationResource(rResArr) battle.SerializationInitBattleData(startData) battle.SerializationStepData(setpdata) battlemsg = fightResponse.SerializeToString() setData = fightResponse.data.setData.add() setData.id = characterId setData.coinBonus = bounds.get('coin', 0) setData.popularity = bounds.get('popularity', 0) setData.name = bounds.get('name', u'') battlemsg = fightResponse.SerializeToString() reactor.callLater(1, pushApplyMessage, 711, battlemsg, [dynamicId]) return response.SerializeToString()
def FightInScene_703(dynamicId, request_proto): '''副本场景战斗''' argument = battle_new703_pb2.FightRequest() argument.ParseFromString(request_proto) response = battle_new703_pb2.FightResponse() characterId = argument.id monsterId = argument.tid result = fight.FightInScene(dynamicId, characterId, monsterId) response.result = result.get('result', False) response.message = result.get('message', '') if result.get('data', None): data = result['data'] response.data.fightType = data.get('fightType', 1) response.data.centerX = int(data['centerX']) response.data.centerY = data['centerY'] battle = data['battle'] response.data.battleResult = battle.battleResult rResArr = response.data.rResArr startData = response.data.startData setpdata = response.data.stepData battle.SerializationResource(rResArr) battle.SerializationInitBattleData(startData) battle.SerializationStepData(setpdata) for _item in data['setData']: setData = response.data.setData.add() for attr in _item.items(): if attr[0] == 'itemsBonus': if attr[1]: items1 = setData.itemsBonus items1.itemId = attr[1].baseInfo.itemTemplateId items1.stack = attr[1].pack.getStack() continue setattr(setData, attr[0], attr[1]) msg = response.SerializeToString() return msg