xdh
2018-12-19 011fdd0daace0bf3ebdbdc96e6355097fa9bf0de
5428 【后端】【1.4】资源找回新增封魔坛找回规则
4个文件已修改
25 ■■■■ 已修改文件
PySysDB/PySysDBPY.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -986,6 +986,7 @@
    dict        JadeReward; //绑玉找回奖励
    DWORD        CostCopper; //铜钱找回铜钱消耗
    dict        CopperReward; //铜钱找回奖励
    list        JobItemList; //职业物品列表
};
//宝箱表开启
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -804,6 +804,7 @@
                        ("dict", "JadeReward", 0),
                        ("DWORD", "CostCopper", 0),
                        ("dict", "CopperReward", 0),
                        ("list", "JobItemList", 0),
                        ),
                "Chests":(
@@ -2759,7 +2760,8 @@
        self.VipCostJade = 0
        self.JadeReward = {}
        self.CostCopper = 0
        self.CopperReward = {}
        self.CopperReward = {}
        self.JobItemList = []
        return
        
    def GetID(self): return self.ID # ID
@@ -2769,7 +2771,8 @@
    def GetVipCostJade(self): return self.VipCostJade # 绑玉找回VIP次数找回价格
    def GetJadeReward(self): return self.JadeReward # 绑玉找回奖励
    def GetCostCopper(self): return self.CostCopper # 铜钱找回铜钱消耗
    def GetCopperReward(self): return self.CopperReward # 铜钱找回奖励
    def GetCopperReward(self): return self.CopperReward # 铜钱找回奖励
    def GetJobItemList(self): return self.JobItemList # 职业物品列表
# 宝箱表开启
class IPY_Chests():
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py
@@ -132,7 +132,7 @@
    itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
    if not itemData:
        return 0
    GatherSoulMaxLVDict = IpyGameDataPY.GetFuncEvalCfg('GatherSoulMaxLV', 1, {})
    GatherSoulMaxLVDict = IpyGameDataPY.GetFuncEvalCfg('GatherSoulMaxLevel', 1, {})
    itemColor = itemData.GetItemColor()
    GatherSoulMaxLV = GatherSoulMaxLVDict.get(itemColor, 0)
    return GatherSoulMaxLV
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py
@@ -425,6 +425,8 @@
        
    itemInfoList = awardDict.get("item", [])
    if itemInfoList:
        job = curPlayer.GetJob()
        jobItemList = ipyData.GetJobItemList()
        for itemInfo in itemInfoList:
            itemID = itemInfo.get('ItemID', 0)
            itemcntFormula = itemInfo.get('ItemCount', '')
@@ -433,10 +435,23 @@
            itemcnt = recoverCnt * eval(FormulaControl.GetCompileFormula('ResourcesBackitem%s_%s_%s' % (recoverWay, index, itemID), itemcntFormula))
            if not itemcnt:
                continue
            itemID = __GetJobItem(job, itemID, jobItemList)
            itemDict[itemID] = itemcnt
    
    return exp, sp, money, itemDict
def __GetJobItem(job, itemID, jobItemList):
    ## 获取物品对应的职业物品, 职业从1开始
    for jobItemIDList in jobItemList:
        if type(jobItemIDList) not in [list, tuple]:
            GameWorld.ErrLog("资源找回职业物品组格式错误!itemID=%s,jobItemList=%s" % (itemID, jobItemList))
            return itemID
        if itemID in jobItemIDList:
            if job <= 0 or job > len(jobItemIDList):
                GameWorld.ErrLog("资源找回职业物品配置错误,没有该职业对应物品ID!itemID=%s,job=%s" % (itemID, job))
                return itemID
            return jobItemIDList[job - 1]
    return itemID
## 通知找回次数
#  @param curPlayer