ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -59,11 +59,11 @@
    if not skillID:
        return
    
    triggerWay = kwargs["triggerWay"] if "triggerWay" in kwargs else 0
    if not curBatObj.IsAlive():
        if useSkill.GetSkillType() == ChConfig.Def_SkillType_Revive and useSkill.GetTagAim() == ChConfig.SkillTagAim_Self:
            GameWorld.DebugLogEx("死亡时使用复活自己的技能! skillID=%s", skillID)
        else:
            triggerWay = kwargs.get("triggerWay", 0)
            if triggerWay in ChConfig.DeadCanTriggerWayList:
                GameWorld.DebugLogEx("死亡可触发的方式触发技能可释放! skillID=%s,triggerWay=%s", skillID, triggerWay)
            elif batType == ChConfig.TurnBattleType_Enhance:
@@ -150,6 +150,7 @@
    useSkill.SetBatType(batType)
    useSkill.SetBySkill(bySkill)
    useSkill.SetByBuff(byBuff)
    useSkill.SetByTriggerWay(triggerWay)
    
    isTurnNormalSkill = SkillCommon.isTurnNormalSkill(useSkill)
    if isTurnNormalSkill:
@@ -1417,6 +1418,7 @@
    if dieObjList:
        for dieObj in dieObjList:
            TurnPassive.OnTriggerPassiveEffect(turnFight, dieObj, ChConfig.TriggerWay_WhenDie, curObj, connSkill=useSkill)
            __dongbaiRevive(turnFight, dieObj, useSkill) # 写死特殊处理董白复活
            
        for faction in [ChConfig.Def_FactionA, ChConfig.Def_FactionB]:
            batFaction = turnFight.getBatFaction(faction)
@@ -1522,6 +1524,33 @@
    if dieObjList:
        turnFight.checkOverByKilled()
        
    return
def __dongbaiRevive(turnFight, batObj, useSkill):
    '''特殊处理董白复活: 董白死亡之后的时间,若有敌方单位阵亡,董白以50%血量复活
    '''
    faction = batObj.GetFaction()
    batFaction = turnFight.getBatFaction(ChConfig.Def_FactionA if faction == ChConfig.Def_FactionB else ChConfig.Def_FactionB)
    if not batFaction:
        return
    batLineup = batFaction.getBatlineup(1)
    if ChConfig.HeroID_Dongbai not in batLineup.heroObjIDDict:
        return
    dongbaiObj = BattleObj.GetBatObjMgr().getBatObj(batLineup.heroObjIDDict[ChConfig.HeroID_Dongbai])
    if not dongbaiObj or dongbaiObj.IsAlive():
        return
    skill = dongbaiObj.GetSkillManager().FindSkillByID(ChConfig.SkillID_DongbaiRevive)
    if not skill:
        GameWorld.DebugLogEx("董白还还未学习特殊复活技能! %s", ChConfig.SkillID_DongbaiRevive)
        return
    enemyDeadCnt = dongbaiObj.GetDictByKey("EnemyDeadCnt") + 1
    dongbaiObj.SetDict("EnemyDeadCnt", enemyDeadCnt)
    GameWorld.DebugLogEx("董白记录自身死亡后的敌方阵亡单位数: %s" % enemyDeadCnt)
    needDeadCnt = skill.GetEffect(0).GetEffectValue(0) # 固定配置在效果1值
    if enemyDeadCnt < needDeadCnt:
        return
    dongbaiObj.SetDict("EnemyDeadCnt", 0)
    OnUseSkill(turnFight, dongbaiObj, skill, batType=ChConfig.TurnBattleType_Passive, bySkill=useSkill)
    return
def __doCostZhanchui(turnFight, curBatObj, useSkill):
@@ -1894,6 +1923,7 @@
    dFinalDamPerDef = defObj.GetBatAttrValue(ChConfig.AttrID_FinalDamPerDef) # 最终减伤
    
    aFinalDamPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddFinalDamPer, curSkill)
    aFinalDamPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.AttrID_FinalDamPer, curSkill)
    
    aNormalSkillPer, dNormalSkillPerDef = 0, 0
    if isTurnNormalSkill: