ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuffs/BuffAtkType_1003.py
@@ -16,13 +16,29 @@
#-------------------------------------------------------------------------------
import TurnSkill
import IpyGameDataPY
import GameWorld
import ChConfig
def CalcBuffValue(turnFight, attacker, defender, curSkill):
    skillID = curSkill.GetSkillID()
    calcType = curSkill.GetCalcType()
    skillPer = curSkill.GetSkillPer()
    skillPer += TurnSkill.GetAddSkillPer(turnFight, attacker, defender, curSkill)
    skillValue = curSkill.GetSkillValue()
    #skillValue = curSkill.GetSkillValue()
    baseValue = TurnSkill.GetCalcBaseValue(calcType, attacker, defender, curSkill)
    shieldValue = int(baseValue * skillPer / 10000.0) + skillValue
    relativeObj = TurnSkill.GetRelativeObj(turnFight, attacker)
    aShieldPer = attacker.GetBatAttrValue(ChConfig.AttrID_ShieldPer) # 强化护盾
    dShieldPerDef = relativeObj.GetBatAttrValue(ChConfig.AttrID_ShieldPerDef) # 弱化护盾
    angerOverflow = attacker.GetAngerOverflow()
    skillPer /= float(ChConfig.Def_MaxRateValue)
    aShieldPer /= float(ChConfig.Def_MaxRateValue)
    dShieldPerDef /= float(ChConfig.Def_MaxRateValue)
    shieldValue = eval(IpyGameDataPY.GetFuncCompileCfg("ShieldFormula", 1))
    GameWorld.DebugLog("计算护盾值(%s):skillID=%s,calcType=%s,baseValue=%s,skillPer=%s,aShieldPer=%s,dShieldPerDef=%s,angerOverflow=%s"
                       % (shieldValue, skillID, calcType, baseValue, skillPer, aShieldPer, dShieldPerDef, angerOverflow))
    return [shieldValue % ChConfig.Def_PerPointValue, shieldValue / ChConfig.Def_PerPointValue]