|  |  | 
 |  |  |         #GameWorld.DebugLog("等级加属性: %s" % allAttrList)
 | 
 |  |  |         
 | 
 |  |  |         # 属性点属性
 | 
 |  |  |         pointFightPowerEx = 0
 | 
 |  |  |         pointValueInfo = {ShareDefine.Def_Effect_Metal:[lambda curObj:GetMetal(curObj), lambda curObj, value:SetMetalQualityLV(curObj, value)],
 | 
 |  |  |                           ShareDefine.Def_Effect_Wood:[lambda curObj:GetWood(curObj), lambda curObj, value:SetWoodQualityLV(curObj, value)],
 | 
 |  |  |                           ShareDefine.Def_Effect_Water:[lambda curObj:GetWater(curObj), lambda curObj, value:SetWaterQualityLV(curObj, value)],
 | 
 |  |  | 
 |  |  |             if not ipyData:
 | 
 |  |  |                 continue
 | 
 |  |  |             # 每点属性
 | 
 |  |  |             perPointAddAttrDict = ipyData.GetAddAttrInfoPerPoint()
 | 
 |  |  |             for perPointAttrID, perPointAttrValue in perPointAddAttrDict.items():
 | 
 |  |  |                 pointAddValue = perPointAttrValue * pointValue
 | 
 |  |  |                 CalcAttrDict_Type(perPointAttrID, pointAddValue, allAttrList)
 | 
 |  |  |                 #GameWorld.DebugLog("    属性点(%s)加属性: pointValue=%s,perPointAttrID=%s,pointAddValue=%s" % (pointAttrID, pointValue, perPointAttrID, pointAddValue))
 | 
 |  |  |             perPointAddAttrDict = ipyData.GetAddAttrInfoPerPoint() # {"职业":[[每X点,属性ID,值], ...], ..}
 | 
 |  |  |             addAttrList = perPointAddAttrDict.get(str(job), [])
 | 
 |  |  |             for needPoint, pointAddAttrID, pointAddAttrValue in addAttrList:
 | 
 |  |  |                 pointAddValueTotal = pointAddAttrValue * (pointValue / needPoint)
 | 
 |  |  |                 CalcAttrDict_Type(pointAddAttrID, pointAddValueTotal, allAttrList)
 | 
 |  |  |                 #GameWorld.DebugLog("    属性点(%s)加属性: pointValue=%s,pointAddAttrID=%s,pointAddValueTotal=%s" % (pointAttrID, pointValue, pointAddAttrID, pointAddValueTotal))
 | 
 |  |  |                 
 | 
 |  |  |             pointFightPowerEx += (ipyData.GetFightPowerPerPoint() * pointValue)
 | 
 |  |  |              | 
 |  |  |             # 点数品质属性
 | 
 |  |  |             curPQLV = 0
 | 
 |  |  |             pqIntervalList = ipyData.GetPointQualityIntervalList()
 | 
 |  |  | 
 |  |  |             #GameWorld.DebugLog("        属性点(%s)品阶等级属性: curPQLV=%s,pqAttrID=%s,pqAttrValue=%s" % (pointAttrID, curPQLV, pqAttrID, pqAttrValue))
 | 
 |  |  |             
 | 
 |  |  |         #GameWorld.DebugLog("等级属性点加属性: %s" % allAttrList)
 | 
 |  |  |         #GameWorld.DebugLog("灵根品阶等级属性: %s" % lingGenQualityAttrList)         | 
 |  |  |         #GameWorld.DebugLog("灵根品阶等级属性: %s" % lingGenQualityAttrList)
 | 
 |  |  |         #GameWorld.DebugLog("灵根点数附加战力: %s" % pointFightPowerEx)
 | 
 |  |  |         curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Role, pointFightPowerEx)  | 
 |  |  |         SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_RoleBase, allAttrList)
 | 
 |  |  |         SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_LingGenQuailty, lingGenQualityAttrList)
 | 
 |  |  |         return
 |