From 849f499eceec264b1abd0bae174f7b7a10b99433 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 27 一月 2026 19:39:35 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(战斗初始化同步命格PosNum=99)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dingjunge.py |   24 +++++++++++++-----------
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dingjunge.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dingjunge.py
index 02fa2e3..99f11e5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dingjunge.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dingjunge.py
@@ -210,18 +210,17 @@
                        % (highestLineID, passLayerMax, quickStartLayer, todayLineID), playerID)
     
     # 快速过关奖励按历史最大过关层级领取
-    awardItemDict = {}
+    awardIpyData = None
     ipyDataMgr = IpyGameDataPY.IPY_Data()
     for index in range(ipyDataMgr.GetFBDJGQuickCount()):
         quickIpyData = ipyDataMgr.GetFBDJGQuickByIndex(index)
         needLayer = quickIpyData.GetNeedLayer()
         if needLayer > passLayerMax:
             break
-        quickItemList = quickIpyData.GetQuickAwardList()
-        for itemInfo in quickItemList:
-            itemID, itemCount = itemInfo[:2]
-            awardItemDict[itemID] = awardItemDict.get(itemID, 0) + itemCount
-    awardItemList = [[itemID, itemCount] for itemID, itemCount in awardItemDict.items()]
+        awardIpyData = quickIpyData
+    if not awardIpyData:
+        return
+    awardItemList = awardIpyData.GetQuickAwardList()
     
     # 设置起始层关卡
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DJGLineID, todayLineID)
@@ -345,17 +344,20 @@
 
 def __randSelectEff(curPlayer, randEffCnt=0, isReset=False):
     ## 随机生成待选择加成效果
-    unSelectCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DJGUnSelectCnt)
-    if unSelectCnt <= 0:
-        GameWorld.DebugLog("没有未处理的加成效果次数了")
-        return
     if not randEffCnt:
         randEffCnt = IpyGameDataPY.GetFuncCfg("DingjungeEff", 3)
-    effIDList = []
     if isReset:
         # 重置
         for sIndex in range(randEffCnt):
             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DJGSelectEffect % sIndex, 0)
+            
+    unSelectCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DJGUnSelectCnt)
+    if unSelectCnt <= 0:
+        GameWorld.DebugLog("没有未处理的加成效果次数了")
+        return
+    effIDList = []
+    if isReset:
+        pass
     else:
         for sIndex in range(randEffCnt):
             effID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DJGSelectEffect % sIndex)

--
Gitblit v1.8.0