Bugs in NetHack 4

From NetHackWiki
Revision as of 16:51, 18 April 2012 by Jonadab (talk | contribs) (Investigated C343-99)
Jump to navigation Jump to search

Like other NetHack variants, NetHack 4 has bugs. This page tracks the status of the Bugs in NetHack 3.4.3 in NetHack 4, together with new bugs introduced in NetHack 4.

Special thanks to everyone who helped to compile this list.

NetHack 4's developers would appreciate feedback on these bugs, especially the ones marked as "Unclear" (if anyone knows what these bug reports mean, please let us know!), and the ones marked as "Unknown" (where typically nobody knows what to do to reproduce the bug).

Key:

  • Fixed: The bug existed in NetHack 4 (or one of its predecessor variants, AceHack or NitroHack) and was fixed.
  • Incidentally fixed: The bug was fixed due to unrelated changes made in NetHack 4.
  • Fix available: The bug has a fix available for it in some other variant, but that fix has not yet been merged into NetHack 4.
  • Confirmed: The bug has been reproduced in NetHack 4 (typically with a save file recorded for it).
  • Moot: The bug's context no longer exists in NetHack 4.
  • Info available: The cause of the bug has been explained for NetHack 3.4.3 on this wiki, and thus further investigation was not worthwhile.
  • Debatable: There is some doubt as to whether this is a bug, or about whether it would be reasonable to fix it.
  • Unclear: It is not clear what the bug description refers to.
  • Unknown: The bug has not been reproduced in NetHack 4, but may well still exist.
