From 697e46856089c0a05d6a4c5fbee3778f8eb942fa Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 26 九月 2025 16:17:47 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(孙尚香技能;技能增加buff驱散限制字段;增加目标细分6 - 灼烧/玄火优先;增加效果5008 - 转化目标身上类型buff;优化效果5004 5006 5007;)

---
 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