Scroll of enchant armor
| ? | |
|---|---|
| Name | enchant armor |
| Appearance | random |
| Base price | 80 zm |
| Weight | 5 |
| Ink to write | 8-15 |
| Monster use | Will not be used by monsters. |
A scroll of enchant armor is a type of scroll that appears in NetHack.
Generation
Monks may be given a scroll of enchant armor as the random scroll in their starting inventory.[1] Wizards may be given a scroll of enchant armor as any of the three random scrolls in their starting inventory.[2]
Scrolls of enchant armor make up 63⁄1000 (6.3%) of all randomly-generated scrolls. General stores, second-hand bookstores and rare books shops can sell scrolls of enchant armor.
Writing a scroll of enchant armor with a magic marker takes up 8 to 15 charges.[3]
Description
A hero that reads a scroll of enchant armor causes its magic to target a worn piece of armor at random, with the nature of that magic depending on whether the hero is confused or not:[4] the outermost layer of armor worn on the hero's torso (i.e. their cloak, body armor or shirt) is chosen, with a 1⁄4 chance per slot of swapping targets to worn armor in another slot.[5][6] Assuming the hero is not confused, the scroll then alters that armor's enchantment depending on the scroll's beatitude—reading the scroll while confused causes a different "enchantment" to occur that is detailed in the linked section.
A hero that reads a scroll of enchant armor while they are not confused and have a piece of worn armor targeted for enchantment will auto-identify the scroll, whether the enchanting was positive or negative in nature.[7][8] Monsters will not use this scroll.
Evaporating armor
For a hero that reads a scroll of enchant armor while they are not confused, if that scroll targets any worn armor, a check is first run against a value which is derived from the initial enchantment of that armor to see if that targeted armor evaporates from the scroll's magic:[9] if a worn piece of armor with an enchantment of +4 or greater is targeted by a non-cursed scroll for enchantment, or else a piece of armor with an enchantment of -4 or lower is targeted by a cursed scroll, then there is an effective X - 1X chance of the armor being destroyed by evaporating it (i.e., a 1⁄X chance of the armor surviving possible evaporation) where X is the absolute value of that armor's current enchantment.[10][11] This enchantment threshold is increased to +6 for non-cursed scrolls that target "special" armor, i.e. a cornuthaum being worn by a Wizard hero or any form of elven armor, and is similarly decreased to -6 for cursed scrolls.[12][13]
This means that a worn piece of armor can be "safely enchanted" by a non-cursed scroll with no risk of evaporation if it is either at a maximum of +5 and qualifies as "special armor", or else if it is at a maximum of +3 otherwise, with the signs and thresholds inverted for cursed scrolls "disenchanting" armor.[13][9][11] For example, a +4 orcish helm has a 1⁄4 probability of surviving a non-cursed scroll's effects, while a -4 orcish helm has the same probability of surviving a cursed scroll's effects—conversely, a elven leather helm is not subjected to any evaporation checks from a non-cursed scroll unless it has a minimum enchantment of +6, and such a helm has a 1⁄6 chance of surviving a non-cursed scroll that targets it the same as any other +6 armor does.
Enchanting process
A worn piece of armor that survives the evaporation check from a read a scroll of enchant armor will have a chance of its enchantment increasing if the scroll is not cursed, or decreasing if the scroll is cursed. While the evaporation process is also applied to worn dragon scales that are targeted by the scroll, dragon scales that are not evaporated this way will be subjected to a different process of enchantment described in the linked section.
For armor that is not evaporated by a read scroll of enchant armor through the process described above, the scroll is then given a "base power" value that is calculated using 4 - s2, where s is the value derived from the initial enchantment of the targeted armor (and set previously during the check for evaporation) and will have its sign inverted if the scroll is cursed.[9][14] The value produced by this calculation is then increased by 1 for each of the following that applies:[15]
- reading a blessed scroll;
- reading a scroll that targets either a cornuthaum being worn by a Wizard hero or any form of elven armor;[13] and
- reading a scroll that targets armor which is not magical in nature
If the resulting value is less than or equal to 0, it will be set to zero and there is then a 1⁄X chance of the value being set to 1 where X is the current enchantment of the targeted worn armor[16]—this means that a non-cursed scroll of enchant armor still has a 1⁄X chance of increasing the targeted armor's enchantment by just one point. Otherwise, the amount of enchantment gained or lost will be set to a random number ranging from 1 to that value with the outcome capped at 11, and the sign of the value is inverted for a cursed scroll.[17][18] Finally, the value is applied to the targeted armor's enchantment, alongside the following effects:
- A cursed scroll of enchant armor curses the targeted armor if it is not currently cursed.[19][20]
- A blessed scroll of enchant armor blesses the targeted armor if it is not currently blessed.[21][22]
- An uncursed scroll of enchant armor will uncurse the targeted armor if it is currently cursed.[23][24]
Armor that is enchanted beyond its "safe" threshold by a non-cursed scroll of enchant armor has a chance of printing a message about the scroll causing it to "suddenly vibrate", which always occurs for "special armor" and occurs with a 1⁄7 chance otherwise.[25][13][26] The final enchantment of the armor is then capped at a minimum threshold of -99 and a maximum of +99, though both values are highly improbable to encounter in practice.[27][28]
It should be noted that how the "base power" of a particular read scroll of enchant armor is calculated for +5 or higher items is somewhat compiler-dependent: although C99 mandates that the result of division must be rounded to zero (i.e., rounded up if it's negative), some non-compliant compilers may still round it down, resulting in a different behavior from the expected kind that is discussed in the strategy section below. Assuming C99-compliant division, here's how much enchantment a non-cursed scroll may grant (the "bonus" is the amount of applicable bullet points as above):
| Current enchantment | Bonus | |||
|---|---|---|---|---|
| 0 | 1 | 2 | 3 | |
| −3 to −2 | 1-3 | 1-4 | 1-5 | 1-6 |
| −1 to 0 | 1-2 | 1-3 | 1-4 | 1-5 |
| +1 to +2 | 1 | 1-2 | 1-3 | 1-4 |
| +3 to +5 | 0-1 | 1 | 1-2 | 1-3 |
| +6 to +7 | 0-1 | 1 | 1-2 | |
| +8 to +9 | 0-1 | 1 | ||
Enchanting dragon scales
Enchanting worn dragon scales has the usual risk of evaporation (if applicable), but if the dragon scales survive the process and are also not disenchanted by a cursed scroll, then they are transformed into dragon scale mail of the same color rather than being enchanted like other armor.[29] A blessed scroll of enchant armor used for this process will always increase the resulting armor's enchantment by 1 and also blesses it if the armor was not initially blessed, while an uncursed scroll does not alter the resulting armor's enchantment, but will uncurse the armor if it was cursed.[30] A cursed scroll is capable of transforming dragon scales into dragon scale mail, but only if that set of scales is at a negative enchantment of no more than -6 and survives the check for evaporation.
Reading without armor
A hero that reads a scroll of enchant armor with no worn armor exercises strength and constitution, or abuses it if the scroll is cursed, and the player is prompted to type-name the scroll afterward if it is unidentified.[31]
Confused enchantment
A hero that reads a scroll of enchant armor while confused will instead alter the erosion-proof status of the targeted piece of worn armor:[32] a non-cursed scroll will make the targeted armor erosion-proof and repair any present erosion damage, while a cursed scroll removes the armor's erosion-proof status if it has any with no effect on its current level of erosion.[33] Evaporation does not occur since the armor's enchantment is not checked or altered.
Strategy
Enchanting armor is generally a high priority in the early and mid-game stages as the hero develops their kit: similar to scrolls of enchant weapon, some players might reserve scrolls of enchant armor for any armor that they know will remain in their hero's kit long term—in the absence of such armor, it may be worth stashing some of the scrolls until they can be put to proper use. It is also worth prioritizing some types of armor over others depending on the hero's situation, e.g. enchanting armor other than shirts and suits until they can find a way to protect the latter two types against polymorph traps that may cause the hero to become too large in physical size for them: cloaks other than the mummy wrapping are fine in this regard, since polymorphing into a large monster will cause the cloak to come loose rather than destroying it altogether.[34]
Any armor that is desired for a hero's kit and has a low enchantment is more likely to gain multiple points of enchantment from a non-cursed scroll (and even more likely to gain them from a blessed scroll), so it is often best to enchant that armor first, especially if it is elven armor or non-magical in nature. It is vital to know when to invest scrolls of enchant armor elsewhere in the hero's kit: once a piece of armor reaches an enchantment of +4 or +5, it is usually not worth attempting any further enchantment with that worn armor—while non-magical armor may jump from an initial enchantment of +2 or +3 all the way to +5 from a blessed scroll, non-elven magical armor can only be safely enchanted to +4 at most.
If you are attempting to enchant a piece of non-elven, non-magical armor from an initial enchantment of +3 to +5, you may need to make use of the drain life spell to reduce the enchantment of any armor that "sticks" at +4: a cursed scroll of enchant armor can serve some niche use in disenchanting armor back to safer levels for re-enchantment, but this is likely to be wasteful since they can drain multiple points of enchantment at once from the affected armor, and doing so will also cause some level of tedium by cursing the armor as well; a disenchanter's passive and active disenchantment attacks can also be used for this purpose, though this is similarly less reliable to control.
Elven armor is popular for its ability to be enchanted much higher by a read scroll of enchant armor than other types of armor: the scroll is capable of enchanting elven cloaks and elven boots to +7 from an initial enchantment of +5, while elven shields, elven leather helms and elven mithril-coats can be enchanted as high at +8 from the same initial enchantment. Highly-enchanted elven armor is generally either worn as part of a kit (with elven leather helms being some of the most lightweight high-AC armor) or used for polypiling to produce highly-enchanted armor of other types that are more difficult to directly enchant to the same levels with the read scroll.
A hero that has safeguarded themselves against unexpected sources of polymorph, e.g. with magic resistance, unchanging or polymorph control may considering enchanting any shirts they find or wish for afterward: T-shirts and Hawaiian shirts are popular as lightweight sources of AC from enchantment (though not to the extent of elven armor), which allows the hero to focus more on property coverage for other armor slots, and they can be protected from other sources of erosion or disenchantment by worn body armor and/or cloaks. Spare scrolls of enchant armor can save a wish or two that is normally spent on dragon scale mail, especially if the hero can find a dragon of their desired color or create them using a cursed scroll of genocide (or else write the scrolls using a magic marker).
A confused reading of an scroll of enchant armor is best done with an uncursed scroll for both erosion-proofing a piece of worn armor and repairing any damage that it has suffered to that point, since blessed scrolls are more ideal for the direct enchantment of armor—if you are seeking to just erosion-proof armor, then it is better to use or write a cursed scroll of destroy armor and read it while confused, since they take less ink to write than scrolls of enchant armor and can preserve those scrolls for enchantment and/or erosion repair.
Expected ranges of enchantment
Depending on the compiler used for a particular installation of the game and whether it performs C99-compliant division, a non-cursed scroll of enchant armor may be less effective when targeting armor with an enchantment of +5 or higher, which in turn changes the safely-reachable enchantment for elven items described in the rest of the strategy section above (among other facets).
A user has suggested improving this page or section as follows:
"Elaborate."
History
The scroll of enchant armor first appears in Hack 1.21 and Hack for PDP-11, which are based on Jay Fenlason's Hack, and is included in the initial item list for Hack 1.0. The use of the scroll in creating dragon scale mail is introduced in NetHack 3.1.0.
In NetHack 3.6.0, cursed armor will not be made uncursed by a scroll of enchant armor due to a bug. The bug is fixed in NetHack 3.6.1.
In versions up to NetHack 3.6.7, the scroll has different effects on the enchantment of targeted worn armor other than dragon scales:[35]
- If a non-cursed scroll targets worn armor with an initial enchantment of +9 or higher and the armor is not vaporized first, there is a subsequent 1-in-current-enchantment chance that the scroll has any effect on the armor at all, and the scroll always grants one point of enchantment in this case.[36]
- If the targeted armor is not +9 or higher, then a blessed scroll of enchant armor increases the target armor's enchantment by at least 1, with a chance for a random amount of additional enchantment points (detailed in the table below), and blesses that armor if it is not blessed.[37][38]
- An uncursed scroll of enchant armor targeting armor that is not +9 or higher will always increase the target armor's enchantment by 1, and uncurses that armor if it is cursed.[39][40]
- A cursed scroll of enchant armor always decreases the target armor's enchantment by 1, and curses that armor if it is not cursed.[41][42]
The following table displays how many points of enchantment worn armor can gain from reading a blessed scroll in these versions, based on the armor's current enchantment:
| Current enchantment | −3 to −1 | 0 to +2 | +3 to +5 | +6 to +8 | +9 or more |
|---|---|---|---|---|---|
| Additional possible | 1 to 4 | 1 to 3 | 1 to 2 | 1 | 0 or 1 |
NetHack 5.0.0 initially reduces the safe enchantment threshold for magical armor to +2 via commit 6707d3bf, which is later reversed via commit 3edd07b2 in favor of reworking the scroll's effects to their current behavior—the effects of the read scroll on worn dragon scales are unchanged.[43]
Messages
- Your <armor> glows <silver> for a <moment/while>.
- You raised the enchantment of worn armor with a scroll of enchant armor, using "while" if multiple points of enchantment are gained[44]—armor that is already silver-colored, such as silver dragon scale mail and the shield of reflection, will omit that color in the resulting message.[45][46]
- Your <armor> glows <black> for a moment.
- You lowered the enchantment of worn armor with a cursed scroll[44]—armor that is already black-colored will omit that word.[47][46]
- Your <armor> vibrates for a <moment/while>.
- You altered the enchantment of worn armor with a scroll of enchant armor while blind, using "while" if multiple points of enchantment are gained or lost as a result.[48][44]
- Your set of <dragon scales> merges and hardens!
- You converted worn dragon scales into dragon scale mail with a read scroll of enchant armor.[49]
Over-enchanting
- Your <armor> suddenly vibrates unexpectedly.
- You enchanted a piece of armor beyond its 'safe' threshold with the scroll.[26]
- Your <armor> suddenly vibrates again.
- As above, while blind.[26]
- Your <armor> violently glows <silver/black> for a while, then evaporates.
- You destroyed worn armor by reading the scroll, either from over-enchanting it with the non-cursed scroll (which produces a "silver" glow) or by lowering its enchantment far enough with the cursed scroll (which produces a "black" glow).[10] Worn armor whose color matches the glow produced by the scroll will omit that color when describing its evaporation.[50][45][47]
- Your <armor> violently vibrates for a while, then evaporates.
- As above, while blind.[10][50][45][47]
- Your <armor> violently glows <silver> for a moment.
- You attempted to enchant worn armor with an enchantment of +9 or more, but it was neither destroyed in the attempt nor successfully enchanted.[51][46]
- Your <armor> violently vibrates for a moment.
- As above, while blind.[51][46]
Confused reading output
- Your <armor> is covered by a shimmering golden <shield/layer>!
- You made a worn piece of armor erosion-proof by reading the non-cursed scroll while confused[52]—the word "layer" is used if this is applied to a worn shield.
- Your <armor> <looks/feels> as good as new!
- You repaired damage on a worn piece of armor as a result of the above, with "feels" used if you are blind at the time.[33]
- Your <armor> is covered by a mottled <black> glow!
- You removed erosion-proofing from a worn piece of armor by reading the cursed scroll while confused.[52]
- Your <armor> feels warm for a moment.
- You read the scroll while confused and blind, and it affected a worn piece of armor.[53]
- Your skin glows then fades.
- You read a scroll of enchant armor while not wearing any armor.[54]
- Your skin feels warm for a moment.
- As above, while blind.[54]
- You have a <strange/normal> feeling for a moment, then it passes.
- As above, while you are a beginner[54]—the bracket word changes depending on whether or not the hero is hallucinating.
Variants
NetHack variants created prior to NetHack 5.0.0 may retain the scroll of enchant armor's behavior from previous versions and apply further changes to that specific behaviour, which commonly includes the ability to choose the armor targeted. NetHack variants may also add more types of armor that can be safely enchanted from higher and/or more varied enchantment thresholds, whether the enchantment is done by any hero that reads the scroll (as with elven armor) or by a hero of a certain role and/or starting race (as with the cornuthaum).
Dragon-scaled armor is a feature included in many variants as a replacement for dragon scale mail, and is created by reading a non-cursed scroll of enchant armor while wearing a suit of armor with dragon scales (which is moved to the cloak slot) over them, merging the scales into that armor.
SLASH'EM
In SLASH'EM, the scroll of enchant armor behaves as it does in NetHack 3.4.3 and prior contemporary versions, which is also different from some of the predecessors to SLASH'EM.[55][56] There is also a spellbook of enchant armor that teaches a spell which behaves similarly to an uncursed scroll.[57]
Valkyries can use the scroll to safely enchant gauntlets of power from +5.[58]
UnNetHack
In UnNetHack, the scroll of enchant armor behaves as it does in NetHack 3.4.3.
Archeologists can safely enchant a worn fedora from a maximum of +5.
dNetHack
In dNetHack, notdNetHack and notnotdNetHack, the scroll of enchant armor behaves as it does in NetHack 3.4.3 on a basic level, but has several different effects on various types of armor. For example, a hero that reads a non-cursed scroll of enchant armor while confused and targets worn dragon scales will convert them into a dragon scale shield instead of dragon scale mail. Various types of armor can also be enchanted safely from +5 or other thresholds.
EvilHack
In EvilHack, the scroll of enchant armor behaves as it does in NetHack 3.6.7 on a basic level: reading an identified scroll of enchant armor allows the hero to manually select which armor to enchant, and if they are riding a steed wearing barding, they can also enchant that steed's barding as well.
EvilHack also utilizes dragon-scaled armor, with several related changes to the scroll's functions:
- Reading a scroll of enchant armor while wearing body armor under dragon scales fuses them together, increasing that armor's base AC by 5 and causing it to grant the primary extrinsic property of the scales, along with additional secondary properties exclusive to the dragon-scaled armor. The armor's enchantment itself does not change normally, and any enchantment on the scales is discarded.
- If the scroll is blessed, the body armor is also blessed and has its erosion repaired.
- If the scroll is cursed, the body armor becomes cursed and loses a point of enchantment.
- If the scroll is read while the hero is confused, the scales meld into the armor before the armor melds into the hero, polymorphing them into the corresponding dragon. Dragon-scaled armor is not destroyed or separated into its components from polymorphing this way, and reverts back to normal whenever the hero returns to normal form.
- Reading the scroll while wearing dragon-scaled armor with a different color of dragon scales over it will remove the old scales in favor of the new set.
- If the scroll is read while wearing dragon scales without body armor underneath, the hero will polymorph into the corresponding dragon unless they have polymorph control. Wearing a shirt does not affect this process. The scroll causes the polymorph to last longer if it is blessed, and shortens the duration if it is cursed.
The Hand of Vecna can be enchanted safely from +5, and attempts to enchant it further will not ever evaporate it: the enchantment instead has the same chance of simply failing without any further effect.
References
- ↑ src/u_init.c in NetHack 5.0.0, line 104
- ↑ src/u_init.c in NetHack 5.0.0, line 173
- ↑ src/write.c in NetHack 5.0.0, line 40-L44
- ↑ src/read.c in NetHack 5.0.0, line 1114-L1290: seffect_enchant_armor() function
- ↑ src/read.c in NetHack 5.0.0, line 1121: call to some_armor()
- ↑ src/do_wear.c in NetHack 5.0.0, line 2629-L2653: some_armor() function
- ↑ src/read.c in NetHack 5.0.0, line 1244
- ↑ src/read.c in NetHack 5.0.0, line 1280
- ↑ 9.0 9.1 9.2 src/read.c in NetHack 5.0.0, line 1178: value s is equal to the armor's current enchantment, with the sign inverted if the scroll is cursed
- ↑ 10.0 10.1 10.2 src/read.c in NetHack 5.0.0, line 1177-L1190: actual evaporation check
- ↑ 11.0 11.1 src/read.c in NetHack 5.0.0, line 1179: s > 5 for special armor, s > 3 otherwise
- ↑ src/read.c in NetHack 5.0.0, line 1119
- ↑ 13.0 13.1 13.2 13.3 src/read.c in NetHack 5.0.0, line 1165-L1166: special_armor boolean
- ↑ src/read.c in NetHack 5.0.0, line 1191-L1201: "base power" calculations; a value of s below -100 is set to -100 before the calculations to avoid integer overflows from a highly-unlikely event where very negatively-enchanted armor survives the evaporation check
- ↑ src/read.c in NetHack 5.0.0, line 1203-L1210
- ↑ src/read.c in NetHack 5.0.0, line 1212-L1215: (otmp->spe > 0 && !rn2(otmp->spe)) only applies if the scroll is not cursed
- ↑ src/read.c in NetHack 5.0.0, line 1216-L1220: cap value of 11 is "unlikely but possible: avoids an overflow later"
- ↑ src/read.c in NetHack 5.0.0, line 1222-L1223: invert sign for cursed scroll
- ↑ src/read.c in NetHack 5.0.0, line 1264-L1265
- ↑ src/mkobj.c in NetHack 5.0.0, line 1782-L1819
- ↑ src/read.c in NetHack 5.0.0, line 1266-L1267
- ↑ src/mkobj.c in NetHack 5.0.0, line 1744-L1764
- ↑ src/read.c in NetHack 5.0.0, line 1268-L1269
- ↑ src/mkobj.c in NetHack 5.0.0, line 1821-L1838
- ↑ src/read.c in NetHack 5.0.0, line 1164
- ↑ 26.0 26.1 26.2 src/read.c in NetHack 5.0.0, line 1286-L1289
- ↑ src/read.c in NetHack 5.0.0, line 1276: call to cap_spe()
- ↑ src/read.c in NetHack 5.0.0, line 78-L86: cap_spe() function
- ↑ src/read.c in NetHack 5.0.0, line 1225-L1252
- ↑ src/read.c in NetHack 5.0.0, line 1237-L1243
- ↑ src/read.c in NetHack 5.0.0, line 1127-L1135
- ↑ src/read.c in NetHack 5.0.0, line 1136-L1163
- ↑ 33.0 33.1 src/read.c in NetHack 5.0.0, line 1151-L1155: armor repair from confused reading
- ↑ src/polyself.c in NetHack 5.0.0, line 1176-L1193
- ↑ src/read.c in NetHack 3.6.7, line 1101-L1106: effects of scroll of enchant armor for standard armor in 3.6.7
- ↑ src/read.c in NetHack 3.6.7, line 1102-L1103
- ↑ src/read.c in NetHack 3.6.7, line 1104-L1105
- ↑ src/read.c in NetHack 3.6.7, line 1138-L1139
- ↑ src/read.c in NetHack 3.6.7, line 1106
- ↑ src/read.c in NetHack 3.6.7, line 1140-L1141
- ↑ src/read.c in NetHack 3.6.7, line 1101
- ↑ src/read.c in NetHack 3.6.7, line 1136-L1137
- ↑ src/read.c in NetHack 3.6.7, line 1107-L1124: effects of scroll of enchant armor for dragon scales in 3.6.7
- ↑ 44.0 44.1 44.2 src/read.c in NetHack 5.0.0, line 1253-L1259
- ↑ 45.0 45.1 45.2 src/read.c in NetHack 5.0.0, line 1170-L1173
- ↑ 46.0 46.1 46.2 46.3 src/read.c in NetHack 5.0.0, line 1257-L1258
- ↑ 47.0 47.1 47.2 src/read.c in NetHack 5.0.0, line 1167-L1169
- ↑ src/read.c in NetHack 5.0.0, line 1174-L1175
- ↑ src/read.c in NetHack 5.0.0, line 1230
- ↑ 50.0 50.1 src/read.c in NetHack 5.0.0, line 1184-L1185
- ↑ 51.0 51.1 src/read.c in NetHack 5.0.0, line 1254
- ↑ 52.0 52.1 src/read.c in NetHack 5.0.0, line 1145-L1149
- ↑ src/read.c in NetHack 5.0.0, line 1140-L1142
- ↑ 54.0 54.1 54.2 src/read.c in NetHack 5.0.0, line 1128-L1130
- ↑ read.c in SLASH'EM 0.0.7E7F2, line 871
- ↑ read.c in SLASH'EM 0.0.7E7F2, line 947
- ↑ read.c in SLASH'EM 0.0.7E7F2, line 870
- ↑ read.c in SLASH'EM 0.0.7E7F2, line 913