From d7b133b94edd396d691893769c7c91cca8bab13b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 17 十二月 2025 17:32:00 +0800
Subject: [PATCH] 92 【主界面】主线任务-服务端(增加任务类型22 - 武将招募X次)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py | 27 +++++++++++++++++++++------
1 files changed, 21 insertions(+), 6 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 f2a0f36..ae30896 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
@@ -348,6 +348,7 @@
self._ipyData = ipyData
self._skillID = self._ipyData.GetSkillID()
self._skillTypeID = self._ipyData.GetSkillTypeID()
+ self._cdTime = self._ipyData.GetCoolDownTime()
self._effList = [] # [Effect, ...]
self._effDict = {} # {(effID, triggerWay):Effect, ...} ,确保唯一,同个技能可能配置相同的效果ID
for num in range(1, 1 + 3):
@@ -393,7 +394,7 @@
return self._effDict[(effID, triggerWay)]
def GetConnSkill(self): return self._ipyData.GetConnSkill()
def GetCoolDownInit(self): return self._ipyData.GetCoolDownInit()
- def GetCoolDownTime(self): return self._ipyData.GetCoolDownTime()
+ def GetCoolDownTime(self): return self._cdTime
def GetBuffStateLimit(self): return self._ipyData.GetBuffStateLimit()
def GetCurBuffState(self): return self._ipyData.GetCurBuffState()
def GetLastTime(self): return self._ipyData.GetLastTime() # 持续时间
@@ -579,16 +580,25 @@
if buff.GetOwnerID() == ownerID:
return buff
return
- def FindBuffByState(self, state):
+ def FindBuffByState(self, state, ownerID=0):
## 查找某种buff状态的buff
+ # @param ownerID: 可指定获取归属于某个对象ID的buff
if state not in self._buffStateDict:
return
buffIDList = self._buffStateDict[state]
if not buffIDList:
return
- buffID = buffIDList[0]
- if buffID in self._buffIDDict:
- return self._buffIDDict[buffID]
+ if ownerID:
+ for buffID in buffIDList:
+ if buffID not in self._buffIDDict:
+ continue
+ buff = self._buffIDDict[buffID]
+ if buff.GetOwnerID() == ownerID:
+ return buff
+ else:
+ buffID = buffIDList[0]
+ if buffID in self._buffIDDict:
+ return self._buffIDDict[buffID]
def FindBuffListByState(self, state):
## 查找某种buff状态的buff列表
if state not in self._buffStateDict:
@@ -636,6 +646,7 @@
self._skillData = SklllData(ipyData)
self._skillID = self._skillData.GetSkillID()
self._skillTypeID = self._skillData.GetSkillTypeID()
+ self._cdTime = self._skillData.GetCoolDownTime()
self._remainTime = 0
self._batType = 0 # 战斗类型,普通、连击、反击、追击等
self._tagObjList = [] # 本次技能主要目标列表 [BatObj, ...]
@@ -646,6 +657,7 @@
self._hurtListEx = [] # 额外伤血列表,如平摊、溅射 [HurtObj, ...]
self._bySkill = None # 由哪个技能触发的
self._byBuff = None # 由哪个buff触发的
+ self._byTriggerWay = 0 # 由哪个被动方式触发的
self._afterLogicList = [] # 技能释放后需要处理逻辑 [[logicType, logicParams], ...]
self._energy = 0 # 技能能量,一般用于累计能量达到某种条件后做逻辑
@@ -671,6 +683,7 @@
self._effIgnoreObjIDList = []
self._bySkill = None
self._byBuff = None
+ self._byTriggerWay = 0
self._afterLogicList = []
self.ClearHurtObj()
return
@@ -701,7 +714,7 @@
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 GetCoolDownTime(self): return self._cdTime
def GetBuffStateLimit(self): return self._skillData.GetBuffStateLimit()
def GetCurBuffState(self): return self._skillData.GetCurBuffState()
def GetLastTime(self): return self._skillData.GetLastTime() # 持续时间
@@ -722,6 +735,8 @@
def SetBySkill(self, bySkill): self._bySkill = bySkill
def GetByBuff(self): return self._byBuff
def SetByBuff(self, byBuff): self._byBuff = byBuff
+ def GetByTriggerWay(self): return self._byTriggerWay
+ def SetByTriggerWay(self, byTriggerWay): self._byTriggerWay = byTriggerWay
def GetTagObjList(self): return self._tagObjList # 技能主要目标列表
def SetTagObjList(self, tagObjList): self._tagObjList = tagObjList
def GetTagObjListEx(self): return self._tagObjListEx # 技能额外目标列表
--
Gitblit v1.8.0