From 67d6a2a2fadc1f98f8316cf7e3a0717bfc971a43 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 28 八月 2025 10:23:45 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(技能变更主线阵容战斗中更新技能;B428增加通知是否是添加buff的;buff叠加规则0 4 5;增加效果5002结算目标某种状态持续buff所有回合效果)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
index 88d3808..b54abb1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
@@ -156,7 +156,9 @@
         effDict = self._AffectBuffDict[key]
         if buffID not in effDict:
             effDict[buffID] = []
-        effDict[buffID].append(effectID)
+        effIDList = effDict[buffID]
+        if effectID not in effIDList:
+            effIDList.append(effectID)
         return
     
     def DelBuffPassiveEffect(self, buffID):
@@ -633,10 +635,16 @@
         TurnPassive.RefreshPassive(self)
         return
     
-    def UpdInitBatAttr(self, initAttrDict):
+    def UpdInitBatAttr(self, initAttrDict, skillIDList):
         ## 更新战斗属性,一般只有主阵容需要更新,战斗中养成、装备变化等引起的主阵容属性变更时需要实时更新
         self._initAttrDict = initAttrDict
+        learnNewSkill = False
+        for skillID in skillIDList:
+            if self._skillMgr.LearnSkillByID(skillID):
+                learnNewSkill = True
         TurnBuff.RefreshBuffAttr(self)
+        if learnNewSkill: # 有学新技能时重刷技能被动
+            self._passiveEffMgr.RefreshSkillPassiveEffect()
         return
     
     def ResetBattleEffect(self):

--
Gitblit v1.8.0