From 7c12351394b2f17bcc5b25ca58455f143119ca93 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 10 十一月 2025 11:34:03 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(主线战斗额外功能逻辑提到B425标记外处理并同步;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 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 ad21950..2e25105 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
@@ -337,6 +337,7 @@
     def GetEffectCount(self): return len(self._effList)
     def GetEffectByID(self, effID, triggerWay=0): return self._effDict.get((effID, triggerWay), None)
     def GetConnSkill(self): return self._ipyData.GetConnSkill()
+    def GetCoolDownInit(self): return self._ipyData.GetCoolDownInit()
     def GetCoolDownTime(self): return self._ipyData.GetCoolDownTime()
     def GetBuffStateLimit(self): return self._ipyData.GetBuffStateLimit()
     def GetCurBuffState(self): return self._ipyData.GetCurBuffState()
@@ -361,6 +362,7 @@
         self._value2 = 0
         self._value3 = 0
         self._isCopy = 0 # 是否复制的buff
+        self._effExDict = {} # 效果ID额外数值 {effID:value, ...} # 计算方式取决于本buff技能中属性效果ID的配置
         return
     
     def onRelease(self):
@@ -399,6 +401,9 @@
     def SetValue3(self, value): self._value3 = value
     def GetIsCopy(self): return self._isCopy
     def SetIsCopy(self, isCopy): self._isCopy = isCopy
+    def GetEffectValueEx(self, effID): return self._effExDict.get(effID, 0)
+    def ResetEffectValueEx(self): self._effExDict = {}
+    def AddEffectValueEx(self, effID, valueEx): self._effExDict[effID] = self._effExDict.get(effID, 0) + valueEx
     
 class BuffManager():
     ## 战斗对象buff管理器
@@ -554,6 +559,7 @@
         self._bySkill = None # 由哪个技能触发的
         self._byBuff = None # 由哪个buff触发的
         self._afterLogicList = [] # 技能释放后需要处理逻辑 [[logicType, logicParams], ...]
+        self._energy = 0 # 技能能量,一般用于累计能量达到某种条件后做逻辑
         
         # 连击相关
         self._comboState = 0 # 连击状态 0-未重置,1-初始化连击相关可连击,2-连击已中断
@@ -605,6 +611,7 @@
     def GetEffectCount(self): return self._skillData.GetEffectCount()
     def GetEffectByID(self, effID, triggerWay=0): return self._skillData.GetEffectByID(effID, triggerWay)
     def GetConnSkill(self): return self._skillData.GetConnSkill()
+    def GetCoolDownInit(self): return self._skillData.GetCoolDownInit()
     def GetCoolDownTime(self): return self._skillData.GetCoolDownTime()
     def GetBuffStateLimit(self): return self._skillData.GetBuffStateLimit()
     def GetCurBuffState(self): return self._skillData.GetCurBuffState()
@@ -685,6 +692,9 @@
     def SetTagMissNum(self, tagID, missNum): self._missTagIDDict[tagID] = missNum
     def GetTagParryNum(self, tagID): return self._parryTagIDDict.get(tagID, 0)
     def SetTagParryNum(self, tagID, parryNum): self._parryTagIDDict[tagID] = parryNum
+    
+    def GetEnergy(self): return self._energy # 累计能量
+    def SetEnergy(self, energy): self._energy = energy
     
 class SkillManager():
     ## 战斗对象技能管理器
@@ -781,6 +791,7 @@
         self._buffMgr = ObjPool.GetPoolMgr().acquire(BuffManager, self)
         self._passiveEffMgr = ObjPool.GetPoolMgr().acquire(PassiveEffManager, self)
         self._lastHurtValue = 0
+        self._harmSelfHP = 0 # 自残值
         self._mainTagIDList = [] # 主技能目标ID列表,一般用于技能拆分成多个技能效果时,子技能可能会用到主技能的对象做逻辑
         self._timing = 0 # 当前武将时间节点: 0-回合前;1-回合后
         
@@ -1017,6 +1028,9 @@
     def GetLastHurtValue(self): return self._lastHurtValue
     def SetLastHurtValue(self, lastHurtValue): self._lastHurtValue = lastHurtValue
     
+    def GetHarmSelfHP(self): return self._harmSelfHP
+    def SetHarmSelfHP(self, harmSelfHP): self._harmSelfHP = harmSelfHP
+    
     def GetMainTagIDList(self): return self._mainTagIDList
     def SetMainTagIDList(self, mainTagIDList): self._mainTagIDList = mainTagIDList
     

--
Gitblit v1.8.0