| | |
| | | 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
|
| | |
|
| | |
| | | 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
|
| | |
| | |
|
| | | effCardAddPerAft = heroPreset.GetEffCardAddPer()
|
| | |
|
| | | if effCardAddPerBef == effCardAddPerAft:
|
| | | continue
|
| | | heroPresetID = heroPreset.heroPresetID
|
| | | GameWorld.DebugLog("武将物品变化影响: itemIndex=%s,heroPresetID=%s,effCardAddPerBef=%s,effCardAddPerAft=%s"
|
| | | % (itemIndex, heroPresetID, effCardAddPerBef, effCardAddPerAft), self.playerID)
|
| | |
| | | skinID = 0
|
| | | skinIDList = heroIpyData.GetSkinIDList()
|
| | | if skinIndex < 0 or skinIndex >= len(skinIDList):
|
| | | skinID = skinIDList[skinIndex]
|
| | | elif skinIDList:
|
| | | skinID = skinIDList[0]
|
| | | elif skinIDList:
|
| | | skinID = skinIDList[skinIndex]
|
| | |
|
| | | lineupHero = presetLineup.GetLineupHero(posNum)
|
| | | #if False:
|
| | |
| | | "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
|
| | |
| | | else:
|
| | | GameWorld.DebugLog("主线阵容没有在战斗中,不需要处理", playerID)
|
| | |
|
| | | PlayerFamily.RefreshFamilyMember(curPlayer) # 更新公会
|
| | | # 更新排行榜
|
| | | |
| | | return
|