From e618542a206ac40241588ee6c2438733b5426965 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 30 五月 2019 19:58:46 +0800 Subject: [PATCH] 7020 【2.0】【后端】符印镶嵌修改 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py index d08833e..3eac024 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRune.py @@ -209,7 +209,9 @@ if not srcIpyData: GameWorld.DebugLog("该符印没有配置属性! 无法镶嵌! itemID=%s" % srcRuneItemID, curPlayer.GetPlayerID()) return True - srcRuneAttrType = srcIpyData.GetAttrType() + srcRuneAttrTypeList = srcIpyData.GetAttrType() + srcRuneAttrTypeCntDict = {attrType:1 for attrType in srcRuneAttrTypeList} + maxSameAttrRuneCnt = IpyGameDataPY.GetFuncCfg('RuneUnlock', 5) # 判断是否已有镶嵌该属性类型 doubleCnt = 0 #双属性符印个数 for RuneNum in xrange(1, maxRuneHole + 1): @@ -223,13 +225,19 @@ if not ipyData: continue attrTypeList = ipyData.GetAttrType() - if srcRuneAttrType == attrTypeList: - GameWorld.DebugLog("已有镶嵌该属性类型! 无法镶嵌! RuneHoleNum=%s,srcRuneAttrType=%s" % (RuneNum, srcRuneAttrType), curPlayer.GetPlayerID()) - return True + for attrType in attrTypeList: + if attrType in srcRuneAttrTypeCntDict: + srcRuneAttrTypeCntDict[attrType] += 1 + if srcRuneAttrTypeCntDict[attrType] > maxSameAttrRuneCnt: + GameWorld.DebugLog( + "该属性类型已镶嵌数量超过%s! 无法镶嵌! ,attrType=%s" % (maxSameAttrRuneCnt, attrType), + curPlayer.GetPlayerID()) + return + if len(attrTypeList) > 1: doubleCnt +=1 - if len(srcRuneAttrType) > 1 and doubleCnt >= __GetCanInlayDoubleAttrRuneCnt(curPlayer): + if len(srcRuneAttrTypeList) > 1 and doubleCnt >= __GetCanInlayDoubleAttrRuneCnt(curPlayer): GameWorld.DebugLog("当前可镶嵌双属性符印个数已达上限%s! 无法镶嵌! itemID=%s" % (doubleCnt, srcRuneItemID), curPlayer.GetPlayerID()) return True -- Gitblit v1.8.0