From 0c69c775c09a25e1d3aa9ad4e62d7140ddfa98c1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 30 十二月 2025 16:45:57 +0800
Subject: [PATCH] 383 【武将】武将宿缘-服务端(增加所需品质支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py |    9 +++++----
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py     |    4 +++-
 PySysDB/PySysDBPY.h                                                                      |    1 +
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index b82fc66..6e03d75 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -276,6 +276,7 @@
 	BYTE		_FatesLV;	//宿缘等级
 	BYTE		NeedStarTotal;	// 升到该级所需总星数
 	BYTE		NeedHeroCnt;	// 所需品质武将数
+	BYTE		NeedQuality;	// 所需武将品质
 };
 
 //属性条目表
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index b929606..64e95be 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -270,6 +270,7 @@
                         ("BYTE", "FatesLV", 1),
                         ("BYTE", "NeedStarTotal", 0),
                         ("BYTE", "NeedHeroCnt", 0),
+                        ("BYTE", "NeedQuality", 0),
                         ),
 
                 "PlayerAttr":(
@@ -2553,7 +2554,8 @@
     def GetFatesQuality(self): return self.attrTuple[0] # 宿缘品质 BYTE
     def GetFatesLV(self): return self.attrTuple[1] # 宿缘等级 BYTE
     def GetNeedStarTotal(self): return self.attrTuple[2] #  升到该级所需总星数 BYTE
-    def GetNeedHeroCnt(self): return self.attrTuple[3] #  所需品质武将数 BYTE
+    def GetNeedHeroCnt(self): return self.attrTuple[3] #  所需品质武将数 BYTE
+    def GetNeedQuality(self): return self.attrTuple[4] #  所需武将品质 BYTE
 
 # 属性条目表
 class IPY_PlayerAttr():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py
index c494c7c..3b5feb3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py
@@ -1607,6 +1607,7 @@
         return
     needStarTotal = qualityLVIpyData.GetNeedStarTotal()
     needHeroCnt = qualityLVIpyData.GetNeedHeroCnt()
+    needQuality = qualityLVIpyData.GetNeedQuality()
     
     costItemList = []
     heroStarDict = {}
@@ -1620,7 +1621,7 @@
         
         # 材料卡
         if index in useIndexList:
-            if __checkHeroFatesLVUPItem(olPlayer, fatesQuality, index, heroItem, heroID):
+            if __checkHeroFatesLVUPItem(olPlayer, needQuality, index, heroItem, heroID):
                 costItemList.append(heroItem)
                 
         if heroID not in heroIDList:
@@ -1651,15 +1652,15 @@
     RefreshLordAttr(curPlayer) # 宿缘
     return
 
-def __checkHeroFatesLVUPItem(olPlayer, fatesQuality, itemIndex, heroItem, heroID):
+def __checkHeroFatesLVUPItem(olPlayer, needQuality, itemIndex, heroItem, heroID):
     ## 检查宿缘材料卡可否使用
     heroIpyData = IpyGameDataPY.GetIpyGameData("Hero", heroID)
     if not heroIpyData:
         return
     
     quality = heroIpyData.GetQuality()
-    if quality != fatesQuality:
-        GameWorld.DebugLog("    与宿缘品质不同的卡无法使用: itemIndex=%s,heroID=%s,quality=%s != %s" % (itemIndex, heroID, quality, fatesQuality))
+    if quality != needQuality:
+        GameWorld.DebugLog("    与宿缘所需品质不同的卡无法使用: itemIndex=%s,heroID=%s,quality=%s != %s" % (itemIndex, heroID, quality, needQuality))
         return
     
     #未生效、未上阵、未锁定、未进行过升级、突破、升星、觉醒

--
Gitblit v1.8.0