ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
@@ -89,11 +89,11 @@
# buff替换逻辑,十位数
def GetBuffReplaceType(curSkill):
    return curSkill.GetCanRepeatTime()/10
    return curSkill.GetCanRepeatTime()/10%10
# buff根据释放者不同判断是否共存buff,百位数 Def_Buff_NoCoexist 
def GetBuffCoexistType(curSkill):
    return curSkill.GetCanRepeatTime()/10%10
    return curSkill.GetCanRepeatTime()/100
def GetBuffMaxLayer(curSkill):
    layerMaxCnt = 0
@@ -102,6 +102,16 @@
        layerMaxCnt = hasEffect.GetEffectValue(0)   # 能叠加的最大上限
    return layerMaxCnt
def IsLayerPlusAttr(curBuff):
    ## 是否叠加属性层级buff,可叠加时,属性=单层属性*层级,默认叠加
    hasEffect = SkillCommon.GetSkillEffectByEffectID(curBuff.GetSkill(), ChConfig.Def_Skill_Effect_LayerCnt)
    if not hasEffect:
        return False
    if hasEffect.GetEffectValue(1)/10 == 1:
        # 配置不叠加,直接返回False
        return False
    return True
# 改变BUFF持续时间
def ChangeLastTime(attacker, curSkill):
@@ -175,7 +185,7 @@
    hasEffect = SkillCommon.GetSkillEffectByEffectID(curSkill, ChConfig.Def_Skill_Effect_LayerCnt)
    if hasEffect:
        layerMaxCnt = hasEffect.GetEffectValue(0)   # 能叠加的最大上限
        layerCalc = hasEffect.GetEffectValue(1)     # 增加层级还是减少层级 Def_BuffLayer_Add
        layerCalc = hasEffect.GetEffectValue(1)%10     # 增加层级还是减少层级 Def_BuffLayer_Add
    
    #1 检查是否有相同的BUFF,如果有相同的就刷新时间
@@ -949,6 +959,20 @@
            PYSync_RefreshBuff(gameObj, buff, buffType)
    return
def ReduceBuffLayer(gameObj, buff, skillTypeID, delLayerCnt=1):
    ## 减少buff的Value值
    #GameWorld.DebugLog("ReduceBuffLayer: skillTypeID=%s,delLayerCnt=%s %s" % (skillTypeID, delLayerCnt, buff))
    if not buff and not skillTypeID:
        return
    if not buff:
        buff = SkillCommon.FindBuffByID(gameObj, skillTypeID)[0]
    if not buff or buff.GetLayer() <= 0:
        return
    SetBuffLayer(gameObj, buff, max(0, buff.GetLayer() - delLayerCnt), skillTypeID=skillTypeID, isSync=True)
    return
## 属性buff效果id对应计算模块字典{效果id:(计算模块名后缀, [属性类型])}
#  带属性的buff 默认以属性类型为效果ID