ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -1253,11 +1253,7 @@
        # 禁止治疗
        return
    
    # 治疗加成
    curePer = GameObj.GetCurePer(curObj) + ChConfig.Def_MaxRateValue
    curePerReduce = TurnAttack.GetEnemyCureDefPer(curObj) # 弱化治疗,取对方的
    curePerFinal = max(0, curePer - curePerReduce)
    addValueFianl = int(addValue*curePerFinal*1.0/ChConfig.Def_MaxRateValue)
    addValueFianl = addValue
    
    maxHP = GameObj.GetMaxHP(curObj)
    
@@ -1292,8 +1288,8 @@
    if isNotify:
        AttackCommon.ChangeHPView(curObj, curObj, skillTypeID, addValueFianl, ChConfig.Def_HurtTYpe_Recovery)
        
    GameWorld.DebugLog("        治疗: curID=%s,skillTypeID=%s,curePerFinal=%s(%s-%s),addValue=%s,addValueFianl=%s,HP=%s"
                       % (curObj.GetID(), skillTypeID, curePerFinal, curePer, curePerReduce, addValue, addValueFianl, remainHP))
    GameWorld.DebugLog("        治疗: curID=%s,skillTypeID=%s,addValue=%s,addValueFianl=%s,HP=%s"
                       % (curObj.GetID(), skillTypeID, addValue, addValueFianl, remainHP))
    return addValueFianl
## 直接扣血不走公式
@@ -1974,11 +1970,21 @@
    
    return
def GetBattleType(curSkill):
    ## 攻击类型
    if not curSkill:
        return ChConfig.ghtPhy
    battleType = curSkill.GetHurtType() / 10
    if not battleType:
        # 没有配置,默认物理攻击
        return ChConfig.ghtPhy
    return battleType
def GetSkillBattleType(curSkill):
    if not curSkill:
        return ChConfig.Def_BattleRelationType_Comm
    #0通哟  1 PVP类型  2PVE类型  
    return curSkill.GetHurtType()
    return curSkill.GetHurtType() % 10
## 检查技能是否为被动技能, 用于控制不可释放技能
def isPassiveSkill(curSkill):
@@ -2245,21 +2251,47 @@
    #获得技能的计算参数值
    if cureType == ChConfig.Def_Cure_PHY:
        # 根据敏捷,力量差值及效果系数计算恢复比例
        skillPer = max(0, userObj.GetPHY() - userObj.GetSTR()) / float(curSkill.GetEffect(0).GetEffectValue(0))
        skillPer = max(0, userObj.GetPHY() - userObj.GetSTR()) / float(curSkill.GetEffect(0).GetEffectValue(0)) * ChConfig.Def_MaxRateValue
        GameWorld.DebugLog("英勇复苏: 敏=%s,力=%s,skillPer=%s" % (userObj.GetPHY(), userObj.GetSTR(), skillPer))
    else: 
        skillPer = curSkill.GetEffect(0).GetEffectValue(0) / float(ChConfig.Def_MaxRateValue)
        skillPer = curSkill.GetEffect(0).GetEffectValue(0)
    #技能附加
    skillValue = curSkill.GetEffect(0).GetEffectValue(1)
    
    skillPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(userObj, None, curSkill, ChConfig.TriggerType_AddHP)/float(ChConfig.Def_MaxRateValue)
    skillPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(userObj, None, curSkill, ChConfig.TriggerType_AddHP)
    # 回合制
    curePer = 0 # 治疗加成、强化灵兽
    cureDefPer = 0 # 敌方的弱化治疗、弱化灵兽
    if userObj.GetDictByKey(ChConfig.Def_Obj_Dict_TurnFightTimeline):
        isPetNPC = PetControl.IsPetNPC(userObj)
        enemyObj = None
        if isPetNPC:
            petOwner = PetControl.GetPetNPCOwner(userObj)
            enemyObj = TurnAttack.GetEnemyObj(petOwner)
            curePer += GameObj.GetCurePer(petOwner)
            curePer += GameObj.GetPetStrengthenPer(petOwner) # 强化灵兽
        else:
            enemyObj = TurnAttack.GetEnemyObj(userObj)
            curePer += GameObj.GetCurePer(userObj)
        if enemyObj:
            cureDefPer += GameObj.GetCureDefPer(enemyObj)
            if isPetNPC:
                cureDefPer += GameObj.GetPetWeakenPer(enemyObj) # 弱化灵兽
    skillPer += (curePer - cureDefPer) # 可能负值
    #公式计算治疗值 
    cureHP = int((cureBaseValue * skillPer + skillValue + addExValue) * curePercent)
    cureHP = int((cureBaseValue * skillPer / float(ChConfig.Def_MaxRateValue) + skillValue + addExValue) * curePercent)
    if not largeNum:
        cureHP = min(cureHP, ChConfig.Def_UpperLimit_DWord)
    cureHP = max(1, cureHP) # 保底1点
    
    #GameWorld.DebugLog("获取治疗值(%s):cureType=%s,cureBaseValue=%s,skillPer=%s,skillValue=%s"
    #                   % (cureHP, cureType, cureBaseValue, skillPer, skillValue))
    #GameWorld.DebugLog("获取治疗值(%s):skillID=%s,cureType=%s,cureBaseValue=%s,skillPer=%s,skillValue=%s,curePer=%s,cureDefPer=%s"
    #                   % (cureHP, curSkill.GetSkillID(), cureType, cureBaseValue, skillPer, skillValue, curePer, cureDefPer))
    return cureHP