From 4728eaa77ac07f87def76bab48e8ab4bc093c7f9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 10 二月 2025 18:58:13 +0800
Subject: [PATCH] 10334 【越南】【英语】【BT】【砍树】境界修改-服务端(装备任务条件支持配置件数,没配默认8件)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py |   32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
index dfb6b06..409b267 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
@@ -351,36 +351,44 @@
     
     # 装备
     elif taskType == RealmTaskType_Equip:
-        if len(needValueList) != 4:
+        if len(needValueList) < 4:
             GameWorld.DebugLog('境界任务领奖,装备条件配置错误,长度必须为4! realmLV=%s,taskID=%s,taskType=%s,needValueList=%s' 
                                % (realmLV, taskID, taskType, needValueList), playerID)
             return
-        classLV, star, isSuite, color = needValueList
+        classLV, star, isSuite, color = needValueList[:4]
+        needCount = needValueList[4] if len(needValueList) > 4 else len(ChConfig.EquipPlace_Base)
+        GameWorld.DebugLog('境界任务领奖,装备条件! realmLV=%s,taskID=%s,taskType=%s,classLV=%s,star=%s,isSuite=%s,color=%s,needCount=%s' 
+                           % (realmLV, taskID, taskType, classLV, star, isSuite, color, needCount), playerID)
+        curCount = 0
         equipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
         for place in ChConfig.EquipPlace_Base:
             ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, place)
             if not ipyData:
-                return
+                continue
             gridIndex = ipyData.GetGridIndex()
             curEquip = equipPack.GetAt(gridIndex)
             if not ItemCommon.CheckItemCanUse(curEquip):
-                GameWorld.DebugLog('境界任务领奖,装备位无装备! realmLV=%s,taskID=%s,taskType=%s,classLV=%s,place=%s' 
-                                   % (realmLV, taskID, taskType, classLV, place), playerID)
-                return
+                continue
             curPartStar = ChEquip.GetEquipPartStar(curPlayer, gridIndex)
             if curPartStar < star:
-                GameWorld.DebugLog('境界任务领奖,装备位星级不足! realmLV=%s,taskID=%s,taskType=%s,classLV=%s,place=%s,curPartStar=%s < %s' 
+                GameWorld.DebugLog('    装备位星级不足! realmLV=%s,taskID=%s,taskType=%s,classLV=%s,place=%s,curPartStar=%s < %s' 
                                    % (realmLV, taskID, taskType, classLV, place, curPartStar, star), playerID)
-                return
+                continue
             if isSuite and not curEquip.GetSuiteID():
-                GameWorld.DebugLog('境界任务领奖,装备位非套装! realmLV=%s,taskID=%s,taskType=%s,classLV=%s,place=%s' 
+                GameWorld.DebugLog('    装备位非套装! realmLV=%s,taskID=%s,taskType=%s,classLV=%s,place=%s' 
                                    % (realmLV, taskID, taskType, classLV, place), playerID)
-                return
+                continue
             if curEquip.GetItemColor() < color:
-                GameWorld.DebugLog('境界任务领奖,装备位品质不足! realmLV=%s,taskID=%s,taskType=%s,classLV=%s,place=%s,ItemColor=%s < %s' 
+                GameWorld.DebugLog('    装备位品质不足! realmLV=%s,taskID=%s,taskType=%s,classLV=%s,place=%s,ItemColor=%s < %s' 
                                    % (realmLV, taskID, taskType, classLV, place, curEquip.GetItemColor(), color), playerID)
-                return
+                continue
+            curCount += 1
             
+        if curCount < needCount:
+            GameWorld.DebugLog('    境界任务所需装备数不足! realmLV=%s,taskID=%s,taskType=%s,classLV=%s,star=%s,isSuite=%s,color=%s,curCount=%s < %s' 
+                           % (realmLV, taskID, taskType, classLV, star, isSuite, color, curCount, needCount), playerID)
+            return
+        
     # 渡劫
     elif taskType == RealmTaskType_Dujie:
         curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmTaskValue % taskID)

--
Gitblit v1.8.0