Alchemy

From NetHackWiki
(Redirected from Random alchemy)
Jump to navigation Jump to search
By combining different potions appropriately, common potions of speed, healing and extra healing can be converted to the much more useful full healing and gain ability.

In NetHack, alchemy is the process of dipping one potion into another potion to mix the two into a new uncursed, diluted potion. For those who are not spoiled, alchemy is difficult to learn - there is no in-game indication of which potions are meant to be compatible with each other. While mixing potions at random is generally dangerous and unwise, there are a set of recipes that can be used to produce fairly consistent results.

Despite its name, the alchemy smock has no effect on alchemy.

Description

The mixtype function describes the alchemy recipes and governs which mixtures of potions produce certain results, as well as how often. Any potion made via alchemy will always be diluted, regardless of whether the input potions were; for recipes, the order of the potions involved does not matter.

The following actions do not constitute alchemy:

Alchemic blasts

Performing alchemy has a 110 chance of causing an alchemic blast instead: the potions used are destroyed, and the explosion causes d10 damage, abuses strength and generates vapors from the potion that was being dipped.[1] Dipping a potion of acid or any cursed potion into another potion guarantees an alchemic blast; dipping into a cursed potion only has the normal chance of an alchemic blast, while dipping into a potion of acid performs random alchemy. If the alchemy would mix only a subset of a stack of dipped potions, only that subset is destroyed.

Random alchemy results

Mixing a pair of non-acidic potions that does not have a recipe (all of which are helpfully listed below) will give a random result:

  • Your stack may turn into potions of water. (18 chance, or always if dipping a diluted potion into another potion)
  • Your stack may turn into potions of sickness. (14 chance)
  • Your stack may turn into a random potion type, with the usual probabilities that apply to random potions found in the dungeon. (18 chance)
  • All of your potions may evaporate; the one potion dipped into will also be used up. (12 chance)

Stacking

Dipping one set of stackable potions into another will alchemize multiple potions in the stack being dipped, while consuming only one potion of the one being dipped into:

  • If the resulting potion (or, for random alchemy, any of the two ingredients) is magical, 3–8 of dipped potions will be alchemized (but no more than the size of the stack).[2]
  • If the resulting potion is non-magical, or you are performing random alchemy with non-magic potions, at least 7 potions (up to the entire stack) will be alchemized.
  • Dipping potions into water is not considered alchemy. If you dip a stack of potions into water, all of them will be affected.

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

As of commit e8ca614e, when the stack of potions being dipped is diluted, only 2 potions will be alchemized.

As such, some players tend to wait until they have a stack of at least eight potions to dip before performing alchemy, to get the greatest return out of the dipped-into potion; this includes identifying their beatitude and accounting for any diluted potions. Make sure to examine your potions between each dip, to avoid accidentally turning a diluted potion into water; splitting stacks to avoid accidents is unnecessary due to how dipped stacks of potions are treated (as described above).

There are multiple methods to dilute potions: You can dip them into a fountain, or simply dip them in a moat while flying or wearing water walking boots. If neither are available, you can also drop your iron items, scrolls, spellbooks, and other potions, then walk into water - make sure your encumbrance is less than Stressed and that your Luck is not too high, as this reduces the chances of potions diluting.

An altar will identify the beatitude of your potions. If following the atheist conduct, you can bless the potions with holy water; seeing the glow will identify the beatitude. If nothing happens when you dip into holy water, the potions are already blessed; use unholy water to unbless them instead.

List of recipes

Below is a set of tables with a listed pair of ingredient potions and the result that mixing them produces; multiple recipes can yield the same result. Knowing the identity of the potions you are mixing is necessary regardless of which recipes you are attempting; it is also common to informally identify potions by using the output from these recipes.

Simple recipes

These recipes have the greatest likelihood of succeeding (910, with a 110 chance of explosion):

Ingredients Result
potion of extra healing
potion of full healing
potion of gain ability
potion of see invisible
potion of booze
potion of booze + potion of enlightenment
potion of confusion
potion of hallucination
potion of fruit juice + potion of sickness
potion of sickness
(potion of healing, extra healing, or full healing) +
potion of hallucination, blindness, or confusion
potion of water
(potion of healing, extra healing, or full healing) +
potion of sickness
potion of fruit juice

Potions of extra healing and full healing are useful to have throughout the game, because quaffing them while fully healed is a common way to increase max hit points. Potions of gain ability are a good way to increase attributes early in the game, but are of little use late in the game when most or all your attributes are already at maximum.

