From 414e694600077975d13979e925e152a52f4f8d03 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 09 十二月 2025 18:08:05 +0800
Subject: [PATCH] 383 【武将】武将宿缘-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py
index c97c796..a11242a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py
@@ -42,6 +42,8 @@
         GameWorld.DebugAnswer(curPlayer, "重置图鉴: Hero t 0 [重置阵容推荐]")
         GameWorld.DebugAnswer(curPlayer, "重置重生: Hero r")
         GameWorld.DebugAnswer(curPlayer, "武将皮肤: Hero sk 武将ID 皮肤索引 是否解锁")
+        GameWorld.DebugAnswer(curPlayer, "重置宿缘: Hero sy 0")
+        GameWorld.DebugAnswer(curPlayer, "设置宿缘: Hero sy 宿缘ID 等级 [是否激活]")
         GameWorld.DebugAnswer(curPlayer, "清空武将: ClearPack 35")
         GameWorld.DebugAnswer(curPlayer, "新增武将: MakeItemCount 英雄ID [个数]")
         GameWorld.DebugAnswer(curPlayer, "阵容上阵: Hero f 阵容ID [武将ID ...]")
@@ -126,6 +128,44 @@
         PlayerHero.ActiveHeroSkin(curPlayer, heroID, skinIndex, isActive)
         return
     
+    # 宿缘
+    if value == "sy":
+        syncIDList = []
+        if not value2:
+            ipyDataMgr = IpyGameDataPY.IPY_Data()
+            for index in range(ipyDataMgr.GetHeroFatesCount()):
+                ipyData = ipyDataMgr.GetHeroFatesByIndex(index)
+                fatesID = ipyData.GetFatesID()
+                if not PlayerHero.GetHeroFatesState(curPlayer, fatesID):
+                    continue
+                PlayerHero.SetHeroFatesState(curPlayer, fatesID, 0)
+                PlayerHero.SetHeroFatesLV(curPlayer, fatesID, 0)
+                syncIDList.append(fatesID)
+            GameWorld.DebugAnswer(curPlayer, "重置宿缘")
+        else:
+            fatesID = value2
+            fatesLV = msgList[2] if len(msgList) > 2 else 0
+            fatesState = msgList[3] if len(msgList) > 3 else None
+            ipyData = IpyGameDataPY.GetIpyGameData("HeroFates", fatesID)
+            if not ipyData:
+                GameWorld.DebugAnswer(curPlayer, "宿缘ID不存在: %s" % fatesID)
+                return
+            if fatesLV:
+                fatesQuality = ipyData.GetFatesQuality()
+                if not IpyGameDataPY.GetIpyGameData("HeroFatesQualityLV", fatesQuality, fatesLV):
+                    GameWorld.DebugAnswer(curPlayer, "宿缘品质(%s)等级(%s)不存在" % (fatesQuality, fatesLV))
+                    return
+            syncIDList.append(fatesID)
+            if fatesState != None:
+                PlayerHero.SetHeroFatesState(curPlayer, fatesID, fatesState)
+            else:
+                fatesState = PlayerHero.GetHeroFatesState(curPlayer, fatesID)
+            PlayerHero.SetHeroFatesLV(curPlayer, fatesID, fatesLV)
+            GameWorld.DebugAnswer(curPlayer, "设置宿缘ID=%s,LV=%s,State=%s" % (fatesID, fatesLV, fatesState))
+        PlayerHero.Sync_HeroFatesInfo(curPlayer, syncIDList)
+        PlayerHero.RefreshLordAttr(curPlayer)
+        return
+    
     itemIndex = value2
     heroItem = PlayerHero.GetHeroItem(curPlayer, itemIndex)
     if not heroItem:

--
Gitblit v1.8.0