|  |  |  | 
|---|
|  |  |  | #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 | 
|---|