#!/usr/bin/python # -*- coding: GBK -*- # ##@package # # @todo: ÆÕͨÌ×װÿһ½×ÊýÌáÉýÊôÐÔ°Ù·Ö±È # # @author: Alee # @date 2018-11-5 ÏÂÎç04:38:39 # @version 1.0 # # @note: # #--------------------------------------------------------------------- #µ¼Èë import ChConfig import PlayerControl import ChEquip import IPY_GameWorld #--------------------------------------------------------------------- def OnCalcBuffEx(defender, curEffect, calcDict, curBuff): if defender.GetGameObjType() != IPY_GameWorld.gotPlayer: return suitsLV = ChEquip.GetEquipSuitsLVByType(defender, ChConfig.EquipSuitType_Normal, ChConfig.EquipGroupType_Armor) if not suitsLV: return attrList = PlayerControl.GetCalcAttrListValue(defender, curEffect.GetEffectValue(2)) attrType = curEffect.GetEffectValue(1) attrTypeList = [attrType] # ¹¥»÷Á¦ÓÐ×î´ó×îС ÌØÊâ´¦Àí if attrType in [ChConfig.TYPE_Calc_AttrATKMin, ChConfig.TYPE_Calc_AttrATKMax]: attrTypeList = [ChConfig.TYPE_Calc_AttrATKMin, ChConfig.TYPE_Calc_AttrATKMax] for tmpType in attrTypeList: value = int(attrList[2].get(tmpType, 0)*curEffect.GetEffectValue(0)*suitsLV*1.0/ChConfig.Def_MaxRateValue) calcDict[tmpType] = calcDict.get(tmpType, 0) + value return ## ·µ»ØbuffÀàÐÍ£¬ÏßÐÔÓë·ñ # @param # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def GetCalcType(): return ChConfig.TYPE_Linear