From 968848d5a8b5e0308fedcd387a42fd45a886aec6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 26 九月 2019 16:07:51 +0800
Subject: [PATCH] 8281 【后端】【恺英】封魔坛每日刷新(新手封魔坛改为可重复进入,首次过关不扣次数)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py |   43 ++++++++++++++++++++++++-------------------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py                         |    3 ++-
 2 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
index 3228329..97f6427 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py
@@ -63,18 +63,19 @@
 #  @return 布尔值
 def OnEnterFBEvent(curPlayer, mapID, lineID, tick):
     IsDouble = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTDouble)
-    newbielineList = IpyGameDataPY.GetFuncEvalCfg('SealDemonNewbieLine')
-    if IsDouble and lineID not in newbielineList:
-        enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % mapID)
-        maxCnt = FBCommon.GetEnterFBMaxCnt(curPlayer, mapID)
+    #newbielineList = IpyGameDataPY.GetFuncEvalCfg('SealDemonNewbieLine')
+    if IsDouble:# and lineID not in newbielineList:
+        enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % ChConfig.Def_FBMapID_SealDemon)
+        maxCnt = FBCommon.GetEnterFBMaxCnt(curPlayer, ChConfig.Def_FBMapID_SealDemon)
         if enterCnt + 2 > maxCnt:
             return False
-    if lineID in newbielineList:
-        hasEnter = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False,
-                                               [ChConfig.Def_FBMapID_SealDemon])
-        if hasEnter:
-            GameWorld.DebugLog("    已进入过该新手线路 %s" % lineID)
-            return False
+    # 新手副本修改为也可以重复进
+#    if lineID in newbielineList:
+#        hasEnter = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False,
+#                                               [ChConfig.Def_FBMapID_SealDemon])
+#        if hasEnter:
+#            GameWorld.DebugLog("    已进入过该新手线路 %s" % lineID)
+#            return False
     return True
 
 
@@ -458,10 +459,12 @@
     prizeMultiple = 1
     addCnt = 1
     if isNewbieLine:
-        hasEnter = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [ChConfig.Def_FBMapID_SealDemon])
-        if hasEnter:
-            #已给过
-            return {}
+        newbieLineStar = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [ChConfig.Def_FBMapID_SealDemon])
+        # 新手本改为可重复进入
+#        hasEnter = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [ChConfig.Def_FBMapID_SealDemon])
+#        if hasEnter:
+#            #已给过
+#            return {}
     elif isClientSend:
         return {}
     else:
@@ -500,12 +503,15 @@
     #新手线路的更新进去记录
     newbielineList = IpyGameDataPY.GetFuncEvalCfg('SealDemonNewbieLine')
     GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, 1, False, [ChConfig.Def_FBMapID_SealDemon])
-    if lineID in newbielineList:
-        FBCommon.Sync_FBPlayerFBInfoData(curPlayer, ChConfig.Def_FBMapID_SealDemon) # 同步信息
+    if isNewbieLine:
+        # 未过关不扣次数
+        if newbieLineStar:
+            FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_SealDemon, addCnt)
+        else:
+            FBCommon.Sync_FBPlayerFBInfoData(curPlayer, ChConfig.Def_FBMapID_SealDemon) # 同步信息
     else:
         FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_SealDemon, addCnt)
-    
-    
+        
     # 每日活动
     PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_SealDemon, addCnt)
     EventShell.EventRespons_FBEvent(curPlayer, "sealdemon_%s" % (lineID+1))
@@ -513,7 +519,6 @@
     #任务
     if rank == 1 and lineID >= 4:
         EventShell.EventRespons_SealDemon(curPlayer)
-    
     
     PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_FMT, addCnt)
     PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_FMT, addCnt)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 4e388f0..4d86505 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -1771,7 +1771,8 @@
             newbielineList = IpyGameDataPY.GetFuncEvalCfg('SealDemonNewbieLine', 1)
             # 新手线路特殊处理,直接进入
             if lineID in newbielineList:
-                PlayerResetWorldPosFB(curPlayer, mapID, posX, posY, False, fbID, funcLineID=lineID)
+                GameWorld.DebugLog("封魔坛虚拟线路只能通过自定义场景进入挑战!")
+                #PlayerResetWorldPosFB(curPlayer, mapID, posX, posY, False, fbID, funcLineID=lineID)
                 return
             else:
                 bossID = GameLogic_SealDemon.CurFBLineBOSSID(lineID)

--
Gitblit v1.8.0