|  |  | 
 |  |  |     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
 | 
 |  |  | 
 |  |  |     #    remainTime = skillData.GetCoolDownTime()
 | 
 |  |  |     
 | 
 |  |  |     reduceSkillCDPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, None, curSkill, ChConfig.TriggerType_ReduceCD)
 | 
 |  |  | 
 | 
 |  |  |     # 减CD比率
 | 
 |  |  |     if reduceSkillCDPer > 0:
 | 
 |  |  |         remainTime = int(remainTime * max(0, ShareDefine.Def_MaxRateValue - reduceSkillCDPer) / ShareDefine.Def_MaxRateValue)
 | 
 |  |  | 
 |  |  | # @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
 | 
 |  |  | 
 |  |  |     
 | 
 |  |  |     #无法找到Buff拥有者
 | 
 |  |  |     if not buffOwner:
 | 
 |  |  |         AttackCommon.DoLogic_ObjDead(curObj)
 | 
 |  |  |         AttackCommon.DoLogic_ObjDead(None, curObj, curSkill, tick)
 | 
 |  |  |         return
 | 
 |  |  |         
 | 
 |  |  |     #NPC需要手动添加伤血和仇恨, 因为无调用DoAttack
 |