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/TurnSkill.py | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py index 74c9966..17d5e40 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py @@ -208,6 +208,7 @@ if tagNum not in lineupNumList: lineupNumList.append(tagNum) + batLineup = None aimObjList = [] # 先筛选出范围目标 for num in lineupNumList: batLineup = batFaction.getBatlineup(num) @@ -304,6 +305,21 @@ sneerObjFirst = False aimObjList.sort(key=lambda o:(o.IsInControlled())) GameWorld.DebugLog("未被控制优先: %s" % [[o.GetID(), o.IsInControlled()] for o in aimObjList]) + + # 灼烧/玄火目标优先 + elif tagAffect == ChConfig.SkillTagAffect_Burn: + relativeObj = __GetRelativeObjDefault(batObjMgr, curBatObj, posNum, batLineup) + sortObjList = [] # 优先灼烧目标,再对位 + for aimObj in aimObjList: + sortValue = 0 + buffMgr = aimObj.GetBuffManager() + if buffMgr.FindBuffListByState(ChConfig.BatObjState_Burn) or buffMgr.FindBuffListByState(ChConfig.BatObjState_BurnPlus): + sortValue = 2 + elif relativeObj and relativeObj.GetID() == aimObj.GetID(): + sortValue = 1 + sortObjList.append([sortValue, aimObj]) + sortObjList.sort(reverse=True) + aimObjList = [s[1] for s in sortObjList] else: # 范围目标超过个数,则随机取 @@ -408,7 +424,8 @@ def __GetRelativeObjDefault(batObjMgr, curBatObj, posNum, batLineup): ## 获取在某一阵营中的默认对位目标 - + if not batLineup: + return tagAffect = ChConfig.SkillTagAffect_None # 默认对位目标不需要细分目标,默认规则即可 inColNum = ChConfig.GetInColNum(posNum) # 玩家所在纵列 # 优先自己所在纵 -- Gitblit v1.8.0