From ffb198b68f7e75f4fb2046189f1e7b2992d2ebac Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 15 九月 2025 14:41:24 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(于禁技能,支持格挡印记;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py | 22 +++++++++++++++------- 1 files changed, 15 insertions(+), 7 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 483b08e..8b7a961 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py @@ -226,6 +226,7 @@ def GetEffectID(self): return self._effID def GetEffectValue(self, index): return self._values[index] if len(self._values) > index else 0 def GetEffectValueCount(self): return len(self._values) + def GetEffectValues(self): return self._values # 直接返回整个效果values def GetTriggerWay(self): return self._triggerWay def GetTriggerSrc(self): return self._triggerSrc #def GetTriggerParams(self, index): return self._triggerParams[index] if len(self._triggerParams) > index else 0 @@ -401,13 +402,13 @@ return def GetBuff(self, buffID): return self._buffIDDict.get(buffID, None) - def FindBuffBySkillID(self, skillID): + def FindBuffListBySkillID(self, skillID): ## 返回该技能ID的所有buff列表 skillData = IpyGameDataPY.GetIpyGameData("Skill", skillID) if not skillData: return [] - return self.FindBuffBySkillTypeID(skillData.GetSkillTypeID()) - def FindBuffBySkillTypeID(self, skillTypeID): + return self.FindBuffListBySkillTypeID(skillData.GetSkillTypeID()) + def FindBuffListBySkillTypeID(self, skillTypeID): ## 返回该技能TypeID的所有buff列表 if skillTypeID not in self._skillTypeIDBuffIDs: return [] @@ -417,6 +418,13 @@ continue buffs.append(self._buffIDDict[buffID]) return buffs + def FindBuffByState(self, state): + ## 查找某种buff状态的buff + buffIDList = self._buffStateDict.get(state, []) + if not buffIDList: + return + buffID = buffIDList[0] + return self._buffIDDict.get(buffID, None) def AddBuffState(self, state, buffID): ## 添加buff影响的状态,ChConfig.BatObjStateList @@ -640,6 +648,10 @@ TurnPassive.RefreshPassive(self) return + def TurnReset(self): + ## 回合重置 + self._skillTurnUseCntDict = {} + def UpdInitBatAttr(self, initAttrDict, skillIDList): ## 更新战斗属性,一般只有主阵容需要更新,战斗中养成、装备变化等引起的主阵容属性变更时需要实时更新 self._initAttrDict = initAttrDict @@ -803,10 +815,6 @@ ## 统计治疗 self.cureStat += cureValue return self.cureStat - - def TurnReset(self): - ## 回合重置 - self._skillTurnUseCntDict = {} class BattleObjMgr(): ## 战斗对象管理器 -- Gitblit v1.8.0