Post by n***@gmail.comI've seen double "while praying" as well as double "while fainted from lack of food".
NetHack 3.4.3 only had "while helpless" but the version playable at nethack.alt.org
included a patch to provide a more specified reason for "helpless". NetHack 3.6.0
includes that patch but when it was incorporated, a bug was introduced. (Or maybe
the NAO version has the same bug and nobody ever noticed. NAO reportedly doesn't
use 'record' when displaying high scores so nobody ever sees its contents. Plus
the high score list is bound to be all ascensions, so any corrupted "while helpless"
deaths that ever made the list were pushed off the bottom long ago. It was
probably already all ascensions even before the helpless-reason patch was added.)
Post by n***@gmail.comIn fact, I tend to get crazy chains of death reasons that over-run the allowed
space: e.g. "killed by a giant bat, while fainted from lack of food, while fainted
from lack of food, while froze" and "killed by a small mimic, while praying, while
frozen by a potion, while fainted from lack of food, w"
When a new death has a high enough score to make the list, if it occurred while
helpless then its "while <helpless reason>" will be appended to all the lower
scored entries following it when 'record' gets updated. So stop getting new higher
scores, or at least do so without being helpless at the time. :-}
The repair script ought to work correctly even when entries have been truncated.
It should to be present in the Google Groups archives for rec.games.roguelike.nethack
(but I don't have a specific URL). 'awk' comes with Unix systems and look-likes such
as linux, NetBSD, and Mac OSX. For others, 'gawk' (GNU awk) is available for most
or all of the platforms that nethack runs on. ('gawk.exe' prebuilt for Windows exists
but I don't have a URL for that either.)
After 'record' has been repaired, it will still be subject to new entries reintroducing
the "while helpless" corruption. But they won't be magnifying the old corrupted
entries so there'll be fewer "while <this>, while <that>" entries, plus the repair can
be repeated whenever that's warranted.