From 0b4e44a6764b14b51c4b72b9c47c5a162352850d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 22 十月 2025 11:48:31 +0800
Subject: [PATCH] 16 卡牌服务端(删除 PlayerBattle)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5007.py |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5007.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5007.py
index 8d90e4e..a8aa970 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5007.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5007.py
@@ -4,46 +4,48 @@
 #
 ##@package Skill.PassiveTrigger.PassiveEff_5007
 #
-# @todo:偷取目标身上增益类型buff(技能类型3、5)
+# @todo:偷取目标身上类型buff(删除对方的加到自己身上)
 # @author hxp
 # @date 2025-09-25
 # @version 1.0
 #
-# 详细描述: 偷取目标身上增益类型buff(技能类型3、5)
+# 详细描述: 偷取目标身上类型buff(删除对方的加到自己身上)
 #
 #-------------------------------------------------------------------------------
 #"""Version = 2025-09-25 17:30"""
 #-------------------------------------------------------------------------------
 
 import TurnBuff
-import ChConfig
 import GameWorld
 import random
 
 def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
-    stealCnt = max(1, curEffect.GetEffectValue(0)) # 偷取个数
-    checkInStateList = curEffect.GetEffectValue(1) # 可附加验证处于xx状态 [状态1, 状态2, ...]
+    skillTypeList = curEffect.GetEffectValue(0) # buff技能类型
+    stealCnt = max(1, curEffect.GetEffectValue(1)) # 偷取个数
+    checkInStateList = curEffect.GetEffectValue(2) # 可附加验证处于xx状态 [状态1, 状态2, ...]
     if checkInStateList:
         if not tagObj.CheckInState(checkInStateList):
             GameWorld.DebugLog("目标不在以下状态不能偷: tagID=%s,checkInStateList=%s" % (tagObj.GetID(), checkInStateList))
             return
         
-    plsBuffList = []
+    tagBuffList = []
     buffMgr = tagObj.GetBuffManager()
     for index in range(buffMgr.GetBuffCount()):
         buff = buffMgr.GetBuffByIndex(index)
         skillData = buff.GetSkillData()
-        if skillData.GetSkillType() not in [ChConfig.Def_SkillType_LstPlsBuff, ChConfig.Def_SkillType_PlsBuff]:
+        if skillData.GetSkillType() not in skillTypeList:
             continue
-        plsBuffList.append(buff)
+        if skillData.GetDispersedLimit():
+            continue
+        tagBuffList.append(buff)
         
-    if not plsBuffList:
-        GameWorld.DebugLog("目标没有增益buff: tagID=%s" % (tagObj.GetID()))
+    if not tagBuffList:
+        GameWorld.DebugLog("目标没有可偷的buff: tagID=%s,skillTypeList=%s" % (tagObj.GetID(), skillTypeList))
         return
     
-    random.shuffle(plsBuffList) # 随机
+    random.shuffle(tagBuffList) # 随机
     
-    for tagBuff in plsBuffList:
+    for tagBuff in tagBuffList:
         if stealCnt <= 0:
             break
         skillID = tagBuff.GetSkillID()

--
Gitblit v1.8.0