From 490aeb49ba64a080efbca0a884c9c6cdd8dcf8a2 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 10 一月 2019 19:50:32 +0800 Subject: [PATCH] 5740 境界(还原) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py index e9eca08..3fe517e 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py @@ -68,9 +68,9 @@ exp = eval(IpyGameDataPY.GetFuncCompileCfg('GatherSoulLevelUp')) g_GatherSoulLVExpDict[lv] = exp - qualityPerDict = IpyGameDataPY.GetFuncEvalCfg('GatherSoulLevelUp', 2, {}) - if itemColor in qualityPerDict: - exp *= float(qualityPerDict[itemColor]) + qualityPerDict = IpyGameDataPY.GetFuncEvalCfg('GatherSoulLevelUp', 2, {}).get(str(itemData.GetType()), {}) + if str(itemColor) in qualityPerDict: + exp *= float(qualityPerDict[str(itemColor)]) attrTypeCnt = len(ipyData.GetAttrType()) specialPer = IpyGameDataPY.GetFuncEvalCfg('GatherSoulLevelUp', 3, {}).get(attrTypeCnt, 1) @@ -78,7 +78,7 @@ soulGrade = ipyData.GetSoulGrade() exp *= float(IpyGameDataPY.GetFuncEvalCfg('GatherSoulLevelUp', 5, {}).get(soulGrade, 1)) - return exp + return int(exp) ## 获取聚魂属性数值 @@ -345,6 +345,8 @@ totalSoulDust += soulDust delPlaceDict[place] = [GatherSoulData, soulidList, int(soulDust), soulSplinters, soulCore] + if not delPlaceDict: + return if delPlaceDict: ItemCommon.DelVPackItem(curPlayer, packIndex, delPlaceDict.keys(), ChConfig.ItemDel_GatherSoul) addDataDict = {"delPlaceDict":delPlaceDict, "isAuto":isAuto} @@ -371,11 +373,14 @@ for itemID, itemCnt in giveMaterialDict.items(): ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [ShareDefine.rptGatherSoul]) GameWorld.DebugLog("聚魂分解: isAuto=%s,PlaceIndexList=%s, delPlaceDict=%s, giveMaterialDict=%s" % (isAuto, placeList, delPlaceDict, giveMaterialDict)) + if not isAuto: + curPlayer.Sync_MakeItemAnswer(ShareDefine.Def_mitGatherSoulDecompose, 1) return -def __GetGatherSoulSplitMaterial(gathersoulID, soulidList=[], soulSplinters=0, soulCore=0): +def __GetGatherSoulSplitMaterial(gathersoulID): ##拆解多属性聚魂 返回单属性聚魂ID,材料 + soulidList, soulSplinters, soulCore= [], 0, 0 compoundIpyData = IpyGameDataPY.GetIpyGameDataNotLog('GatherSoulCompound', gathersoulID) if compoundIpyData: materialList = compoundIpyData.GetNeedItem() @@ -488,6 +493,7 @@ RefreshGatherSoulAttr(curPlayer) PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState() #返还多余魂尘 + totalPoint = int(totalPoint) if totalPoint > 0: PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_SoulDust, totalPoint) #给新物品 -- Gitblit v1.8.0