From 7fe5b708667ada80e22ce098635c30c89246d23b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 05 十二月 2025 20:00:07 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(武将生效卡牌逻辑;去除图鉴加成;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py |   50 +++++++++++++++++++++++---------------------------
 1 files changed, 23 insertions(+), 27 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 009e7cd..c97c796 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
@@ -38,7 +38,7 @@
         GameWorld.DebugAnswer(curPlayer, "武将升星: Hero s 背包位置 升x星")
         GameWorld.DebugAnswer(curPlayer, "武将突破: Hero b 背包位置 设置等级")
         GameWorld.DebugAnswer(curPlayer, "武将觉醒: Hero a 背包位置 设置等级")
-        GameWorld.DebugAnswer(curPlayer, "武将图鉴: Hero t 武将ID 图鉴星级 图鉴突破等级")
+        #GameWorld.DebugAnswer(curPlayer, "武将图鉴: Hero t 武将ID 图鉴星级 图鉴突破等级")
         GameWorld.DebugAnswer(curPlayer, "重置图鉴: Hero t 0 [重置阵容推荐]")
         GameWorld.DebugAnswer(curPlayer, "重置重生: Hero r")
         GameWorld.DebugAnswer(curPlayer, "武将皮肤: Hero sk 武将ID 皮肤索引 是否解锁")
@@ -98,17 +98,17 @@
                 PlayerHero.Sync_LineupRecommendInfo(curPlayer, syncIDList)
                 GameWorld.DebugAnswer(curPlayer, "重置推荐OK!")
                 
-        else:
-            heroID = value2
-            syncHeroIDList = [heroID]
-            bookStarLV = msgList[2] if len(msgList) > 2 else 0
-            bookBreakLV = msgList[3] if len(msgList) > 3 else 0
-            if (bookStarLV or bookStarLV) and not PlayerHero.GetHeroBookInitState(curPlayer, heroID):
-                PlayerHero.SetHeroBookInitState(curPlayer, heroID, 1)
-            PlayerHero.SetHeroBookStarLV(curPlayer, heroID, bookStarLV)
-            PlayerHero.SetHeroBookBreakLV(curPlayer, heroID, bookBreakLV)
-            GameWorld.DebugAnswer(curPlayer, "设置武将(%s)图鉴星级(%s),突破(%s)" % (heroID, bookStarLV, bookBreakLV))
-            
+        #else:
+        #    heroID = value2
+        #    syncHeroIDList = [heroID]
+        #    bookStarLV = msgList[2] if len(msgList) > 2 else 0
+        #    bookBreakLV = msgList[3] if len(msgList) > 3 else 0
+        #    if (bookStarLV or bookStarLV) and not PlayerHero.GetHeroBookInitState(curPlayer, heroID):
+        #        PlayerHero.SetHeroBookInitState(curPlayer, heroID, 1)
+        #    PlayerHero.SetHeroBookStarLV(curPlayer, heroID, bookStarLV)
+        #    PlayerHero.SetHeroBookBreakLV(curPlayer, heroID, bookBreakLV)
+        #    GameWorld.DebugAnswer(curPlayer, "设置武将(%s)图鉴星级(%s),突破(%s)" % (heroID, bookStarLV, bookBreakLV))
+        
         PlayerHero.Sync_HeroInfo(curPlayer, syncHeroIDList)
         return
     
@@ -142,19 +142,17 @@
         PlayerHero.InitHeroItem(heroItem.GetItem())
         heroItem.Sync_Item()
         GameWorld.DebugAnswer(curPlayer, "重置武将: itemIndex=%s" % (itemIndex))
-        return
-    
+        
     # 等级
-    if value == "l":
+    elif value == "l":
         heroLV = msgList[2] if len(msgList) > 2 else 1
         LVMax = PlayerHero.GetHeroLVMax(heroItem)
         heroLV = min(LVMax, heroLV)
         heroItem.SetUserAttr(ShareDefine.Def_IudetHeroLV, heroLV)
         GameWorld.DebugAnswer(curPlayer, "设置武将等级: %s,itemIndex=%s" % (heroLV, itemIndex))
-        return
-    
+        
     # 星级
-    if value == "s":
+    elif value == "s":
         addStar = msgList[2] if len(msgList) > 2 else 1
         curStar = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroStar)
         starMax = PlayerHero.GetHeroStarMax(heroItem)
@@ -164,28 +162,26 @@
         updStar = min(curStar + addStar, starMax)
         PlayerHero.DoHeroUpdStar(curPlayer, heroItem, updStar)
         GameWorld.DebugAnswer(curPlayer, "更新武将星级: %s,itemIndex=%s" % (updStar, itemIndex))
-        return
-    
+        
     # 突破
-    if value == "b":
+    elif 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
-    
+        
     # 觉醒
-    if value == "a":
+    elif 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
-    
+        
+    PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate(heroItem) # GM修改
     return
 
 def __oneKeyLineup(curPlayer, msgList):
@@ -369,7 +365,7 @@
             singleItem.SetUserAttr(ShareDefine.Def_IudetHeroSkin, skinIndex)      
             
         heroItem.Sync_Item()
-        PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate([itemIndex])
+        PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate(heroItem) # GM修改阵容
         
     GameWorld.DebugAnswer(curPlayer, "设置阵容武将OK")
     return

--
Gitblit v1.8.0