The other recipes are usually not as useful to produce via alchemy, though they may have some use cases:

  • It is not usually necessary to manufacture potions of see invisible via alchemy; in addition to using gain level or gain energy potions that better serve the previously-mentioned recipes, potions of see invisible are relatively common, and a single blessed potion will convey the see invisible intrinsic permanently.
  • Potions of sickness can be manufactured without using up other potions that are usually considered more valuable: Fruit juice can be made from amethyst-dipping into booze and cancelling potions of see invisible (typically once you have permanently gained the intrinsic from a blessed potion), and non-lawful players may want a stack of potions for keeping their projectiles poisoned. However, poison resistance on monsters becomes much more common in the late game, although it still has its uses (e.g. against non-resistant nasties such as most of the dragons).
  • Foodless conduct players in particular can gain a lot from alchemizing diluted fruit juice into booze; both potions give the same nutrition when not diluted (dependent on their beatitude), but a diluted potion of fruit juice only gives half that nutrition.

Difficult recipes

These recipes do not always produce the same result:

Ingredients Results
potion of enlightenment + potion of levitation

The potion of enlightenment formula is almost never worth attempting because the probability of success is so low. Potions of gain level are much more worthwhile in comparison due to their multitude of uses, including making full healing potions, and the chance of success is higher than with enlightenment.

Multiple-step recipes

It is possible to use the above recipes in tandem with each other, provided you are careful about the use of diluted potions.

One example is making blessed potions of full healing and gain ability from all those healing and extra healing potions you've collected. You will need to re-stack your potions at all intermediate stages: bless stacks so all will have the same identified BUC status, and dilute concentrated potions so they will stack with the newly-alchemized ones. Follow the route:

healing → extra healing → full healing → gain ability

Only the first step can be done using a potion of speed; the rest need gain energy or gain level (see image at the beginning of the page). Leave over enough full healing, and bless all the end results.

History

In NetHack 3.4.3 and earlier versions, including some variants derived from these versions, alchemy always acts on the entire stack.

Starting in NetHack 3.6.0, alchemizing a stack works differently from 3.4.3 and from later versions of vanilla NetHack:

  • If you dip 10 or more potions, 2–9 of them will be alchemized.
  • If you dip 2–9 potions into a non-magical potion, all of them will be alchemized. The following potions are nonmagic: water, oil, acid, fruit juice, booze, and potion of sickness.
  • If you dip 2–9 potions into a magical potion, at least 2 will be alchemized, up to the number of potions dipped.

In versions prior to NetHack 3.6.3, the case for dipping healing potions fell through to the unicorn horn case due to a missing break statement, causing the combination of healing and sickness to alchemize to fruit juice, and the combination of healing and hallucination, blindness, or confusion to alchemize to water.[3][4] This behavior was made explicit and intentional in NetHack 3.6.3 via commit c6b75407.

Gain level recipe

A very complicated recipe is used in 3.4.3 for making lots of potions of gain level:

