Friendly monster

Friendly monsters are monsters that help the players instead of attacking them. Different implementations exist.

Contents

HexenEdit

Hexen was the first game to introduce friendly monsters in the form of maulotaurs summoned by the Dark Servant artifact. These friendly maulotaurs are "attached" to the player who summoned them, and will not target this player or other maulotaurs summoned by the same player. In deathmatch, they will target other players. A maulotaur's kills are transferred to its master player, if that one is still alive.

Other monsters ignore maulotaurs unless they are hurt by them and retaliate; a maulotaur wandering into sleeping monsters' field of vision will not wake them.

StrifeEdit

Strife allowed to mark monsters as being allied to the player, typically used for Front soldiers. Any monster can be marked as being an ally in the map editor by setting flag bit 7 (128) to true.

Allies start wandering around randomly instead of chasing the player when they are woken up. Allies do not attack or retaliate against other allies. They will, however, try to attack the same target as the player.

Behavior is different on MAP03: Front Base and MAP34: Movement Base. While allies still follow all other rules mentioned above on these maps, they do not consider the player to be an ally and will attack if the alarm is set off.

MBFEdit

MBF introduced helper dogs, and the friendly monster behavior implemented in this port aimed at giving them a behavior as close as permitted by the limited AI to the behavior of real trained combat dogs. However, any monster can be marked as being friendly in the map editor by setting flag bit 7 (128) to true.

Friendly monsters have a 50% chance to retaliate when their pain state is triggered through friendly fire, but if they do retaliate, they only do it once before moving back to an actual enemy. They try to maintain some distance between each other to prevent situations of friendly fire, but will accept being crowded closer if the game determines they are on a lift along with the player. They try to prioritize their targets to attack enemies that are not already in combat with another friendly monster which has at least half its hit points remaining.

If a friendly monster has less than half its hit points remaining, other friendly monsters can come to its assistance, ignoring their own attackers.

If they cannot find targets to attack, they will follow the player.

Friendly dogs will optionally jump down high dropoffs to chase their targets.

The friendliness status is inherited by monsters created by a friendly monster (e.g., lost souls created by a pain elemental, monsters resurrected by an arch-vile, and monsters spawned by the final boss).

MBF, ZDoom, PrBoom, SMMU, Eternity and Vavoom all use MBF's friendly monsters. EDGE keeps friendly monsters inactive, until provoked, causing the friendly monster to attack whoever provoked them.

UDMFEdit

The Universal Doom Map Format allows to feature on the same map both Strife allies and MBF friends; provided the namespace allows both flags and the port implements both logic. Strife logic is triggered by the thing flag strifeally; MBF logic is triggered by the thing flag friend.