FFXIV-CombatReborn/RotationSolverReborn中的目标标记功能解析
问题背景
在FFXIV-CombatReborn项目的RotationSolverReborn(RSR)模块中,存在一个关于目标标记功能的特殊行为。该功能原本设计为允许玩家通过标记系统(如停止/忽略标记)来指定某些目标不应被自动战斗系统攻击,但在实际运行中出现了与预期不符的情况。
功能预期与实际行为对比
根据设计初衷,"Never attack targets with stop markers"(不攻击带有停止标记的目标)选项应当实现以下功能:
- 将被标记的目标完全排除在自动攻击的目标池之外
- 无论战斗进行到什么阶段,都不会主动攻击这些目标
- 不会因为AoE或其他间接伤害方式影响这些目标
然而在实际运行中,系统表现出了以下行为特征:
- 系统会暂时避免攻击被标记目标,但当其他目标都被消灭后,仍会攻击这些标记目标
- 作为防护角色时,系统会在战斗开始时短暂攻击标记目标以建立仇恨(这可能是有意设计)
- 虽然AoE类型设置为OFF,但标记目标仍会被直接攻击而非误伤
技术实现分析
从技术实现角度来看,这个问题可能源于目标选择算法的优先级处理。当前的实现似乎采用了"软排除"而非"硬排除"的逻辑:
- 目标选择权重系统中,标记目标的优先级被降低但未被完全移除
- 当没有其他可用目标时,系统回退到攻击标记目标
- 防护角色的初始仇恨建立可能被设计为特殊逻辑,覆盖了标记排除规则
解决方案与修复
开发团队在版本7.0.5.82中修复了这个问题。理想的修复方案应当包括:
- 在目标选择阶段完全排除带有特定标记的目标
- 确保排除逻辑覆盖所有战斗阶段和角色职责
- 为防护角色添加特殊的仇恨建立例外处理(如果需要)
用户建议
对于使用该插件的玩家,建议:
- 确保使用最新版本以获得完整功能
- 明确标记系统的预期行为与实际限制
- 了解不同角色职责(如防护/DPS)可能存在的特殊行为
这个修复体现了自动战斗系统中目标选择逻辑的重要性,也展示了开发者对用户预期行为的重视。正确的目标排除机制对于高端副本策略和特定战斗场景中的目标优先级管理至关重要。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



