コード例 #1
0
def getSkillTreeInfo(dynamicId, characterId):
    """获取所有技能信息
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    return player.skill.getSkillTreeInfo()
コード例 #2
0
def sendMail(dynamicId, characterId, playerName, title, content):
    '''添加邮件
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    @param playerName: str 发送人的名称
    @param content: str 邮件内容
    @param title: str 标题
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    if not dbShieldWord.checkIllegalChar(title):  # 查询 title 是否存在屏蔽词
        return {'result': False, 'message': u""}
    if not dbShieldWord.checkIllegalChar(content):  # 查询 content 是否存在屏蔽词
        return {'result': False, 'message': u""}
    if len(title) > 12:  # 标题长度限制
        return {'result': False, 'message': u""}
    toId = dbCharacter.getCharacterIdByNickName(
        playerName)  # 根据昵称获取 角色(发信人) 的id
    if not toId:
        return {'result': False, 'message': u""}
    if toId[0] == characterId:
        return {'result': False, 'message': u""}
    result = player.mail.sendMail(
        toId[0], title, content)  # 发送邮件(这里是保存到数据库,只有当收信人打开邮箱,才会收到从服务器更新)
    if result:
        return {'result': True, 'message': u""}
    return {'result': False, 'message': u""}
コード例 #3
0
def getItemsInEquipSlotNew(dynamicId, characterId):
    '''获取角色的装备栏信息
    @param dynamicId: int 客户端的id
    @param characterId: int 角色的id
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    equipmentList = player.pack.getEquipmentSlotItemList()
    keys_copy = dict(equipmentList)
    equipmentList_copy = []
    for position in range(1, 7):
        item = keys_copy.get(position, None)
        if item:
            _item = {}
            _item['itemid'] = item.baseInfo.id
            _item['icon'] = item.baseInfo.getItemTemplateInfo().get('icon', 0)
            _item['tempid'] = item.baseInfo.getItemTemplateId()
            _item['exp'] = item.exp
            iteminfo = {'pos': position, 'item': _item}
            equipmentList_copy.append(iteminfo)
    playerInfo = player.formatInfoForWeiXin()
    data = {}
    data['equip'] = equipmentList_copy
    data['attack'] = playerInfo['attack']
    data['fangyu'] = playerInfo['fangyu']
    data['minjie'] = playerInfo['minjie']
    return {'result': True, 'message': u'', 'data': data}
コード例 #4
0
def sendMail(dynamicId, characterId, playerName, title, content):
    '''添加邮件
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    @param playerName: str 发送人的名称
    @param content: str 邮件内容
    @param title: str 标题
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    if not dbShieldWord.checkIllegalChar(title):
        return {'result': False, 'message': u""}
    if not dbShieldWord.checkIllegalChar(content):
        return {'result': False, 'message': u""}
    if len(title) > 12:
        return {'result': False, 'message': u""}
    toId = dbCharacter.getCharacterIdByNickName(playerName)
    if not toId:
        return {'result': False, 'message': u""}
    if toId[0] == characterId:
        return {'result': False, 'message': u""}
    result = player.mail.sendMail(toId[0], title, content)
    if result:
        return {'result': True, 'message': u""}
    return {'result': False, 'message': u""}
コード例 #5
0
def updateSkillSetting(dynamicId, characterId, pet_id, skill_id, space):
    '''更新技能设置
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    return player.skill.equipSkill(pet_id, skill_id, space)
コード例 #6
0
ファイル: compound.py プロジェクト: wingwu123/Diablo-World
def GetCompoundItem(dynamicId, characterId, tempid):
    '''获取当前碎片能合成的物品的信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    suipianinfo = dbItems.all_ItemTemplate.get(tempid)
    if not suipianinfo:
        return {'result': False, 'message': u"碎片信息不存在"}
    newtempid = suipianinfo.get('compound', 0)
    newiteminfo = dbItems.all_ItemTemplate.get(newtempid)
    if not newiteminfo:
        return {'result': False, 'message': u"该物品不能合成"}
    response = {}
    info = {}
    info['itemid'] = 0
    info['icon'] = newiteminfo['icon']
    info['itemname'] = newiteminfo['name']
    info['itemdesc'] = newiteminfo['description']
    info['tempid'] = newiteminfo['id']
    info['qlevel'] = 0
    info['attack'] = newiteminfo['basePhysicalAttack']
    info['fangyu'] = newiteminfo['basePhysicalDefense']
    info['minjie'] = newiteminfo['baseSpeedAdditional']
    info['tili'] = newiteminfo['baseHpAdditional']
    info['price'] = newiteminfo['buyingRateCoin']
    info['stack'] = 1
    info['qh'] = 1 if newiteminfo['bodyType'] > 0 else 0
    response['hcprice'] = suipianinfo.get('comprice', 0)
    response['iteminfo'] = info
    return {'result': True, 'message': u"", 'data': response}
コード例 #7
0
ファイル: packageInfo.py プロジェクト: nolifenameless/firefly
def getItemsInEquipSlotNew(dynamicId, characterId):
    '''获取角色的装备栏信息
    @param dynamicId: int 客户端的id
    @param characterId: int 角色的id
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    equipmentList = player.pack.getEquipmentSlotItemList()
    keys_copy = dict(equipmentList)
    equipmentList_copy = []
    for position in range(0, 8):
        item = keys_copy.get(position, None)
        if item:
            _item = {}
            _item['id'] = item.baseInfo.id
            _item['strengthen'] = dbItems.getItem(
                characterId, item.baseInfo.id)[0]['strengthen']
            _item['tempid'] = item.baseInfo.getItemTemplateId()
            #_item['pos'] = position
            #_item['item'] = _item
            #_item['stacks'] = item.pack.getStack
            iteminfo = {'pos': position, 'item': _item}
            equipmentList_copy.append(iteminfo)
    #playerInfo = player.formatInfoForWeiXin()
    #data = {}
    #data['equip'] = equipmentList_copy
    #data['attack'] = playerInfo['attack']
    #data['fangyu'] = playerInfo['fangyu']
    #data['blood'] = playerInfo['blood']
    return {'result': True, 'message': u'', 'data': equipmentList_copy}
コード例 #8
0
def getPetSkillSetting(dynamicId, characterId, pet_id):
    '''获取伙伴技能设置
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    return player.skill.getPetSkillSetting(pet_id)
コード例 #9
0
def learnSkill(dynamicId, characterId, skill_id):
    '''学习技能
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    return player.skill.learnSkill(skill_id)
コード例 #10
0
ファイル: compound.py プロジェクト: wingwu123/Diablo-World
def CompoundItem(dynamicId, characterId, tempid):
    """合成物品
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    response = player.pack.CompoundItem(tempid)
    return response
