5428 【后端】【1.4】资源找回新增封魔坛找回规则
| | |
| | | dict JadeReward; //绑玉找回奖励
|
| | | DWORD CostCopper; //铜钱找回铜钱消耗
|
| | | dict CopperReward; //铜钱找回奖励
|
| | | list JobItemList; //职业物品列表
|
| | | };
|
| | |
|
| | | //宝箱表开启
|
| | |
| | | ("dict", "JadeReward", 0),
|
| | | ("DWORD", "CostCopper", 0),
|
| | | ("dict", "CopperReward", 0),
|
| | | ("list", "JobItemList", 0),
|
| | | ),
|
| | |
|
| | | "Chests":(
|
| | |
| | | self.VipCostJade = 0
|
| | | self.JadeReward = {}
|
| | | self.CostCopper = 0
|
| | | self.CopperReward = {} |
| | | self.CopperReward = {}
|
| | | self.JobItemList = [] |
| | | return |
| | | |
| | | def GetID(self): return self.ID # ID
|
| | |
| | | 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(): |
| | |
| | | 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
|
| | |
| | |
|
| | | 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', '')
|
| | |
| | | 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
|