#!/usr/bin/python # -*- coding: GBK -*- # # @todo: Ôö¼ÓÖ¸¶¨Æ·ÖÊ×øÆïµÄij¸öÊôÐÔЧ¹û°Ù·Ö±È # # @author: Alee # @date 2018-1-20 ÏÂÎç02:50:26 # @version 1.0 # # @note: # #--------------------------------------------------------------------- #µ¼Èë import ChConfig import PlayerControl import ShareDefine import IpyGameDataPY import GameWorld #--------------------------------------------------------------------- ## buffÏßÐÔÔö¼ÓÊôÐÔ # @param defender Buff³ÐÊÜÕß # @param curEffect ¼¼ÄÜЧ¹û # @param calcDict ¼¼ÄÜЧ¹ûÀÛ¼Ó×ܱí # @return None def OnCalcBuffEx(defender, curEffect, calcDict, curBuff): attrType = curEffect.GetEffectValue(1) value = GetHorseAttrByQuality(defender, curEffect.GetEffectValue(0), attrType) value = int(value*curEffect.GetEffectValue(2)*1.0/ChConfig.Def_MaxRateValue) #[ÊôÐÔË÷Òý, ÊÇ·ñ»ù´¡ÊôÐÔ£¬(·Ç)ÏßÐÔ] attrInfo = ChConfig.ItemEffect_AttrDict.get(attrType, []) if attrInfo == []: return for i in attrInfo[0]: GameWorld.AddDictValue(calcDict, {i:value}) return ## ·µ»ØbuffÀàÐÍ£¬ÏßÐÔÓë·ñ # @param # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def GetCalcType(): return ChConfig.TYPE_Linear def GetHorseAttrByQuality(curPlayer, quality, attrType): return 0 # value = 0 # ipyDataMgr = IpyGameDataPY.IPY_Data() # for i in xrange(ipyDataMgr.GetHorseCount()): # ipyData = ipyDataMgr.GetHorseByIndex(i) # horseID = ipyData.GetHorseID() # if ipyData.GetQuality() != quality: # # ·Ç´ËÆ·ÖÊÅųý # continue # lv = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Horser_LV % horseID, 0, ChConfig.Def_PDictType_Horse) # if not lv: # continue # # horseUpData = IpyGameDataPY.GetIpyGameData("HorseUp", horseID, lv) # if not horseUpData: # continue # # attrTypeList = horseUpData.GetAttrType() # attrValueList = horseUpData.GetAttrValue() # if attrType not in attrTypeList: # continue # # value += attrValueList[attrTypeList.index(attrType)] # # return value