コード例 #11
0
ファイル: compound.py プロジェクト: wingwu123/Diablo-World
def GetOneItemInfo(dynamicId, characterId, itemid):
    '''获取单个物品的详细信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    response = player.pack.getOneItemInfo(itemid)
    return response
コード例 #12
0
def TiantiBattle_3701(dynamicId, characterId, tocharacterId, battleresult):
    '''天梯战斗结果处理
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    result = player.arena.doFight(tocharacterId)
    return result
コード例 #13
0
def GetJingJiInfo3700(dynamicId, characterId):
    '''获取竞技场信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    data = player.arena.getArenaAllInfo()
    return {'result': True, 'data': data}
コード例 #14
0
def getGuyongRecord(dynamicId,characterId):
    '''获取雇用记录
    '''
    player = PlayersManager().getPlayerByID(characterId)  # 根据角色id获取玩家角色实例
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':Lg().g(18)}
    response = player.friend.GetGuyongRecord()  # 获取雇用记录
    return response
コード例 #15
0
ファイル: packageInfo.py プロジェクト: nolifenameless/firefly
def userskillreplace(dynamicId, characterId, tempid, pos):
    '''替换技能
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': "234"}
    data = player.pack.equipEquipmentByItemIdPos(tempid, pos)
    return data
コード例 #16
0
ファイル: packageInfo.py プロジェクト: nolifenameless/firefly
def UserItemNew(dynamicId, characterId, tempid):
    '''使用物品
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': "234"}
    data = player.pack.equipEquipmentByItemId(tempid)
    return data
コード例 #17
0
ファイル: packageInfo.py プロジェクト: nolifenameless/firefly
def unloadedEquipment_new(dynamicId, characterId, itemId):
    '''卸下装备
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    data = player.pack.unloaded(itemId)
    return data
