From e3ffaf333f0cf198af908fe8e69619aa77b9903c Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 14 一月 2026 18:13:13 +0800
Subject: [PATCH] 287 【公会】BOSS讨伐

---
 Main/System/Guild/GuildBossManager.cs |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/Main/System/Guild/GuildBossManager.cs b/Main/System/Guild/GuildBossManager.cs
index 61c8335..06b4aef 100644
--- a/Main/System/Guild/GuildBossManager.cs
+++ b/Main/System/Guild/GuildBossManager.cs
@@ -24,6 +24,10 @@
     public long m_BoxHurt;    // 浠婃棩浼ゅ
     public long m_BoxHurtHis;    // 鍘嗗彶浼ゅ
 
+    //鏀诲嚮鏁版嵁
+    public HA504_tagSCFamilyTaofaAtkRet atkResult;
+    public event Action AtkResultEvent;
+
     //閰嶇疆
     public int initSuperHitRate;
     public int[] bzAddAttrs;
@@ -33,7 +37,7 @@
     public int[][] atkItemList;
     public int maxAngerValue;
 
-    public int[] bxCumulativeDamageList;
+    public long[] bxCumulativeDamageList;
     public int bxDailyMax;  //涓汉姣忔棩浜у嚭涓婇檺
     public int bxDailyAwardMax; //涓汉姣忔棩棰嗗彇濂栧姳涓婇檺
     public int addAtkCntItemID = 17; //澧炲姞璁ㄤ紣娆℃暟閬撳叿ID
@@ -61,7 +65,7 @@
         // 鏁板��2锛氭瘡鏃ヤ釜浜鸿础鐚疂绠辨暟涓婇檺锛屾渶鍚庝竴妗e彲寰幆锛屼笂闄愭帶鍒�
         // 鏁板��3锛氭瘡鏃ヤ釜浜洪鍙栧疂绠卞鍔变釜鏁颁笂闄�
         config = FuncConfigConfig.Get("FamilyTaofaBox");
-        bxCumulativeDamageList = JsonMapper.ToObject<int[]>(config.Numerical1);
+        bxCumulativeDamageList = JsonMapper.ToObject<long[]>(config.Numerical1);
         bxDailyMax = int.Parse(config.Numerical2);
         bxDailyAwardMax = int.Parse(config.Numerical3);
     }
@@ -129,6 +133,12 @@
         BossHurtEvent?.Invoke();
     }
 
+    public void UpdateAtkResult(HA504_tagSCFamilyTaofaAtkRet netPack)
+    {
+        atkResult = netPack;
+        AtkResultEvent?.Invoke();
+    }
+
 
     public int GetHasAtkCnt()
     {
@@ -170,8 +180,13 @@
         }
 
         //鍒ゆ柇鏄惁鏂扮殑鍏細鏁版嵁
-        if (vNetData.FamilyActionList.Length == 1 && vNetData.FamilyActionList[0].Value1 == 1)
+        for (int i = 0; i < vNetData.Count; i++)
         {
+            var playerID = (int)vNetData.FamilyActionList[i].Value1;
+            if (playerID != 1)
+            {
+                continue;
+            }
             if (bossActions.ContainsKey(1) && bossActions[1].Time != vNetData.FamilyActionList[0].Time)
             {
                 bossActions.Clear();
@@ -179,6 +194,7 @@
             }
         }
 
+
         for (int i = 0; i < vNetData.Count; i++)
         {
             bossActions[(int)vNetData.FamilyActionList[i].Value1] = vNetData.FamilyActionList[i];

--
Gitblit v1.8.0