From NetHackWiki
Jump to navigation Jump to search

When was the bones pile feature conceived and implemented? fontppp in #nethack asks and I couldn't find an answer. One of the significant changes from Hack 1.0.2 to 1.0.3 was "A real amulet of Yendor can no longer be found in bones files." so bones are at least as old as (and certainly older than) 1.0.2 which came out in April 1985. Were they in Jay Fenlason's Hack, or introduced in Hack 1.0, or did they originate in Rogue? --Eidolos 04:44, 3 September 2006 (UTC)

I can find no reference on Usenet to bones in Rogue, but they are certainly in JF Hack (source for hack.bones.c) --Jayt 12:30, 3 September 2006 (UTC)


Is there really an ethical question over the use of bones-found items? The only ethical issue I'm aware of is using notes from (or memory of) the deceased character's game to bypass identification. --Jayt 13:13, 3 September 2006 (UTC)

Multiple bones

I entered the oracle level today and I found a couple of ghosts there with different names, along with the monster that killed them. Well, that monster killed me, too. That was the first time I found a bones level that had multiple people dead on it. Is there a maximum number of times a level can become a bones file? If not, I think that level will become quite the grave yard. --MadDawg2552 23:09, 21 February 2007 (UTC)

I just came here to ask if this was possible, so I guess this answers my question. I doubt the odds of leaving bones are any different, which will mean the chances of the level not being saved would increase exponentially over time. I may source dive and have a look Bitplane 03:55, 23 June 2009 (UTC)
In practice the exponential increase is accurate. When you die there is a chance to leave a bones file. When you die on a bones level that same chance applies to leaving a now-double bones file. Sparr0 01:11, January 3, 2010 (UTC)

Artifacts in bones

If an artifact was not of its default alignment (i.e. Magicbane given to a Chaotic Wizard), will it "remember" this, or will it revert to default? -- 17:19, 21 August 2007 (UTC)

A neutral wizard finding a formerly chaotic MagicBane will not be blasted, i. e. it is rendered neutral to match the new wizard. A lawful knight simply will not find a chaotic MagicBane, but a wizard will be able to load the bones file. --Tjr 15:19, 27 January 2009 (UTC)

Gravestone/no gravestone

How come some players leave a gravestone ("|") when die, and some don't? What affects this? Or is this something totally random? Gneek 01:46, 2 April 2008 (UTC)

