Difference between revisions of "User talk:Ion frigate"
Ion frigate (talk | contribs) (reply - shouldn't be too hard) |
Ion frigate (talk | contribs) (→SLASH'EM role subpages: - reply) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 219: | Line 219: | ||
I'm coming here because I don't know all that much about homebrewing templates and can only iterate from very specific ones: How possible would it be to have a "downgraded" version of [[Template:Monster]] that covers monster information for pre-[[NetHack 3.0.0]] versions, e.g. for things like [[Source:NetHack 2.3e/monst.c]] - the idea is to have a table large enough to cover monster level, speed, AC, MR, and damage die along with any other relevant attributes of the monster in that version without too many empty fields (ideally none at all), so that it can be used in articles such as [[User:Umbire the Phantom/Demon|this draft]] I have parked. Gonna be passing this along to Cathartes (who knows templates also) and Bhaak (who helped me figure out ancient 1.3d monster code) as well. --[[User:Umbire the Phantom|Umbire the Phantom]] ([[User talk:Umbire the Phantom|talk]]) 17:31, 14 July 2024 (UTC) | I'm coming here because I don't know all that much about homebrewing templates and can only iterate from very specific ones: How possible would it be to have a "downgraded" version of [[Template:Monster]] that covers monster information for pre-[[NetHack 3.0.0]] versions, e.g. for things like [[Source:NetHack 2.3e/monst.c]] - the idea is to have a table large enough to cover monster level, speed, AC, MR, and damage die along with any other relevant attributes of the monster in that version without too many empty fields (ideally none at all), so that it can be used in articles such as [[User:Umbire the Phantom/Demon|this draft]] I have parked. Gonna be passing this along to Cathartes (who knows templates also) and Bhaak (who helped me figure out ancient 1.3d monster code) as well. --[[User:Umbire the Phantom|Umbire the Phantom]] ([[User talk:Umbire the Phantom|talk]]) 17:31, 14 July 2024 (UTC) | ||
:Oh, that should be quite doable. The "fancy" version would be to build a dynamic template that knows not to try to display empty fields - *that* might take a while - but creating a stripped-down static version that has just a few attributes shouldn't be hard. We might have to make a couple different versions of the template for different versions of NetHack, but I'm guessing that would still be less work than creating a dynamic template. -[[User:Ion frigate|Ion frigate]] ([[User talk:Ion frigate|talk]]) 22:51, 15 July 2024 (UTC) | :Oh, that should be quite doable. The "fancy" version would be to build a dynamic template that knows not to try to display empty fields - *that* might take a while - but creating a stripped-down static version that has just a few attributes shouldn't be hard. We might have to make a couple different versions of the template for different versions of NetHack, but I'm guessing that would still be less work than creating a dynamic template. -[[User:Ion frigate|Ion frigate]] ([[User talk:Ion frigate|talk]]) 22:51, 15 July 2024 (UTC) | ||
+ | |||
+ | :Yeah, currently I'm only looking for the pre-3.0.0 versions since the monster info structure is the same across most if not all of those. Means we'd only need the one extra template to cover all of those. --[[User:Umbire the Phantom|Umbire the Phantom]] ([[User talk:Umbire the Phantom|talk]]) 22:58, 15 July 2024 (UTC) | ||
+ | |||
+ | :Tried it out and it works like a dream - thanks a bunch for the advice! --[[User:Umbire the Phantom|Umbire the Phantom]] ([[User talk:Umbire the Phantom|talk]]) 12:21, 1 August 2024 (UTC) | ||
+ | |||
+ | ==SLASH'EM role subpages== | ||
+ | Working on giving proper subpages to all SLASH'EM roles - in the case of vanilla that means actually creating the subpage in a lot of cases and pruning for accuracy; I also wanna try to diversify the suggested strategies as well (e.g. for ascension kits). So naturally, your expertise among others is highly appreciated, and don't worry, I'll be tagging other folks as well. :B | ||
+ | |||
+ | So far, I've knocked out pages for [[Archeologist/SLASH'EM|Archeologists]] and [[Barbarian/SLASH'EM|Barbarians]], with plans to go over the [[Caveman]] role next. --[[User:Umbire the Phantom|Umbire the Phantom]] ([[User talk:Umbire the Phantom|talk]]) 12:21, 1 August 2024 (UTC) | ||
+ | |||
+ | :I will take a look - sorry for disappearing for a while (again). Life has unfortunately been eventful. -[[User:Ion frigate|Ion frigate]] ([[User talk:Ion frigate|talk]]) 06:31, 15 August 2024 (UTC) |
Latest revision as of 06:31, 15 August 2024
Contents
- 1 Welcome!
- 2 Thanks for fleshing out the Tools table
- 3 Nomination
- 4 Account
- 5 Acid Mage role
- 6 Deferred SLEX features
- 7 Talk page deletion
- 8 Hits as +x/need +x to hit
- 9 Magic portal placement
- 10 Zombie Mines
- 11 SLASH'EM kobolds
- 12 Zouthern animals
- 13 Elven arrows
- 14 Lava
- 15 Murder
- 16 Black trolls
- 17 Deletion
- 18 Toilet rats
- 19 Cerberus
- 20 Wand of cancellation
- 21 Other requests
- 22 Drow
- 23 Dragon (SLASH'EM)
- 24 Line refs
- 25 Template:Monster
- 26 SLASH'EM role subpages
Welcome!
Hi! Welcome, and thanks for contributing to NetHackWiki!
- The How to help and Style guide pages are excellent starting points.
- Recent changes is a great first stop, because you can see what other people are editing right this minute, and where you can help.
- Questions? Need help? You can ask on my talk page, at the Community Portal or on the talk page associated with each article! Just remember to sign those posts with four tildes: ~~~~. That will expand to create a signature.
I'm really happy to have you here, and look forward to working with you! -- Paxed (Talk) 13:58, December 22, 2009
- Observations about Crawl: The interface is much, much better than nethack's. [...] Pressing ^p brings up a full-screen display of your latest messages, instead of one by one.
- Options msg_window=reversed in nethack - Cheers 62.80.22.186 11:19, April 9, 2010 (UTC)
Thanks for fleshing out the Tools table
You were very prompt. Thefifthsetpin 01:51, September 26, 2010 (UTC)
- You're welcome! The table format makes it much easier to give that information, so thanks for doing that. -Ion frigate 22:08, September 26, 2010 (UTC)
Nomination
Hi, would you like to become an admin? Discussion here: Forum:New_admins. --Tjr 21:34, 3 October 2011 (UTC)
- I'd be willing to do that; this wiki is pretty quiet, so I don't imagine it'd be a huge time-suck or anything like that. -Ion frigate 14:26, 4 October 2011 (UTC)
Account
So my account may very well have been hacked. The password has been changed, and apparently the email has been cleared. I'd suggest removing the admin bit in the meantime. Ask me anything to confirm that this is me. -96.231.155.177 06:27, 30 March 2012 (UTC)
- EMail me (paxed at alt) from the email you used for your NAO username and I'll manually reset your password. --paxed 06:51, 30 March 2012 (UTC)
- I have two separate email addresses (one is very obviously my screenname); I can't honestly remember which one I used, so I'll email you from both.
- Done, I think.
- I have two separate email addresses (one is very obviously my screenname); I can't honestly remember which one I used, so I'll email you from both.
Acid Mage role
...still exists in THEM, and I had literally just tagged it for a retool before you went and deleted it. The talk page I linked you to outright discusses as much, saying that the SLEX content should be removed while leaving everything else. --Umbire the Phantom (talk) 22:50, 4 October 2022 (UTC)
- Yes, I saw that - I just didn't know that one is in THEM (haven't played it, and it wasn't mentioned in the article itself). I'm going to let you go through and tag the articles in that category before I start deleting them (I undeleted the Acid Mage pages). Thanks for your help here! Ion frigate (talk) 22:52, 4 October 2022 (UTC)
- Sure - just double-check the repo if you're not sure something still exists within THEM that was in SLEX. You want the "develop" branch to be absolutely clear - I should have everything properly tagged in one pass, but that's there in case I miss anything. --Umbire the Phantom (talk) 22:54, 4 October 2022 (UTC)
- As for Amy's userpages... I don't know actually. I'm inclined to leave them, but probably worth asking other admins/users about - can't say for sure. --Umbire the Phantom (talk) 23:29, 4 October 2022 (UTC)
- Yeah, my view is that those are certainly less urgent, since they shouldn't be indexed by Google and casual readers of the wiki wouldn't find them. Ion frigate (talk) 23:37, 4 October 2022 (UTC)
- Turns out they're only categorized in the first place because they were direct-linked rather than given a leading colon to pothole them properly - solves that problem, and I'm done with de-SLEXing the relevant pages in those categories - do what you please with the rest. --Umbire the Phantom (talk) 00:33, 5 October 2022 (UTC)
Deferred SLEX features
What do you (and others but I'm leading with you first) say to listing the really sparse stuff that's deferred/commented out in SlashTHEM on its own article? --Umbire the Phantom (talk) 03:31, 5 October 2022 (UTC)
- Yeah I think that's a good idea, something like Deferred feature (SlashTHEM). I'm going to finish what I'm doing for now (there's only five or so articles left), but feel free to combine those articles into one, and redirect the stubs there. Ion frigate (talk) 03:33, 5 October 2022 (UTC)
Talk page deletion
Not that I think it's pressing we go over the talk pages of articles we agreed to remove and undo it all immediately, but in the future would it be fine to leave a deleted article's talk page up if there's discussion on it related to why it was deleted? --Umbire the Phantom (talk) 12:35, 6 October 2022 (UTC)
- I'm not averse to preserving deletion discussions, but I personally don't want to leave talk pages for (now) non-existent articles. The standard practice on Wikipedia is to have a deletion discussion in project space (Articles for Deletion), and link to that discussion in the deletion summary. While I don't think we need to implement a formal AfD system like Wikipedia has, perhaps we could make a project page to archive deletion discussions to? That way, anyone looking to create the page will see a link showing why it was deleted.
- If there are concerns about preserving talk page history, we could instead move the talk pages to somewhere in project space - something like moving it to NetHackWiki:Deleted_article_discussions/Item_(SLASH'EM Extended). I just don't want to leave orphaned talk pages in article talk space - though if the general consensus is to do so, I'll go along with it. Ion frigate (talk) 18:35, 6 October 2022 (UTC)
- I don't see why talk pages need to be deleted. Wikipedia is orders of magnitude larger than NetHackWiki is and ever will be, so it needs orders of magnitude more bureaucracy. On our relatively small wiki, anybody interested in goings-on can usually keep up with Special:RecentChanges by just checking it once per day (or even once per week, when there's not a massive project like deslexing going on), so we don't really need a central place like AfD for people to find deletion discussions. The deletion process is basically to tag stuff with Template:Delete, and if anybody contests it, they can remove the tag and give a reason in the edit summary, or discuss it on the most natural place to do so – the talk page, which is also a natural place for someone to look for a deletion discussion after the page is deleted (if there is not a link to the discussion in the deletion reason, which there is in most of the recent slex-related deletions). We could have a category to keep track of talk pages containing deletion discussions.
- We could have admins do something like moving the deletion discussion to some other place and linking it in the deletion reason if they really don't like orphaned talk pages, but I think that is just unnecessary work for negligible (if any) benefit. However, if the admins want to do it that way, they're the ones who have to do it, and I don't oppose it. Cathartes (talk) 01:08, 7 October 2022 (UTC)
- Alright, it seems that's the general consensus here. I'm undeleting the first talk page (Talk:Kobolt) I deleted, since that was where I asked what was happening with the SLEX articles (I hadn't known about the whole fracas before that). Most the other articles I deleted didn't have talk pages, and of those that did I'm pretty sure most or all weren't deletion discussions, but let me know if there any others you think should be undeleted. In the future, I'll leave talk pages up if there are deletion discussions on them. Ion frigate (talk) 05:35, 7 October 2022 (UTC)
Hits as +x/need +x to hit
Since you know SLASH'EM more than I do and tend to be more active on the wiki, mind looking over those articles and the related pages I touched up? --Umbire the Phantom (talk) 16:34, 29 July 2023 (UTC)
- No problem. Found some more peculiarities in wizard-mode testing, actually. -Ion frigate (talk) 00:28, 30 July 2023 (UTC)
Magic portal placement
> (i feel like "only one portal per level" is some arcane artifact of nethack's dungeon generation code, but i can't find it)
It's not the portal placement that's the problem. You could have multiple portals on the same level even in vanilla.
The problem is that the code in vanilla doesn't account for multiple portals when you are transported to such a level. The code goes over the list of traps, trying to find a magic portal. You would come out of whatever portal is first in that list, regardless from where you're coming.
The code is here: https://github.com/NetHack/NetHack/blob/56159742c26/src/do.c#L1652
For making the VotD the portal hub, I had to fix this in UnNetHack. It wasn't that difficult but it was so not necessary to add this to vanilla. https://github.com/UnNetHack/UnNetHack/blob/a1a7abf3afc/src/do.c#L1574 Bhaak (talk) 08:35, 27 October 2023 (UTC)
- Oh cool, something to cite when I update the article! --Umbire the Phantom (talk) 08:39, 27 October 2023 (UTC)
- Ah, thanks to you both! Not where I thought the problem was, but more or less the type of thing I thought would cause it, i.e. that something would break if you had more than one portal per level. -Ion frigate (talk) 23:54, 29 October 2023 (UTC)
Zombie Mines
Regarding SLASH'EM code, I just peeked at it again - does that substitution only happen for player dwarves and gnomes? --Umbire the Phantom (talk) 01:39, 8 November 2023 (UTC)
- Yeah, that bit of code is confusing, but Race_if is referring to the player. Because of the way NetHack uses actual monsters to "build" the player, the properties it's checking against (PM_DWARF, PM_GNOME) are in fact the same as some of the substitutions it's making. Race_if is an alias to "urace.malenum == (X)" in you.h, and the slightly more usefully named "urace.malenum" is (I think) defined in u_init.c as part of the struct (equivalent to a class in Java, it's an arbitrary data store; priests, pets, and shopkeepers also have structs) that accompanies the player.
- NetHack's code is confusing, to say the least, but this very much squares with my own experience - lawful and neutral non dwarf/gnomes find plenty of peaceful (living) Mines inhabitants -Ion frigate (talk) 06:17, 8 November 2023 (UTC)
And the substitutions that replace them with undead in SLASH'EM only apply to those player races, yes? --Umbire the Phantom (talk) 06:48, 8 November 2023 (UTC)
- Yeah, only to player gnomes and dwarves. It doesn't even check if the monsters being substituted would have been peaceful - just that the player is a gnome or a dwarf, and they're in the Gnomish Mines. -Ion frigate (talk) 07:11, 8 November 2023 (UTC)
- All I needed, thank you. I imagine they would be de facto peaceful to all available dwarf/gnome roles. --Umbire the Phantom (talk) 07:28, 8 November 2023 (UTC)
- No problem; and yeah, they would be, but if someone decided to add something like the Convict role to SLASH'EM, gnomish and dwarvish ones would still see a zombified mines, even though the living one would be hostile as well. Hard to say whether that would be intended behavior.
- And I see you found my longer write-up at Gnomish Mines - feel free to edit it for style/brevity. -Ion frigate (talk) 07:41, 8 November 2023 (UTC)
- All I needed, thank you. I imagine they would be de facto peaceful to all available dwarf/gnome roles. --Umbire the Phantom (talk) 07:28, 8 November 2023 (UTC)
SLASH'EM kobolds
Split off the page proper into each of the monster pages and made a redirect of it - I feel like it isn't needed anymore but I'm leaving that up to your call. Also wondering if you can't supply a bit of basic strategy stuff to the new monster pages. --Umbire the Phantom (talk) 23:52, 11 November 2023 (UTC)
- Ah thanks - yeah, I'll put up some basic strategy sections. I think you're probably right that we don't need the base page anymore, though of course we'll want to check "What links here" for all such pages. -Ion frigate (talk) 07:04, 12 November 2023 (UTC)
- Which is... what I normally do - there's only a reference on a talk page and a user page. --Umbire the Phantom (talk) 07:15, 12 November 2023 (UTC)
Zouthern animals
Just split off the articles for a proper monster class page - poking you to see what you can offer for each article far as SLASH'EM is concerned. I'll pass over each article individually after some well-needed rest. --Umbire the Phantom (talk) 18:00, 16 November 2023 (UTC)
- Sure, I'll take a look through them. -Ion frigate (talk) 21:40, 16 November 2023 (UTC)
Elven arrows
Does the multishot bonus for SLASH'EM elven arrows only apply when firing them from a bow? --Umbire the Phantom (talk) 17:22, 24 November 2023 (UTC)
- Yeah, it only applies to firing them from a bow (but works for any bow, not just elven ones). The relevant line in dothrow.c is 161 - it checks if you have matching ammo and launcher (or are using darts, daggers, or shuriken) before applying any multishot bonuses, including that 1 in 3 chance for elven arrows. -Ion frigate (talk) 18:10, 24 November 2023 (UTC)
- Noted. Thanks. --Umbire the Phantom (talk) 18:21, 24 November 2023 (UTC)
Lava
How frequently does lava occur above Gehennom in Slash'EM, if at all? This is tangentially related to the troll mummy article. --Umbire the Phantom (talk) 11:01, 12 December 2023 (UTC)
- I'm 100% sure it generates on a couple Sokoban levels, and about 99% sure you can (rarely) get a maze level with lava walls between Medusa and the Castle. There's also some on the Lawful Quest, and the Fire Mage quest. As far as I know it never randomly appears on ordinary room-and-corridor levels. -Ion frigate (talk) 13:44, 12 December 2023 (UTC)
- Right, then I was correct to hedge my bets. Thanks for the response! --Umbire the Phantom (talk) 14:07, 12 December 2023 (UTC)
Murder
Cited you in the formal issue I brought up regarding human monsters and the quirk regarding murder penalties that you found ages ago (apologies for not believing it at first, by the by). --Umbire the Phantom (talk) 03:01, 17 December 2023 (UTC)
- Ah thanks! And yeah, it is definitely a weird quirk, I can understand not believing it initially. FWIW, I actually *did* discover it in a standard game. It was in Grund's Stronghold; looking at the .des file, it has a guaranteed human corpse; either I zapped a wand of undead turning at it, or it revived randomly (this is something that seems to happen on SLASH'EM special levels, pre-generated corpses randomly reviving; I've also seen it in the VotD and the Lawful Quest - maybe it's a graveyard thing?). In any case, I killed said human and got called a murderer, and after wiztesting and looking at the murder article, I realized what was happening.
- The fix would seem to be simple: change the "non-positive alignment" to "negative alignment", so you'd never get murder penalties for killing something that gives 0 alignment. But that itself introduces another corner case: the alignment gain from killing a peaceful, cross-aligned "sometimes peaceful" monster (possible on special levels) is "same as hostile" - meaning that killing a peaceful human also gives 0 alignment to lawfuls (just wiztested this - you get -1 for angering the human, but nothing for killing it), and under such a change would not be considered murder.
- The real fix would be to completely rethink murder. Make a monster flag - M2_MURDERABLE or something - and make it so that killing any initially peaceful monster with that flag is murder. That would also get around the weirdly human-centric nature of murder, a minor plus in my view. -Ion frigate (talk) 08:31, 17 December 2023 (UTC)
Black trolls
Does G_HELL prevent black trolls from generating on the Barbarian quest in SLASH'EM? I'm not sure where I'd check for that ordinarily. --Umbire the Phantom (talk) 12:03, 31 December 2023 (UTC)
- The answer is that it does not, but black trolls do seem to be very unlikely to generate there normally. The relevant code is in makemon.c, the function
pm_mkclass
. It does not appear to have any dependence on G_HELL, which is checked for in the functionuncommon
(in the same file); neither G_HELL noruncommon
is found inpm_mkclass
. - However, there is a level difficulty check in there - that C code is opaque, but comments seem to indicate that it's probabilistic, with harder monsters being a lot less likely. More concretely, in wizard mode I was able to get a black troll to generate by barricading myself in with a boulder and a ring of slow digestion, and sitting and waiting for 15000+ turns. Eventually one turned up. You can speed this process up somewhat by pushing up the level difficulty by grabbing the Amulet of Yendor from the Sanctum, but even then it still took several thousand turns. -Ion frigate (talk) 02:10, 1 January 2024 (UTC)
- Make that 62000 turns without juicing the level difficulty with the Amulet - first one was actually a rock troll that hit a polytrap. So yes, pretty unlikely. -Ion frigate (talk) 02:17, 1 January 2024 (UTC)
- Noted. Thank you - also, poison instadeath for characters still exists in SLASH'EM, right? --Umbire the Phantom (talk) 11:55, 1 January 2024 (UTC)
- Oh, most definitely (lost enough characters to it) -Ion frigate (talk) 21:00, 1 January 2024 (UTC)
- Thought so. Yeoman article briefly claimed otherwise for god knows however long, just fixed it. --Umbire the Phantom (talk) 22:10, 1 January 2024 (UTC)
- Oh, most definitely (lost enough characters to it) -Ion frigate (talk) 21:00, 1 January 2024 (UTC)
- Christ, one last thing and then hopefully I'm done - I meant to ask if throne looting can generate black trolls as well, or if G_HELL actually comes up there. --Umbire the Phantom (talk) 23:27, 1 January 2024 (UTC)
- Looks like it does generate them, ultimately for the same reason as the Barbarian quest: the codepath here is nice and circuitous, but pickup.c calls the function
courtmon
when generating a monster from throne looting, which itself is found (of all places) in mkroom.c;courtmon
is just a weighted choice between a bunch ofmkclass
calls for each monster type that can appear in a throne room - including trolls - andmkclass
just callspm_mkclass
in makemon.c. So the same argument applies: G_HELL and theuncommon
function never come up anywhere along that bit of spaghetti code, so black trolls should generate in throne rooms and from confused throne looting. - And anecdotally, I'm like 99% certain I've seen them generate in throne rooms. Why? Because until you told me, I wasn't even aware black trolls were a Gehennom-only monster, and that seems a lot more likely if they do in fact appear in the many throne rooms that will generate on a SLASH'EM run (SLASH'EM's willingness to generate >1 special room per level means you see a lot of throne rooms). -Ion frigate (talk) 07:29, 2 January 2024 (UTC)
- Looks like it does generate them, ultimately for the same reason as the Barbarian quest: the codepath here is nice and circuitous, but pickup.c calls the function
- All duly noted. I take it you also would've spotted if G_HELL and
uncommon
came up anywhere during normal throne room population as well - pending confirmation that they don't, I'll uncomment that bit of text that's prompted this line of questioning. --Umbire the Phantom (talk) 07:36, 2 January 2024 (UTC)- Yep - just wizmode confirmed that they do generate in throne rooms, and yeah, G_HELL/uncommon are nowhere to be found in that codepath either. -Ion frigate (talk) 08:32, 2 January 2024 (UTC)
- Good on ya, now I can finally resolve all that - thanks again!! --Umbire the Phantom (talk) 08:36, 2 January 2024 (UTC)
- No problem - thanks for updating all those monster class articles! -Ion frigate (talk) 10:54, 2 January 2024 (UTC)
Deletion
I think there's some other articles that've been sitting in the deletion category and are long overdue to be removed - I'm referring specifically to "lazy spelling" stuff like the centpede redirect you just tossed that we definitely shouldn't need, and various old leftovers from pagemoves (including a few rooted to my userpage). The plural stuff can work for people searching, and I decided it isn't that much trouble to leave them, though I haven't removed the deletion templates from all of those yet (still working on that). --Umbire the Phantom (talk) 20:38, 4 January 2024 (UTC)
Toilet rats
...so according to line 680 of fountain.c, quaffing from a toilet as a d has a chance to generate sewer rats. More than that, I'm pondering a couple of clarifications:
- Does attempting to quaff as any other monster run through all those same cases?
- If falling through into those cases, is it 2/9 for the baby crocodile case and 4/9 for the default case?
No rush, answer whenever you have time. Umbire the Phantom (talk) 21:59, 29 January 2024 (UTC)
- Yep, quaffing as any monster *other* than a dog (including your base form) is guaranteed to run through that switch statement (sewer rats, puddings, etc). Doing so as a dog has 4/5 chance of giving nutrition, and a 1/5 chance of running through the same switch statement (they are mutually exclusive, i.e. you won't get nutrition *and* sewer rats, because of the return in the if statement for being a dog - it exits the function before reaching the switch statement).
- And yes, you're right about the chances (2/9 for baby crocodiles, 4/9 for gagging and vomiting, 1/9 for the others) - that error's been there for over a decade it seems (oops!). -Ion frigate (talk) 20:29, 2 February 2024 (UTC)
Cerberus
In SLASH'EM and SlashTHEM, Cerberus is set as G_UNIQ|G_HELL|1 - does that mean he can generate randomly, and in any event have you ever encountered him? --Umbire the Phantom (talk) 15:54, 10 March 2024 (UTC)
- So I have not encountered him. My reading of the (very labyrinthine) code in makemon.c suggests that G_UNIQ is roughly equivalent to G_NOGEN for random monster generation: specifically, it causes the function
uncommon
to return true, which is checked byrndmonst
with the comment "shouldn't happen" (in fact causing a "program in disorder" message if it does).rndmonst
is itself called during normal monster generation inmakemon
, when it comes time to choose a monster to generate. - It seems having a frequency still isn't enough for a G_UNIQ monster to generate through ordinary monster generation. This makes sense: Cerberus is actually not the only such monster (G_UNIQ, has a frequency, not G_NOGEN): the rat king and Ruggo the Gnome King are similar, and I've never seen either of them generate outside of their pre-defined levels, despite having left the Mine King level pretty late in some games. -Ion frigate (talk) 19:04, 10 March 2024 (UTC)
- I suspected as much, unfortunately, but thank you for at least confirming as much. Aside from trying to fill out deferred monster info, I was also pondering how exactly one would go about generating a unique monster randomly in the style of, say, Jumbo the Elephant but without relying on a special room. --Umbire the Phantom (talk) 22:05, 10 March 2024 (UTC)
- Well, supposedly
mkclass
, the function used to (for example) generate a random h or G in the Mines, can be set to allow uniques to be generated (it doesn't by default). But realistically, other than hard-coded special cases like Jumbo, the best way to get DCSS-style randomly generated uniques would (unfortunately) likely just be to rewrite the monster generation code to allow for it. It wouldn't even need a complete rewrite (although that would be cleaner) - something like adding a 1/30 chance tomakemon
to try to generate a unique monster of appropriate difficulty (and presumably without G_NOGEN) in place of a normal monster would do it, sort of like how artifact generation works. -Ion frigate (talk) 00:05, 11 March 2024 (UTC)
- Well, supposedly
- Yeah, about figures as well. Gonna have to inquire further elsewhere so I don't pester you too much about specifically that, haha.
- On the note of pestering, I'm in the process of splitting Nighthorn into SLASH'EM and dNetHack pages - overdue since both the artifact and Nightmare in each variant are radically different. Was wondering what strategy revisions you could suggest for the former: I found the old advice pretty flawed even for the time and tried to adjust accordingly, but given you play SLASH'EM way more than I do, you'll likely have insight that I lack. --Umbire the Phantom (talk) 10:30, 11 March 2024 (UTC)
- I suspected as much, unfortunately, but thank you for at least confirming as much. Aside from trying to fill out deferred monster info, I was also pondering how exactly one would go about generating a unique monster randomly in the style of, say, Jumbo the Elephant but without relying on a special room. --Umbire the Phantom (talk) 22:05, 10 March 2024 (UTC)
Wand of cancellation
There's a comment left in the SLASH'EM section that needs looking into, and you probably know SLASH'EM the best out of people I can inquire to about this - think you could take a peek and make sure that section is accurate? --Umbire the Phantom (talk) 01:45, 24 March 2024 (UTC)
- Just checked it - that's correct, it checks max but not current HP. It's indeed ordinarily fatal, but an amulet of life saving will leave you in the fantastically survivable position of having 1(1) HP (as will choosing not to die in wizard or explore mode, which are probably more what that exception was written for). -Ion frigate (talk) 05:48, 28 March 2024 (UTC)
- Lmao how thoughtful of them. Thanks! --Umbire the Phantom (talk) 06:05, 28 March 2024 (UTC)
Other requests
Since you're around at the moment, there's a couple of other things I'd like looked at, in rough order of priority:
- Sacrifice: Finished a big update of the article to 3.6.7, included and touched up several other variants in the process. I'd like multiple eyes on it to make sure I didn't miss anything in the process, so it's alright if you can't fact-check everything.
- Luckblade (SLASH'EM): Split off the luckblades since the SLASH'EM ones were p. independent of the Convict patch
No rush at all, just get to them when you can if you can, alright? --Umbire the Phantom (talk) 06:05, 28 March 2024 (UTC)
- Oh, and if you happen to know origin stuff for a given article feel free to pitch that in as well. --Umbire the Phantom (talk) 06:25, 28 March 2024 (UTC)
Drow
The SLASH'EM drow has a proper article now - any insights you can provide to flesh out the strategy section or anything else are appreciated, given it'll be A While before I sit and do the origin blurb for all things drow-related. --Umbire the Phantom (talk) 19:44, 26 May 2024 (UTC)
- Sure, no problem; let me know if there are any others you want me to look at. -Ion frigate (talk) 06:16, 27 May 2024 (UTC)
Dragon (SLASH'EM)
As part of redoing the article on the dragon monster class and its individual monsters, I've started moving to SLASH'EM stuff as well - shimmering dragon (SLASH'EM) is the first one I've done up, but I think you can give more comprehensive strategy advice than me and I still have other articles to get to before I eventually redo that first linked page. --Umbire the Phantom (talk) 21:41, 27 June 2024 (UTC)
- Secondary question: Do you know where SLASH'EM handles magic resistance for baby gray dragons and baby shimmering dragons (assuming the latter have it)? --Umbire the Phantom (talk) 22:10, 27 June 2024 (UTC)
- I'm not Ion, but looks like SLASH'EM does it the same as vanilla: Source:SLASH'EM 0.0.7E7F2/mondata.c#line79: monster has AD_MAGM (magic missile), monster has AD_RBRE (random breath attack, e.g. Chromatic Dragon), or explicitly monster is PM_BABY_GRAY_DRAGON. Or if monster is wielding or wearing something. Nothing there for baby shimmering dragons. Furey (talk) 22:42, 27 June 2024 (UTC)
- That answers that part for me, thank you. --Umbire the Phantom (talk) 22:45, 27 June 2024 (UTC)
- Tertiary question for Ion or anyone that can reliably answer: What is the minimum depth for dragons to be capable of generating in SLASH'EM throne rooms, and are baby dragons counted for that purpose? --Umbire the Phantom (talk) 00:11, 28 June 2024 (UTC)
- function courtmon at Source:SLASH'EM 0.0.7E7F2/mkroom.c#line779. (level_difficulty() from dungeon.c is same as vanilla, nothing special until hero has the amulet.) Looks like minimum level 48. rn2(60) has a max of 59, and rn2(3*48) has a max of 143, for a total of 202, to allow i a chance to be over 200. Compare with Source:NetHack 3.4.3/src/mkroom.c#courtmon where level_difficulty() only has to be 15 to allow i a chance to be over 100. (I was looking at that "15" for checking article a day or two ago.) Furey (talk) 00:36, 28 June 2024 (UTC)
- not sure about baby dragons. They are definitely S_DRAGON in SLASH'EM monst.c, so courtmon is not going to generate them until it generates S_DRAGON at all. In vanilla there is never a throne room on a level that has neutral alignment (Oracle level or Sokoban), so never a baby dragon in a throne room. But I dunno if SLASH'EM has different monster frequency base values, or different levels with different alignments. monster frequency does have a SLASH'EM section which may help. Furey (talk) 00:42, 28 June 2024 (UTC)
- Baby dragons have non-zero frequency in SLASH'EM, so the lack of neutral-aligned throne rooms isn't a problem. And you're absolutely right, you won't see baby dragons in throne rooms any earlier than you'd see adults in vanilla, because of that i>200 check. But otherwise, I'm basically 100% sure they do generate in throne rooms, once dragons are eligible. It wouldn't be a terribly common sight, since dragons aren't too frequent in throne rooms and adult ones are eligible for generation by that time, but there doesn't seem to be any reason they wouldn't.
- A slightly more concrete reason I'm sure of this: dragon lairs *definitely* generate baby dragons - I've never seen one that's entirely adults - and they have the same mkclass(S_DRAGON, 0) call that happens in throne rooms. So dragons generated in throne rooms and dragons generated in dragon lairs should have the same chance of being adults/babies for a given depth, and as I say, dragon lairs always generate some babies. -Ion frigate (talk) 00:57, 28 June 2024 (UTC)
- Cool, grateful for the answers. I wanted a bit more certainty with regards to throne room depth, unless Furey's info is all that's available. --Umbire the Phantom (talk) 01:07, 28 June 2024 (UTC)
- As an update: Deep dragon (SLASH'EM) and baby deep dragon (SLASH'EM) are established, and the SLASH'EM stuff's been redone as well. --Umbire the Phantom (talk) 11:46, 28 June 2024 (UTC)
Line refs
It was removing the mixedsyntaxhighlight text, but I think I still wanted to talked to paxed about that before doing a "sweep" of the source code articles. --Umbire the Phantom (talk) 19:42, 7 July 2024 (UTC)
Template:Monster
I'm coming here because I don't know all that much about homebrewing templates and can only iterate from very specific ones: How possible would it be to have a "downgraded" version of Template:Monster that covers monster information for pre-NetHack 3.0.0 versions, e.g. for things like Source:NetHack 2.3e/monst.c - the idea is to have a table large enough to cover monster level, speed, AC, MR, and damage die along with any other relevant attributes of the monster in that version without too many empty fields (ideally none at all), so that it can be used in articles such as this draft I have parked. Gonna be passing this along to Cathartes (who knows templates also) and Bhaak (who helped me figure out ancient 1.3d monster code) as well. --Umbire the Phantom (talk) 17:31, 14 July 2024 (UTC)
- Oh, that should be quite doable. The "fancy" version would be to build a dynamic template that knows not to try to display empty fields - *that* might take a while - but creating a stripped-down static version that has just a few attributes shouldn't be hard. We might have to make a couple different versions of the template for different versions of NetHack, but I'm guessing that would still be less work than creating a dynamic template. -Ion frigate (talk) 22:51, 15 July 2024 (UTC)
- Yeah, currently I'm only looking for the pre-3.0.0 versions since the monster info structure is the same across most if not all of those. Means we'd only need the one extra template to cover all of those. --Umbire the Phantom (talk) 22:58, 15 July 2024 (UTC)
- Tried it out and it works like a dream - thanks a bunch for the advice! --Umbire the Phantom (talk) 12:21, 1 August 2024 (UTC)
SLASH'EM role subpages
Working on giving proper subpages to all SLASH'EM roles - in the case of vanilla that means actually creating the subpage in a lot of cases and pruning for accuracy; I also wanna try to diversify the suggested strategies as well (e.g. for ascension kits). So naturally, your expertise among others is highly appreciated, and don't worry, I'll be tagging other folks as well. :B
So far, I've knocked out pages for Archeologists and Barbarians, with plans to go over the Caveman role next. --Umbire the Phantom (talk) 12:21, 1 August 2024 (UTC)
- I will take a look - sorry for disappearing for a while (again). Life has unfortunately been eventful. -Ion frigate (talk) 06:31, 15 August 2024 (UTC)