From c32b4159c5f33b4badd3d5f2a2c06923dda55ec4 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 09 二月 2021 10:59:09 +0800
Subject: [PATCH] 8716 【主干】【后端】【BT2】H.活动-节日祈愿(节日登录优化已登录天不限制领取天);

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py |   65 ++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 28 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
index 0ef4888..087a71b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
@@ -582,43 +582,52 @@
         if not isReload and preState == state:
             #已经是这个状态了
             continue
+        GameWorld.Log("运营活动变更: actName=%s,preState=%s,state=%s,dictName=%s" % (actName, preState, state, dictName))
         #更新字典值
         gameWorld.SetDict(dictName, state)
         sendMapServerMsgDict = mapServerInfoDict.get(actName, {})
         
         dbOperationActIDKey = PlayerDBGSEvent.Def_OperationActID % actName
-        curActID = sendMapServerMsgDict.get(ShareDefine.ActKey_ID)
+        dbActID = PlayerDBGSEvent.GetDBGSTrig_ByKey(dbOperationActIDKey)
+        curActID = sendMapServerMsgDict.get(ShareDefine.ActKey_ID, 0)
         dayIndex = sendMapServerMsgDict.get(ShareDefine.ActKey_DayIndex, 0)
-        if curActID and PlayerDBGSEvent.GetDBGSTrig_ByKey(dbOperationActIDKey) != curActID:
+        if dbActID != curActID:
+            GameWorld.Log("    dbActID变更: dbActID=%s,curActID=%s" % (dbActID, curActID))
             PlayerDBGSEvent.SetDBGSTrig_ByKey(dbOperationActIDKey, curActID)
-            if actName in ShareDefine.NeedWorldLVOperationActNameList:
-                #记录开启时世界等级
-                worldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
-                PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OActWorldLV % actName, worldLV)
-                
-            #此处为活动开启时
-            if actName == ShareDefine.OperationActionName_BossReborn:
-                #重置BOSS复活点
-                GameWorldBoss.ResetBossRebornPoint()
-            elif actName == ShareDefine.OperationActionName_FairyCeremony:
-                #重置仙界盛典
-                PlayerFairyCeremony.ResetFairyCeremony()
-            elif actName == ShareDefine.OperationActionName_NewFairyCeremony:
-                #重置仙界盛典
-                PlayerNewFairyCeremony.ResetNewFairyCeremony()
-            elif actName == ShareDefine.OperationActionName_FeastRedPacket:
-                #重置节日红包
-                if ipyData:
-                    PlayerFamilyRedPacket.OnResetFeastRedPacket(ipyData, dayIndex)
-            elif actName == ShareDefine.OperationActionName_FlashSale:
-                #限时抢购重置购买次数 本次活动每场不能重复
-                #dayIndex = sendMapServerMsgDict.get(ShareDefine.ActKey_DayIndex, 0)
-                PlayerStore.ResetFlashSaleBuyCnt(ipyData)
-                
+            
+            if curActID:
+                if actName in ShareDefine.NeedWorldLVOperationActNameList:
+                    #记录开启时世界等级
+                    worldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
+                    PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OActWorldLV % actName, worldLV)
+                    GameWorld.Log("    记录活动开启时世界等级: worldLV=%s" % (worldLV))
+                    
+                #此处为活动开启时
+                if actName == ShareDefine.OperationActionName_BossReborn:
+                    #重置BOSS复活点
+                    GameWorldBoss.ResetBossRebornPoint()
+                elif actName == ShareDefine.OperationActionName_FairyCeremony:
+                    #重置仙界盛典
+                    PlayerFairyCeremony.ResetFairyCeremony()
+                elif actName == ShareDefine.OperationActionName_NewFairyCeremony:
+                    #重置仙界盛典
+                    PlayerNewFairyCeremony.ResetNewFairyCeremony()
+                elif actName == ShareDefine.OperationActionName_FeastRedPacket:
+                    #重置节日红包
+                    if ipyData:
+                        PlayerFamilyRedPacket.OnResetFeastRedPacket(ipyData, dayIndex)
+                elif actName == ShareDefine.OperationActionName_FlashSale:
+                    #限时抢购重置购买次数 本次活动每场不能重复
+                    #dayIndex = sendMapServerMsgDict.get(ShareDefine.ActKey_DayIndex, 0)
+                    PlayerStore.ResetFlashSaleBuyCnt(ipyData)
+        else:
+            GameWorld.Log("    dbActID不变: dbActID=%s,curActID=%s" % (dbActID, curActID))
+            
         if actName in ShareDefine.NeedWorldLVOperationActNameList:
             actWorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OActWorldLV % actName)
             sendMapServerMsgDict[ShareDefine.ActKey_WorldLV] = actWorldLV
-        
+            GameWorld.Log("    活动世界等级: actWorldLV=%s" % (actWorldLV))
+            
         if actName == ShareDefine.OperationActionName_ExpRate:
             if isReload and ipyData:
                 Sync_OperationAction_ExpRate(ipyData)
@@ -654,7 +663,7 @@
         sendMapServerMsgDict[ShareDefine.ActKey_State] = state
         GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_OperationActionInfo % actName, sendMapServerMsgDict)
         
-        GameWorld.Log("运营活动变更: actName=%s,preState=%s,state=%s,dictName=%s, %s" % (actName, preState, state, dictName, sendMapServerMsgDict))
+        GameWorld.Log("    sendMapServerMsgDict: %s" % (sendMapServerMsgDict))
     return
 
 def Sync_OperationAction_ExpRate(ipyData, curPlayer=None):

--
Gitblit v1.8.0