免疫 & 豁免
免疫概述
免疫是一种增益状态,它可以使任意即将到来的控制效果、负面状态和伤害无效化,或者干脆使角色无法被这些技能选中,具体需要看特效的说明。
- 提供免疫状态的特效通常不驱散任何特效,没有驱散能力
- 免疫特效本身是能够被驱散的,具体需要看它的被驱散性
- 某些技能可以无视免疫,关于这部分请看下文 检定修正
ImmuneType 免疫类型(位标志枚举)
csharp
[Flags]
public enum ImmuneType
{
None = 0,
Physical = 1 << 0, // 物理免疫
Magical = 1 << 1, // 魔法免疫
Skilled = 1 << 2, // 技能免疫
All = 1 << 3, // 完全免疫(物理 + 技能)
Special = 1 << 4 // 特殊免疫
}因为是位标志,可以组合:
csharp
ImmuneType immunity = ImmuneType.Physical | ImmuneType.Magical;免疫行为详述
| 免疫类型 | 行为 | 被驱散性 |
|---|---|---|
| 物理免疫 | 使所有即将到来的物理伤害无效化 | 可弱驱散 |
| 魔法免疫 | 使所有即将到来的魔法伤害无效化,并且使角色无法被魔法技能选中(自释放魔法技能除外) | 可弱驱散 |
| 技能免疫 | 使所有即将到来的、来自技能(无论是物理还是魔法)的伤害无效化,并且使角色无法被任何类型的技能(战技、魔法、爆发技)选中(自释放技能除外) | 可弱驱散 |
| 完全免疫 | 使所有即将到来的物理伤害和魔法伤害无效化,并且使角色无法被普通攻击和任何类型的技能选中(自释放技能除外) | 需强驱散 |
自释放技能
自释放技能 是指角色对自身释放的技能。
免疫优先级
免疫 > 豁免 > 免控护盾当角色同时具有免疫、豁免和免控护盾时,免疫优先生效。
豁免系统
检定(Check)
检定 是一种底层机制:某些效果具有生效条件,必须经过随机数投掷并且结果数值符合要求后才能生效,例如 闪避检定、暴击检定。
豁免(Exemption)
豁免 针对负面效果:
- 如果一个负面状态可以被豁免,那么被施加该状态的角色便能在应用该状态前进行豁免检定,豁免通过便将其无效化
- 如果一个负面状态可以被豁免,并且还能豁免持续时间,那么已经被施加该状态的角色可以在自己的回合开始阶段进行豁免检定,豁免通过会使该状态减少 5% 至 20% 的总持续时间;如果是回合型的负面状态,直接减少 1 个持续回合(减少至 0 回合时移除)
豁免 vs 免疫
| 免疫 | 豁免 | |
|---|---|---|
| 作用时机 | 让技能(或普通攻击等)无法选中 | 在负面状态施加、应用时和应用后进行无效化和削弱 |
| 结果 | 根本走不到施加、应用的那一步 | 已经施加的状态也可能被削弱 |
豁免率
通常,豁免检定基于角色的核心属性——即力量、敏捷、智力,每 10 点核心属性获得 1% 豁免率。
不同的负面状态需求不同:
| 豁免属性 | 类型 | 可豁免的负面状态 |
|---|---|---|
| 力量 (STR) | 身体控制类 | 眩晕、冻结、击倒、嘲讽、定身、缴械、石化、重伤 |
| 敏捷 (AGI) | 反应控制类 | 睡眠、恐惧、减速、致盲、致残、燃烧、流血、迟滞 |
| 智力 (INT) | 心智控制类 | 沉默、法术沉默、魅惑、混乱、放逐、打断施法、诅咒、疲劳、魔力燃烧、易伤 |
具体要看技能是否有标注"可被豁免"与它的豁免属性要求,没有标注豁免性的技能默认不可豁免。
豁免类型
| 豁免类型 | 说明 |
|---|---|
| 无豁免 | 默认。控制效果施加后,通过驱散解除 |
| 软豁免 | 施加时豁免检定,成功则不受此控制影响。默认几率 0% |
| 强豁免 | 豁免成功时,除不受影响外,还反弹给施法者 |
每 1 点核心属性提升豁免率:
- 力量豁免率:每点 +0.1%
- 敏捷豁免率:每点 +0.1%
- 智力豁免率:每点 +0.1%
检定修正
检定修正 是修改检定结果、绕过检定的机制,常见修改方式有:
- 为投掷的随机数添加修正值
- 无视闪避
- 必定暴击
无视免疫 也是检定修正机制中的一部分,它会暂时让目标的免疫状态无效化。