ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py
@@ -49,7 +49,7 @@
    SyncBuffRefresh(turnFight, curBatObj, curBuff, relatedSkillID, isNewAdd)
    return
    
def DoAddBuffBySkillID(turnFight, batObj, skillID, buffOwner=None, bySkill=None, afterLogic=False, isSync=True):
def DoAddBuffBySkillID(turnFight, batObj, skillID, buffOwner=None, bySkill=None, afterLogic=False, isSync=True, setLayerCnt=0):
    ## 根据技能ID添加buff
    if not skillID:
        return
@@ -62,12 +62,12 @@
    useSkill = poolMgr.acquire(BattleObj.PySkill, skillIpyData, ownerID)
    useSkill.SetTagObjList(tagObjList)
    
    addBuff = OnAddBuff(turnFight, batObj, useSkill, buffOwner, bySkill, afterLogic, isSync=isSync)
    addBuff = OnAddBuff(turnFight, batObj, useSkill, buffOwner, bySkill, afterLogic, isSync=isSync, setLayerCnt=setLayerCnt)
    
    poolMgr.release(useSkill)
    return addBuff
def OnAddBuff(turnFight, batObj, buffSkill, buffOwner=None, bySkill=None, afterLogic=False, isSync=True):
def OnAddBuff(turnFight, batObj, buffSkill, buffOwner=None, bySkill=None, afterLogic=False, isSync=True, setLayerCnt=0):
    skillID = buffSkill.GetSkillID()
    bySkill = buffSkill.GetBySkill() if not bySkill else bySkill
    relatedSkillID = bySkill.GetSkillID() if bySkill else 0
@@ -94,6 +94,10 @@
    
    skillTypeID = buffSkill.GetSkillTypeID()
    buffRepeat = buffSkill.GetBuffRepeat()
    if setLayerCnt > 0:
        addLayerCnt = setLayerCnt
        GameWorld.DebugLog("外部直接指定添加的buff层级: setLayerCnt=%s" % setLayerCnt)
    else:
    addLayerCnt = buffSkill.GetLayerCnt()
    addLayerEff = buffSkill.GetEffectByID(ChConfig.PassiveEff_AddBuffLayerByWeight)
    if addLayerEff: