ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
@@ -223,7 +223,7 @@
        
    if familyWarRank:
        GameWorld.Log("解散仙盟,触发更新仙盟联赛排名: delFamilyID=%s,familyWarRank=%s" % (familyID, familyWarRank))
        PlayerFamily.UpdFamilyWarRank()
        UpdFamilyWarRank()
        
    # 补发未分配的连胜奖励
    AllotWinRewardBySystem(GetFamilyWarChampionRecData(), True)
@@ -294,7 +294,9 @@
    
    # 下周分组定级
    elif stateValue == FamilyWarState_NextWeekGroupRank:
        DoLogicFamilyWar_NextWeekGroupRank()
        pass
        #废弃该阶段逻辑
        #DoLogicFamilyWar_NextWeekGroupRank()
        
    else:
        GameWorld.ErrLog("不存在该仙盟联赛状态!stateValue=%s" % stateValue)
@@ -738,6 +740,34 @@
    PlayerFamily.UpdFamilyWarRank()
    return
def UpdFamilyWarRank():
    '''更新仙盟联赛排名
    注意:该逻辑在仙盟联赛周期中不可执行,仅在下周分组定级状态下可更新,由程序控制,在活动结束后结算调用
    仙盟联赛新一周期开始时、仙盟解散时 会触发该逻辑
    '''
    #gameWorld = GameWorld.GetGameWorld()
    #state = gameWorld.GetDictByKey(ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyWar)
    #if state != GameWorldFamilyWar.FamilyWarState_NextWeekGroupRank:
    #    GameWorld.DebugLog("非下周分组定级阶段不可更新仙盟联赛排名!")
    #    return
    GameWorld.Log("=== 更新仙盟联赛排名 ===")
    familyMgr = GameWorld.GetFamilyManager()
    sortFamilyIDList = PlayerFamily.GetSortFamilyIDList()
    for rank, familyID in enumerate(sortFamilyIDList, 1):
        family = familyMgr.FindFamily(familyID)
        if not family:
            continue
        curRank = PlayerFamily.GetFamilyWarRank(family)
        if not curRank:
            break
        if curRank != rank:
            PlayerFamily.SetFamilyWarRank(family, rank)
            GameWorld.Log("    更新仙盟联赛仙盟排名: familyID=%s,curRank=%s,updRank=%s" % (family.GetID(), curRank, rank))
    return
def __DoLogicFamilyWarAllOver():
    ''' 仙盟赛全部比赛结束后逻辑
        非最高级别组: 第一名晋级
@@ -864,6 +894,8 @@
    
    PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_Round, 0) # 重置对战轮次
    PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_AllOver, 1) # 设置已经处理过总结算
    UpdFamilyWarRank() # 改为比赛结束后默认更新联赛排名
    return
def UpdFamilyWarChampion(championFamilyID):