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