ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -99,6 +99,13 @@
    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
@@ -108,7 +115,6 @@
    #    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)
@@ -1200,6 +1206,11 @@
        GameWorld.Log('###技能伤害血量异常,数值错误 = %s,技能类型ID = %s' % (lostValue, skillTypeID))
        return
    
    if not curObj.GetCanAttack():
        # 无敌不掉血
        ## 后续有其他情况也应考虑进来,如镖车是否某状态不掉血
        return
    #lostValue = GetGoblinLostHP(curObj, lostValue)
    curObjType = curObj.GetGameObjType()
    curSkill = GameWorld.GetGameData().FindSkillByType(skillTypeID, 1)
@@ -1213,8 +1224,8 @@
    curObjHP_BeforeAttack = GameObj.GetHP(curObj)
    
    if reduceHP :
        lostValue = AttackCommon.CalcAtkProDef(buffOwner, curObj, lostValue, curSkill, tick)
        # 血盾 
        lostValue = AttackCommon.CalcBloodShield(buffOwner, curObj, lostValue)
        
        #剩余血量
@@ -1246,7 +1257,7 @@
    
    #无法找到Buff拥有者
    if not buffOwner:
        AttackCommon.DoLogic_ObjDead(curObj)
        AttackCommon.DoLogic_ObjDead(None, curObj, curSkill, tick)
        return
        
    #NPC需要手动添加伤血和仇恨, 因为无调用DoAttack