Choke

基本信息

属性 值
类名 atomicstryker.infernalmobs.common.modifiers.MM_Choke
注册名 InfernalMobs:Choke
显示前缀 Sith Lord / Dark Lord / Darth
显示后缀 of Breathlessness / the Anaerobic / of Deprivation
触发机制 onUpdate (可见目标) + onHurt + onDeath
窒息伤害 2.0(DamageSource.drown)
窒息间隔 每 tick 一次

功能

Choke(星战"原力锁喉"梗)词缀会让怪物对视线内的目标持续抽空气:

  1. 怪物每次 tick 扣 1 点目标的 getAir() 值(标准 Minecraft 潜水计)
  2. 当 air 跌至 -19 以下时,触发 2.0 点 DamageSource.drown 伤害(实际伤害每 20 tick 才施加一次,符合原版溺水节奏)
  3. 攻击该怪物时,目标 air 值 +60(“被打断”,恢复节奏)

跨维度同步

  • 通过 AirPacket 把目标 air 值广播给服务端/客户端,避免作弊
  • 玩家 UUID + 当前时间戳写入 modifiedPlayerTimes,Choke 死亡时调用 resetModifiedVictim 还原

触发方式

触发 行为
目标变化 重置 air 计数为 -999(即"无锁定")
视线追踪 持续扣 air,air < -19 时每 20 tick 一次溺水伤害
怪物被目标攻击 目标 air +60(中断)
怪物死亡 调用 resetModifiedVictim,还原玩家 air

数值

数值 默认值 配置项
溺水伤害 2.0 源码常量
air 衰减速率 1 / tick 源码固定
受击恢复 +60 air 源码常量

相关条目

  • Ninja - 类似瞬移反击词缀