CUJO

🇮🇪



CUJO is a modification for Quake made by Jonathan E. Wright on October 23, 1996. This modification allows the player to summon a Rottweiler that will fight alongside them. The code is based off of DM Bot. It is also inspired by the dog of the same name from Cujo; Cujo has a skin to make it appear more like a St. Bernard.

The Cujo bot seems to be relatively famous in the modding community, a number of compilation mods add Cujo as a feature.

By using impulse 100, the player can summon Cujo, which will generally appear to the right of the player if possible. In Single Player, this results in the message "Cujo is here." being displayed. Pressing impulse 100 again will cause Cujo to be removed from the level with the message "Cujo went back to his doghouse.". In Deathmatch, the mechanics are a bit different, and said impulse can only be used to summon Cujo. This means that another Cujo cannot be spawned until the first is killed. Note that, once acquired, impulse 100 will work even after the player has died if they have yet to spawn a Cujo.

The Cujo bot in Deathmatch can only be spawned after a Yellow Armor is taken; it provides a single-use activation of impulse 100. This was considered the best alternative to fully replacing another Powerup or having to create new maps for a custom entity. Only one Cujo summon can be held at any time, they do not stack. Note that the documentation is incorrect, it behaves identical to normal Yellow Armor pickup rules, which means a player cannot get a Cujo bot if they have Red Armor. There is no cost for Cujo in Single Player, it can freely be summoned or removed from the level.

Cujo has more health than a normal Rottweiler. It has 100 in Deathmatch and 200 in all other Game Modes. In addition, Cujo also comes equipped with a set of Armor. The Single Player Cujo has a Red Armor, whilst the one in Deathmatch only has a Yellow Armor. Cujo does twice the damage of a normal Rottweiler.

Upon spawning into the level, Cujo will follow the player around. It is not solid to the player that summoned it, meaning it can be freely walked through, and can only be hit by the player if they use projectile weaponry. Cujo will automatically attack any opponent to the player, such as any Monster or opposing player, whilst not causing triggers to be hit or other Monsters to become alert if they are unable to see Cujo. If a Monster sees Cujo, it will attempt to attack the player unless it is injured by Cujo. Cujo can travel through a Teleporter.

Note that Cujo behaves like a normal Rottweiler. This means that it will be unable to reach its target, even if said target could be reached with a jump, if said target is on a different level. Also note that Cujo will continually focus on a single opponent, even if said opponent is unable to be reached. Much like a normal Rottweiler, Cujo can also easily be stunned, meaning it is advisable to attack the opponent Cujo is attacking. This companion therefore works better as a diversion against larger opponents. Cujo will entirely ignore Zombies since it cannot kill them. Cujo will say various messages as it moves around, such as when it is heading to attack an opponent.

If Cujo's health gets below 95%, it shall attempt to heal by eating any Gibs it can find. All Gibs provide 5% health to Cujo. While the documentation states that Cujo will change priority based on its level of health, this does not occur in-game, as Cujo will continually attempt to attack an opponent even at low health values. According to the author, this was one of the hardest portions to implement, due to Quake tending to be unpredictable in regards to objects touching one another. Note that, once lost, Cujo cannot restore its Armor.

The player can stop Cujo from moving around with impulse 102, whereby it shall stand stationary. If an opponent is sighted, Cujo shall attack, and then revert to its default behavior.

Impulse 103 can be used to see through Cujo's eyes. The player shall still control their own actions, which means it can be harder to aim or move around. Cujo shall behave as specified, meaning Cujo shall continue to follow around the player by default. Since Monster AI turns in 30 degree increments, it is a far less smooth experience in comparison to the player, even after being tweaked to 20 degree increments.

If Cujo exists on the level, it can be brought to the player's location at any time by using impulse 104. Cujo will also automatically teleport to the player if there is a bit of distance between the entities.

Impulse 105 can be used to turn a collar lamp on and off. This is primarily used to see in dark places.

Impulse 106 can be used to provide a report of Cujo's status. This can only be done if Cujo is visible to the player. Included in Cujo's status are the health and armor percentage values of the dog.

Impulse 107 toggles between an attack and non-attack modes. This tends to be useful when the player needs to stop Cujo from trying to attack an opponent or eat Gibs it cannot reach. This can also be useful to prevent hitting Cujo with a Rocket Launcher. Note that Cujo will continually make noise if it is not allowed to attack but can see an opponent.

Death Messages

 * You buried your dog. - Player killed their own Cujo.
 * You just turned Cujo into puppy chow. - Player Gibbed their own Cujo.
 * Cujo went to dog heaven. - Cujo was killed.
 * Cujo is kibbles and bits. - Cujo was Gibbed.

1.2A - October 31, 1996

 * Added impulse 103. While it was planned in the previous release, it was not functional.
 * Cujo now turns at a smoother rate than a normal Rottweiler, which was needed for a smoother camera for impulse 103.

1.2 - October 23, 1996

 * Official release.