From af884d1dcc3f2854356bd258216f841ff4796333 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 18 九月 2025 11:26:32 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(关兴技能;增加击杀目标触发方式支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 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 6203538..c2e9bc6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
@@ -47,7 +47,7 @@
         if not connSkillTypeID and connSkill:
             connSkillTypeID = connSkill.GetSkillTypeID()
             
-        if connSkill:
+        if connSkill and self._batObj.GetID() == connSkill.GetObjID():
             skillID = connSkill.GetSkillID()
             skillManager = self._batObj.GetSkillManager()
             # 非对象身上的技能,读取本技能被动触发的效果,一般是主技能拆分的子技能
@@ -493,7 +493,8 @@
     
 class PySkill():
     
-    def __init__(self, ipyData):
+    def __init__(self, ipyData, objID):
+        self._objID = objID # 该技能谁的
         self._skillData = ObjPool.GetPoolMgr().acquire(SklllData, ipyData)
         self._calcTime = 0
         self._remainTime = 0
@@ -518,6 +519,7 @@
         self.ClearHurtObj()
         return
     
+    def GetObjID(self): return self._objID
     def GetSkillID(self): return self._skillData.GetSkillID()
     def GetSkillTypeID(self): return self._skillData.GetSkillTypeID()
     def GetSkillLV(self): return self._skillData.GetSkillLV()
@@ -622,7 +624,8 @@
 class SkillManager():
     ## 战斗对象技能管理器
     
-    def __init__(self):
+    def __init__(self, batObj):
+        self._batObj = batObj
         self._skillList = [] # 技能列表 [PySkill, ...]
         self._skillDict = {} # {skillID:PySkill, ...}
         return
@@ -661,7 +664,7 @@
             self.__deleteSkill(curSkill)
             
         # 学新技能
-        curSkill = ObjPool.GetPoolMgr().acquire(PySkill, ipyData)
+        curSkill = ObjPool.GetPoolMgr().acquire(PySkill, ipyData, self._batObj.GetID())
         self._skillDict[skillID] = curSkill
         self._skillList.append(curSkill)
         return curSkill
@@ -703,7 +706,7 @@
         self._kvDict = {} # 自定义kv字典
         self._skillUseCntDict = {} # 技能累计使用次数 {skillID:useCnt, ...}
         self._skillTurnUseCntDict = {} # 技能单回合累计使用次数 {skillID:useCnt, ...}
-        self._skillMgr = ObjPool.GetPoolMgr().acquire(SkillManager)
+        self._skillMgr = ObjPool.GetPoolMgr().acquire(SkillManager, self)
         self._buffMgr = ObjPool.GetPoolMgr().acquire(BuffManager, self)
         self._passiveEffMgr = ObjPool.GetPoolMgr().acquire(PassiveEffManager, self)
         self._lastHurtValue = 0

--
Gitblit v1.8.0