猪人守卫 Guard Pig
“他看起来不那么友善。”—— 威尔逊检查它时说
猪人守卫是守护猪人聚居点与猪王的敌对生物,拥有 600 点生命值和 33 点攻击力。它不会像普通猪人一样因喂食肉类而跟随玩家,而是优先防守猪王、自己的家或附近的火炬。
概述
猪人守卫由 pigguard prefab 定义,使用猪人模型的守卫变体。世界生成代码将猪人守卫布局放入 PigGuardpost、PigGuardpostB 和 PigGuardpostEasy 房间,这些房间分别使用 PigGuards、PigGuardsB 和 PigGuardsEasy 静态布局;因此它通常出现在专门的猪人守卫岗哨中。
它带有 pig、guard 和 hostile 标签。与普通猪人不同,守卫不会睡觉,并且始终使用唤醒判定。
属性
| 属性 | 数值 |
|---|---|
| 生命值 | 600 |
| 攻击力 | 33 |
| 攻击间隔 | 1.5 秒 |
| 移动速度 | 行走 3 / 奔跑 5 |
| 防守范围 | 20 |
| 索敌范围 | 8 |
| 理智光环 | 无(普通猪人守卫的光环函数返回 0) |
行为
防守目标
猪人守卫会定期重新评估目标,优先寻找附近带有 king 标签的猪王;如果没有猪王,则在自己的家附近防守家;两者都不满足时以自身为防守中心。它会在防守范围内寻找入侵者,并排除正在与自己或防守目标进行交易的单位。
索敌与追击
守卫可以攻击带有 character 标签的入侵者,也会寻找怪物以及与其敌对的鱼人;同族守卫不会互相作为目标。夜间如果守卫的家正在燃烧,它还会攻击火炬光照范围内、且不是正在交易对象的玩家。目标一旦离开守卫的防守范围,守卫会放弃追击。
战斗行为由专用的 pigguardbrain 控制:攻击冷却期间会暂时躲避目标,未战斗时回到家附近巡逻;还会寻找背包中的食物,并在所属猪人建筑的燃料不足时补充火炬燃料。
交互
猪人守卫保留猪人的交易与进食组件,可以接受头部装备和食物,但喂食肉类不会使它成为玩家的跟随者:代码明确排除了带有 guard 标签的猪人。它具有杂食和强胃能力,可以食用包括怪物肉在内的可食物品;吃下蔬菜时会生成粪肥。
守卫也可能携带金腰带,并能装备玩家给予的帽子;这些交互来自猪人共用的 pigman.lua 逻辑。
掉落
击杀猪人守卫后,从肉和猪皮中按权重随机抽取一件:肉的权重为 3,猪皮的权重为 1。守卫的掉落配置位于 SetGuardPig,不要套用普通猪人的其他掉落逻辑。
应对
- 不要在猪王或猪人岗哨附近直接攻击守卫:它会以防守目标为中心索敌,并在范围内持续追击。
- 守卫的攻击间隔为 1.5 秒,战斗中可以利用其攻击冷却进行走位;它在冷却期间的行为树会主动执行短距离躲避。
- 若守卫正在追击,尽量把目标带离其家和防守范围;
GuardKeepTargetFn同时要求目标与守卫都仍靠近守卫的家。 - 夜间不要点燃守卫家附近的火炬后停留在光照范围内,否则守卫会把玩家视为偷取光源的入侵者。
与普通猪人的区别
猪人守卫与猪人共用 pigman.lua 的基础组件,但在 SetGuardPig 中覆盖了关键属性和行为:生命值为 600,攻击间隔为 1.5 秒,使用守卫专用索敌与保持目标函数,并移除跟随者。普通猪人的肉类交友逻辑不会对守卫生效。
动画




猪人
gargoyle_werepigdeath