草鳄鱼 Grass Gator
“我觉得他不太喜欢我。”—— 威尔逊检查它时说
概述
草鳄鱼由
大树干(大树干)生成,属于带有 grassgator、animal 和 largecreature 标签的生物。大树干的子生物生成器一次最多维持 1 只草鳄鱼,并使用 30 秒的放出周期与 120 秒的再生周期;是否启用还受 TUNING.GRASSGATOR_ENABLED 控制。
它是两栖生物,可以在陆地和海水中寻路。草鳄鱼不能停留在过深的海水中:检测到当前位置不是浅水时,会进入潜水状态并寻找新的浅水位置。
属性
| 属性 | 数值 |
|---|---|
| 生命值 | 1000 |
| 攻击力 | 50 |
| 移动速度 | 行走 1.5;陆地奔跑 6.5;水中奔跑 3.5 |
| 保持目标距离 | 30 |
| 盐碱舔食次数 | 4 |
草鳄鱼可食用蔬菜类食物;代码将其饮食设置为蔬菜。它可以被点燃和冰冻,火焰伤害倍率使用 TUNING.PLANTMOB_FIRE_DAMAGE_SCALE。
行为
索敌与战斗
草鳄鱼的行为树优先处理恐慌、电击围栏恐慌和追逐攻击;在没有攻击目标时,会对带有 character 标签且没有 notarget 标签的对象执行逃跑行为。逃跑行为的起始距离为 8,停止距离为 14;这些是 grassgatorbrain.lua 中的局部常量。
受到攻击时,它会把攻击者设为目标,并将目标分享给半径 30 内最多 5 只仍存活的草鳄鱼。它会保持追逐目标,直到目标离开 30 的范围。
作息与移动
它使用自定义睡眠判定:默认可以睡觉时,如果附近 5 范围内有玩家则不会睡觉;醒来判定还会在附近 10 范围内有玩家时触发。睡眠、燃烧、冰冻或潜水等状态会影响其行为状态。
草鳄鱼每 2 秒检查所在位置。如果处于海水且不是浅水,会触发潜水迁移,并在自身朝向前方、随机距离约 15~20 的扇形区域寻找可用浅水位置。潜水状态下不会执行普通行为树。
舔盐与抖落
草鳄鱼带有 saltlicker 标签和组件,会使用附近未被点燃、未烧毁且不在 limbo 中的
舔盐块。当盐碱舔食剩余时间不足 16 秒时,行为树会转而围绕目标舔盐块活动;这一判断和寻找目标的通用逻辑位于 braincommon.lua。
草鳄鱼出生后会启动一次抖落计时器,计时为 240 秒加上 0~240 秒的随机时间。计时结束后,如果周围半径 30 内的 twigs 少于 3 个,且草鳄鱼没有死亡、攻击或忙碌状态,就会播放抖落动作并生成 1 个
树枝;随后重新开始计时。
掉落
正常死亡时,草鳄鱼固定掉落以下物品:7 个
叶肉、2 个
采下的草和 2 个
树枝。掉落列表在 grassgator.lua 中按数组逐项加入,并不是随机掉落。
应对
- 草鳄鱼的行为树包含逃跑节点,但追逐攻击节点优先于逃跑;接近时不要把多只草鳄鱼分散拉开,攻击其中一只会把目标分享给附近同类。
- 被追逐时可利用水域地形:草鳄鱼能够跨水移动,但水中奔跑速度低于陆地奔跑速度;过深水域还会迫使它潜水迁移。
- 若目的是收集
树枝,可以等待其抖落,而不是击杀;代码会在附近枝条不足时才允许抖落。 - 草鳄鱼会因附近玩家醒来,白天或接近它时不适合把它当作完全静止的资源点。
相关资源
动画



