From ba67d86ccc7dde96a4fe2bb2ae3abfbd0aacc561 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 03 十一月 2025 12:00:10 +0800
Subject: [PATCH] 237 【福利内容】每日任务/每周任务/章节奖励-服务端(增加每日任务类型 6 ~ 10)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 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 1c9827d..009e7cd 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
@@ -39,7 +39,7 @@
         GameWorld.DebugAnswer(curPlayer, "武将突破: Hero b 背包位置 设置等级")
         GameWorld.DebugAnswer(curPlayer, "武将觉醒: Hero a 背包位置 设置等级")
         GameWorld.DebugAnswer(curPlayer, "武将图鉴: Hero t 武将ID 图鉴星级 图鉴突破等级")
-        GameWorld.DebugAnswer(curPlayer, "重置图鉴: Hero t 0")
+        GameWorld.DebugAnswer(curPlayer, "重置图鉴: Hero t 0 [重置阵容推荐]")
         GameWorld.DebugAnswer(curPlayer, "重置重生: Hero r")
         GameWorld.DebugAnswer(curPlayer, "武将皮肤: Hero sk 武将ID 皮肤索引 是否解锁")
         GameWorld.DebugAnswer(curPlayer, "清空武将: ClearPack 35")
@@ -78,6 +78,7 @@
             heroIDList = [value2]
             
         if value2 == 0:
+            recommendReset = msgList[2] if len(msgList) > 2 else 0
             syncHeroIDList = []
             for heroID in heroIDList:
                 if not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HeroBook % heroID):
@@ -85,6 +86,18 @@
                 syncHeroIDList.append(heroID)
                 PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HeroBook % heroID, 0)
             GameWorld.DebugAnswer(curPlayer, "重置图鉴OK!")
+            if recommendReset:
+                syncIDList = []
+                ipyDataMgr = IpyGameDataPY.IPY_Data()
+                for index in range(ipyDataMgr.GetLineupRecommendCount()):
+                    ipyData = ipyDataMgr.GetLineupRecommendByIndex(index)
+                    recommendID = ipyData.GetRecommendID()
+                    if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HeroRecommend % recommendID):
+                        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HeroRecommend % recommendID, 0)
+                        syncIDList.append(recommendID)
+                PlayerHero.Sync_LineupRecommendInfo(curPlayer, syncIDList)
+                GameWorld.DebugAnswer(curPlayer, "重置推荐OK!")
+                
         else:
             heroID = value2
             syncHeroIDList = [heroID]
@@ -119,6 +132,12 @@
         GameWorld.DebugAnswer(curPlayer, "不存在武将: itemIndex=%s" % itemIndex)
         return
     
+    heroID = heroItem.GetItemTypeID()
+    heroIpyData = IpyGameDataPY.GetIpyGameData("Hero", heroID)
+    if not heroIpyData:
+        return
+    quality = heroIpyData.GetQuality()
+    
     if value == 0:
         PlayerHero.InitHeroItem(heroItem.GetItem())
         heroItem.Sync_Item()
@@ -150,6 +169,9 @@
     # 突破
     if value == "b":
         breakLV = msgList[2] if len(msgList) > 2 else 0
+        if not IpyGameDataPY.GetIpyGameData("HeroQualityBreak", quality, breakLV):
+            GameWorld.DebugAnswer(curPlayer, "突破等级不存在:%s 品质:%s" % (breakLV, quality))
+            return
         PlayerHero.SetHeroBreakLV(curPlayer, heroItem, breakLV)
         GameWorld.DebugAnswer(curPlayer, "设置武将突破: %s,itemIndex=%s" % (breakLV, itemIndex))
         return
@@ -157,6 +179,9 @@
     # 觉醒
     if value == "a":
         awakeLV = msgList[2] if len(msgList) > 2 else 0
+        if not IpyGameDataPY.GetIpyGameData("HeroQualityAwake", quality, awakeLV):
+            GameWorld.DebugAnswer(curPlayer, "觉醒等级不存在:%s 品质:%s" % (awakeLV, quality))
+            return
         PlayerHero.SetHeroAwakeLV(heroItem, awakeLV)
         GameWorld.DebugAnswer(curPlayer, "设置武将觉醒: %s,itemIndex=%s" % (awakeLV, itemIndex))
         return
@@ -238,7 +263,7 @@
     for syncItem in syncItemDict.values():
         syncItem.Sync_Item()
         
-    lineup = PlayerOnline.GetOnlinePlayer(curPlayer).GetLineup(lineupID)
+    lineup = PlayerOnline.GetOnlinePlayer(curPlayer).GetLineup(lineupID, False)
     lineup.UpdLineup(heroItemDict, shapeType)
     GameWorld.DebugAnswer(curPlayer, "阵容(%s)上阵OK: %s" % (lineupID, heroItemDict))
     return

--
Gitblit v1.8.0