From a71b91377eae9f9e497ae25ca25fdcd85ef99528 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 12 二月 2020 16:23:31 +0800
Subject: [PATCH] 8353 【后端】个人BOSS修改(支持免费进入也可增加活跃、成就等额外逻辑,只是不加进入次数)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_PersonalBoss.py |    8 +++++---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py               |    9 ++++++---
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
index ea2316f..f2224c4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
@@ -1543,7 +1543,10 @@
 #  @param fbID 副本id
 #  @param addCount 增加次数
 #  @return 返回值无意义
-def AddEnterFBCount(curPlayer, fbID, addCount=1, lineBit=-1):
+def AddEnterFBCount(curPlayer, fbID, addCount=1, lineBit=-1, isFree=False):
+    ## @param isFree: 是否免费进入的,免费的不增加实际进入次数,但需要触发进入次数额外处理,如活跃、成就等
+    addCountEx = addCount
+    addCount = 0 if isFree else addCount
     fbID = GetRecordMapID(fbID)
     enterCntKey = ChConfig.Def_Player_Dict_EnterFbCntDay % fbID
     enterCnt = curPlayer.NomalDictGetProperty(enterCntKey)
@@ -1560,8 +1563,8 @@
         addCount = updCnt-enterCnt
         PlayerControl.NomalDictSetProperty(curPlayer, enterCntKey, updCnt)
         
-        PlayerActivity.OnEnterFBActivity(curPlayer, fbID, updCnt, addCount)
-        PlayerSuccess.AddEnterFBSuccess(curPlayer, fbID, addCount)
+        PlayerActivity.OnEnterFBActivity(curPlayer, fbID, updCnt, addCountEx)
+        PlayerSuccess.AddEnterFBSuccess(curPlayer, fbID, addCountEx)
         updValue = updCnt
     GameWorld.DebugLog("    AddEnterFBCount fbID=%s, addCount=%s, lineBit=%s, enterCnt=%s,updValue=%s" 
                        % (fbID, addCount, lineBit, enterCnt, updValue), curPlayer.GetPlayerID())
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 3412fe5..b3b969b 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
@@ -70,15 +70,17 @@
     if FBCommon.GetCustomMapStep(curPlayer, mapID, lineID) != ChConfig.CustomMapStep_Fight:
         return
     
+    isFree = False
     curfbStar = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID])
     # 首次过关不扣次数
     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])
         FBCommon.Sync_FBPlayerFBInfoData(curPlayer, mapID) # 同步信息
-    else:
-        #增加进入次数
-        FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_PersonalBoss)
+        
+    #增加进入次数
+    FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_PersonalBoss, isFree=isFree)
         
     FBCommon.DelFBEnterTicket(curPlayer, ChConfig.Def_FBMapID_PersonalBoss)
     PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_VIPBOSS, 1)

--
Gitblit v1.8.0