| | |
| | | lineID = FBCommon.GetFBPropertyMark()
|
| | | star = GameWorld.GetGameFB().GetGameFBDictByKey(FBPlayerDict_FBStar)
|
| | | mapID = ChConfig.Def_FBMapID_IceLode
|
| | | |
| | | isInFBOnDay = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_IceLodeIsInFBOnDay)
|
| | | #更新星级
|
| | | lastStar = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID])
|
| | | if isPass and star > lastStar:
|
| | | GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, star, False, [mapID])
|
| | | FBCommon.Sync_FBPlayerFBInfoData(curPlayer, mapID) # 同步信息
|
| | | if not lastStar: #每日活动
|
| | | if not lastStar and not isInFBOnDay: #每日活动
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_IceLode)
|
| | | isInFBOnDay = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_IceLodeIsInFBOnDay)
|
| | | |
| | | if isInFBOnDay: #在副本里过天,副本结束后再补发星级奖励
|
| | | CheckIceLodeStarAwardMail(curPlayer)
|
| | | # exp = gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_TotalExp)
|
| | |
| | | if not costTime:
|
| | | costTime = tick - GameWorld.GetGameFB().GetFBStepTick()
|
| | | #jsonItemList = PyGameData.g_fbPickUpItemDict.get(playerID, [])
|
| | | overDict = {FBCommon.Over_isPass:int(isPass), FBCommon.Over_costTime:costTime}
|
| | | if isPass:
|
| | | itemList = FBCommon.GetFBLineReward(mapID, lineID)
|
| | | # 给物品
|
| | | needSpace = len(itemList)
|
| | |
| | | for itemID, itemCount, isBind in itemList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem])
|
| | |
|
| | | |
| | | jsonItemList = FBCommon.GetJsonItemList(itemList)
|
| | | overDict[FBCommon.Over_itemInfo] = jsonItemList
|
| | | # 通知结果
|
| | | __SendIceLodeOverInfo(curPlayer, {FBCommon.Over_isPass:int(isPass), FBCommon.Over_costTime:costTime, FBCommon.Over_itemInfo:jsonItemList})
|
| | | __SendIceLodeOverInfo(curPlayer, overDict)
|
| | |
|
| | | # 进入离开阶段
|
| | | FBCommon.SetFBStep(FB_Step_Over, tick)
|
| | |
| | |
|
| | | ## 可否扫荡
|
| | | def OnPlayerFBSweepAsk(curPlayer, mapID, lineID, sweepCnt, isFinish, dataEx):
|
| | | if curPlayer.GetMapID() == ChConfig.Def_FBMapID_IceLode:
|
| | | GameWorld.DebugLog('冰晶矿脉扫荡 副本里不能扫荡 ')
|
| | | return
|
| | | #战力判断
|
| | | LVIpyData = PlayerControl.GetPlayerLVIpyData(curPlayer.GetLV())
|
| | | reFightPower = 0 if not LVIpyData else LVIpyData.GetIceLodeFightPower() # 当前等级参考战力
|