From 6431718d4fabf83de74f7abe40f671590dbf91c0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 26 十二月 2025 09:08:44 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端(马车炸弹不出裂纹;马车炸开后通知马车空白;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
index 5c14dcf..df14000 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
@@ -385,6 +385,12 @@
     heroID = heroItem.GetItemTypeID()
     curAddPer = getHeroCardAddPer(heroItem)
     effAddPer, effItemIndex, inMain = olPlayer.GetHeroEffectiveCard(heroID)
+    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptHero)
+    hisEffItem = curPack.GetAt(effItemIndex) if curPack.GetCount() > effItemIndex else None
+    if not hisEffItem or hisEffItem.IsEmpty():
+        GameWorld.DebugLog("历史生效的物品不在了,强制设置空! effAddPer=%s,effItemIndex=%s,inMain=%s" % (effAddPer, effItemIndex, inMain))
+        effAddPer, effItemIndex, inMain = -1, -1, False
+        
     if itemIndex == effItemIndex:
         if curAddPer == effAddPer:
             GameWorld.DebugLog("生效的卡牌不变且加成也不变,不用处理! heroID=%s,itemIndex=%s,inMain=%s,effAddPer=%s,curAddPer=%s" % (heroID, itemIndex, inMain, effAddPer, curAddPer))
@@ -464,8 +470,10 @@
         if inMain:
             updEffectiveCardDict[heroID] = [cardAddPer, index, inMain]
         else:
-            addPer = updEffectiveCardDict.get(heroID, [-1, -1, False])[0]
-            if cardAddPer > addPer:
+            effInfo = updEffectiveCardDict.get(heroID, [-1, -1, False])
+            if effInfo[2] == True:
+                pass #GameWorld.Log("    已经有在阵容中的生效卡了: index=%s" % effInfo[1])
+            elif cardAddPer > effInfo[0]:
                 updEffectiveCardDict[heroID] = [cardAddPer, index, inMain]
                 
     # 更新生效变更的卡牌

--
Gitblit v1.8.0