| | |
| | | #
|
| | | ##@package GameWorldLogic.FBProcess.GameLogic_ZhuXianBoss
|
| | | #
|
| | | # @todo:诛仙boss
|
| | | # @todo:诛仙boss/雷罚BOSS
|
| | | # @author xdh
|
| | | # @date 2019-01-18
|
| | | # @version 1.0
|
| | |
| | | import FBCommon
|
| | | import GameWorld
|
| | | import IPY_GameWorld
|
| | | import GameWorldProcess
|
| | | import PlayerActivity
|
| | | import IpyGameDataPY
|
| | | import ChConfig
|
| | | import PyGameData
|
| | |
| | |
|
| | | if curPlayer.GetOfficialRank() < ipyData.GetRealmLV():
|
| | | return
|
| | | #诛仙总评分
|
| | | if ItemCommon.GetZhuXianEquipTotalGS(curPlayer) < ipyData.GetZhuXianScore():
|
| | | return
|
| | |
|
| | | enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % ChConfig.Def_FBMapID_ZhuXianBoss)
|
| | | if enterCnt >= FBCommon.GetEnterFBMaxCnt(curPlayer, ChConfig.Def_FBMapID_ZhuXianBoss):
|
| | |
| | | # @return 返回值无意义
|
| | | # @remarks 开启副本
|
| | | def OnOpenFB(tick):
|
| | | lineID = GameWorld.GetGameWorld().GetPropertyID() - 1
|
| | | bossID = CurFBLineBOSSID(lineID)
|
| | | if not bossID:
|
| | | return
|
| | | key = ShareDefine.Def_Notify_WorldKey_GameWorldBossReborn % bossID
|
| | | GameWorld.GetGameWorld().SetGameWorldDict(key, 1)
|
| | | GameWorld.DebugLog(' ˢBOSSbossID=%s' % bossID)
|
| | |
|
| | | return
|
| | |
|
| | | ## 进副本
|
| | |
| | | playerID = curPlayer.GetPlayerID()
|
| | |
|
| | | lineID = GameWorld.GetGameWorld().GetPropertyID() - 1
|
| | | |
| | | gameFB = GameWorld.GetGameFB()
|
| | | playerCnt = GameWorld.GetGameWorld().GetMapCopyPlayerManager().GetPlayerCount()
|
| | | GameWorld.DebugLog("DoEnterFB...playerCnt=%s,lineID=%s" % (playerCnt, lineID), playerID)
|
| | | |
| | | if lineID < 0:
|
| | | overTick = gameFB.GetGameFBDictByKey(FBDict_IsOver)
|
| | | if lineID < 0 or overTick:
|
| | | PlayerControl.PlayerLeaveFB(curPlayer)
|
| | | return
|
| | | hadDelTicket = FBCommon.GetHadDelTicket(curPlayer)
|
| | |
| | |
|
| | | UpdateHurtInfo(curPlayer, 0, True)
|
| | |
|
| | | gameFB = GameWorld.GetGameFB()
|
| | | |
| | | # 上鼓舞buff
|
| | | encourageLV = gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_EncourageLV)
|
| | | if encourageLV > 0:
|
| | |
| | | ItemControler.GivePlayerItemOrMail(curPlayer, helpItemList, 'ZXBossHelperReward')
|
| | | overDict = {FBCommon.Over_rank:0, FBCommon.Over_itemInfo:jsonItemList}
|
| | | FBCommon.NotifyFBOver(curPlayer, ChConfig.Def_FBMapID_ZhuXianBoss, lineID, isPass, overDict)
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_LeiFaBoss, 1)
|
| | | else:
|
| | | overDict = {FBCommon.Over_rank:0}
|
| | | FBCommon.NotifyFBOver(curPlayer, ChConfig.Def_FBMapID_ZhuXianBoss, lineID, 0, overDict)
|
| | |
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_KillSpecificNPC, addCnt, [bossID])
|
| | | FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_ZhuXianBoss, addCnt)
|
| | | # 每日活动
|
| | | #PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_ZhuXianBoss, addCnt)
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_LeiFaBoss, addCnt)
|
| | | PlayerActLogin.AddLoginAwardActionCnt(curPlayer, ChConfig.Def_LoginAct_ZhuXianBOSS, addCnt)
|
| | | return prizeItemList
|
| | |
|