From c82ca7ce4eaa66b71a9df0e7f54434530ac59c9d Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 02 十一月 2020 16:28:03 +0800 Subject: [PATCH] 8469 【BT】【后端】个人BOSS,获得S评级的BOSS可进行扫荡 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_PersonalBoss.py | 39 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 37 insertions(+), 2 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_PersonalBoss.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_PersonalBoss.py index 24cb2bd..7761a75 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_PersonalBoss.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_PersonalBoss.py @@ -85,12 +85,15 @@ if not curfbStar: isFree = True GameWorld.DebugLog(" 首次过关!mapID=%s,lineID=%s" % (mapID, lineID), curPlayer.GetPlayerID()) - GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, 1, False, [mapID]) + + if curfbStar < grade: + GameWorld.DebugLog(" 更新评级!curfbStar=%s < grade=%s" % (curfbStar, grade), curPlayer.GetPlayerID()) + GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, grade, False, [mapID]) FBCommon.Sync_FBPlayerFBInfoData(curPlayer, mapID) # 同步信息 #增加进入次数 FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_PersonalBoss, isFree=isFree) - + FBCommon.DelFBEnterTicket(curPlayer, ChConfig.Def_FBMapID_PersonalBoss) PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_VIPBOSS, 1) PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_VIPBoss, 1) @@ -112,3 +115,35 @@ return 0 return ipyData.GetNPCID() +## 可否扫荡 +def OnPlayerFBSweepAsk(curPlayer, mapID, lineID, sweepCnt, isFinish, dataEx): + if mapID != ChConfig.Def_FBMapID_PersonalBoss: + return + curGrade = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID]) + if curGrade < 5: + GameWorld.DebugLog("没有S级不能扫荡! curGrade=%s" % curGrade) + return + + return True + +## 扫荡结果 +def OnPlayerFBSweepResult(curPlayer, mapID, lineID, sweepCnt, isFinish, dataEx): + + bossID = __GetPersonalBossID(lineID) + grade = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID]) + + GameWorld.DebugLog("个人boss扫荡: lineID=%s,bossID=%s,grade=%s,sweepCnt=%s" + % (lineID, bossID, grade, sweepCnt), curPlayer.GetPlayerID()) + + PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_VIPBOSS, sweepCnt) + PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_VIPBoss, sweepCnt) + PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_VIPBoss, sweepCnt) + + npcCountDict = {bossID:sweepCnt} + jsonItemList = NPCCommon.GiveKillNPCDropPrize(curPlayer, mapID, npcCountDict, curGrade=grade)[0] + isPass = 1 + overDict = {FBCommon.Over_itemInfo:jsonItemList} + FBCommon.NotifyFBOver(curPlayer, mapID, lineID, isPass, overDict) + return True + + -- Gitblit v1.8.0