Beispiel #1
0
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()
Beispiel #2
0
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()
Beispiel #3
0
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()
Beispiel #4
0
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