| | |
| | | self._hurtList = [] # 本次伤血列表,可能同一个对象有多个伤害,如弹射等 [HurtObj, ...]
|
| | | self._bySkill = None # 由哪个技能触发的
|
| | | self._afterLogicList = [] # 技能释放后需要处理逻辑 [[logicType, logicParams], ...]
|
| | | |
| | | # 连击相关
|
| | | self._comboState = 0 # 连击状态 0-未重置,1-初始化连击相关可连击,2-连击已中断
|
| | | self._comboNum = 0 # 连击次数
|
| | | self._missTagIDDict = {} # 单次连续连击中对方已闪避次数 {tagID:missNum, ...}
|
| | | self._parryTagIDDict = {} # 单次连续连击中对方已格挡次数 {tagID:parryNum, ...}
|
| | | return
|
| | |
|
| | | def ResetUseRec(self):
|
| | |
| | | return hurtObj
|
| | | def GetHurtObjList(self): return self._hurtList
|
| | |
|
| | | def __commboClear(self):
|
| | | ## 连击相关清空
|
| | | self._comboState = 0
|
| | | self._comboNum = 0
|
| | | self._missTagIDDict = {}
|
| | | self._parryTagIDDict = {}
|
| | | return
|
| | | |
| | | def ComboCheckStart(self, force=False):
|
| | | ## 检查并设置开始连击相关,一般是开始使用技能时调用
|
| | | if not force:
|
| | | if self._comboState == 1:
|
| | | #GameWorld.DebugLog("连击进行中,不重置")
|
| | | return
|
| | | self.__commboClear()
|
| | | self._comboState = 1 # 设置已初始化连击相关
|
| | | #GameWorld.DebugLog("连击重置")
|
| | | return
|
| | | |
| | | def ComboEnable(self): return self._comboState == 1 ## 可否执行连击相关
|
| | | |
| | | def ComboInterrupt(self):
|
| | | ## 连击中断,概率不再触发连击时需要设置中断
|
| | | self._comboState = 2
|
| | | return
|
| | | |
| | | def GetComboNum(self): return self._comboNum # 已连击次数
|
| | | def SetComboNum(self, comboNum): self._comboNum = comboNum
|
| | | def GetTagMissNum(self, tagID): return self._missTagIDDict.get(tagID, 0)
|
| | | 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
|
| | | |
| | | class SkillManager():
|
| | | ## 战斗对象技能管理器
|
| | |
|