触发器用于确定如何从怪物技能配置部分中触发技能。 触发器不能在 组合技能 中使用,也不应该包含在它们中。触发器只能用于激活 组合技能 本身。
所有可用触发器的表:
触发器 | 触发机制 |
onCombat | 默认触发 |
onAttack | 当生物攻击到东西时 |
onDamaged | 当生物受到伤害时 |
onSpawn | 当生物刷出时 |
onDespawn | 当生物自然消失时 |
onFirstSpawn | 第一次从刷怪点生成生物时触发 |
onDeath | 当生物死亡 |
onTimer:# | 每 # 个刻度(其中 # 是刻度的间隔) |
onInteract | 当生物被右键单击时 |
onKillPlayer | 当生物杀死玩家时 |
onPlayerDeath | 当玩家死亡时 |
onEnterCombat | 当生物进入战斗时(需要开启仇恨表) |
onDropCombat | 当生物离开战斗时(需要开启仇恨表) |
onChangeTarget | 当生物改变目标时(需要开启仇恨表) |
onExplode | 当生物爆炸时(通常只用于苦力怕) |
onTeleport | 当生物传送时(通常只用于末影人) |
onSignal | 当生物到信号时 |
onSignal:[signal] | 当生物收到特定信号时 |
onShoot | 当生物射击时 |
所有可用的MythicCrucible触发器表:
付费版可用机制,不搬运详见原wiki
触发器在 mob 配置的技能部分定义,并且必须在它们前面使用 tilda (~)。在计时器的情况下,还需要以刻为单位的时间。
骷髅火法师: Type: WITHER_SKELETON Display: '&6骷髅火法师' Health: 50 Damage: 0.5 Skills: - ignite{ticks=100} @target ~onAttack - skill{s=FireShield} @trigger ~onDamaged 0.1 - skill{s=AOEFire} ~onTimer:300
在这个例子中,生物在近战攻击时也会点燃目标,在受到伤害时使用“FireShield”技能,每 300 刻使用一次“AOEFire”技能。
技能触发器在确定技能应该何时触发方面提供了更大的灵活性。这是强烈建议您使用触发高级触发,而不是旧的,传统的方法,触发所有的技能。 如果一个技能没有触发器,它将默认为“~onCombat”触发器(如下所示),当这四个基本事件发生时,它将执行:
骷髅火法师: Mobtype: skeleton Display: '&9A 骷髅火法师' Health: 100 Damage: 2 Drops: - DropTable Skills: - skill{s=Bash} =10%-90%
在这种情况下,当生物在 10% 到 90% 之间时造成或受到伤害时会触发 Bash 技能。
您可能已经注意到在上面的示例中有一个 @trigger 目标器,并在目标器部分中列出。@trigger 将针对触发技能的“原因”,即如果玩家伤害了一个生物并且该生物使用了 onDamage 触发的技能,它将以该玩家为目标。如果一个信号被发送给一个生物,它会以发送信号的生物为目标,依此类推。
~onSpawn
~onDeath
~onAttack
~onDamaged
~onExplode
~onTeleport
~onTimer:<刻>
~onPlayerKill
~onEnterCombat
~onChangeTarget
~onInteract
~onSignal或~onSignal:[信号]
~onShoot