ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py
@@ -32,6 +32,7 @@
import GameFuncComm
import PlayerTJG
import PlayerActivity
import PlayerSuccess
import PyGameData
import copy
@@ -43,7 +44,7 @@
) = range(2)
Def_TJGRecoverID = 1 #脱机挂找回索引ID
Def_QueenRelics = 11 #娲皇遗迹找回索引ID
## OnDay处理
#  @param curPlayer
#  @return None
@@ -291,7 +292,8 @@
    if Def_TJGRecoverID in recoverCntDict:
        #脱机挂经验找回后重置
        PlayerTJG.ResetTJGDeadInfo(curPlayer)
    if Def_QueenRelics in recoverCntDict:
        PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_QueenRelicsEx, recoverCntDict[Def_QueenRelics])
    DataRecordPack.DR_PlayerRecover(curPlayer, recoverWay, recoverCntDict, totalExp, totalMoney, totalSP, totalItemDict)        
    __SetRecoverNum(curPlayer, recoverCntDict)
    __NotifyRecoverNum(curPlayer)
@@ -397,7 +399,7 @@
    reExp = PlayerControl.GetPlayerReExp(curPlayer)
    expRate = PlayerControl.GetLimitExpRate(curPlayer, ChConfig.ExpRateLimitType_Recover)
    extraData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainData % index, 0)
    extraData2 = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainDataEx % index, 0)
    dataEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainDataEx % index, 0)
    
    tjgExp = 0 #脱机挂找回经验
    exp = 0
@@ -423,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', '')
@@ -431,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