ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
@@ -29,12 +29,12 @@
import GameLogic_Dingjunge
import PlayerMingge
import PlayerBeauty
import PlayerFamily
import PlayerHorse
import PlayerGubao
import PlayerHero
import PlayerHJG
import GameWorld
import ChPlayer
import ChConfig
import ChEquip
@@ -80,6 +80,10 @@
        if not isReload: # 非重读阵容的视为变更
            self.isHeroChange = True
        reloadEffHeroCard(curPlayer, self) # 更新武将阵容强制重刷生效卡牌
        return
    def OnSwitch(self):
        self.isHeroChange = True
        return
    
    def IsHeroItemIn(self, itemIndex): return itemIndex in self.heroItemDict
@@ -1083,17 +1087,26 @@
                             "starTalentValue":starTalentValue, "starTalentPer":starTalentPer, "breakLVValue":breakLVValue, "breakLVPer":breakLVPer,
                             "awakeTalentValue":awakeTalentValue, "awakeTalentPer":awakeTalentPer,
                             }
            #testDict = {'lineupHaloPer': 0.1, 'minggeValue': 43685, 'heroLVValue': 836851, 'cardPer': 72.276, 'realmValue': 9878456, 'fetterPer': 0.15, 'horseValue': 5040, 'equipValue': 18381400, 'inheritPer': 1.4, 'lvValue': 53600}
            #testDict = {'inheritPer': 1, 'minggeValue': 905, 'equipValue': 796}
            #for k in attrParamDict.keys():
            #    v = testDict.get(k, 0)
            #    exec("%s = %s" % (k, v))
            #    attrParamDict[k] = v
            if attrID in ChConfig.BaseAttrIDList:
                attrValue = FormulaControl.Eval("baseAttrFormula", baseAttrFormula, attrParamDict, toInt=False, ndigits=3)
                attrValue = FormulaControl.Eval("baseAttrFormula", baseAttrFormula, attrParamDict, toInt=False, ndigits=2)
                #GameWorld.DebugLog("    evalValue=%s,attrValue=%s" % (eval(baseAttrFormula), attrValue))
            else:
                attrValue = FormulaControl.Eval("otherAttrFormula", otherAttrFormula, attrParamDict, toInt=False, ndigits=3)
                attrValue = FormulaControl.Eval("otherAttrFormula", otherAttrFormula, attrParamDict, toInt=False, ndigits=2)
                #GameWorld.DebugLog("    evalValue=%s,attrValue=%s" % (eval(otherAttrFormula), attrValue))
            # 前端对比刷属性明细时需要
            if g_calcDetail and attrValue > 0:
                calcParamDict = {}
                for k, v in attrParamDict.items():
                    if v > 0:
                        calcParamDict[k] = v
                GameWorld.DebugLog("    heroID=%s,attrID=%s,attrValue=%s,attrParamDict=%s" % (heroID, attrID, attrValue, calcParamDict))
                    if not v or (k == "inheritPer" and v == 1):
                        continue
                    calcParamDict[k] = v
                GameWorld.DebugLogEx("    heroID=%s,attrID=%s,attrValue=%s,%s", heroID, attrID, attrValue, calcParamDict)
                
            attrIpyData = IpyGameDataPY.GetIpyGameData("PlayerAttr", attrID)
            attrName = attrIpyData.GetParameter() if attrIpyData else "%s" % attrID
@@ -1185,7 +1198,4 @@
    else:
        GameWorld.DebugLog("主线阵容没有在战斗中,不需要处理", playerID)
        
    PlayerFamily.RefreshFamilyMember(curPlayer) # 更新公会
    # 更新排行榜
    return