
飞升:异常状态
一个可复用的战斗库,用于添加可堆叠的状态效果和群体控制效果
扬升:状态效果
扬升:状态效果主要是一个库和共享战斗框架,供我的其他模组使用。它添加了一系列可复用的状态效果,武器、技能、生物、数据包和其他模组都可以一致地应用这些效果。
你可以单独安装它,但它本身并不会添加大量的武器、法术或成长系统。其大部分内容旨在供其他模组使用,尤其是扬升生态系统中的模组。
扬升本体的安装是可选的。当安装了扬升时,攻击者的奥术属性会提升状态效果的持续时间,并增强流血和灵魂腐朽的效果。即使没有扬升,所有状态效果仍然可以正常工作。
包含的效果
灵魂腐朽 - 使目标受到更多伤害,并获得大幅减少的治疗效果。对玩家而言,它还会在效果持续期间快速消耗饥饿值,并阻止食物和饱和度恢复。最多可以叠加五次。
流血 - 造成持续伤害,随着叠加层数增加,伤害速度和强度都会提升。当叠加到两层或以上时,流血伤害会填充失血计量条。当计量条满时,目标会基于其最大生命值受到一次爆发伤害。亡灵生物以及没有血液的生物(如傀儡)通常无法流血。
骨折 - 通过降低护甲值和护甲韧性来击破目标的防御。最多叠加三层,每层移除2点护甲值和1点护甲韧性。
恐惧 - 强制普通生物逃离造成该效果的人。被恐惧的玩家无法接近来源,并在距离过近时被减速和削弱。强大的生物可能抵抗恐惧,而首领级生物则免疫。
魅惑 - 阻止被魅惑的生物瞄准或攻击魅惑它的角色。被魅惑的目标对其来源更脆弱,对该来源造成的伤害降低,而对其他人造成的伤害提高。
嘲讽 - 强制生物瞄准嘲讽它们的角色,并使受影响的玩家面向嘲讽者。被嘲讽的目标受到额外伤害,并对其嘲讽者造成额外伤害。
过度魅惑 - 对攻击者有益的增益效果。击中另一个生物会对其施加魅惑。如果受害者在被击中前已经被同一攻击者魅惑,则直接的玩家近战攻击会造成额外伤害。
气短 - 降低移动速度和攻击速度,使受影响的生物在移动和战斗中变得更慢。
效果数值、持续时间、叠加限制、奥术加成、免疫、失血行为、PvP冷却时间和武器集成都可以在ascend-ailments-common.toml文件中修改。
在其他模组中使用这些效果
开发人员应通过AilmentApi施加状态效果。这样可以保留效果的来源,执行免疫和PvP检查,处理叠加,并正确应用可选的奥术加成。
import net.fretux.ailments.api.AilmentApi;
// target 和 source 是 LivingEntity 实例
AilmentApi.applyBleed(target, source);
AilmentApi.applySoulRot(target, source);
AilmentApi.applyFracture(target, source);
AilmentApi.applyFear(target, source, 100);
AilmentApi.applyCharm(target, source, 100);
AilmentApi.applyTaunt(target, source, 100, 0);
AilmentApi.applyOvercharm(target, source, 200);
AilmentApi.applyWinded(target, source, 60);
持续时间以游戏刻为单位;Minecraft每秒运行20游戏刻。当状态效果被接受时,这些方法返回true;当被拒绝时返回false——例如,目标免疫或PvP触发仍在冷却中。
统一的API对于技能系统和数据驱动的集成非常有用:
import net.fretux.ailments.api.AilmentApi;
import net.fretux.ailments.api.AilmentApplication;
import net.fretux.ailments.api.AilmentType;
boolean applied = AilmentApi.applyEffect(
target,
source,
AilmentType.FEAR,
100,
0
);
int appliedCount = AilmentApi.applyEffects(
target,
source,
AilmentApplication.stack(AilmentType.BLEED),
AilmentApplication.timed(AilmentType.WINDED, 60)
);
AilmentApplication.stack(...)使用库中配置的叠加行为,并支持流血、灵魂腐朽和骨折。AilmentApplication.timed(...)应用显式的持续时间和效果等级。
该API还提供了以下方法:
- 读取流血、灵魂腐朽和骨折的叠加层数
- 查找带有来源的状态效果的来源
- 检查流血和心智控制免疫
- 读取或清除失血进度
- 获取
AilmentType对应的已注册Minecraft效果 - 从一个实体上移除所有状态效果及其存储的数据
当需要基于来源的行为时,应避免直接使用addEffect应用已注册的效果。恐惧、魅惑、嘲讽、奥术加成、PvP保护和伤害归属都依赖于AilmentApi记录的来源信息。
数据包和物品集成
武器可以通过添加到以下物品标签中,在直接的近战命中时施加状态效果:
ascend_ailments:bleed_on_hit
ascend_ailments:soul_rot_on_hit
ascend_ailments:fracture_on_hit
ascend_ailments:fear_on_hit
ascend_ailments:charm_on_hit
ascend_ailments:taunt_on_hit
ascend_ailments:overcharm_on_hit
ascend_ailments:winded_on_hit
示例:
{
"replace": false,
"values": [
"your_mod:your_weapon"
]
}
可以通过以下方式扩展生物兼容性:
ascend_ailments:bleed_immune
ascend_ailments:mental_control_resistant
ascend_ailments:mental_control_immune
注册名中包含常见太刀类术语的模组武器默认也会自动施加流血效果。此行为及其识别的关键词都是可配置的。
要求
- Minecraft 1.20.1
- Forge 47+
- 扬升为可选安装
- 模组ID:
ascend_ailments
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。