Property

From NetHackWiki
Jump to navigation Jump to search

In NetHack, a property is any of several on-or-off traits of a monster, including the player's character. Properties include the resistances, the effects of rings, the temporary effects of certain potions, negative effects (as confusion, stoning), and others.

A property may be intrinsic or extrinsic: an "intrinsic" is any property that your character has internally, while an "extrinsic" is any property that your character derives from using, carrying or wearing an item. Intrinsic and extrinsic properties are binary - a monster either possesses a property or does not. Enlightenment will reveal many properties of the hero, along with some other traits.

Description

The source code defines most of the properties in prop.h - each property has a representative integer constant. Particularly in objects.c and artilist.h, the integer constants assign the properties granted by using certain items. The integer constants also serve as array indexes into the u.uprops, an array of struct prop that records the source of each of the hero's intrinsics and extrinsics.

While food appraisal and paralysis do not have constants in prop.h, they behave like other intrinsics, thus their inclusion in the lists on this page.

Intrinsic versus extrinsic

You gain an extrinsic property when you wield, wear or put on an item that provides it. The item is typically a ring, amulet, armor or artifact. For example, the amulet of ESP or the helm of telepathy can grant extrinsic telepathy; the extrinsic goes away when you take off the item. Some nice quest artifacts provide an extrinsic when carried; in that case, the extrinsic goes away when you drop or lose the artifact, or place it in a container.

There are more ways to gain an intrinsic.

The gremlin has an attack that may steal one of eleven intrinsics. Also, you can lose an innate property if something drains you below the required level. Eating a disenchanter corpse may also remove one of the same intrinsics that gremlin attacks affect.

List of properties

The following tables provide a brief description of each property that the hero might have, and some notable sources of that property. (The property may have other sources.) The individual articles for each property might provide more details.

The left column also gives the associated constant from prop.h, if any. The right column may refer to a monster flag (like M1_FLY); then you may search monst.c to find a monster with that flag for polymorph.

Intrinsic properties

It is possible to receive any of these properties as intrinsics that never time out. Some are also available as extrinsics, or as temporary intrinsics. This list includes each property that may be intrinsic, even if the only way is to eat the correct ring. (Eating a ring has a chance of failing to convey the property!)

Common name
of property
Description
Notable sources
fire resistance
FIRE_RES
Prevents fire damage, but does not fireproof your inventory.
cold resistance
COLD_RES
Prevents cold damage, but does not protect your potions.
sleep resistance
SLEEP_RES
Prevents sleep. Alternatively, free action works for potions only.
disintegration resistance
DISINT_RES
Prevents instadeath from black dragon breath (or use reflection to block the breath); also the only way to prevent instadeath from wide-angle disintegration beams.
  • Eat a black dragon corpse
  • Polymorph into a resistant monster (MR_DISINT)
