ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveSkill_4028.py
@@ -14,20 +14,37 @@
import ChConfig
import GameWorld
import GameObj
import PlayerControl
import SkillCommon
import IPY_GameWorld
def CheckCanHappen(attacker, defender, effect, curSkill):
    if attacker.GetPlayerAction() == IPY_GameWorld.paDie:
        # 当前已经被处理为死亡,那么就不触发
        return False
    zhanshaState = attacker.GetDictByKey(ChConfig.Def_PlayerKey_Zhansha)
    if zhanshaState:
        # 按位判断,1为斩杀情况下,此技能不可被触发,2为终极斩杀不触发,3为任何斩杀都不触发
        if (effect.GetEffectValue(2) & pow(2, zhanshaState-1)) != 0:
            return False
    result = GameWorld.CanHappen(effect.GetEffectValue(0))
    if result:
        GameObj.SetHP(attacker, 1) # 为了避免生命为0时,屏蔽过多逻辑
        # 提前触发CD, 不然外层无法触发技能的话就不进入CD, 如和平模式
        if curSkill.GetCoolDownTime():
            SkillCommon.SetSkillRemainTime(curSkill, 0, GameWorld.GetGameWorld().GetTick(), attacker)
        return True
        
    if effect.GetEffectValue(1):
        #不死血量1,但不触发技能
        if GameWorld.CanHappen(effect.GetEffectValue(1)):
            GameObj.SetHP(attacker, 1)
            # 提前触发CD, 不然外层无法触发技能的话就不进入CD, 如和平模式
            if curSkill.GetCoolDownTime():
                SkillCommon.SetSkillRemainTime(curSkill, 0, GameWorld.GetGameWorld().GetTick(), attacker)
            return False
    return False