From 2aa11594d4e1c14b69cb140b82de62c4f5e16318 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 21 一月 2026 14:35:16 +0800
Subject: [PATCH] 423 【内政】命格系统-服务端(命格技能战力计算;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
index 2dd7d0e..01cc445 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
@@ -321,19 +321,27 @@
     
     def sortActionQueue(self):
         ## 刷新出手顺序队列
+        batObjMgr = BattleObj.GetBatObjMgr()
         sortList = []
         for batFaction in self.factionDict.values():
             faction = batFaction.faction
             for num, batLineup in batFaction.lineupDict.items():
                 isPlayer = 1 if batLineup.ownerID else 0 # 玩家阵容优先攻击
+                atkSpeed = 0
+                for objID in batLineup.getBatHeroObjIDList():
+                    batObj = batObjMgr.getBatObj(objID)
+                    if not batObj:
+                        continue
+                    atkSpeed += batObj.GetBatAttrValue(ChConfig.AttrID_AtkSpeed)
                 fightPower = batLineup.fightPower
                 sortValue = -(faction * 10 + num)
-                sortList.append([isPlayer, fightPower, sortValue, faction, num])
+                sortList.append([isPlayer, atkSpeed, fightPower, sortValue, faction, num])
         sortList.sort(reverse=True) # 战力高的先手
         
         self.actionIndex = 0
         self.actionSortList = []
-        for _, _, _, faction, num in sortList:
+        for sortInfo in sortList:
+            faction, num = sortInfo[-2:]
             self.actionSortList.append([faction, num])
             
         GameWorld.DebugLogEx("阵容战力排序[isPlayer, fp, sortV, f, n]: %s", sortList)
@@ -684,7 +692,7 @@
     mgSkillLVDict = olPlayer.GetCalcSpecInfo(ChConfig.Def_CalcAttr_Mingge, mgPresetID)
     mgSkillIDList = []
     for skillTypeID, skillLV in mgSkillLVDict.items():
-        skillID = skillTypeID + skillLV - 1
+        skillID = SkillCommon.GetSkillIDBySkillTypeID(skillTypeID, skillLV)
         if skillID not in mgSkillIDList:
             mgSkillIDList.append(skillID)
     #shapeType = 0

--
Gitblit v1.8.0