lcy
2026-06-11 257d1bd2d25df4d0bf0152925e50237fe6758771
588 公会攻防战

1.对手公会解散,允许进入战斗
2.去掉预先胜利状态
3.参战且已战斗成员可开启1次格子
2个文件已修改
26 ■■■■■ 已修改文件
Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/GuildAtkDefBat/GuildAtkDefBatWin.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs
@@ -223,7 +223,6 @@
        targetInfo.ServerID = sourceData.ServerID;
        targetInfo.EmblemID = sourceData.EmblemID;
        targetInfo.EmblemWord = UIHelper.ServerStringTrim(sourceData.EmblemWord);
        targetInfo.IsDismiss = sourceData.IsDismiss;
        targetInfo.TotalStar = sourceData.TotalStar;
        targetInfo.OverState = sourceData.OverState;
        targetInfo.BatMemCount = sourceData.BatMemCount;
@@ -423,8 +422,8 @@
        if (BatState == 1 && MyFamilyInfo != null)
        {
            int overState = MyFamilyInfo.OverState;
            if (overState == 1 || overState == 3) return 4;
            if (overState == 2 || overState == 4) return 5;
            if (overState == 1) return 4;
            if (overState == 2) return 5;
        }
        return 1;
@@ -883,8 +882,7 @@
    /// <summary>
    /// 获取我的剩余开启次数
    /// 仅在休战期(BatState==1)可开启
    /// 对手公会未解散: 有参与战斗(BatCnt>0)的玩家可开启1次
    /// 对手公会已解散: 所有参赛成员均可开启1次
    /// 参战且已战斗成员可开启1次
    /// 每人最多1次
    /// </summary>
    public int GetMyOpenRemainCount()
@@ -900,15 +898,15 @@
        if (!MyFamilyMembers.TryGetValue(myPlayerId, out var myMem))
            return 0;
        // 未参与战斗不能开启
        if (myMem.BatCnt <= 0)
            return 0;
        // 已开启过则不能再次开启
        if (myMem.GridNum > 0)
            return 0;
        // 对手公会已解散: 所有参赛成员均可开启
        if (EnemyFamilyInfo != null && EnemyFamilyInfo.IsDismiss == 1)
            return 1;
        // 对手公会未解散: 参战成员均可开启1次(已开启的被 GridNum 过滤)
        // 参战且已战斗成员可开启1次(已开启的被 GridNum 过滤)
        return 1;
    }
Main/System/GuildAtkDefBat/GuildAtkDefBatWin.cs
@@ -86,14 +86,6 @@
                return;
            }
            // 对手公会已解散,不可进入战斗
            var enemyInfo = GuildAtkDefBatManager.Instance.EnemyFamilyInfo;
            if (enemyInfo != null && enemyInfo.IsDismiss == 1)
            {
                SysNotifyMgr.Instance.ShowTip("GuildAtkDefBat6");
                return;
            }
            bool hasEligibility = GuildAtkDefBatManager.Instance.HasMyJoinEligibility();
            if (!hasEligibility)
            {