Stack of water → sickness → fruit juice → booze → confusion → enlightenment → gain level
  • Gather lots of potions, turn them into water, and dip the stack of water (blessed or uncursed) into some potion.
    • This counts as random alchemy; 25% of the time you will get potions of sickness. The other times you may lose one potion of water, or get some other random result. In those cases, just dip again unless you get something good from the random result.
  • Cancel the sickness or dip a unicorn horn to turn it into juice, then dip juice into speed for booze.
  • Dip booze into enlightenment for confusion, and dip that into gain level or gain energy for a 13 chance of enlightenment (the other 23 they become booze, which moves you back a bit.
  • Dip into levitation for a 23 chance of gain level; the other 13 gives a random result, and probably means you have to start the whole thing over again.

In 3.4.3, this recipe uses up an expected 23.67 potions, including all the trackbacks and alchemic explosions; to conserve resources, you can dip the water into otherwise useless potion of acid, and use a unicorn horn or cancellation spell to convert sickness to juice rather than a wand of cancellation; 3.6.1 makes this recipe much less profitable. Firstly, producing sickness through random alchemy incurs a 50% chance per dip of the entire water stack disappearing, which makes it significantly more risky (and costly on average). Secondly, both confusion and enlightenment are magical potions, so making them in decent amounts under the new stacking rules is significantly harder. Assuming a large potion supply (at least 8 for each dip) and accounting both for dipped-in enlightenment and byproduct booze, each potion of enlightenment on average requires 5.1 potions of booze and 1.9 potions of gain level or gain energy to make, which actually makes using gain level counterproductive. In a more realistic scenario of limited potion supply, you have a very real possibility of using up all of your gain energy potions and ending up with fewer enlightenment potions than your initial supply.


Variants

SLASH'EM

In SLASH'EM, dipping into a cursed potion will cause an explosion.

Dipping a potion of water into another potion is the same as dipping that potion into water; thus it is not possible to use potions of water in random alchemy, as it will always dilute the other potion rather than creating a random alchemic result. This can be circumvented by taking the potions of water and dipping them into the castle moat, turning them into potions of amnesia. These potions can then be used for random alchemy, but the vapors caused by an explosion will cause you to forget spells, items and levels, unless you are polymorphed into a form that is eyeless and have breathlessness from any source, including your polymorphed form.

Color alchemy

The Color Alchemy Patch, notably incorporated in UnNetHack 3.5.2, changes the rules of alchemy to be based on artistic color mapping. It makes use of the primary colors red, blue and yellow, the secondary colors orange, green and purple, and the tertiary color brown, as well as black and white. All primary, secondary, and tertiary colors have a light and dark variant:

Color Light Dark
Red pink potion ruby potion
Blue sky blue potion indigo potion
Yellow yellow potion golden potion
Orange orange potion amber potion
Green emerald potion dark green potion
Purple puce potion magenta potion
Brown ochre potion brown potion

Mixing potions together gets the following results:

Ingredients Result
red + yellow orange
red + blue purple
yellow + blue green
any two secondaries brown
any dark potion + white corresponding light potion
any light potion + black corresponding dark portion
black + white gray
any other combination random alchemy result

Mixing two light potions will create the light version of the result, and the same goes with dark. Mixing a light and a dark potion will create either result at random unless one of the original potions is diluted, in which case the result will have the same light/dark level as the undiluted potion.

These potions are considered colorless:

bubbly        icy           smoky
cloudy        luminescent   soapy
dark          milky         sparkling
effervescent  muddy         squishy
gooey         murky         steamy
greasy        silver        swirly
fizzy         slimy         viscous

The patch also changes three potion names: purple-red, brilliant blue, and cyan are replaced with amber, indigo, and viscous.

Because there are 12 more possible potion colors than types of potions in the game, some colors will probably not exist, rendering some formulas unavailable for certain games.

If the desired color is not a color used in the game, both potions will be wasted. For example, if you mix an orange potion with an emerald potion, but brown potions are not used in your game, then you will both potions disappear, leaving you with nothing: "The mixture glows brightly and evaporates."

Finally, a potion of polymorph, regardless of its color, will simply polymorph anything it is mixed with.

Blood potions

Potions of blood and vampire blood, introduced in SLASH'EM and UnNetHack, are also subject to alchemy:

Ingredients Result
potion of fruit juice + potion of blood potion of blood
potion of fruit juice + potion of vampire blood potion of vampire blood

In UnNetHack, these are the only potion-mixing recipes outside of the color alchemy system.

Gem alchemy

In SLASH'EM and dNetHack, dipping a valuable gem into a potion of acid will generate another type of potion. The potion you get is defined by its randomized description, not by its identified description. For example, if you dip a ruby into acid, you will always get a ruby potion whether ruby potions are full healing or hallucination in your game.

There's a chance that dipping will cause an explosion, using up the potion and gem and dealing some damage. If the potion of acid is cursed, it always explodes, like with normal alchemy. You will need one potion of acid per potion produced; stacks of gems will be melted one gem at a time.

Dipped gem Resulting potion appearance
dilithium crystal (always explodes)
opal cloudy potion
ruby ruby potion
garnet pink potion
jasper purple-red potion
jacinth orange potion
agate swirly potion
citrine yellow potion
chrysoberyl golden potion
amber brown potion
topaz murky potion
emerald emerald potion
turquoise sky blue potion
aquamarine cyan potion
jade dark green potion
sapphire brilliant blue potion
amethyst magenta potion
fluorite white potion
black opal black potion
jet dark potion
obsidian effervescent potion
worthless glass (no effect)

There are no gems that produce milky, smoky, muddy, fizzy, luminescent, puce, bubbly, icy, blood-red, or clear potions.

As in vanilla NetHack, dipping an amethyst into a potion of booze turns it into a potion of fruit juice.

References

  1. src/potion.c in NetHack 3.6.0, line 1887
  2. src/potion.c in NetHack 3.6.1, line 1963
  3. src/potion.c in NetHack 3.6.2, line 1766: Note the lack of breaks in the cases down to the unicorn horn case
  4. src/potion.c in NetHack 3.6.3, line 1795: Newly added fall-throughs are marked via comments

This page may need to be updated for the current version of NetHack.

It may contain text specific to NetHack 3.6.1. Information on this page may be out of date.

Editors: After reviewing this page and making necessary edits, please change the {{nethack-361}} tag to the current version's tag or {{noversion}} as appropriate.