From bd042c2dfd7d7b9cc7a40a6a3e149c52f6c7e87d Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 07 三月 2019 10:10:00 +0800
Subject: [PATCH] 6307 【后端】【2.0】多套装备开发单(初始装备背包格子130)

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
index d5a9976..8836b9a 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
@@ -32,7 +32,7 @@
 
 import random
 import copy
-
+import json
 
 '''
 1. 仙盟改名
@@ -80,8 +80,8 @@
 def SetBatRecFamilyNameA(recData, familyNameA): return recData.SetStrValue1(familyNameA)
 def GetBatRecFamilyNameB(recData): return recData.GetStrValue2()
 def SetBatRecFamilyNameB(recData, familyNameB): return recData.SetStrValue2(familyNameB)
-def GetBatRecDissolutionID(recData): return [] if not recData.GetStrValue3() else eval(recData.GetStrValue3()) # 解散的家族ID列表 [familyID, ...]
-def SetBatRecDissolutionID(recData, dissFamilyIDList): return recData.SetStrValue3(str(dissFamilyIDList))
+def GetBatRecDissolutionID(recData): return [] if not recData.GetStrValue3() else json.loads(recData.GetStrValue3()) # 解散的家族ID列表 [familyID, ...]
+def SetBatRecDissolutionID(recData, dissFamilyIDList): return recData.SetStrValue3(json.dumps(dissFamilyIDList, ensure_ascii=False))
 
 ''' 王者仙盟
 value1        家族ID
@@ -295,7 +295,7 @@
     # 下周分组定级
     elif stateValue == FamilyWarState_NextWeekGroupRank:
         pass
-        #废弃该阶段逻辑
+        #废弃该阶段逻辑,因为不再支持单次活动周期跨天,所以改为过天时触发检查一下即可
         #DoLogicFamilyWar_NextWeekGroupRank()
         
     else:
@@ -729,6 +729,10 @@
         
     return
 
+def DoOnDay():
+    DoLogicFamilyWar_NextWeekGroupRank()
+    return
+
 def DoLogicFamilyWar_NextWeekGroupRank():
     ''' 下周分组定级
         最低级别组: 不设置联赛级别, 下周最低级别组名单由其他无联赛级别仙盟总战力排行得到
@@ -737,7 +741,7 @@
     # 这里补触发一次,防止总结算的时候服务器异常没有成功结算
     #     或 次轮没有比赛导致没有结算(次轮的仙盟都解散了才可能出现,一般不可能出现,可不考虑,如果真出现了,会在周六凌晨结算)
     __DoLogicFamilyWarAllOver()
-    PlayerFamily.UpdFamilyWarRank()
+    #UpdFamilyWarRank()
     return
 
 def UpdFamilyWarRank():
@@ -790,6 +794,10 @@
     warBatRecList = universalRecMgr.GetTypeList(ShareDefine.Def_UniversalGameRecType_FamilyWarBattle)
     if not warBatRecList.Count():
         GameWorld.Log("没有仙盟联赛比赛记录,不需要结算!")
+        curRoundNum = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_Round)
+        PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_Round, 0) # 重置对战轮次
+        PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_AllOver, 1) # 设置已经处理过总结算
+        GameWorld.Log("重置轮次信息,设置已结算!curRoundNum=%s" % curRoundNum)
         return
     for i in xrange(warBatRecList.Count()):
         recData = warBatRecList.At(i)

--
Gitblit v1.8.0