I had a hunch that a gravestone can only be generated if the location where the player died is in a room. I decided to confirm that by checking the source code (Source:Engrave.c#make_grave and Source:End.c#line650). From what I understand, a gravestone can only be generated if the location is in a room and doesn't have a trap. Also, if the player died right on a gravestone, that gravestone can be replaced by the gravestone of the recently deceased player. —Shijun 02:09, 2 April 2008 (UTC)
I already had a gravestone made by me in a corridor. Also, fir that matter, are mazes corridirs or room?--Newtkiller 05:14, 26 January 2009 (UTC)

we need probabilities of leaving/loading here

as the headline says, we need the odds of leaving and loading bones in vanilla and slashem. Tjr 22:20, 13 May 2009 (UTC)

For leaving bones, in vanilla as per Source:Bones.c#can_make_bones, if
  1. No idea what ledger_no is(?)
  2. It's not a no-bones level
  3. You weren't swallowed
  4. There isn't a magic portal present
  5. You aren't above the surface
Then there is a 1 in (1 + DL/2) chance of leaving bones. So for example at dungeon level 4 there's a 1/(1+(4/2)) = 1/3 = 33.33% chance of leaving bones, but at dungeon level 20 there's only a 9% chance. Not sure about loading them Bitplane 04:25, 23 June 2009 (UTC)
Actually, I think you have it backwards here: there's a 1 in 1 + DL/4 (rounded down) chance of not leaving bones if all the other checks pass. So levels 1-3 never leave bones, levels 4-7 leave them 50% of the time, levels 8-11 leave them 66.7% of the time, levels 12-15 leave them 75% of the time, etc. --Ilmari Karonen 12:13, 23 April 2011 (UTC)

A curious observation

If I'm reading the code right, then the "Your body rises from the dead as <monster>..." message given when a player is killed by a mummy, vampire or wraith is only emitted after the decision to leave bones has been made. So if you see that message, you know (barring stuff like unexpected filesystem errors) that bones were left. Conversely, if the player is killed by one of those monsters but no such message appears, there should be no bones. I should run some tests to confirm this, though.

Anyway, it's a rather rare corner case, but I guess it could potentially offer someone a small (and rather cheesy) metagame advantage. Say, if you're watching games on NAO and see a pudding farmer commit YASD by vampire... --Ilmari Karonen 15:06, 22 April 2011 (UTC)

Wizard mode testing seems to confirm this. Answering yes to save bones gives "Your body rises from dead etc", while answering no does not. -- Qazmlpok 15:12, 22 April 2011 (UTC)
People seeding bones files (e.g. Conducty1's 12-conduct ascension) now have a way of knowing if they need to farm again. The next line gives them time to get the bones collectors in place: --Tjr 23:49, 22 April 2011 (UTC)
MSGTYPE=stop "Your body rises from the dead as *"

I just reported this as a bug to the DevTeam. BTW, another detail I noticed while testing this is that characters killed by the drain life attack of a wraith or vampire taking them to XL 0 won't get this message (or turn into a wraith/vampire) even if they leave bones; also, their cause of death is not listed as the monster, but as "life drainage". It seems that, to get your corpse to rise as a wraith, you need to be either level drain resistant or very low on HP so that you reach 0 HP before level 0. --Ilmari Karonen 10:48, 23 April 2011 (UTC)

bones loading chances, computed

The chance of loading a bones file is 1/3*P{bones file present}. It turns out the latter can be estimated for the NAO player population. If we assume everything is stationary, it should converge to the equilibrum between rates of creation and destruction, i.e.

P{bones file present} = (1/3) * (1 - (1 + depth/4)^(-d/s)),

where d is the dying rate on that level, and s the seeing rate. The ratio d/s can be estimated at

d/s = #{games killed with deathlev=depth, excluding quits} / #{ games with maxlevel>=depth}

for the dungeons of doom only. Deathlev and Maxlevel are from xlogfile, covering this year only.

Level Chance of loading bones Deaths Seens
5 3.3% 11675 50294
6 3.5% 9387 38344
7 3.4% 6744 27969
8 4.4% 3958 19671
9 3.1% 1943 14347
10 3.0% 1526 11369
11 2.9% 1156 8935
12 3.3% 823 6989
13 1.9% 363 5590
14 1.5% 249 4963
15 1.3% 211 4688

Should this be included in the article? --Tjr 01:33, 28 September 2011 (UTC)

Woops, forgot to exclude deaths in the mines/Sokoban. Still, I hope the numbers are roughly valid. --Tjr 01:38, 28 September 2011 (UTC)
Never mind, I screwed up the time averaging. The formula is not correct. --Tjr 08:13, 28 September 2011 (UTC)

I thought about doing a calculation. I found it hard. Part of the problem is the random interaction between deaths and seens. It's not all that unlikely for 3 deaths to happen in a row on level 4 without anyone having a chance to load bones, and I think that's hard to deal with in a formula. I decided to just write a simulation, and below are my results.

Level Chance of loading bones Deaths Seens
5 8.6% 11675 50294
6 8.9% 9387 38344
7 8.8% 6744 27969
8 9.5% 3958 19671
9 7.1% 1943 14347
10 7.1% 1526 11369
11 6.9% 1156 8935
12 6.9% 823 6989
13 4.2% 363 5590
14 3.4% 249 4963
15 3.1% 211 4688

Note that the simulation assumes that the ratio between death rate and seen rate doesn't change with time, which might not be an ideal assumption. I'll be happy to email anyone my MATLAB script that's interested. Also, to answer TJR's question, yes, I think something along these lines might be nice in the article. It might be nice to figure out how to handle Soko and Mines, and to also get a bigger sample than one year. Derekt75 01:19, 2 March 2012 (UTC)

Some real numbers from NAO, courtesy of Ais523:

Computed again

I've computed the time-averaged bones files probabilities on NAO again, using a script written by user:ais523. The chance there is a bones file on a main dungeons level on NAO at a random point in time is:

  • 4: 0.1547511846836775447715105502479764867571
  • 5: 0.1478537056264453506620888526216685258981
  • 6: 0.1478876525104614122273581066905750571886
  • 7: 0.1478669703243205389593491231802649197253
  • 8: 0.1667698418642088857837641540521407178459
  • 9: 0.1441804131669007518196886939237243859469
  • 10: 0.1170225888015347096256999107982347162246
  • 11: 0.1018469652352790515987944742991927428424
  • 12: 0.1094783968841858562614051034037854372576
  • 13: 0.0878966105648686890016115533362793500463
  • 14: 0.08263193048110025829967934929664552739273
  • 15: 0.06324534965687988089547515583016990122379
  • 16: 0.06486923761599490215628323381673353386206
  • 17: 0.05731343119972682472982280394033050849406
  • 18: 0.05945107904185701748945360830157352170665
  • 19: 0.06595812997792789948851010318194133374682
  • 20: 0.06304646957494209524719855029492566320881
  • 21: 0.06486383754144105946941176958641128266454

The mode of computation is: For each line of the NAO xlogfile, the hero loads all bones starting from level 1 to dungeon-level maxlevel of the main dungeons. Then the hero dies, with the usual probability of leaving bones if he was in the main dungeons and the type of death was eligible. This is repeated for all lines of the xlogfile. Finally, we average the computed chances of bones over all xlogfile lines. The caveats are: Level teleportation is not accounted for, nor is falling through a trap door. It's impossible to know the position of special (or no-bones) levels or the start of Gehennom. However, dungeon branches are handled correctly, since the maxlvl field apparently does not take side branches into account. --Tjr 17:29, 11 March 2012 (UTC)

Side branches: The quest doesn't update maxlvl, but the mines seem to. Strange. So the numbers aren't 100% correct - just as good as possible. --Tjr 10:34, 17 March 2012 (UTC)

In the NAO xlogfiles, there are plenty of cases of maxlvl<deathlev for the quest, and then this sole exception:

version=3.4.3:points=1851:deathdnum=0:deathlev=6:maxlvl=0:hp=0:maxhp=45:deaths=1:deathdate=20101123:birthdate=20101123:uid=5:role=Ran:race=Hum:gender=Mal:align=Cha:name=krause:death=killed by a water moccasin:conduct=0xf80:turns=3164:achieve=0x0:realtime=2475:starttime=1290471032:endtime=1290473526:gender0=Mal:align0=Cha

What's going on there? --Tjr 11:05, 17 March 2012 (UTC)

help resolving content dispute

I think the recent revert of my edit to the article is erroneous. Specifically, I believe that bones left on the 4th level of the Gnomish mines can show up on different dungeon levels depending on what floor the stairs to the mines are. Part of my reason for believing this is that I got killed by an Arch-lich on dungeon level 7, 1 level below Minetown. After TJR did some digging, he found that I had loaded bones that were originally from lvl 8 or lvl 9, and we then went on to assume that there was a polytrap on lvl 8. (see TJR's post on RGRN at!topic/ This misconception that "level 7 is always level 7" is exactly what my edits are trying to address. Twice I have added in something that I felt would be helpful, and twice the edit has been removed. Can we get a 3rd party to weigh in on this? thanks, Derekt75 01:37, 6 March 2012 (UTC)

this number is offset from the first of the branch appropriate - i.e. if the bones are on the second level of the mines, the filename would be "bonM0.2"
I see what you mean now. My mistake. -- Qazmlpok 03:04, 6 March 2012 (UTC)
cool; thanks. Derekt75 03:26, 6 March 2012 (UTC)
should we just delete this section? I don't think it serves any purpose now? Derekt75 03:28, 6 March 2012 (UTC)
No, it's usually for the best to never delete anything from talk pages (except for complete garbage e.g. spam) -- Qazmlpok 03:52, 6 March 2012 (UTC)

Special Enemy Cases

Similar to the items list, and depending on how many cases exist, a section should be made on how certain enemies are handled when creating bones; though the only case I'm aware of is that Rodney is removed from any bones files. 22:00, 3 July 2012 (UTC)

UnNethank, N bone

I play UnNethack and via hearse I received bonD0.N - not mentioned Bones#Bones_files_locations. What is this? Bulwersator (talk) 10:58, 12 September 2012 (UTC)

This is the Nymph level. It can generate bones in Slash'Em as well, probably doesn't often because Slash'Em has so many branches that disallow bones creation. --Bhaak (talk) 11:07, 12 September 2012 (UTC)
Thanks! Bulwersator (talk) 11:08, 13 September 2012 (UTC)

3. 6. 0

Monster rising message No longer guarantees bones generation ——Rancalred (talk) 00:18, 18 February 2016 (UTC)