| | |
| | | return
|
| | |
|
| | | allAttrList = [{} for _ in range(4)]
|
| | | plusAttrRateDict = {}
|
| | | lianTiAttrDict = {}
|
| | |
|
| | | ipyDataMgr = IpyGameDataPY.IPY_Data()
|
| | | for index in xrange(ipyDataMgr.GetLianTiCount()):
|
| | |
| | | for i, attrID in enumerate(fixedAttrTypeList):
|
| | | attrValue = fixedAttrValueList[i] if len(fixedAttrValueList) > i else 0
|
| | | PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrList)
|
| | | lianTiAttrDict[attrID] = lianTiAttrDict.get(attrID, 0) + attrValue
|
| | | #GameWorld.DebugLog(" %s, attrID=%s,attrValue=%s,%s" % (i, attrID, attrValue, lianTiAttrDict))
|
| | | #GameWorld.DebugLog(" %s, attrID=%s,attrValue=%s,%s" % (i, attrID, attrValue, allAttrList))
|
| | |
|
| | | # 培养丹增加属性
|
| | | upItemPerCount = lvupIpyData.GetEatPerCount()
|
| | |
| | | attrValue = upItemAttrValueList[i] if len(upItemAttrValueList) > i else 0
|
| | | attrValue *= attrMultiple
|
| | | PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrList)
|
| | | lianTiAttrDict[attrID] = lianTiAttrDict.get(attrID, 0) + attrValue
|
| | | #GameWorld.DebugLog(" %s, attrID=%s,attrValue=%s,%s" % (i, attrID, attrValue, lianTiAttrDict))
|
| | | #GameWorld.DebugLog(" %s, attrID=%s,attrValue=%s,%s" % (i, attrID, attrValue, allAttrList))
|
| | |
|
| | | # 增强属性万分率累加
|
| | | plusAttrTypeList = lvupIpyData.GetPlusAttrType()
|
| | | plusAttrRateList = lvupIpyData.GetPlusAttrRate()
|
| | | for i, attrID in enumerate(plusAttrTypeList):
|
| | | plusRate = plusAttrRateList[i] if len(plusAttrRateList) > i else 0
|
| | | plusAttrRateDict[attrID] = plusAttrRateDict.get(attrID, 0) + plusRate
|
| | | |
| | | #GameWorld.DebugLog(" lianTiAttrDict=%s" % lianTiAttrDict)
|
| | | #GameWorld.DebugLog(" plusAttrRateDict=%s" % plusAttrRateDict)
|
| | | |
| | | # 固定属性增强值计算
|
| | | for attrID, plusRate in plusAttrRateDict.items():
|
| | | if attrID not in lianTiAttrDict:
|
| | | continue
|
| | | attrValue = lianTiAttrDict[attrID]
|
| | | plusValue = int(attrValue * plusRate / 10000.0)
|
| | | PlayerControl.CalcAttrDict_Type(attrID, plusValue, allAttrList)
|
| | | #GameWorld.DebugLog(" plus: attrID=%s,attrValue=%s,plusRate=%s,plusValue=%s" % (attrID, attrValue, plusRate, plusValue))
|
| | | attrValue = plusAttrRateList[i] if len(plusAttrRateList) > i else 0
|
| | | PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrList)
|
| | |
|
| | | #GameWorld.DebugLog(" allAttrList=%s" % allAttrList)
|
| | | # 保存计算值
|