From 585920f6469cc24091ada7882c329d45142fd35f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 22 一月 2026 20:14:02 +0800
Subject: [PATCH] 423 【内政】命格系统-服务端(推演增加A814回包;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
index 8accd71..f1f1396 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
@@ -19,6 +19,7 @@
 import BattleObj
 import TurnAttack
 import PyGameData
+import SkillCommon
 import ShareDefine
 import PlayerPreset
 import PlayerControl
@@ -951,6 +952,7 @@
     horseAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_Horse)
     beautyAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_Beauty)
     minggeAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_Mingge, mgPresetID)
+    mgSkillLVDict = olPlayer.GetCalcSpecInfo(ChConfig.Def_CalcAttr_Mingge, mgPresetID)
     dingjungeAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_Dingjunge) if exclusiveMapID == ChConfig.Def_FBMapID_Dingjunge else {}
     
     GameWorld.DebugLog("    国家武将统计=%s" % countryHeroInfo, playerID)
@@ -971,7 +973,7 @@
     GameWorld.DebugLog("    主幻境阁属性=%s" % hjgAttrDict, playerID)
     GameWorld.DebugLog("    主公坐骑属性=%s" % horseAttrDict, playerID)
     GameWorld.DebugLog("    主公红颜属性=%s" % beautyAttrDict, playerID)
-    GameWorld.DebugLog("    主公命格属性=%s,mgPresetID=%s" % (minggeAttrDict, mgPresetID), playerID)
+    GameWorld.DebugLog("    主公命格属性=%s,技能:%s,mgPresetID=%s" % (minggeAttrDict, mgSkillLVDict, mgPresetID), playerID)
     GameWorld.DebugLog("    定军专属属性=%s" % dingjungeAttrDict, playerID)
     effCardAddPer = heroPreset.GetEffCardAddPer()
     effCardAddPer /= 10000.0
@@ -981,9 +983,23 @@
     OfficialLV = curPlayer.GetOfficialRank()
     GameWorld.DebugLog("    PlayerLV=%s,OfficialLV=%s" % (PlayerLV, OfficialLV), playerID)
     
+    mgSkillFightPower = 0
+    for skillTypeID, skillLV in mgSkillLVDict.items():
+        skillID = SkillCommon.GetSkillIDBySkillTypeID(skillTypeID, skillLV)
+        skillData = IpyGameDataPY.GetIpyGameData("Skill", skillID)
+        if not skillData:
+            continue
+        paramDict = {"SkillPower":skillData.GetFightPower(), "PlayerLV":PlayerLV, "OfficialLV":OfficialLV}
+        sFightPower = FormulaControl.Eval("skillFPFormula", skillFPFormula, paramDict, toInt=True)
+        mgSkillFightPower += sFightPower
+    if mgSkillLVDict:
+        GameWorld.DebugLog("    命格技能战力=%s,mgSkillLVDict=%s" % (mgSkillFightPower, mgSkillLVDict), playerID)
+        
     fpRatioIpyData = IpyGameDataPY.GetIpyGameData("FightPowerRatio", OfficialLV)
     
     lineupFightPower = 0 # 阵容总战力
+    lineupFightPower += mgSkillFightPower
+    
     for heroID, selfAttrDict in heroSelfAttrInfo.items():
         lineupHero = presetLineup.GetLineupHeroByID(heroID)
         if not lineupHero:

--
Gitblit v1.8.0