ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -294,7 +294,7 @@
             4004:ChConfig.TriggerType_AttackOver,  # 攻击(对敌技能)后被动技能被触发 4
             4005:ChConfig.TriggerType_AttackAddSkillPer,  # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
             4006:ChConfig.TriggerType_SuperHit, # 暴击时 触发技能6,
             4007:ChConfig.TriggerType_SuperHitValue, # 暴击时 增加暴击值百分比7,
             4007:ChConfig.TriggerType_SuperHitPer, # 暴击时 增加暴击值百分比,
             4008:ChConfig.TriggerType_AttackAddSkillPer,  # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
             4009:ChConfig.TriggerType_HurtObjAddBuff, # 击中玩家(群攻多次触发)8,
             4010:ChConfig.TriggerType_ReduceCD, # 减少CD9, #CD
@@ -377,7 +377,7 @@
             4089:ChConfig.TriggerType_AttackAddSkillPerYinji,  # 所有攻击伤害(SkillPer)增加,含普攻,计算时 为了飘字使用
             4090:ChConfig.TriggerType_AttackOver,  # 攻击(对敌技能)后被动技能被触发 4
             4091:ChConfig.TriggerType_SkillOverNoAttack,   # 技能释放后 与TriggerType_AttackOver相反19,
             4092:ChConfig.TriggerType_SkillSuccess,  # 任何技能释放成功都可触发 76  减印记
             4092:ChConfig.TriggerType_SkillSuccessExpend,  # 任何技能释放成功都可触发 76  减印记
             4093:ChConfig.TriggerType_NoControl,   # 使关联技能不受控制 78
             4094:ChConfig.TriggerType_Buff_AddSuperHitRate, # BUFF类:增加暴击率
             4095:ChConfig.TriggerType_SuperHitSuckBloodPer, # BUFF类: 暴击百分比吸血, 79
@@ -388,8 +388,11 @@
             4100:ChConfig.TriggerType_AttackOver,  # 攻击(对敌技能)后被动技能被触发 4
             4101:ChConfig.TriggerType_AttackAddSkillPer,  # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
             4102:ChConfig.TriggerType_SkillValue,  # 增加技能伤害固定值 82
             4103:ChConfig.TriggerType_Buff_SuckBloodPer,   # 攻击 百分比吸血
             4103:ChConfig.TriggerType_ThumpHitSuckBloodPer,   # 攻击 百分比吸血
             4104:ChConfig.TriggerType_HitSuccess,  # 命中成功率 83
             4106:ChConfig.TriggerType_AddHP,   # 技能回血 84
             4107:ChConfig.TriggerType_SkillValue,   # 增加技能伤害固定值 82
             4108:ChConfig.TriggerType_SkillSuccess,  # 使用技能成功后不触发技能 处理消耗等问题用 87
             }
    return tdict.get(effectID, -1) 
    #===========================================================================
@@ -434,7 +437,6 @@
             4524:ChConfig.TriggerType_SuperHitSubLayer, # 暴击减层 67
             4525:ChConfig.TriggerType_SuperHitSkipCD, # 暴击无冷却 68
             4526:ChConfig.TriggerType_AddThumpHitRate, # 增加重击概率
             4527:ChConfig.TriggerType_AddThumpHitRate, # 增加重击概率
             4528:ChConfig.TriggerType_AddThumpHitPer, # 重击时 增加重击百分比 75
             4529:ChConfig.TriggerType_Buff_SuckBloodPer,   # BUFF类: 百分比吸血, 此处非属性类
             4530:ChConfig.TriggerType_Buff_AttackSubLayer,  # BUFF类:攻击减buff层,0消失
@@ -446,6 +448,9 @@
             4536:ChConfig.TriggerType_AddBuffOver, 
             4537:ChConfig.TriggerType_BurnPer, # 灼烧伤害百分比 80
             4538:ChConfig.TriggerType_SkillValue,  # 增加技能伤害固定值 82
             4539:ChConfig.TriggerType_SkillValue,  # 增加技能伤害固定值 82
             4540:ChConfig.TriggerType_SuperHitPer, # 暴击伤害百分比
             4541:ChConfig.TriggerType_AttackAddSkillPer, # BUFF类:提高主动技能的技能伤害
             
             803:ChConfig.TriggerType_BloodShield,  # 血盾
             806:ChConfig.TriggerType_BloodShield,  # 血盾
@@ -720,7 +725,7 @@
                skillList.extend(self.AffectSuperEquipSkillDict.get((triggerType, funcType), []))
        
        # 被动再触发被动限制为指定
        if connSkill and SkillCommon.isPassiveSkill(connSkill):
        if connSkill and SkillCommon.isPassiveSkill(connSkill) and not PassPassiveLimit(connSkill):
            return skillList
        
        if connSkillID != 0 and connSkillID != ChConfig.Def_SkillID_Somersault:
@@ -913,7 +918,7 @@
        if not connSkill.GetFuncType():
            # 非功能类技能,避免死循环
            return 0, 0
        if SkillCommon.isPassiveSkill(connSkill):
        if SkillCommon.isPassiveSkill(connSkill) and not PassPassiveLimit(connSkill):
            stopPassiveSkill = True
        
    if SkillCommon.GetUsingPassiveSkill(attacker) and triggerType != ChConfig.TriggerType_BuffState:
@@ -1159,7 +1164,8 @@
    if connSkill and SkillCommon.isPassiveSkill(connSkill):
        #GameWorld.DebugLog("被动技能不能再次触发被动技能")
        #return 0
        stopPassiveSkill = True
        if not PassPassiveLimit(connSkill):
            stopPassiveSkill = True
        
    passiveEff = GetPassiveEffManager().GetPassiveEff(attacker)
    if not passiveEff:
@@ -1385,7 +1391,7 @@
        if not useSkill.GetFuncType():
            # 非功能类技能,避免死循环
            return
        if SkillCommon.isPassiveSkill(useSkill):
        if SkillCommon.isPassiveSkill(useSkill) and not PassPassiveLimit(useSkill):
            #GameWorld.DebugLog("被动技能不能再次触发被动技能")
            #return
            stopPassiveSkill = True
@@ -1471,7 +1477,8 @@
    if useSkill and SkillCommon.isPassiveSkill(useSkill):
        #GameWorld.DebugLog("被动技能不能再次触发被动技能")
        #return 0
        stopPassiveSkill = True
        if not PassPassiveLimit(useSkill):
            stopPassiveSkill = True
    passiveEff = GetPassiveEffManager().GetPassiveEff(attacker)
@@ -1618,3 +1625,13 @@
            skillsDict[skillID] = skillsDict.get(skillID, 0) + 1  
            
    return skillsDict
# 默认情况下 被动不应该再触发(或加强)被动技能,会造成额外触发或者死循环
# 但也有一些特殊情况 放在此处过滤
def PassPassiveLimit(useSkill):
    # 如灼烧是被动技能 但可以被不断的强化
    if useSkill.GetSkillType() != ChConfig.Def_SkillType_PassiveLstDepBuff:
        return False
    return True