shock resistance
SHOCK_RES
Prevents damage from electric attacks, but does not defend rings or wands.
poison resistance
POISON_RES
Prevents poisoning, also prevents the instadeath from poison.
regeneration
REGENERATION
Increases the rate of recovery of your hit points, so that they sooner return to maximum.
searching
SEARCHING
Automatically search squares around you, increasing the chance that you notice hidden doors or traps.
see invisible
SEE_INVIS
Allows you to see invisible monsters (and in SLASH'EM, invisible objects).
invisible
INVIS
Makes you invisible. Monsters may struggle to find you and miss with their attacks.
teleportation/teleportitis
TELEPORT
Every few turns, randomly teleports you around the dungeon level.
teleport control
TELEPORT_CONTROL
When you teleport, allows you to choose your destination tile.
polymorph/polymorphitis
POLYMORPH
Every few turns, randomly polymorphs you into another monster type.
polymorph control
POLYMORPH_CONTROL
When you polymorph, allows you to choose the type of monster to become.
levitation
LEVITATION
You float in the air, and cannot reach the floor! However, you can pass over moats, trap doors and pits (except the pits in Sokoban, due to air currents).
stealth
STEALTH
Allows you to move around quietly, so that your steps do not wake sleeping monsters.
aggravate monster
AGGRAVATE_MONSTER
Increases probability that nearby sleeping monsters notice you and wake.
conflict
CONFLICT
Monsters will attack other nearby monsters (including you), disregarding their tame/peaceful/hostile status.
protection
PROTECTION
Indicates that you either have intrinsic divine protection, or wear an item of protection, for the purpose of the enlightenment message.
protection from shape changers
PROT_FROM_SHAPE_CHANGERS
Forces shapeshifters and chameleons to stay in normal form.
warning
WARNING
Labels unseen, undetected nearby monsters with a danger indicator from 1 to 5.
hunger
HUNGER
Increases the rate that you lose nutrition. This is bad, unless you are trying to make room for your next meal.
telepathy
TELEPAT
Intrinsic telepathy allows you to sense most monsters (except mindless monsters), but only when you are blind.

Extrinsic telepathy also functions in a limited radius when you are not blind.

speed
FAST
Intrinsic speed makes you fast, allowing four moves for every three turns.

Extrinsic speed, and temporary intrinsic speed, make you very fast, allowing five moves every three turns.

food appraisal Before eating something, warns you of any bad effects that might result, and allows you to abort. Lost after activating once.
unbreathing
MAGICAL_BREATHING
Allows you to survive without breathing. You can go underwater. You will not choke on your food.
amphibiousness Allows you to breathe both in the air and underwater. You can go underwater.
  • Polymorph into an amphibious monster, such as any ; (M1_AMPHIBIOUS)
  • Be breathless
jumping
JUMPING
Allows you to land on another tile in one move.
infravision
INFRAVISION
Your eyes sense the heat from warm monsters, making them visible to you, even in unlit places.
  • Play as a dwarf, elf, gnome or orc (these have M3_INFRAVISION)
  • Polymorph into a monster with M3_INFRAVISION

Extrinsic properties

There are no sources that provide any of these properties as an intrinsic (without polymorphing), but they have extrinsic sources:

Common name
of property
Description
Notable sources
acid resistance
ACID_RES
Prevents acid damage (from yellow dragon breath, or from eating acidic corpses), but does not rustproof your armor.
stoning resistance
STONE_RES
Prevents the stoning process. This is one way to fight cockatrices and chickatrices.
sliming resistance Provides immunity to the sliming process; this protects against the slime attack of the green slime.[1]
drain resistance
DRAIN_RES
Protects against loss of experience levels, for example from the drain life attack of monsters. Prevents instadeath from drain below level 1.
adornment
ADORNED
Indicates that you wear a ring of adornment (of any enchantment). This intrinsic allows an enlightenment message to be displayed.
reflection
REFLECTING
Bounces gaze and ray attacks away from you, so that they do not affect you.
life saving
LIFESAVED
When you die, the worn amulet of life saving will resurrect you.
magic resistance
ANTIMAGIC
Prevents damage from certain traps, from magic missile and certain other magic attacks, and rays/fingers of death, among other useful benefits.
phasing
PASSES_WALLS
You can walk through walls. This is useful for taking shortcuts without digging them, and fleeing from certain places. However, this property has no effect in Sokoban.
hallucination resistance
HALLUC_RES
Prevents the effects of hallucination.
fumbling
FUMBLING
Causes you to sometimes trip while walking, accidentally drop items, fall down stairs, and have other such problems.


water walking
WWALKING
You can cross water by walking on its surface (as an alternative to using levitation, magical breathing or swimming). If the boots are fireproof, they may also be used to cross lava.
displacement
DISPLACED
Produces a displaced image of you on a nearby square, such that monsters sometimes attack the image and miss you.


clairvoyance
CLAIRVOYANT
Every few turns, the map of the area around you appears in your mind. This helps explore new areas and discover hidden paths.


energy regeneration
ENERGY_REGENERATION
Your power increases toward maximum at a much faster rate, allowing you to frequently cast spells (if you have enough nutrition).
half spell damage
HALF_SPDAM
half physical damage
HALF_PHDAM
sickness resistance
SICK_RES
Provides complete immunity to sickness--both illness and food poisoning.
free action
FREE_ACTION
Prevents paralysis in most cases. Makes the potion of sleeping harmless, but does not prevent other forms of sleep. Reduces stunning from monster spells to one turn.
swimming
SWIMMING
Enables you to swim across water. This differs from levitation (to float across water) and breathless (to go underwater).
sustain ability
FIXED_ABIL
Prevents changes to your six attributes. Prevents the effects of exercise and abuse.
flying
FLYING
Enables you to fly above the ground. Flight is better than levitation, because you may reach the ground and fly down stairs.
unchanging
UNCHANGING
Holds you to your current form. Use this to prevent unwanted polymorph, or to remain forever in your polymorphed form.
slow digestion
SLOW_DIGESTION
Decreases the rate that you lose nutrition, allowing you to survive longer before starvation. Also prevents purple worms from digesting you.
warned of monster type
WARN_OF_MON, WARN_UNDEAD
Detects all monsters on the dungeon level that match certain monster types.


Intrinsics that always time out

You may receive any of these properties in this table as a temporary intrinsic, but not as a permanent intrinsic. After a specific number of turns, you lose the temporary intrinsic. That may be well, because most of these properties have bad effects; you would want them to wear off over time.

Common name
of property
Description
Notable sources
stun
STUNNED
Movement commands may cause you to step in a random direction, and you may hit pets by mistake. Direction of Zapping, spellcasting and firing also has a high chance of being randomized. Prevents teleport control.
confusion
CONFUSION
Among other effects, you will mispronounce any scroll that you read (causing the scroll to have an alternate effect), and you will have trouble with spells and spellbooks.
blindness
BLINDED
Disables your eyes, blocking your sight (unless you wear the Eyes of the Overworld). Intrinsic blindness will heal eventually, or you may use a cure such as a carrot.

The only cure for extrinsic blindness is to remove whatever is blocking your eyes. Cream pie will eventually fall off and can also by removed by the #wipe command.

  • Wear a blindfold or a towel.
  • Polymorph into a monster without eyes (M1_NOEYES).
restful sleep
SLEEPING
You keep falling asleep.
paralysis You become immobile and miss a number of turns.
wounded legs
WOUNDED_LEGS

Among other effects, you can carry less weight, and you cannot jump or kick.

  • Jump out of a bear trap.
  • Kick wall, object, or nothing (sometimes).
  • Get hit by a xan's attack.
hallucination
HALLUC
Gives a random appearance to any monster or object on the map, so that you do not know who or what you see. In SLASH'EM, hallucination also distorts the view of objects on the same square as you, including your inventory.
slippery fingers
GLIB
Causes wielded objects to drop from your grasp.
  • Eat greasy food from a tin.
  • Applying a cursed can of grease or choosing "-" as a target for a non-cursed one.
invulnerability
INVULNERABLE
Blocks all damage and prevents most causes of death.
monster detection
DETECT_MONSTERS
Detect all monsters on the dungeon level. This property is only available as a temporary intrinsic.

Intrinsics that cause harm on time out

These temporary intrinsics do not only time out and go away, they also cause do something (typically to cause instadeath) when they time out. When you have one of these properties, you only have some number of turns to remove the property and avoid its time-out effect.

Common name
of property
Description
Notable sources
sickness
SICK
A fatal illness; you must cure this or it becomes an instadeath.
stoning
STONED
Gradual stiffening will turn you into a statue (causing instadeath).
nausea/vomiting
VOMITING
Can cause stun and confusion; when nausea times out, you spew part of your food and lose some nutrition.[3]
strangulation
STRANGLED
Your amulet will strangle you to instadeath in five turns, unless you can somehow remove it before then.


slime
SLIMED
Green slime will overtake your body and kill you, unless you can somehow remove the slime or gain sliming resistance before that happens.

Commentary

The adjective intrinsic refers to something that is internal, inherit, within the body. We also use the term as a noun. The antonym of intrinsic is extrinsic.

Oddly, sometimes we also use the term "intrinsic" to refer to any property, whether that property is intrinsic or extrinsic. For example, we might refer to an "intrinsic" from a ring, though the ring is external to the character. This leads to oxymoronic phrases such as "extrinsic intrinsic".

The usage of "intrinsic" to mean "extrinsic" occurs in other pages on this wiki, and even within the source code of NetHack. For example, the comment at the top of wield.c refers to wielded weapons conveying intrinsics, though they would actually convey extrinsics. The set_artifact_intrinsic function in artifact.c is another example of this usage. The mintrinsics field of struct monst stores information about both intrinsic and extrinsic resistances of the monsters.[4]

The struct prop that tracks properties has only separated "intrinsic" and "extrinsic" since NetHack 3.3.0.[5]

One can justify the use of "intrinsic" to mean "extrinsic". For example, an amulet versus poison may be extrinsic to your body, but when you wear it, the effect spreads inside your body and becomes intrinsic. When you eat that kobold shaman corpse, or land on poison in a spiked pit, then the poison enters your body but has no effect. There must be some intrinsic defense in your body that stops the poison, though the ring remains outside on your finger. This explanation would not work so well for an amulet of reflection.

If you quaff a potion that provides a property, it is an intrinsic or extrinsic property? One argument states that the contents of the potion enters your body, so the property must be intrinsic. (A look at struct prop supports that argument.) The other argument states any property from an item, including a potion, is an extrinsic. The potion of blindness seems to grant intrinsic blindness (not extrinsic blindness, which you could #wipe away), but the potion of speed seems to grant extrinsic speed, equivalent with speed boots.

If you acquire a property through polymorph, it is an intrinsic or extrinsic property? One argument notes that the property is intrinsic to your current form; the other argument provides that your current form is extrinsic to your true form.

References