| | |
| | | import FormulaControl
|
| | | import PlayerPrestigeSys
|
| | | import GameLogic_Dingjunge
|
| | | import OpenServerActivity
|
| | | import PlayerMingge
|
| | | import PlayerBeauty
|
| | | import PlayerHorse
|
| | |
| | | import PlayerHero
|
| | | import PlayerHJG
|
| | | import GameWorld
|
| | | import ChPlayer
|
| | | import ChConfig
|
| | | import ChEquip
|
| | |
|
| | |
| | | self._effectiveCardDict[heroID] = [cardAddPer, itemIndex, inThis]
|
| | | return
|
| | |
|
| | | def GetEffectiveCardDict(self): return self._effectiveCardDict
|
| | | def SetEffectiveCardDict(self, effectiveCardDict): self._effectiveCardDict = effectiveCardDict
|
| | | def GetEffCardAddPer(self):
|
| | | effCardAddPer = 0
|
| | |
| | | def GetCalcSpecInfo(self, calcIndex, presetID=0):
|
| | | calcKey = (calcIndex, presetID) if presetID else calcIndex
|
| | | return self._calcSpecEffDict.get(calcKey, {})
|
| | | def SetCalcSpecInfo(self, calcKey, specEffInfo, presetID=0):
|
| | | # @param calcKey: 与calcIndex公用,只是使用其他自定义key,一般用于同个属性功能点,但是又需要区分不同的子功能点时可用
|
| | | calcKey = (calcKey, presetID) if presetID else calcKey
|
| | | self._calcSpecEffDict[calcKey] = specEffInfo
|
| | | return
|
| | | def GetCalcAttr(self, calcIndex, presetID=0):
|
| | | calcKey = (calcIndex, presetID) if presetID else calcIndex
|
| | | return self._calcAttrDict.get(calcKey, {})
|
| | |
| | | for syncItem in syncItemDict.values():
|
| | | syncItem.Sync_Item()
|
| | |
|
| | | OpenServerActivity.UpdOSA_HeroTrainBillboard(curPlayer) # 重载生效卡
|
| | | return
|
| | |
|
| | | def getHeroCardAddPer(heroItem):
|
| | |
| | | star = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroStar)
|
| | | breakLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
|
| | |
|
| | | starMax = PlayerHero.GetHeroStarMax(heroItem)
|
| | | starMax = PlayerHero.GetHeroStarMax(heroID, heroItem)
|
| | | addPer = qualityIpyData.GetInitAddPer()
|
| | | addPer += qualityIpyData.GetLVAddPer() * max(0, heroLV - 1)
|
| | | addPer += qualityIpyData.GetBreakLVAddPer() * breakLV
|
| | |
| | | heroSelfAttrInfo[heroID] = selfAttrDict
|
| | |
|
| | | # 时装属性
|
| | | attrSkinID = 0
|
| | | attrSkinIndex = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroSkinAttr)
|
| | | if attrSkinIndex < 0 or attrSkinIndex >= len(skinIDList):
|
| | | attrSkinID = skinIDList[0]
|
| | | elif skinIDList:
|
| | | attrSkinID = skinIDList[attrSkinIndex]
|
| | | heroSkinAttrDict = {}
|
| | | skinIpyData = IpyGameDataPY.GetIpyGameDataNotLog("HeroSkinAttr", skinID)
|
| | | skinIpyData = IpyGameDataPY.GetIpyGameDataNotLog("HeroSkinAttr", attrSkinID)
|
| | | if skinIpyData:
|
| | | skinStar = PlayerHero.GetHeroSkinStar(curPlayer, skinID)
|
| | | skinStar = PlayerHero.GetHeroSkinStar(curPlayer, attrSkinID)
|
| | | wearAttrIDList = skinIpyData.GetWearAttrIDList()
|
| | | wearAttrValueList = skinIpyData.GetWearAttrValueList()
|
| | | wearAttrPerStarAddList = skinIpyData.GetWearAttrPerStarAddList()
|