#!/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]