Number Status Description (3.4.3) Additional notes
C341-1 Moot Monsters affected by stinking cloud always get angry at the hero even if the hero did not create the cloud. This only affects bones files made on NetHack 3.4.0, which are not compatible with NetHack 4.
C341-4 Incidentally fixed opthelp does not list use_inverse
C341-5 Unknown When you see your pet move, the pet may be referred to as "it".
C341-7 Fixed Skilled or expert caster of fireball/cone of cold can't target a monster known only by infravision or ESP. Fixed by Grunt.
C341-10 Debatable Fruit names ending in "us" are incorrectly considered plural.
C341-18 Fixed ki-rins and couatls can wear (and may have) armor. Shields, boots, gloves, and (non-metallic for ki-rin) helmets. Fixed by Grunt.
C342-12 Unclear There are a number of places that misuse "your".
C342-13 Unknown Hangup can cause loss of objects being moved internally.
C342-16 Fix available If you self-genocide while polymorphed, the death message makes no sense. "You return to [racial] form. DYWYPI?" GruntHack changes this to "As you return to [racial] form, you die."
C342-19 Fix available Things that can kill you in the future (like stoning) can cause messages to show up out of order. "You are a statue. Your skin begins to peel away." Fixed in GruntHack.
C342-22 Fix available Monsters can hide under cockatrice corpses without getting stoned. GruntHack contains a fix for this.
C342-31 Unknown You can get a message telling you a monster wields a weapon it already was wielding. There's a FIXME at line 616 in weapon.c that could potentially be (indirectly) related.
C342-36 Incidentally fixed If unable to see yourself while invisible and you are bestowed a spellbook, it doesn't show up on the display. Seems to have been fixed by NitroHack's changes to the display engine.
C342-46 Fix available Cleric cast lightning doesn't blind as other lightning does. Refers to the monster cleric spell, CLC_LIGHTNING. GruntHack fixes this.
C342-50 Confirmed If you're hiding on the ceiling and try to #sit, you automatically unhide. #sit, #monster, #sit: "You sit on the helm of brilliance. It's not very comfortable... You are already hiding."
C342-51 Fixed The game thinks trappers hide on the ceiling. In D&D, they apparently hide on the floor. Turns up in two known places: dislodging a trapper with a drum of earthquake, and ambushing a monster while in trapper form. Fixed by Grunt.
C342-54 Confirmed Statues of unique monsters in bones files are not handled correctly. If the unique monster in question doesn't normally spawn on that level, and was rather brought there from some other level (in the other game), zapping stone to flesh at it causes a segfault.
C343-1 Unclear At a pit the game can give messages with poor grammar.
C343-2 Fixed Wielded silver arrows don't cause silver damage on some silver-haters. Fixed by Alex Smith.
C343-3 Fix available In the ranger quest, monsters can end up off the map to the left. The special level loader introduces a two column gap to the left of the main maze area; Jonadab thinks the monsters get generated back there. GruntHack fixes this by removing the two column gap in the special level loader.
C343-4 Fixed On the Rogue level, tunnelling through rock doesn't leave a passage. Refers to tame tunneling monsters, like umber hulks, rather than a player with a pickaxe. Non-tame monsters cannot dig on the Rogue level. Fixed in GruntHack by disabling the ability of tame monsters to dig on the Rogue level.
C343-5 Fixed In wizard mode, level teleport in the endgame can cause a crash if confused. Fixed by Grunt.
C343-6 Fix available You can #sit on an object at the bottom of a pit that you are not in. Fixed in AceHack and GruntHack.
C343-7 Fixed When a steed pushes a boulder into a pool, the message misuses "you". Fixed by Alex Smith.
C343-8 Fixed Plural of Nazgul is Nazgul - not Nazguls Fixed by Patric Mueller.
C343-9 Fix available Trap messages referring to a named steed when hallucinating are poorly worded. If riding at the time, e.g. "You lead poor fire giant into a pit!". Fixed in GruntHack, though by a more complicated means than necessary for vanilla / NH4.
C343-10 Fix available If there is a corpse in a pit, you have to enter the pit to pick it up but not to eat it. Fixed in GruntHack.
C343-11 Moot If you ask for help ('?') at a "what direction" prompt, you don't get to enter a direction afterward if the cmdassist option is set. cmdassist no longer exists.
C343-12 Fixed You can't use '>' to enter a pit. Fixed by Patric Mueller.
C343-13 Confirmed On polymorph, you can get the message "It turns into it". According to Grunt, this happens in vanilla if an invisible purple worm swallows a shapechanger. Confirmed in NH4 with an invisible pet w and a chameleon.
C343-14 Fix available The initial and any tombstone message resulting from eating an identified artifact is gramatically incorrect. Requires choking on a formally IDed artifact. Fixed in GruntHack.
C343-15 Fixed You can get a message that an invisible monster looks much better. Fixed by Alex Smith.
C343-16 Fixed Player polymorphed as a xorn can't pick up items in pits. Fixed by Sean Hunt.
C343-17 Fix available After polymorphing into a xorn and returning to human form, player can be stuck in a pit that isn't there. Fixed by Sean Hunt.
C343-18 Fixed Scaring a mimicing mimic gives an incorrect "turns to flee" message. Fixed by Alex Smith.
C343-19 Fix available Dipping acid in a fountain may not destroy the acid. Seems inconsistent about whether it's destroyed or not, despite exploding. Fixed on NAO and in GruntHack.
C343-20 Info available When dying immediately on entering a level, the map may show you dying on the previous level.
C343-21 Confirmed Pets can be pulled through closed doors with a leash.
C343-22 Fixed You can untrap a monster in a pit while levitating. Fixed by Grunt.
C343-23 Unknown Dungeon collapses after vault guard fails to lead you out.
C343-24 Moot Documented default for option "null" is "off"; default is actually "on". The rendering no longer works like that anyway.
C343-25 Fix available You can trip over a cockatrice corpse safely. Wear gauntlets of fumbling and walk around among cockatrice corpses. "You see here a cockatrice corpse. You trip over it. You make a lot of noise!" Fixed in GruntHack, where tripping is unsafe if not wearing boots.
C343-26 Fix available A frozen swamp may be called a moat. Go to Jubilex' Swamp and start zapping around with a wand of cold. "The moat is bridged with ice! You hear a cracking sound." Fixed, along with several related misuses of "moat", in GruntHack by greater use of waterbody_name.
C343-27 Unknown Kicked objects do not slide properly on air or water levels.
C343-28 Fixed There are several places that can't tell the difference between a "hat" and a "helmet." There are some objects which are referred to in their descriptions as "hats" (elven leather helm -> "hat", dwarvish iron helm -> "hard hat", cornuthaum and dunce cap -> "conical hat"; one could argue that this applies to fedoras as well despite not having a separate description, as it's not a helmet). Several places in the code ("Fortunately, you are wearing a hard helmet"; "Your helmet blocks the attack to your head") always refer to the object in your armor slot as a helmet, even when it can't properly be described as a helmet (such as having a fedora block a mind flayer attack). Fixed by Grunt.
C343-29 Fix available When taking things out of a bag of holding, messages may say "lifting" instead of "removing." This happens when you get the confirmation asking if you want to continue (because your encumbrance level would increase and you are over your threshold). Fixed in GruntHack.
C343-30 Fixed Cursed scroll of destroy armor on cursed armor doesn't always interact correctly. Alex Smith
C343-31 Debatable / Fix available If you hit a cockatrice with a weapon that breaks, you can be stoned. Reproduced by wielding a boomerang in melee combat with negative luck. Fixed in GruntHack.
C343-32 Confirmed When blind and levitating, the hero can still discover stairs. Use the go down command. "You are floating high above the stairs."
C343-33 Fix Available Sometimes a monster may remain hidden under a corpse that has rotted away. Fixed in GruntHack
C343-34 Fixed Mimics on the rogue level may try to mimic a closed door. Fixed by Sean Hunt.
C343-35 Info available Polymorphed or shapechanged monsters may get the wrong number of hit points.
C343-36 Fixed Weight of corpses on special levels may not be calculated correctly. This also goes for statues, e.g. the Oracle centaur statues. Fixed by Grunt.
C343-37 Fixed Mimics may mimic a boulder over a pit or hole. Also "a statue of a (monster) on a pit on the floor of the room" or "a pit on a stairway up". Fixed by Sean Hunt.
C343-38 Fixed Dismounting and kicking a monster that jumps may result in landing on the wrong side of a wall. In very confined spaces, mnexto() may not be able to find a space next to you. Fixed by Grunt.
C343-39 Incidentally fixed Restoring a game where the character is wielding Sting may result in temporary display errors during the restore process. Cannot reproduce in NH4, probably due to the Nitrohack UI changes.
C343-40 Fixed Monster thrusting one of multiple wielded daggers gives misleading message. Fixed by Grunt.
C343-41 Fixed A rolling boulder falling into a pit you can't see only makes a sound if the hero is blind (or blindfolded). If you only can't see it happen because it's dark, you get no sound. Fixed by Grunt.
C343-42 Fixed If a fire trap melts ice, it may trigger twice in the same turn. Reproduced via polyself into a red dragon. Fixed by Grunt.
C343-43 Incidentally fixed An invisible troll that revives may be shown until it moves. Cannot reproduce in NH4, probably due to the Nitrohack UI changes.
C343-44 Info available Shopkeepers, doors, and traps interact oddly. For example, if you break a wand of digging on the entrance square, the shopkeeper will usually remove only some of the pits.
C343-45 Fixed Dropping the corpse of a unique monster without a personal name down the stairs gives a badly formed response. Fixed by Sean Hunt.
C343-46 Unknown Breaking up a boulder or statue can result in pieces that are described incorrectly.
C343-47 Fixed Monster and hero have different odds to err when throwing a greased weapon. Players throwing greased weapons have the same chance of them misfiring as if the object is cursed; monsters throwing projectiles suffer no penalty for throwing greased weapons at all. Fixed by Grunt.
C343-48 Unknown Killing your pet doesn't get you any experience when it should.
C343-49 Fixed The boulder does not show up in a bones file caused by death by rolling boulder. Fixed in GruntHack by allowing the boulder to finish moving before dealing damage to the player (this leaves the trap ready to snare whoever next comes across the bones). Possible alternative solution: place the boulder where the player is before triggering the damage in the current code flow, leaving the boulder on top of the corpse.
C343-50 Fixed A sleeping steed may answer a #chat. Alex Smith
C343-51 Info available Luck's effect on random events isn't always as intended.
C343-52 Confirmed Worn or wielded objects destroyed by dipping into lit potions of oil are not handled properly; this can result in odd game behavior. For example, if you dip your (worn) thoroughly burned robe into lit oil until it's destroyed and then try to wear another cloak you can't, because you're already wearing the robe, even though you aren't.
C343-53 Unknown If a shopkeeper is trapped adjacent to the door, the game may get confused and issue impossible or panic messages. TJR says break a wand of digging while standing next to the shopkeeper.
C343-54 Fixed "Ulch" cannibalism message grammar is poor. Alex Smith
C343-55 Fixed "Ulch" messages have inconsistent capitalization. Alex Smith
C343-56 Fix available Gas spores can't attack while hero is praying. A spurious "starts to attack you, but pulls back" message is displayed, even though gas spores have only passive attacks. Fixed in GruntHack.
C343-57 Documentation issue #enhance command descriptions in Guidebook and game do not match.
C343-58 Debatable #conduct command description grammar is poor Presumably refers to the in-game command description (? h), which is "list which challenges you have adhered to". Perhaps referring to the "to" at the end - instead, perhaps use "list challenges to which you have adhered"?
C343-59 Fixed Engulfer stoned swallowing hero polymorphed to cockatrice causes incorrect screen display. If hero has ball & chain, game can panic. Reproduced with a hostile trapper. The t remained on the display in its original location adjacent to the polyselfed hero for several turns, even though there was a statue of a trapper on the tile with the hero. Fixed by Grunt.
C343-60 Unknown Several messages delivered when hero's fingers are slippery have poor grammar.
C343-61 Moot Using a WIZKIT including the quest artifact will crash the game at startup. WIZKIT is not currently supported in NetHack 4.
C343-62 Unknown Riding into a magic portal gives an extra, useless message. In normal situations I get "You activated a magic portal! You feel dizzy for a moment, but the sensation passes." So if there's a bug it must only trigger in special cases.
C343-63 Fixed You can drink from a sink, fountain, or while underwater while swallowed. Confirmed by quaffing from fountain while engulfed by purple worm. In a similar vein, #praying on a cross-aligned altar also works. Fixed by Grunt.
C343-64 Incidentally fixed A black light leaves an hallucinated corpse while exploding. Unable to reproduce in NH4, probably due to the NitroHack display changes.
C343-65 Fix available A monster that "shrieks in pain" may not awaken others nearby. Addressed in GruntHack; Additional info on the wiki.
C343-66 Confirmed Co-aligned unicorns in a bones file may be hostile. Happens when the unicorns were also co-aligned for the former player and he angered them before getting himself killed.
C343-67 Incidentally fixed Finding a statue when searching while blind doesn't update map. Cannot reproduce in NH4, probably fixed by Nitrohack display changes.
C343-68 Unknown Incorrect message may be given when a spellcasting monster summons other monsters.
C343-69 Fixed Attempting to add more candles than needed to a candelabrum with at least one candle gives an incorrect message. bcode says: have six candles already attached, then try to attach more than one. Fixed by Grunt.
C343-70 Fixed Experience may not be correctly gained for monsters causing nonphysical damage. cf. exper.c#line76 and commentary there. Fixed by Grunt.
C343-71 Fixed When swapping places with a pet pushes it into a trap, the messages are out of order. "A gush of water hits Chmee's right forelimb! You displaced Chmee." Fixed by Grunt.
C343-72 Info available You get confusing messages when you stop levitating while on a flying steed. Messages don't consider the fact that you're flying.
C343-73 Fixed Trying to kick a monster on a level forbidding teleport may give a bogus "teleports" message. "You kick the tengu. The tengu teleports, easily evading your clumsy kick." Fixed by Grunt.
C343-74 Fixed Entering a long running, uninterruptible command (e. g. engraving) after stoning starts will kill you. Patric Muller
C343-75 Unknown Eating Medusa's corpse may not work properly.
C343-76 Fix available A tin of Medusa meat isn't warned about properly. Warned as in from blessed scroll of food detection; no warning is given about it being "very dangerous", as with other monsters that cause petrification. (Medusa's corpse is also warned about incorrectly, warning about poison instead of petrification.) Fixed in GruntHack.
C343-77 Info available Some messages referring to monsters that look like horses refer to claws.
C343-78 Unknown Digging in an existing hole charges you for the time it takes to dig the whole hole.
C343-79 Unclear "Mr." or "Ms." may show up in front of names when it should not. Look at done_in_by() in end.c, I guess?
C343-80 Fixed Tame monsters with multiple attacks may allow themselves to be killed through passive attacks. "The black unicorn misses the red mold. The black unicorn is suddenly very hot! The black unicorn misses the red mold. The black unicorn is suddenly very hot! The black unicorn is killed!" Fixed by Grunt.
C343-81 Confirmed Ghosts can be slimed. Reproduced by Grunt.
C343-82 Fixed Land mine explosion on a drawbridge doesn't work right. Pit is formed, but the usual drawbridge-destruction effects do not occur. Fixed in GruntHack by having the drawbridge be destroyed with no other effects.
C343-83 Fixed An eating pet will miss out on ascension. The bug is in keepdogs() in dog.c, where the checks in lines 514-527 don't check for pets_only (set only in case of ascension or celestial disgrace escape). Fixed by Grunt.
C343-84 Fixed "finally finished" may be displayed when not eating. Bug relates to the nomovemsg variable being left set and unmul() being called later for an unrelated reason. An easy way to trigger it is to eat lizard corpses off the floor with nothing in inventory but worn armor in the presence of several hostile nymphs while your nutrition is between 1500 and 2000. When it asks if you want to stop eating, say no. (You'll stop anyway as soon as a nymph seduces you, but saying no causes nomovemsg to remain set.) Fixed by Grunt.
C343-85 Unclear Sometimes the hero can't move when conscious.
C343-86 Unknown Hero can appear to be in the wall after destroying a drawbridge. On a possibly related note, if you destroy a drawbridge by zapping a wand of striking or of digging downward while standing on the bridge, "The drawbridge collapses into the moat" without harming you, leaving you standing on the moat even if that shouldn't be possible.
C343-87 Unknown Sometimes shop items the hero is forced to buy can be sold twice.
C343-88 Fixed Polymorphing a statue into a boulder can leave an incorrect display. Alex Smith
C343-89 Confirmed Unpaid objects damaged or improved in shops are not accounted for properly. If you pick up some armor and are quoted a price then read a scroll of enchant armor before paying, the price does not change UNLESS you drop the armor and pick it up again, in which case it then does. Enchant weapon works the same way.
C343-90 Confirmed "I u" with only one item unpaid lists the price twice. u - a pair of buckled boots (unpaid, 34 zorkmids) 34 zorkmids
C343-91 Confirmed Auto-cursing armor does not do so when worn by monster. Tested with a tame mountain centaur, an uncursed +2 helm of opposite alignment, and a wand of probing, while playing as a priest. Helm remained uncursed once the centaur was wearing it. See also Armor#Monsters_.28pets.29_and_armor for more missing properties in vanilla.
C343-92 Unknown A blind player may find a trap which then fails to show up on the map.
C343-93 Confirmed Astral vision can confuse the ; command. A monster on the opposite side of a solid maze wall may be said to be seen through normal vision as well as astral vision; in fact, normal vision cannot see it. At other times no mention is made of how you see something, even though it is only visible through astral vision.
C343-94 Fixed Probing a re-animated statue may cause a panic. Patric Muller
C343-95 Confirmed If killed by the wish from a magic lamp (or similar situation) and a bones file is produced, the bones file has the lamp in the wrong state. Create bones by using a magic lamp to wish for something that will blast you for more damage than you can survive. On loading the bones in another game, bless the lamp and rub it. A percentage of the time, you can get a second wish.
C343-96 Incidentally fixed If player aborts "In what direction?" question, prompt may remain displayed. NH4 says, "What a strange direction!"
C343-97 Moot ctrl + r and ctrl + l don't work in numberpad mode NetHack4 allows all keys to be rebound individually, so there isn't a numpad mode as such.
C343-98 Confirmed Chatting with quest leader brought back from the dead doesn't work. I'm not certain exactly what should happen, but I'm pretty sure a segfault isn't ideal.
C343-99 Unsure Hero can still see for brief period after being blinded by potion vapors. If you kill a monster with a wielded potion of blindness and get blinded in the process, the corpse is shown, but I'm not sure whether this is a bug and also not sure whether this is what the bug description refers to.

to be continued…