From 8ab0e3412c93ed16f9ecbd3f8f6c587ae681cde4 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 19 十二月 2025 11:38:53 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(修复满星生效卡被吞噬后无法生效新卡的bug;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py |    6 ++++++
 1 files changed, 6 insertions(+), 0 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..32612d3 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))

--
Gitblit v1.8.0