Bloodthirsty

From NetHackWiki
Jump to navigation Jump to search

Bloodthirsty is a property that appears in NetHack and occurs with weapons - a bloodthirsty weapon attacks peaceful and hostile monsters indiscriminately when moving towards an adjacent monster while wielding that weapon.

Description

Bloodthirstiness is solely associated with the artifact weapon Stormbringer, and is not formally defined with a singular flag in artilist.h - it is instead handled in mhitu.c code that pertains specifically to Stormbringer.

While you wield a bloodthirsty weapon, attempting to move into a monster's space will attack with that weapon regardless of whether or not it is peaceful, tame or hostile. This prevents you from displacing pets and skips the confirmation prompt that normally comes up when you would attack in the direction of a non-hostile monster, automatically angering peaceful monsters and abusing tame ones.[1][2]

Travel using the _ key while wielding a bloodthirsty weapon will also cause you to attack pets instead of automatically swapping places with them, if they get in your way.[3]

The following information pertains to an upcoming version (3.7.0). If this version is now released, please verify that it is still accurate, then update the page to incorporate this information.

Displacement of peaceful monsters is also prevented, including during travel.

Strategy

Unwielding Stormbringer when not in combat is recommended, as its tendency to attack non-hostile targets limits your tactical options.

Messages

Your bloodthirsty blade attacks!
Stormbringer caused you to automatically attack a non-hostile monster.

Variants

Variants of NetHack may add other artifact weapons with bloodthirsty properties and/or alter how it functions.

SLASH'EM

In SLASH'EM, it is possible to two-weapon two artifacts, and wielding Stormbringer in the offhand will cause you to automatically attack monsters as if it were wielded. This also applies to SlashTHEM.

Messages

The black blade will not be thwarted!
Stormbringer caused you to attack a non-hostile monster while in the offhand.

dNetHack

In dNetHack and notdNetHack, there are additional bloodthirsty artifact weapons, and all of them use the flag ARTI_BLOODTHRST in artilist.h:

Furthermore, the bloodthirsty property functions completely differently. Instead of only attacking on careless movement, bloodthirsty weapons in dNetHack lash out at monsters around you passively: Every turn, the weapon will attempt to attack each adjacent monster, with a 14 chance per monster. For peaceful monsters, a second check is made to avoid including it as a target, with this chance scaling inversely with your sanity. The sanity-based chance functions identically to permanent madnesses, so it becomes exponentially more likely with lower sanity and becomes exceedingly rare at high sanity.

Regardless of sanity or number of adjacent monsters, at most one extra bloodthirsty attack will be made per turn. However, because each target is rolled separately, more adjacent monsters will increase the chance of an attack occurring. This makes bloodthirstiness a double-edged sword: it can grant extra attacks versus hostile monsters, but may also forcibly attack peaceful and tame monsters unless you unwield the weapon. Clear thoughts can prevent bloodthirsty attacks against peaceful and tame monsters.

References

  1. src/uhitm.c in NetHack 3.6.7, line 30
  2. src/uhitm.c in NetHack 3.6.7, line 474
  3. src/hack.c in NetHack 3.6.7, line 1566: The code attempts to "attack" displaceable monsters in order to swap places with them, but "It's fine to displace pets" is false when wielding a bloodthirsty weapon, because you would actually attack them instead.