Give non-humanoid NPCs menacing powers
"Menacing" is a feature which humanoid NPCs use to warn nearby enemies before they attack. This is good for worldsim immersion but also for the player experience. Unfortunately, there is no "warning" signal for non-humanoid NPCs. The moment a hostile non-humanoid NPC establishes line of sight it will begin pursuing. This is not very realistic and makes for a poor beginner player experience.
One solution to this problem is to allow non-humanoids to use the menacing logic. This is a one line change in common/src/comp/agent.rs
on line 424 (right now non-humanoids don't have an aggro_dist
and will always attack):
aggro_dist: match body {
Body::Humanoid(_) => Some(20.0),
_ => None, // Always aggressive if detected
},
However, menacing alone is only part of the puzzle. The next part would be to add a growl sound to the Utterance system for an angry or warning utterance and have it be emitted when menacing.