Difference between revisions of "Talk:NetHack 3.0.0"
Ray Chason (talk | contribs) (Wanting to be extra sure this is right) |
(→3.0.0 information on articles: new section) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Y'all have probably noticed that I haven't written up a new version in a while. The easiest thing to do is usually to copy the page for version N and modify it to be correct for version N+1. But 3.0.0 is such a quantum leap over 2.3e that there's a lot of possibility of error, which could then propagate into succeeding writeups and then I have to go back and correct them all. So I want to review this one with a fine-toothed comb and be sure I have it right before I write up 3.0.1.[[User:Ray Chason|Ray Chason]] 03:33, 29 July 2006 (UTC) | Y'all have probably noticed that I haven't written up a new version in a while. The easiest thing to do is usually to copy the page for version N and modify it to be correct for version N+1. But 3.0.0 is such a quantum leap over 2.3e that there's a lot of possibility of error, which could then propagate into succeeding writeups and then I have to go back and correct them all. So I want to review this one with a fine-toothed comb and be sure I have it right before I write up 3.0.1.[[User:Ray Chason|Ray Chason]] 03:33, 29 July 2006 (UTC) | ||
+ | :''Keys have shapes that fit specific locks'' - this is interesting. Could you explain how this worked? Possibly in a History section on [[Unlocking tools]]. --[[User:Jayt|Jayt]] 10:19, 29 July 2006 (UTC) | ||
+ | ::Diving into the 3.0.0 source, I find this bit of code in src/objnam.c (which no longer exists in 3.4.3): | ||
+ | <pre> | ||
+ | /* We want the player to be able to learn what key goes in what lock. */ | ||
+ | const char *keystr[N_LOX] = { "round", "square", "triangular", "oval", | ||
+ | "octagonal", "hexagonal", "cylindrical", | ||
+ | "irregular", "conical", "wedge-shaped" }, | ||
+ | *lockstr[N_LOX] = { "round", "square", "triangular", "oval", | ||
+ | "octagonal", "hexagonal", "wide", | ||
+ | "notched", "large round", "large square" }; | ||
+ | </pre> | ||
+ | ::You could use a round key to open a chest with a round keyhole, but it wouldn't fit a square keyhole. Keys had the appearances noted above in keystr; chests and large boxes had the appearances in lockstr. I haven't figured out how this works for doors. It furthermore appears to be quicker to use the "right" key than a skeleton key. --[[User:Ray Chason|Ray Chason]] 16:05, 29 July 2006 (UTC) | ||
+ | |||
+ | ::OK, I figured out how the shaped keys work with doors: they don't. Shaped keys can't open doors at all. Quoth [[NetHack 3.0.10]] lock.c, lines 293-310: | ||
+ | |||
+ | <pre> | ||
+ | switch(picktyp) { | ||
+ | case CREDIT_CARD: | ||
+ | ch = 2*ACURR(A_DEX)+(20*(pl_character[0] == 'R')); | ||
+ | break; | ||
+ | case LOCK_PICK: | ||
+ | ch = 3*ACURR(A_DEX)+(30*(pl_character[0] == 'R')); | ||
+ | break; | ||
+ | case SKELETON_KEY: | ||
+ | ch = 70 + ACURR(A_DEX); | ||
+ | break; | ||
+ | case KEY: | ||
+ | pline("The %s won't fit the door.", xname(pick)); | ||
+ | return(1); | ||
+ | default: ch = 0; | ||
+ | } | ||
+ | </pre> | ||
+ | :: One history section coming up. -- [[User:Ray Chason|Ray Chason]] 18:50, 6 August 2006 (UTC) | ||
+ | |||
+ | == 3.0.0 information on articles == | ||
+ | |||
+ | I noticed this a while ago, but I'm bringing it up more formally - there's not a lot of mention about the fact that 3.0.0 introduced much of the current bestiary and object list ("treasury"...?) for current versions of NetHack. We've got a detailed history of [[Wizard of Yendor|Rodney's dwellings]], though - and we should, of course - so why not elaborate similarly on historical notes for other monsters, as I've been trying to do (and have done/helped with in cases like [[Medusa]] and [[Medusa's Island|her dwelling]])? Anyone have any input for this? --[[User:Umbire the Phantom|Umbire the Phantom]] ([[User talk:Umbire the Phantom|talk]]) 13:37, 13 May 2021 (UTC) |
Latest revision as of 13:37, 13 May 2021
Y'all have probably noticed that I haven't written up a new version in a while. The easiest thing to do is usually to copy the page for version N and modify it to be correct for version N+1. But 3.0.0 is such a quantum leap over 2.3e that there's a lot of possibility of error, which could then propagate into succeeding writeups and then I have to go back and correct them all. So I want to review this one with a fine-toothed comb and be sure I have it right before I write up 3.0.1.Ray Chason 03:33, 29 July 2006 (UTC)
- Keys have shapes that fit specific locks - this is interesting. Could you explain how this worked? Possibly in a History section on Unlocking tools. --Jayt 10:19, 29 July 2006 (UTC)
- Diving into the 3.0.0 source, I find this bit of code in src/objnam.c (which no longer exists in 3.4.3):
/* We want the player to be able to learn what key goes in what lock. */ const char *keystr[N_LOX] = { "round", "square", "triangular", "oval", "octagonal", "hexagonal", "cylindrical", "irregular", "conical", "wedge-shaped" }, *lockstr[N_LOX] = { "round", "square", "triangular", "oval", "octagonal", "hexagonal", "wide", "notched", "large round", "large square" };
- You could use a round key to open a chest with a round keyhole, but it wouldn't fit a square keyhole. Keys had the appearances noted above in keystr; chests and large boxes had the appearances in lockstr. I haven't figured out how this works for doors. It furthermore appears to be quicker to use the "right" key than a skeleton key. --Ray Chason 16:05, 29 July 2006 (UTC)
- OK, I figured out how the shaped keys work with doors: they don't. Shaped keys can't open doors at all. Quoth NetHack 3.0.10 lock.c, lines 293-310:
switch(picktyp) { case CREDIT_CARD: ch = 2*ACURR(A_DEX)+(20*(pl_character[0] == 'R')); break; case LOCK_PICK: ch = 3*ACURR(A_DEX)+(30*(pl_character[0] == 'R')); break; case SKELETON_KEY: ch = 70 + ACURR(A_DEX); break; case KEY: pline("The %s won't fit the door.", xname(pick)); return(1); default: ch = 0; }
- One history section coming up. -- Ray Chason 18:50, 6 August 2006 (UTC)
3.0.0 information on articles
I noticed this a while ago, but I'm bringing it up more formally - there's not a lot of mention about the fact that 3.0.0 introduced much of the current bestiary and object list ("treasury"...?) for current versions of NetHack. We've got a detailed history of Rodney's dwellings, though - and we should, of course - so why not elaborate similarly on historical notes for other monsters, as I've been trying to do (and have done/helped with in cases like Medusa and her dwelling)? Anyone have any input for this? --Umbire the Phantom (talk) 13:37, 13 May 2021 (UTC)