hxp
5 天以前 d5c268fa56e84359541b82f48fd657846dfd63c1
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
@@ -27,6 +27,7 @@
import FormulaControl
import PlayerPrestigeSys
import GameLogic_Dingjunge
import OpenServerActivity
import PlayerMingge
import PlayerBeauty
import PlayerHorse
@@ -34,7 +35,6 @@
import PlayerHero
import PlayerHJG
import GameWorld
import ChPlayer
import ChConfig
import ChEquip
@@ -94,6 +94,7 @@
        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
@@ -234,6 +235,11 @@
    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, {})
@@ -619,6 +625,7 @@
    for syncItem in syncItemDict.values():
        syncItem.Sync_Item()
        
    OpenServerActivity.UpdOSA_HeroTrainBillboard(curPlayer) # 重载生效卡
    return
def getHeroCardAddPer(heroItem):
@@ -636,7 +643,7 @@
    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
@@ -811,10 +818,16 @@
        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()