| | |
| | | needSyncFBData = False
|
| | | overDict = {}
|
| | | if isPass:
|
| | | curGrade = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [dataMapID])
|
| | | if curGrade < grade:
|
| | | GameWorld.DebugLog(" 更新过关评级: dataMapID=%s,lineID=%s,curGrade=%s,rewardGrade=%s" |
| | | % (dataMapID, lineID, curGrade, grade), curPlayer.GetPlayerID())
|
| | | GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, grade, False, [dataMapID])
|
| | | needSyncFBData = True
|
| | | |
| | | |
| | | overDict = {FBCommon.Over_costTime:costTime, FBCommon.Over_grade:grade}
|
| | | if not nextLineID:#没有下一层则给奖励!!
|
| | | rewardRet = __GivePlayerQueenRelicsReward(curPlayer, dataMapID, rewardLine - 1, lineID, grade, maxGrade, rewardRateList)
|
| | | if rewardRet:
|
| | | needSyncFBData, startRewardLineID, totalSP, rewardItemList = rewardRet
|
| | | startRewardLineID, totalSP, rewardItemList = rewardRet
|
| | | overDict.update({FBCommon.Over_sp:totalSP, FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(rewardItemList),
|
| | | "startRewardLineID":startRewardLineID})
|
| | | if lineID+1 > curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FBHistoryMaxLine % dataMapID):
|
| | |
| | | isInFBOnDay = gameFB.GetPlayerGameFBDictByKey(playerID, FBPKey_IsInFBOnDay)
|
| | | if not isInFBOnDay:
|
| | | GameWorld.DebugLog("首次结算奖励,增加挑战次数!", playerID)
|
| | | needSyncFBData = True
|
| | | needSyncFBData = False
|
| | | FBCommon.AddEnterFBCount(curPlayer, dataMapID)
|
| | | addXianyuanCoin, reason = FBHelpBattle.DoFBAddXianyuanCoin(curPlayer, mapID, lineID)
|
| | | overDict[FBCommon.Over_xianyuanCoin] = [addXianyuanCoin, reason]
|
| | |
| | | return
|
| | |
|
| | | startRewardLineID = rewardLineID + 1
|
| | | needSyncFBData = False
|
| | |
|
| | | # 统计奖励,本关卡之前的都给最高级奖励, 当前层以本次评级为准
|
| | | for giveLineID in xrange(startRewardLineID, curLineID + 1):
|
| | |
|
| | | rewardGrade = maxGrade if giveLineID < curLineID else passGrade
|
| | | curGrade = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, giveLineID, False, [dataMapID])
|
| | | if curGrade < rewardGrade:
|
| | | GameWorld.DebugLog(" 更新过关评级: dataMapID=%s,giveLineID=%s,curGrade=%s,rewardGrade=%s" |
| | | % (dataMapID, giveLineID, curGrade, rewardGrade), curPlayer.GetPlayerID())
|
| | | GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, giveLineID, rewardGrade, False, [dataMapID])
|
| | | needSyncFBData = True
|
| | | |
| | | |
| | | lineReward = FBCommon.GetFBLineReward(dataMapID, giveLineID)
|
| | | rewardSP = lineReward[0]
|
| | | rewardItemList = lineReward[1:]
|
| | |
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem], event=["QueenRelics", False, {}])
|
| | |
|
| | | GameWorld.DebugLog(" 总奖励:totalSP=%s,rewardItemList=%s" % (totalSP, rewardItemList), curPlayer.GetPlayerID())
|
| | | return needSyncFBData, startRewardLineID, totalSP, rewardItemList
|
| | | return startRewardLineID, totalSP, rewardItemList
|
| | |
|
| | |
|
| | | ## 副本行为
|