Skip to content

驱散系统

特殊效果具有两种特性:驱散性被驱散性

  • 驱散性:该特效能驱散其他特效的能力
  • 被驱散性:该特效能被哪种类型的驱散特效消除

关键前提

所有的驱散都只对角色状态栏非永久性的特效起作用——装备和永久性被动提供的特效无法被驱散

驱散性类型 (DispelType)

枚举值中文名能力
None无驱散默认,不能驱散其他特效
Weak弱驱散消除可弱驱散的特效
DurativeWeak持续性弱驱散持续对弱驱散目标生效
TemporaryWeak临时弱驱散暂时使弱驱散可驱的特效无效化
Strong强驱散消除需强驱散和可弱驱散的特效
DurativeStrong持续性强驱散持续对强驱散目标生效
TemporaryStrong临时强驱散暂时使所有可驱散特效无效化
Special特殊驱散只对特定特效有效

驱散行为详述

强驱散(较强级别的驱散类型):

  • 自身或友方施加强驱散:可以将所有技能施加的强控制效果和软控制效果消除;在角色状态不处于吟唱态时,直接将角色恢复为常态
  • 敌方施加强驱散:可以将所有需强驱散可弱驱散的增益状态消除,不会消除其身上的负面状态

弱驱散(较弱级别的驱散类型):

  • 自身或友方施加弱驱散:可以将除了完全行动不能、行动受限、战斗不能之外的强控制效果和所有软控制效果消除;在角色状态处于技能受限和攻击受限时,将角色恢复为常态
  • 敌方施加弱驱散:可以将所有可弱驱散的增益状态消除,不会消除其身上的负面状态

临时驱散

在下一次时间流逝前,使能够被驱散的特效暂时无效化。根据驱散强度,使能被驱散的增益状态(敌方)或者控制效果和负面状态(友方)暂时无效化。临时驱散不会将特效从角色的状态栏中移除。

持续性临时驱散(简称持续性驱散):

在一段时间内,使能够被驱散的特效无效化,在驱散的持续时间结束时恢复所有被驱散但持续时间尚未结束的特效。根据驱散强度,存在持续性强临时驱散持续性弱临时驱散两种。

特殊驱散

特殊驱散不能消除需强驱散、也不能消除可弱驱散的特效,它只对个别特效管用,具体需要看该特效的说明。

无驱散

一般情况下特效没有驱散能力,没有标注驱散性的特效都是这个类型。而标注了驱散性的特效都将被称为驱散特效

被驱散性预设 (DispelledType)

SkillSet.GetDispelledTypeByEffectType() 自动判定:

特效类型被驱散性说明
None, Item, Knockback, Unselectable, DoomCannotBeDispelled不可驱散
Stun, Freeze, Silence, Root, Fear, Sleep, Knockdown, Taunt, Invulnerable, Charm, Disarm, Confusion, Petrify, SilenceMagic, BanishStrong需强驱散
所有其他类型Weak可弱驱散

被驱散性详述

被驱散性说明
可弱驱散默认类型。一般情况下,没有标注被驱散性的特效都能被弱驱散所消除(上述装备和永久性特效除外)
需强驱散需要更高级别类型的驱散。通常,具有强控制效果的特效会标注需强驱散,表示其需要此类型的驱散特效才能消除
需特殊驱散需要特殊驱散类型的特效才能消除,具体需要看特效的说明
不可驱散该效果无法被任何类型的驱散所消除

预释放爆发技与驱散

预释放爆发技 状态自带持续性不可驱散——它并不会驱散任何强控制效果,但也不会被控制态覆盖,它的优先级永远保持最高,会一直持续直到角色完成爆发技的释放。

因此释放控制技能时,需要留意一下目标的能量条和预测目标的下一步动作,避免无效的攻击。

驱散逻辑

Effect.cs 中的驱散实现:

强驱散 → 能消除 DispelledType.Weak + DispelledType.Strong
弱驱散 → 只能消除 DispelledType.Weak(且有限制:部分强控制无法被弱驱散消除)
特殊驱散 → 能消除 DispelledType.Special(由具体特效决定)

驱散目标策略

  • 对敌方施加强驱散 → 移除所有 BUFF(IsDebuff = false 且可驱散的)
  • 对友方施加强驱散 → 移除所有 DEBUFF + 控制状态(IsDebuff = true 且可驱散的),非吟唱态时恢复常态
  • 对敌方施加弱驱散 → 移除可弱驱散的 BUFF
  • 对友方施加弱驱散 → 移除除完全行动不能/行动受限/战斗不能外的控制效果 + 所有软控制

基于 LGPL-3.0 许可证发布