| | |
| | | coolDownTime = curSkill.GetCoolDownTime()
|
| | | remainTime = coolDownTime
|
| | | if isPassiveSkill(curSkill):
|
| | | if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
|
| | | # 天赋有减CD效果
|
| | | reduceSkillCDPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, None, curSkill, ChConfig.TriggerType_GiftReduceCD)
|
| | | # 减CD比率
|
| | | if reduceSkillCDPer > 0:
|
| | | remainTime = int(remainTime * max(0, ShareDefine.Def_MaxRateValue - reduceSkillCDPer) / ShareDefine.Def_MaxRateValue)
|
| | | |
| | | # 被动技能的处理和主动技能区分
|
| | | curSkill.SetRemainTime(remainTime)
|
| | | return
|
| | |
| | | # @param curNPC NPC实例
|
| | | # @param summonID 召唤兽的NPCID
|
| | | # @return 召唤兽数量
|
| | | def GetSummonCountByNPCID(curNPC, summonID):
|
| | | def GetSummonCountByNPCID(gameObj, summonID):
|
| | | count = 0
|
| | | for i in range(0, curNPC.GetSummonCount()):
|
| | | summonNPC = curNPC.GetSummonNPCAt(i)
|
| | | for i in range(0, gameObj.GetSummonCount()):
|
| | | summonNPC = gameObj.GetSummonNPCAt(i)
|
| | |
|
| | | if not summonNPC:
|
| | | continue
|
| | |
| | | if curHP <= 0:
|
| | | return
|
| | |
|
| | | if PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(curObj, None, None, ChConfig.TriggerType_ForbidenCure):
|
| | | # 禁止治疗
|
| | | return
|
| | | |
| | | # 治疗加成
|
| | | curePer = PlayerControl.GetCurePer(curObj) if curObjType == IPY_GameWorld.gotPlayer else ChConfig.Def_MaxRateValue
|
| | | addValue = int(addValue*curePer*1.0/ChConfig.Def_MaxRateValue)
|
| | |
| | | # 濒死状态触发技能
|
| | | if GameObj.GetHP(curObj) == 0:
|
| | | PassiveBuffEffMng.OnPassiveSkillTrigger(curObj, None, curSkill, ChConfig.TriggerType_WillDead, tick)
|
| | | |
| | | PassiveBuffEffMng.OnPassiveBuffTrigger(curObj, None, curSkill, ChConfig.TriggerType_WillDead, tick)
|
| | |
|
| | | #无法找到Buff拥有者
|
| | | if not buffOwner:
|