| | |
| | | # 特权效果类型
|
| | | GubaoPowerType_TravelMultiRate = 1 # 游历双倍奖励概率
|
| | | GubaoPowerType_InvestMonthAwardPer = 2 # 月卡领取额外奖励
|
| | | GubaoPowerType_InvestLifeAwardPer = 3 # 永久卡领取额外奖励
|
| | |
|
| | | def GetGubaoInfo(curPlayer, gubaoID):
|
| | | info = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoInfo % gubaoID)
|
| | |
| | |
|
| | | # 特殊属性
|
| | | attrID = ipyData.GetSpecAttrID()
|
| | | #effType = ipyData.GetSpecEffType()
|
| | | layerMax = ipyData.GetSpecEffLayerMax()
|
| | | SpecAttrValue = ipyData.GetSpecAttrValue()
|
| | | SpecAttrPerStarAdd = ipyData.GetSpecAttrPerStarAdd()
|
| | | specLVAttr = 0
|
| | | lvAttrIpyData = IpyGameDataPY.GetIpyGameData("GubaoLVAttr", quality, lv)
|
| | | if lvAttrIpyData:
|
| | | specAttrIDList = lvAttrIpyData.GetSpecAttrIDList()
|
| | | specAttrValueList = lvAttrIpyData.GetSpecAttrValueList()
|
| | | for sIndex in range(min(len(specAttrIDList), len(specAttrValueList))):
|
| | | if specAttrIDList[sIndex] == attrID:
|
| | | specLVAttr = specAttrValueList[sIndex]
|
| | | if not layerMax:
|
| | | layer, layerMax = 1, 1 # 无层级限制的默认1层
|
| | | attrValue = int((SpecAttrValue + SpecAttrPerStarAdd * star + specLVAttr / float(layerMax)) * layer)
|
| | | attrDict[attrID] = attrDict.get(attrID, 0) + attrValue
|
| | | #GameWorld.DebugLog("古宝特殊属性! gubaoID=%s,quality=%s,lv=%s,star=%s,effType=%s,layer=%s/%s,attrID=%s,v=%s,perStar=%s,specLVAttr=%s,attrValue=%s,%s" |
| | | # % (gubaoID, quality, lv, star, effType, layer, layerMax, attrID, SpecAttrValue, SpecAttrPerStarAdd, specLVAttr, attrValue, attrDict), playerID)
|
| | | if attrID:
|
| | | #effType = ipyData.GetSpecEffType()
|
| | | layerMax = ipyData.GetSpecEffLayerMax()
|
| | | SpecAttrValue = ipyData.GetSpecAttrValue()
|
| | | SpecAttrPerStarAdd = ipyData.GetSpecAttrPerStarAdd()
|
| | | specLVAttr = 0
|
| | | lvAttrIpyData = IpyGameDataPY.GetIpyGameData("GubaoLVAttr", quality, lv)
|
| | | if lvAttrIpyData:
|
| | | specAttrIDList = lvAttrIpyData.GetSpecAttrIDList()
|
| | | specAttrValueList = lvAttrIpyData.GetSpecAttrValueList()
|
| | | for sIndex in range(min(len(specAttrIDList), len(specAttrValueList))):
|
| | | if specAttrIDList[sIndex] == attrID:
|
| | | specLVAttr = specAttrValueList[sIndex]
|
| | | if not layerMax:
|
| | | layer, layerMax = 1, 1 # 无层级限制的默认1层
|
| | | attrValue = int((SpecAttrValue + SpecAttrPerStarAdd * star + specLVAttr / float(layerMax)) * layer)
|
| | | attrDict[attrID] = attrDict.get(attrID, 0) + attrValue
|
| | | #GameWorld.DebugLog("古宝特殊属性! gubaoID=%s,quality=%s,lv=%s,star=%s,effType=%s,layer=%s/%s,attrID=%s,v=%s,perStar=%s,specLVAttr=%s,attrValue=%s,%s" |
| | | # % (gubaoID, quality, lv, star, effType, layer, layerMax, attrID, SpecAttrValue, SpecAttrPerStarAdd, specLVAttr, attrValue, attrDict), playerID)
|
| | |
|
| | | # 特权
|
| | | powerType = ipyData.GetPowerType()
|