Reduce generation probabilities of the wand of digging

In earlier versions of NetHack, wands of digging generated fairly
often, allowing players to do a large amount of digging through the
maze walls in Gehennom and giving them a chance of an early escape
item.

In the current version, the need for both of these things has been
reduced: supply chests give a supply of early escape items
(including wands of digging), and Gehennom is no longer mostly made
of mazes with diggable walls. As such, there is no longer a reason
to generate wands of digging in such large numbers, even though it
was correct in the past.

This commit modifies some of the generation probabilities for wands
of digging in order to make them less abundant, in order to work
better with the code changes since the previous version.
This commit is contained in:
Alex Smith
2026-04-30 09:20:08 +01:00
parent 82854b7936
commit 7fdaf92367
3 changed files with 6 additions and 5 deletions
+1
View File
@@ -1603,6 +1603,7 @@ when starting a new game as a monk, newsym(0,0) was being called (adjabil ->
became level 1; seen 'monster' was the hero who hadn't been placed
on the map yet)
incorporate a fix to prevent segfault due to rolling boulder trap
wands of digging generate less often lategame
Fixes to 3.7.0-x General Problems Exposed Via git Repository
+4 -4
View File
@@ -1453,7 +1453,7 @@ WAND("secret door detection",
WAN_SECRET_DOOR_DETECTION),
WAND("enlightenment", "crystal", 15, 150, 1, NODIR, GLASS, HI_GLASS,
WAN_ENLIGHTENMENT),
WAND("create monster", "maple", 45, 200, 1, NODIR, WOOD, HI_WOOD,
WAND("create monster", "maple", 50, 200, 1, NODIR, WOOD, HI_WOOD,
WAN_CREATE_MONSTER),
WAND("wishing", "pine", 5, 500, 1, NODIR, WOOD, HI_WOOD,
WAN_WISHING),
@@ -1477,13 +1477,13 @@ WAND("cancellation", "platinum", 45, 200, 1, IMMEDIATE, PLATINUM, CLR_WHITE,
WAN_CANCELLATION),
WAND("teleportation", "iridium", 45, 200, 1, IMMEDIATE, METAL,
CLR_BRIGHT_CYAN, WAN_TELEPORTATION),
WAND("opening", "zinc", 25, 150, 1, IMMEDIATE, METAL, HI_METAL,
WAND("opening", "zinc", 30, 150, 1, IMMEDIATE, METAL, HI_METAL,
WAN_OPENING),
WAND("locking", "aluminum", 25, 150, 1, IMMEDIATE, METAL, HI_METAL,
WAND("locking", "aluminum", 30, 150, 1, IMMEDIATE, METAL, HI_METAL,
WAN_LOCKING),
WAND("probing", "uranium", 30, 150, 1, IMMEDIATE, METAL, HI_METAL,
WAN_PROBING),
WAND("digging", "iron", 55, 150, 1, RAY, IRON, HI_METAL,
WAND("digging", "iron", 40, 150, 1, RAY, IRON, HI_METAL,
WAN_DIGGING),
/* magic missile ... lightning must be in this order; see buzz() */
WAND("magic missile", "steel", 50, 150, 1, RAY, IRON, HI_METAL,
+1 -1
View File
@@ -738,7 +738,7 @@ m_initinv(struct monst *mtmp)
break;
case S_GIANT:
if (ptr == &mons[PM_MINOTAUR]) {
if (!rn2(3) || (gi.in_mklev && Is_earthlevel(&u.uz)))
if (!rn2(8) || (gi.in_mklev && Is_earthlevel(&u.uz)))
(void) mongets(mtmp, WAN_DIGGING);
} else if (is_giant(ptr)) {
for (cnt = rn2((int) (mtmp->m_lev / 2)); cnt; cnt--) {