コード例 #18
0
ファイル: packageInfo.py プロジェクト: nolifenameless/firefly
def GetFashionInfo(dynamicId, characterId):
    '''获取包裹时装的信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    data = player.pack.getFashionList()
    return data
コード例 #19
0
ファイル: packageInfo.py プロジェクト: nolifenameless/firefly
def GetStoneInfo(dynamicId, characterId):
    '''获取强化石的信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    data = player.pack.getStoneNum(characterId)
    return data
コード例 #20
0
def GetFriendList(dynamicId,characterId,tag,index):
    '''获取好友排行信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':Lg().g(18)}
    response = player.friend.getFriendTop(tag,index)  # 获取好友的排行信息
    return response
コード例 #21
0
def GuYongHaoYou(dynamicId,characterId,tid):
    '''雇佣好友
    '''
    player = PlayersManager().getPlayerByID(characterId)  # 根据角色id获取玩家角色实例
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':Lg().g(18)}
    response = player.friend.GuYongHaoYou(tid)  # 雇用好友
    return response
コード例 #22
0
ファイル: zhanyi.py プロジェクト: zzl133/firefly_study
def zhangjieFight(dynamicId, characterId, zhangjieid):
    """章节战斗
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    fightresult = player.zhanyi.doZhangJie(zhangjieid)
    return fightresult
コード例 #23
0
ファイル: zhanyi.py プロジェクト: zzl133/firefly_study
def getZhanYiInfo(dynamicId, characterId, index):
    """获取角色的战役信息
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    zhanyiinfo = player.zhanyi.getZhanYiInfo(index)
    return zhanyiinfo
コード例 #24
0
def ArenaBattle_3704(dynamicId, characterId, tocharacterId):
    '''竞技场战斗
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    result = player.arena.doFight(tocharacterId)
    return result
コード例 #25
0
def getLearnedSkills(dynamicId, characterId):
    """获取所有技能信息
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    learned_skills = player.skill.getSkills()
    return {"result": True, "data": learned_skills}
コード例 #26
0
def GetAllPetListFormatForWeixin(dynamicId,characterId):
    """获取所有能上阵的武将的信息
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':u""}
    petList = player.pet.FormatPetList()
    return {'result':True,'data':petList}
コード例 #27
0
ファイル: firend.py プロジェクト: zzl133/firefly_study
def getGuyongRecord(dynamicId, characterId):
    """获取雇用记录
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    response = player.friend.GetGuyongRecord()
    return response
コード例 #28
0
ファイル: compound.py プロジェクト: wingwu123/Diablo-World
def GetCompoundPackage_2109(dynamicId, characterId):
    '''获取合成包裹的信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': u""}
    response = player.pack.HuoQuSuiPianBaoguo()
    return response
コード例 #29
0
def GetCharacterMatrixInfo(dynamicId,characterId):
    """获取角色的阵法信息
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':u""}
    matrixinfo = player.matrix.FormatMatrixInfoForWeixin()
    return {'result':True,'data':matrixinfo}
コード例 #30
0
def GetPackageInfo(dynamicId,characterId):
    """获取包裹的信息
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':""}
    data = player.pack.getPackageItemList()
    return data