| | |
| | | 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:
|
| | |
| | | self._hurtListEx = [] # 额外伤血列表,如平摊、溅射 [HurtObj, ...]
|
| | | self._bySkill = None # 由哪个技能触发的
|
| | | self._byBuff = None # 由哪个buff触发的
|
| | | self._byTriggerWay = 0 # 由哪个被动方式触发的
|
| | | self._afterLogicList = [] # 技能释放后需要处理逻辑 [[logicType, logicParams], ...]
|
| | | self._energy = 0 # 技能能量,一般用于累计能量达到某种条件后做逻辑
|
| | |
|
| | |
| | | self._effIgnoreObjIDList = []
|
| | | self._bySkill = None
|
| | | self._byBuff = None
|
| | | self._byTriggerWay = 0
|
| | | self._afterLogicList = []
|
| | | self.ClearHurtObj()
|
| | | return
|
| | |
| | | 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 # 技能额外目标列表
|