游戏版本 756039
首页 › 生物 › 幽灵

幽灵 Ghost

灵体敌对理智光环 又名 鬼魂
“我是一名科学家,这种东西冒犯了我。”—— 威尔逊检查它时说

幽灵是从死亡玩家或相关墓地机制中出现的敌对灵体。它会在附近寻找活着的角色并跟随,通过范围攻击持续造成伤害,同时带有负面的理智光环;若没有合适的目标,游荡一段时间后会消散。威尔逊的评价是:“我是一名科学家,这种东西冒犯了我。”

概述

幽灵使用 ghost 代码实体,带有 ghost、hostile、monster、flying 和 noauradamage 标签。普通幽灵的状态图从 appear 开始,出现动画结束后启用范围攻击光环;死亡时进入 dissipate 状态,动画结束后移除实体。

幽灵可以被带有 reviver 标签的物品尝试交互,但代码只将这类交互用于失败时的专属检查文本,并不会接受该物品。

属性

属性 数值
生命值 200
攻击力 15
攻击方式 半径 1.5 的范围攻击,每 1.2 秒检查一次
移动速度 行走与奔跑均为 2
理智光环 -40 /分钟
跟随距离上限 900(代码使用距离平方)

幽灵的攻击伤害由 combat.defaultdamage 设置;对玩家的伤害倍率由 GHOST_DMG_PLAYER_PERCENT 设置。攻击光环由 aura 组件周期执行,并不是普通的单次近战攻击。

行为

索敌与跟随

普通幽灵每次重新寻找跟随目标时,会在自身周围 1.5×0(代码实际使用固定搜索半径 10)范围内寻找带有 character 标签、可见且存活的目标;搜索会排除 INLIMBO 与 noauradamage。代码中的搜索半径为局部常量 10,不能用 TUNING 占位符表示。

通常情况下,找到的活着角色会成为跟随目标。带有 ghostlyfriend 或 abigail 标签的角色不会被普通幽灵主动跟随,除非幽灵已经以其为目标,或该角色正在攻击幽灵。目标离幽灵超过 GHOST_FOLLOW_DSQ 所代表的距离后,幽灵会放弃跟随目标。

范围攻击与理智影响

幽灵的 aura 组件每 1.2 秒执行一次范围攻击。攻击范围为 1.5;默认排除带有 noauradamage、INLIMBO、notarget、noattack、flight、invisible 或 playerghost 标签的单位。幽灵自身的 AuraTest 还会允许双方互为战斗目标的单位,并排除阿比盖尔、幽灵友方和 ghost_ally 单位,除非双方已经建立战斗目标关系。

幽灵带有负面的理智光环,数值为 -40 /分钟。光环攻击到目标时,状态图会将幽灵切换为发红的 angry 表现;没有单位受到光环攻击时则恢复普通外观。

作息与消散

幽灵没有睡眠状态。普通幽灵在没有可跟随目标时会执行游荡行为;行为树同时等待 10 秒,等待结束后切换到 dissipate。因此,若附近没有合适的活着角色,幽灵不会永久停留。

受到攻击时,幽灵会设置攻击者为战斗目标;如果攻击事件没有攻击者,则清除目标。受击会进入短暂的 hit 状态。死亡或主动消散都会移除幽灵;死亡时还会关闭理智光环。

应对

  • 幽灵的攻击是周期性范围攻击,看到它变红并播放攻击音效时,应立即离开 1.5 范围,而不是继续贴身输出。
  • 带有 flight、invisible、playerghost 或 noauradamage 标签的单位不会被通用范围攻击命中;普通玩家不能仅凭走位获得这些标签提供的免疫效果。
  • 幽灵会优先跟随附近活着的角色。若不想让它持续追击,可拉开超过代码设定的跟随距离,或让它找不到合适的目标;没有目标时它会在游荡后消散。
  • 幽灵会降低理智值,处理它时应避免在其范围内停留。

变体

同一文件还定义了墓地守卫幽灵 graveguard_ghost,它使用相同的生命值、攻击力、移动速度、攻击间隔和理智光环,但范围攻击半径改为 2.5。墓地守卫幽灵带有 graveghost 标签,并由温蒂的装饰墓地相关机制生成;它还可以与其他幽灵进行短暂的玩耍互动。

动画

相关条目

大惊吓阿比盖尔

版本记录

  • 首次收录:build 756039;正文编写:build 756039;核对至:build 756039

依据源码:scripts/prefabs/ghost.lua scripts/brains/ghostbrain.lua scripts/brains/graveguard_ghostbrain.lua scripts/stategraphs/SGghost.lua scripts/components/aura.lua scripts/components/sanityaura.lua

涉及实体:ghost(幽灵)