#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package Skill.TurnBuffs.BuffAtkType_1003
|
#
|
# @todo:³ÐÉË»¤¶Ü
|
# @author hxp
|
# @date 2025-08-25
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ³ÐÉË»¤¶Ü
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2025-08-25 12:00"""
|
#-------------------------------------------------------------------------------
|
|
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()
|
baseValue = TurnSkill.GetCalcBaseValue(calcType, attacker, defender, curSkill)
|
|
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]
|