|  |  | 
 |  |  | import ItemControler
 | 
 |  |  | import PlayerSuccess
 | 
 |  |  | import GameFuncComm
 | 
 |  |  | import PlayerTask
 | 
 |  |  | import PyGameData
 | 
 |  |  | import PlayerVip
 | 
 |  |  | import GameObj
 | 
 |  |  | 
 |  |  |     NotifyFBCntRegainInfo(curPlayer, [mapID])
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def OnFBOver(curPlayer, mapID, funcLineID, isWin, awardItemList):
 | 
 |  |  |     ## 副本结束通用逻辑
 | 
 |  |  |      | 
 |  |  |     PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_FBChallenge, 1, [mapID])
 | 
 |  |  |     if not isWin:
 | 
 |  |  |         return
 | 
 |  |  |      | 
 |  |  |     PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_FBPass)
 | 
 |  |  |      | 
 |  |  |     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FBPassLineID % mapID, funcLineID)
 | 
 |  |  |     Sync_FBPlayerFBInfoData(curPlayer, mapID)
 | 
 |  |  |      | 
 |  |  |     GameWorld.DebugLog("奖励物品: %s" % awardItemList)
 | 
 |  |  |     if awardItemList:
 | 
 |  |  |         ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["FBPass_%s" % mapID, False, {"mapID":mapID, "funcLineID":funcLineID}])
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def RegainFBCntProcess(curPlayer):
 | 
 |  |  |     ## 按时间恢复副本次数
 | 
 |  |  |     
 |