00:00 My last bed was just a mattress on a interlocking spring frame (it was just flat). Sagged quite a bit, maybe the box frame provides some springiness but also doesn't sag? 00:05 -!- zxkuqyb has quit [*.net *.split] 00:05 -!- hothraxxa has quit [*.net *.split] 00:05 -!- Menche has quit [*.net *.split] 00:05 -!- lonjil has quit [*.net *.split] 00:05 -!- dtype has quit [*.net *.split] 00:05 -!- deki has quit [*.net *.split] 00:05 -!- irina|log has quit [*.net *.split] 00:05 -!- Announcy has quit [*.net *.split] 00:05 -!- deadnoob has quit [*.net *.split] 00:05 -!- APic has quit [*.net *.split] 00:05 -!- aosdict has quit [*.net *.split] 00:05 -!- Mandevil has quit [*.net *.split] 00:05 -!- noty has quit [*.net *.split] 00:06 -!- bug_sniper has quit [*.net *.split] 00:06 -!- bhaak has quit [*.net *.split] 00:06 -!- Webmant7 has quit [*.net *.split] 00:06 -!- Chris_ANG has quit [*.net *.split] 00:06 -!- lorimer has quit [*.net *.split] 00:06 -!- Mekkis has quit [*.net *.split] 00:06 -!- rumflump has quit [*.net *.split] 00:06 -!- Grassy has quit [*.net *.split] 00:06 -!- Tangles has quit [*.net *.split] 00:06 -!- gamache has quit [*.net *.split] 00:06 -!- firemonkey has quit [*.net *.split] 00:06 -!- winny has quit [*.net *.split] 00:06 -!- K2 has quit [*.net *.split] 00:06 -!- bgiannan has quit [*.net *.split] 00:06 -!- khoR has quit [*.net *.split] 00:06 -!- Kontroller has quit [*.net *.split] 00:06 -!- jonadab has quit [*.net *.split] 00:06 -!- honu has quit [*.net *.split] 00:06 -!- Neko-chan has quit [*.net *.split] 00:06 -!- oh6 has quit [*.net *.split] 00:06 -!- ais523 has quit [*.net *.split] 00:06 -!- elenmirie has quit [*.net *.split] 00:06 -!- earenndil has quit [*.net *.split] 00:06 -!- Jonathanhanes_ has quit [*.net *.split] 00:06 -!- Adeon has quit [*.net *.split] 00:06 -!- captain42 has quit [*.net *.split] 00:06 -!- FIQ has quit [*.net *.split] 00:11 [nd] Kontroller (Val Hum Fem Law), 146429 points, T:25094, killed by a lieutenant, while sleeping 00:15 -!- bgiannan has joined #hardfought 00:15 -!- K2 has joined #hardfought 00:15 -!- FIQ has joined #hardfought 00:15 -!- Adeon has joined #hardfought 00:15 -!- Jonathanhanes_ has joined #hardfought 00:15 -!- Neko-chan has joined #hardfought 00:15 -!- honu has joined #hardfought 00:15 -!- jonadab has joined #hardfought 00:15 -!- khoR has joined #hardfought 00:15 -!- Kontroller has joined #hardfought 00:15 -!- rumflump has joined #hardfought 00:15 -!- Grassy has joined #hardfought 00:15 -!- mode/#hardfought [+ovvv K2 FIQ jonadab Grassy] by tolkien.freenode.net 00:15 -!- Webmant7 has joined #hardfought 00:15 -!- Chris_ANG has joined #hardfought 00:15 -!- Menche has joined #hardfought 00:15 -!- deadnoob has joined #hardfought 00:15 -!- noty has joined #hardfought 00:15 -!- lonjil has joined #hardfought 00:15 -!- Tangles has joined #hardfought 00:15 -!- zxkuqyb has joined #hardfought 00:15 -!- bug_sniper has joined #hardfought 00:15 -!- hothraxxa has joined #hardfought 00:15 -!- irina|log has joined #hardfought 00:15 -!- deki has joined #hardfought 00:15 -!- dtype has joined #hardfought 00:15 -!- APic has joined #hardfought 00:15 -!- Announcy has joined #hardfought 00:15 -!- mode/#hardfought [+ovvv Tangles hothraxxa irina|log Announcy] by tolkien.freenode.net 00:15 -!- bhaak has joined #hardfought 00:15 -!- aosdict has joined #hardfought 00:15 -!- Mandevil has joined #hardfought 00:15 -!- lorimer has joined #hardfought 00:15 -!- Mekkis has joined #hardfought 00:15 -!- gamache has joined #hardfought 00:16 -!- oh6 has joined #hardfought 00:16 -!- ais523 has joined #hardfought 00:16 -!- elenmirie has joined #hardfought 00:16 -!- earenndil has joined #hardfought 00:16 -!- mode/#hardfought [+vv oh6 elenmirie] by tolkien.freenode.net 00:17 -!- captain42 has joined #hardfought 00:39 -!- firemonkey has joined #hardfought 00:39 -!- winny has joined #hardfought 00:44 -!- K2 has quit [Quit: Rico, smoke! *poof*] 00:49 -!- mode/Beholder [+Zi] by Beholder 00:49 -!- weber.freenode.net changed the topic on #hardfought to: Welcome to Hardfought - https://www.hardfought.org/ - public irc logs available on website ¤ Public NetHack server - ssh nethack@hardfought.org ¤ EU server now mirroring variants from hdf-main - ssh nethack@eu.hardfought.org 00:49 -!- mode/#hardfought [+v Beholder] by ChanServ 00:49 -!- NotTheOracle\dnt has joined #hardfought 00:49 -!- K2 has joined #hardfought 00:49 -!- mode/#hardfought [+o K2] by ChanServ 00:52 !ping 00:52 K2: Pong! 00:53 performed kernel upgrade to server 01:23 [sp] k2 (Pri Hum Mal Neu), 346 points, T:981, killed by a bolt of cold 01:25 -!- Grassy has quit [Ping timeout: 240 seconds] 01:34 -!- ais523 has quit [Ping timeout: 248 seconds] 02:05 -!- noty has quit [Quit: WeeChat 1.9.1] 02:44 -!- rumflump has quit [Ping timeout: 240 seconds] 02:56 -!- rumflump has joined #hardfought 03:01 -!- rumflump has quit [Ping timeout: 255 seconds] 03:21 -!- rumflump has joined #hardfought 03:28 -!- Menche has quit [Quit: Leaving] 03:33 -!- raisse has joined #hardfought 03:33 -!- mode/#hardfought [+v raisse] by ChanServ 03:40 -!- StatueSurfer has joined #hardfought 04:09 -!- Grasshopper has joined #hardfought 04:12 -!- rumflump has quit [Ping timeout: 255 seconds] 04:14 -!- rumflump has joined #hardfought 04:53 -!- rumflump has quit [Read error: Connection reset by peer] 04:54 -!- rumflump has joined #hardfought 05:00 -!- Grasshopper has quit [Read error: Connection reset by peer] 05:05 -!- Grasshopper has joined #hardfought 05:18 -!- StatueSurfer has quit [Ping timeout: 260 seconds] 05:41 -!- Grasshopper has quit [Ping timeout: 248 seconds] 05:43 -!- Grasshopper has joined #hardfought 06:19 -!- elenmirie_ has joined #hardfought 06:19 -!- elenmirie has quit [Read error: Connection reset by peer] 06:19 -!- elenmirie_ is now known as elenmirie 06:39 -!- rumflump has quit [Ping timeout: 260 seconds] 06:47 -!- rumflump has joined #hardfought 06:49 -!- mode/#hardfought [+v elenmirie] by ChanServ 06:53 -!- Grasshopper has quit [Ping timeout: 240 seconds] 06:54 -!- Grasshopper has joined #hardfought 06:57 -!- rumflump has quit [Ping timeout: 240 seconds] 07:06 -!- deadnoob has quit [Ping timeout: 250 seconds] 07:08 -!- Grasshopper has quit [Quit: Wink, Wink, nudge, nudge. Know what I mean?] 07:26 will a weapon's property work if I #twoweapons it in the off-hand? 07:26 got a katana of reflection gift 07:29 -!- aoei has joined #hardfought 07:46 -!- raisse has quit [Ping timeout: 246 seconds] 08:06 -!- raisse has joined #hardfought 08:06 -!- mode/#hardfought [+v raisse] by ChanServ 08:16 -!- rumflump has joined #hardfought 08:27 -!- ais523 has joined #hardfought 08:42 [nh4] Nobbs (Wiz Elf Mal Cha), 23840 points, T:1052, killed by a bat 08:42 -!- deadnoob has joined #hardfought 08:47 -!- deadnoob has quit [Ping timeout: 255 seconds] 08:47 -!- deadnoob has joined #hardfought 08:49 -!- tacco\unfoog has joined #hardfought 08:50 [fh] aeoo (Wiz Gno Mal Neu), 31605 points, T:4327, killed by a panther 08:52 hey FIQ, got a response from Pat. Do you usually do something on the DevTeam page when that happens? 08:53 aosdict: if I got nothing but a reply (i.e. no actual change), then I link the reply -- see Monks and martial arts 08:53 but if it was alongside a fix, I don't bother linking the reply, instead adding (Fixed in 5710944258a683ad5219d262ea055ac9a41f0571) 08:54 (except with the actual hash) 08:54 Both of my bug reports have been fixed, yes. (Though one of them is older.) 08:56 How can I tell if a bug is mentioned on the DT's website? (Do they have a bug list there?) 08:57 when the response is "we've now changed that, thanks", the followup email isn't even really needed except to let the original reporter know that their report was useful 08:58 anyway, being inside the devteam explains pretty well why people only got replies from Pat Rankin 08:59 based on what an email is about, a particular person normally sends a reply (and the rest of us tend to just sit back and let them do it) 08:59 and Pat Rankin handles the bug reports, which is all any of us sent wrt 3.4.3 09:01 Hmm, how can I verify that #H6187 "attempting to eat inedible artifact" is the same bug as C360-166 "attempting to eat inedible object may have unintended side-effects"? 09:01 I now notice that the wiki's 3.6.0 bug list page is way behind. 09:02 aosdict: I hardly have any more information than you do 09:02 -!- deadnoob has quit [Read error: Connection reset by peer] 09:02 in particular, bugs get added onto the website in a batch process by one person who isn't really involved with the actual fixing/replying ot htem 09:02 -!- deadnoob has joined #hardfought 09:13 ais523: Right, the way to correlate them is, each time a batch is added, you look at what recent commits have done since the previous batch, and sort out which thing is what. 09:13 -!- deadnoob has quit [Ping timeout: 255 seconds] 09:14 At least, that's what I did for the 3.4.3 ones. 09:14 It worked, mostly. 09:17 FIQ: I'll leave it up to you to sort out which of the "Bugs not mentioned on the DevTeam's website" actually aren't yet. ;) 09:19 aosdict: I know there are bugs actually mentioned on the website that is in that list already 09:20 the reason I haven't removed them is that I consider the latter list significantly more comprehensible and useful 09:22 aosdict: basically, I would consider it a loss to remove them from the latter list, because it makes it harder to track down more info/etc 09:22 hmm, PatR apparently thinks pets should still untame just by *trying* to displace them out of a trap, even if it fails for some reason. 09:23 I don't really like the fix he did to that 09:23 but not for that reason 09:23 the fix is hacky 09:23 FIQ: well, at some point, I hope, we can get a sane bug tracker where the original report is publicly visible. 09:23 as is the original code 09:23 (caveat because I know this could be misinterpreted: publicly visible _by default_) 09:25 Let's see... I don't really agree with pets untaming even if it physically isn't possible to move them out of the trap, so... that block will remain in the "actually displace" code in my copy. 09:29 aosdict: jonadab: if you need help with bug/commit matching then I can look for replies that the devteam sent to the original reporter 09:29 but that's the only relevant information I have but you don't 09:34 I'm good with the update I just made to the wiki bug page, don't really care to dig deeper than that. 09:37 ais523: what is the commit hash that fixes #4302 ? 09:38 FIQ: you mean #H4302? 09:38 it always bugged me that that one has "fixed in next version (per Devs)" rather than "fixed" with a commit hash like everything else 09:38 err yes 09:38 or what? I don't recognise that number form 09:38 #H4302 09:38 it is not my report, I don't need to know the original report 09:39 just interested in the commit that fixed it 09:39 I can't check, that message is before I joined the devteam 09:39 ah 09:39 it's only just before, so paxed might be able to help 09:39 asked him about it in #nethack-dev 09:40 huh, this means that something like ⅓ of all messages to the devteam since the message tracking system was set up have been while I'm on the devteam 09:40 although a large proportion of them are spam, I think 09:40 spam gets given a #H… number even though we don't receive it 09:40 what sort of spam? anything interesting? 09:42 mostly adverts for captcha breakers, that was the most persistent 09:42 there was a fairly interesting incident recently where someone was trying to persuade us to block a trademark application for "NetHack" in China 09:42 but the details didn't add up 09:43 e.g. we got conflicting statements about who was trying to register it 09:43 and the domain name is already registered in China anyway 09:43 I'm not quite sure what the scam there was, but my guess is that they'd try to persuade us to register a bunch of domains we didn't need 09:44 (I got one of those messages at nethack4.org too, but the name has the same root, so it doesn't quite disprove the message's legitimacy) 09:45 hmm I wonder if I can reconstruct "Below is what you sent ..." from reports + date alone 09:46 hmm, but I wouldn't know mailer version 09:48 Thief stones would probably need to augment struct obj somehow in order to store the keyed level and space. Maybe in oextra? 09:49 ais523: oh, I think I found it 09:49 but it references a different bug ID for some reason 09:49 vastly different 09:49 maybe it was just the same bug reported twice 09:50 d68bb738d248526715dd9b728ce4c6f94e47c8cb seems to be it 09:50 I will assume this is the case unless paxed corrects me later 09:51 aosdict: you could store the level number in spe, I guess (that'd also make cancelling thief stones react sensibly) 09:51 for location within the level, there's probably a safely reusable 16 bits somewhere 09:52 corpsenm 09:52 you can store a level in schar? 09:52 yes you can 09:52 oh, I guess that makes some sort of sense 09:52 unless you are playing sle 09:52 x 09:52 what with all that talk about slex expanding beyond 127 levels 09:52 yeah 09:53 I mean, corpsenm is a safely reusable 16 bits, but it feels icky to be splitting it into two coordinates. Ickier than the manipulations I did to doors. 09:54 aosdict: you'll love mstrategy then 09:55 it is 4 fields that is, for whatever reason, treated as if it was all a single field 09:55 -!- raisse has quit [Ping timeout: 248 seconds] 09:56 Should I assume that whenever the source uses an int, it is a 2-byte int? 09:56 in NH4, it must be at least 32bit 09:56 not sure with NH3 09:56 corpsenm is actually declared as int, some other fields are long 09:56 NH4 has artifacts of that too 09:56 I can easily imagine vanilla supporting systems that default to 2-byte ints 09:56 yeah 09:57 aosdict: "int" in NH3 should be treated as "probably 4 bytes but might be only 2" 09:57 yes 09:57 my analogy, "long" should be treated as "intended to be 4 bytes but might actually be 8" 09:57 (note that "long" is 4 bytes on Windows even on a 64-bit system) 09:57 the only saving grace of reusing a field like corpsenm is that it'll only have to be _written_ once... 09:58 aosdict: I suggested corpsenm only because I don't think there is any alternative 09:58 Why did I think long was guaranteed 4 bytes cross-platform? 09:59 corpsenm, usecount, oeaten wold all work 09:59 your other alternative is oeaten 09:59 FIQ: well there are some other fields which probably wouldn't be used for gray stones... 09:59 aosdict: it's guaranteed at least 4 09:59 usecount? that sounds new in 3.6.x 09:59 it doesn't exist in fiqhack 09:59 oeaten, owornmask 09:59 don't use owornmask 09:59 you're not going to use it as a hat :P 09:59 err, technically speaking, it's guaranteed to be at least 32 bits, if a byte is particularly large on the platform it might be less than 4 bytes 09:59 the game assumes owornmask is always a sane value 10:00 aosdict: owornmask is checked unguarded to see if an object is worn 10:00 yeah 10:00 don't use it 10:00 mm 10:00 so if you set it without actually putting the object into the wear slots, the game will act like you're wearing it (preventing you dropping it, etc.) and get confused if you try to unequip it 10:01 hmm 10:01 apparently NH3 made usecount to split spestudied into its own thing 10:01 but why 10:01 this is why the reasonable thing to do is to add extra coordinate fields :P 10:02 and break saves? 10:02 but of course, such an implementation isn't likely to go over very well 10:02 ais523: that reminds me, is there a good reason as to why NH3 isn't trying to be portable save-wise? 10:02 it doesn't seem like much work to me 10:03 FIQ: I mean, I think ais523 originally envisioned thief stones as 3.7 material anyway... save compat is not too high of a priority 10:03 not asking for it to implement the NH4 save system, that's quite overkill just to make portable saves 10:03 ‎<‎FIQ‎>‎ but why ← apparently it was specifically to add another 32 bits of safely overridable data in struct obj 10:03 at a time when a savebreak was coming anyway 10:03 ais523: ah 10:04 using it for spestudied was just an excuse to not make it a completely useless field, it seems 10:04 ais523: ah 10:04 there's even a usage description: corpsenm is meant to be static over the life of the object (barring unusual/TDTTOE situations), usecount is intended for things that change 10:04 aosdict: well, of course you'd add defines 10:05 if you would make such a thing 10:05 something like #define THIEFX(o) ((o)->corpsenm % 256) 10:05 and #define THIEFY(o) ((o)->corpsenm >> 8) 10:06 #define keyed_x(obj) (((obj)->corpsenm & 0xFF00) >> 8) 10:06 or something 10:06 and #define SET_THIEFXY(o, x, y) ((o)->corpsenm = (y << 8) | x) 10:06 simple >> 8 might not suffice in all cases 10:07 true 10:08 all these implementation details are making me want to do it right now! :D 10:08 aosdict: do you know why I basically gave Amy the code to implement GM mode? 10:09 because I found it interesting enough that I told her how to do it :P 10:21 ais523: one thing I don't like 10:21 in off-level overview, and when looking for object memories 10:21 to get the proper farlook information, I end up overloading level temporarily 10:21 this seems like asking for trouble, but I didn't find any better way 10:21 any ideas? 10:22 FIQ: most of NitroHack's functions are intended to work off-level, via a separate level parameter 10:22 what I have discovered from this is that most of them actually don't 10:22 most things that actually ask for a level parameter tend to work 10:22 about the only advice I can give is "when writing a roguelike from scratch, don't have a global for the current level" 10:22 there aren't a lot of these 10:22 Heh 10:23 FIQ: that's because I've spent days fixing the ones that are actually used 10:23 clearly the solution is to remove level 10:23 and fix the inevitable bugs 10:23 well, that /would/ be an end goal of globals purge… 10:23 I've been doing the easier ones first though :-D 10:28 [650][fiq@fiq-desktop ~/fiqhack]$ grep -r "[^t]\slevel" * | wc -l 10:28 4146 10:28 hmm 10:28 this doesn't match all I t hink 10:28 *think 10:30 [660][fiq@fiq-desktop ~/fiqhack]$ grep -r "[^t][^a-z_>.]level[^a-z_]" * | wc -l 10:30 5689 10:30 should be aroudn the amount of uses 10:30 you could just try "\blevel\b" 10:30 misses "t(level)" but also has some false positives 10:30 also what's with the ban on t? 10:30 what does \b do 10:30 word boundary 10:30 ais523: I don't want to match "struct level" 10:31 although you're using regular grep there 10:31 I normally use PCRE greps 10:32 -!- noty has joined #hardfought 10:32 "(? but keeps finding uses inside comments 10:34 [666][fiq@fiq-desktop ~/fiqhack]$ grep -r '(? gives no match 10:34 (and neither does pgrep) 10:34 you need a PCRE-based grep 10:34 I normally use ag nowadays 10:34 ack also works, as does pcregrep 10:34 oh wait, pgrep isn't pcre grep 10:34 pgrep is processes 10:35 -!- raisse has joined #hardfought 10:35 -!- mode/#hardfought [+v raisse] by ChanServ 10:36 ais523: that matches foo->level 10:37 you can add in another (? what does ? "not preceded by" 10:37 oh 10:37 ag --noheading '(? although ag places a line break between results from different files 10:38 so you can't get a direct count without filtering that 10:38 ais523: I can 10:38 with --noheading 10:39 there is no linebreaks that way 10:39 (nor a header) 10:39 [679][fiq@fiq-desktop ~/fiqhack]$ ack --noheading '(?)\blevel\b' * | wc -l 10:39 6267 10:39 you're using ack not ag, presumably its output format is slightly different 10:39 (the two are basically identical though in terms of how they behave) 10:39 I generally use rg when grepping 10:40 but it doesn't have all regex features 10:40 yeah I don't actually have ag 10:40 but did have ack 10:41 [nd] elenmirie (Arc Gno Fem Neu) became literate by reading a book, on T:4719 10:41 huh, that's a long time to go illit without aiming for the conduct 10:42 normally I end up breaking it by IDing a wand 10:42 (I can easily imagine not reading a scroll for that long, though, they aren't great earlygame) 10:42 you can use x to engrave-ID 10:42 see how long you can go illit without deliberately trying :P 10:42 [nd] elenmirie (Arc Gno Fem Neu), 2716 points, T:4857, killed by a giant mimic 10:43 the mimic didn't appreciate going literate 10:43 lol 10:43 and yeah, I got into the habit of wand IDing using "x" 10:43 ais523: what is your view on attack_mode? 10:44 it was a feature tungtn made as a PR over a year ago, would be nice to have in vanilla 10:44 what does it do? 10:44 it allows you to choose how movement behaves 10:44 one sec 10:44 isn't that basically just uim? 10:44 https://github.com/NetHack/NetHack/pull/11 10:44 if so, I like it in terms of what it does for users, and am scared of the code 10:45 for a while it seemed like half of NH4's bugs were uim-related 10:45 also, I predict that it'll be very controversial within the devteam and don't want to merge it unilaterally 10:45 trying to figure out how to make a diff out of this PR 10:45 so I can link you 10:45 a raw version, that is 10:45 https://github.com/NetHack/NetHack/pull/11/files 10:46 (non-raw) 10:46 I will say that discussion related to uim lead to a conclusion that the option to displace or not needs to be settable too 10:46 ais523: dnethack has had this for over a year without issues 10:46 so I assume this is stable 10:46 codewise, that is 10:47 it's a lot less comprehensive than uim is 10:54 FIQ: also regarding save compat, wouldn't adding a thief stone as a new object break that anyway? 10:54 shhh 10:54 yes, adding an object breaks save compat in basically everything 10:54 but yes 10:55 unless you're on fiqhack, it will break save compat 10:55 (P.S. FIQhack is insane) 10:55 (it will in fiqhack too, if you forget to update obj_offset) 10:55 "insane" pff 10:56 what's the harm in keeping save compat 10:56 I haven't done that much that breaks save compat 10:56 and then of course I have to struggle with the annoying bit of How to Keep Gem Probabilities Balanced 10:56 "normally" 10:56 294# define SAVE_REVISION 14 10:56 aosdict: oh I fixed that 10:56 made it so that it doesn't have to add up to 1000 10:57 Unless you retroactively fixed it in NH3, it's not much use :P 10:58 -!- Menche has joined #hardfought 10:58 But since this is something I'm interested in doing, I'd be at least interested in how you did that 10:58 I thought NH4 did away with makedefs though. 10:58 it still has makedefs 10:58 we want to get rid of it eventually 10:59 ais523: but how 10:59 -!- rumflump has quit [Ping timeout: 240 seconds] 10:59 how would we make obj.h/pm.h 11:00 it is the only real reason I don't really see a removal of makedefs in sight 11:00 I suppose pieces of worthless glass are a place one can steal probability from 11:00 everything else can be gotten rid of from makedefs 11:00 huh, seems like my probability refactor is *not* in fiqhack? 11:00 we could use some sort of find_object function rather than constants, I guess? 11:00 -!- rumflump has joined #hardfought 11:00 I know I did one 11:00 FIQ: commit hash or at least commit title from when you did the doesn't have to add up to 1000 thing? 11:00 but where is it 11:00 yes, I am looking for it 11:02 have to go for a bit, good luck finding it 11:05 -!- rumflump has quit [Ping timeout: 255 seconds] 11:06 a0781683398edc841c4d702b3dc89ee2b7ac186b 11:06 https://github.com/FredrIQ/fiqhack/commit/a0781683 11:08 this also addressed quirks of ring generation 11:08 beforehand, its probability was set to "0" 11:08 which told the game to try to average them, but still make it add up to 1000 11:09 as part of this object generation fix, ring generation was set to 1 11:09 so they have truly equal share 11:13 -!- lorimer has quit [Quit: NAE TROOSERS] 11:20 ais523: hmm, apparently there was a YANI about the Oracle having a copy of the Sokoban prize 11:20 but making her more difficult to deal with/kill/whatever 11:20 that is an interesting take on alternative means for the soko prize 11:20 since both prizes are redundant if duplicated, and not more useful besides as polyfodder 11:33 that's interesting 11:33 pretty bizarre, though 11:38 hmm 11:38 I am about to do my own take on "how to handle the message buffer" 11:38 apparently it is not an easy problem 11:39 but I don't see the difficulty 11:39 yet? 11:41 -!- rumflump has joined #hardfought 11:45 FIQ: between jonadab, mtf, and me, it seems like the Oracle providing other services besides rumors and oracularities is in high demand :-) 11:48 also, I do support her not being trivial to kill with rocks or force bolts (so implementing passive attacks that trigger even at range would be needed there) 11:56 FIQ: this fix seems pretty easy to port to vanilla, will try that 11:59 you could give her an active magic missile attack that she uses only when hostile? 11:59 about the same strength as a basic /oMM 11:59 although you'd need some way to get past a CoMR 12:00 well, you probably want to avoid being able to hit her from out of line as well (eg fireball, cone of cold, scroll of fire) 12:00 as in, whe will not just sit there and take it 12:00 she* 12:02 just give her astral eyesight, fireball, cone of cold :) 12:02 actually I might just be able to turn this fh commit into a patch and apply it directly 12:03 but since I don't have a copy of fiqhack... meh, will just do it manually 12:04 also I think 3.6 has different indentation rules 12:05 it also doesn't have a mkobj_of_class() 12:05 so yeah... doing it manually :P 12:06 I don't think fiqhack/nh4 changes the bases[] array behavior 12:18 Seems like vanilla has a special function that shuffles gem probabilities every time the hero goes to a different level? Ugh. 12:18 Is this _just_ for gems (and thus I can pull in something similar to fiqhack)? 12:21 well I do handle gem logic appropriately in my refactor 12:24 some bits of vanilla are massively overengineered for no obvious reason 12:32 right, calling oinit() in goto_level makes sense, sort of, but calling setgemprobs() in it is weird 12:32 if you are okay, as FIQ was, with just excluding the appropriate gems on the fly when generating one 12:35 -!- bouquet has joined #hardfought 12:36 ais523: what looks more asthetically pleasing, you think? 1 or 2? http://sprunge.us/dBQD 12:38 1 if the messages were generated with no player actions in between, 2 if the player got to give input (other than --More--) 12:38 ais523: Right, I intend to always (even if it fits) start a new action with a linebreak 12:39 The question was about things within the same action 12:39 btw, it may be hard to ensure that all the messages you want to have printed before an animation on screen actually have printed 12:39 if you're handling --More-- like taht 12:39 *that 12:40 ais523: That means that I must always leave room for a --More-- on the last line 12:40 Even if this means potentially sacrificing space 12:40 yes 12:40 this is the point at which people kept on screwing up 12:40 it shouldn't be difficult, but people nearly always seem to get it wrong in practice 12:41 so just because it shouldn't be difficult doesn't seem to change the fact that empirical evidence suggests that it is 12:41 ais523: also, I intended to have a "final" boolean in the message struct, so that resizes can preserve message newline behaviour (unlike NH4 atm) 12:41 as in, "final message of an action" 12:42 I basically just decided that the extra chance of getting things wrong wasn't worth the effort for what's a very rare operation 12:42 heh 12:42 but it also matters in message history 12:42 which isn't nearly as rare 12:51 -!- NeroOneTrueKing has joined #hardfought 12:51 Hello beholder, 12:51 No mail? Okay 12:53 To keep changes minimal, I think I won't touch gem prob special casing, since the current code that sets them per level should all still work whether or not it adds to 1000. 12:53 Changing or removing the existing special casing at least deserves its own commit. 12:58 -!- LarienTelrunya has joined #hardfought 13:00 -!- Menche has quit [Remote host closed the connection] 13:00 -!- Menche has joined #hardfought 13:07 it works! 13:08 (as a test, set !oPoly to prob 10000 and have wished for "potion" five times - they all came out poly 13:08 ) 13:08 and they're not _all_ polymorph - just got a different one 13:09 ais523: since this is a purely QoL change for developers, would a patch for this be considered? 13:10 aosdict: I wouldn't personally try to either force it in or keep it out 13:10 it wouldn't surprise me if someone else merged it though 13:11 proper way to submit it then? I'd normally do a github PR but those are generally ignored 13:15 [4k] bouquet (Rog Elf Fem Cha) entered the Minetown temple, on T:3790 13:18 send an email; you can link to a github PR if you want (although we can't easily merge them via the github interface so a patch as an attachment might be more useful) 13:18 but email is the only communication method that most devs read 13:19 -!- Menche has quit [Quit: Leaving] 13:27 -!- raisse has quit [Ping timeout: 240 seconds] 13:44 -!- Zoticus has joined #hardfought 13:48 [fh] Vaarsuvius (Jendic) (Wiz Elf Fem Cha), 32160 points, T:4623, killed by a leocrotta 13:49 -!- Menche has joined #hardfought 13:50 -!- Menche has quit [Remote host closed the connection] 13:54 -!- ais523 has quit [Quit: quit] 13:59 [4k] bouquet (Rog Elf Fem Cha), 16296 points, T:5866, killed by a blood pudding 13:59 dang 13:59 that was a pretty sweet run 14:00 found a dagger called "valerian" that put everything I hit to sleep. Except delicious blood pudding 14:06 blood puddings always form on the very first pudding split in fourk to "discourage farming" :/ 14:16 EPI: if you offer a cursed Amulet of Yendor (or a cursed fake), your god immediately disintegrates you. 14:17 -!- lorimer has joined #hardfought 14:23 if you see a blood pudding, ruuuuuuuuuuuuuuuuuuuun 14:24 aosdict: you said that a small chance to curse items dropped on an altar is not good; what if it can only happen as long as the BUC is not known, and also only if you are able to see the black flash (which then makes it known)? 14:25 that is inconsistent 14:53 I would have run after that brutal first hit from the blood pudding, but I lagged and a second hit was buffered and executed :( 14:55 -!- aeoi has joined #hardfought 14:57 hi 14:57 Hello K2, Welcome to #hardfought 14:58 -!- aoei has quit [Ping timeout: 258 seconds] 15:23 [4k] bouquet (Rog Elf Fem Cha), 4947 points, T:1183, killed by a pony 15:30 -!- rikersan has joined #hardfought 15:37 [nd] Leggman (Val Dwa Fem Law), 122886 points, T:22765, killed by a lieutenant 15:37 -!- raisse has joined #hardfought 15:37 -!- mode/#hardfought [+v raisse] by ChanServ 15:48 -!- mode/Beholder [+Zi] by Beholder 15:48 -!- cherryh.freenode.net changed the topic on #hardfought to: Welcome to Hardfought - https://www.hardfought.org/ - public irc logs available on website ¤ Public NetHack server - ssh nethack@hardfought.org ¤ EU server now mirroring variants from hdf-main - ssh nethack@eu.hardfought.org 15:48 -!- mode/#hardfought [+v Beholder] by ChanServ 15:49 !ping 15:49 K2: Pong! 15:50 !players 15:50 K2: hothraxxa [dyn] Zxkuqyb [dyn] groovejumper [fh] Jendic [fh] 16:01 !ping 16:01 K2: Pong! 16:02 -!- rikersan has quit [Ping timeout: 240 seconds] 16:07 !who 16:07 K2: hothraxxa [dyn] Zxkuqyb [dyn] groovejumper [fh] 16:13 !who 16:13 FIQ: hothraxxa [dyn] Zxkuqyb [dyn] groovejumper [fh] 16:13 ah, no eu yet 16:13 what's up? 16:13 zxkuqyb: was just checking if bot was connected to hdf-eu yet 16:13 it isn't 16:14 oh 16:21 -!- Grasshopper has joined #hardfought 16:21 -!- mode/#hardfought [+v Grasshopper] by ChanServ 16:21 -!- rikersan has joined #hardfought 16:25 -!- rikersan has quit [Client Quit] 16:33 [fh] groovejumper (Wiz Elf Fem Cha) received advice from The Oracle, on T:3324 16:36 -!- rikersan has joined #hardfought 16:36 -!- Chris_ANG has quit [Read error: Connection reset by peer] 16:37 -!- rikersan has quit [Client Quit] 16:40 what do if there is no levitation or water-walking to cross the water filled level? tele? 16:41 dig through the floo 16:41 r 16:41 you can't teleport on that level 16:42 when you find the upstairs on the next level, be (a) blind, (b) visible and (c) reflecting if you can 16:42 if you have reflection you don't *need* to be blind but it feels safer 16:42 okay, thanks 16:42 if you're invisible you *must* be blind (even if you have reflection) or you're dead 16:42 got it 16:43 you can also make ice bridges with a wand of cold, but going down and back up is easier and safer 16:43 yes 16:45 be careful, zxkuqyb is playing dynahack 16:45 oh 16:45 there is potentially another level with water he has to cross 16:45 I think you lucked out this time but yeah 16:45 sorry if I said anything useless or damaging 16:46 first town level floor has a river 16:46 that may need levitation 16:46 unless tungtn changed that 16:46 er, not just levi, but "a way to cross water" 16:46 yeah, I meant medusa level 16:46 so your advice helps 16:47 also, thanks for reminding about town level, I have some wands of cold to explore it 16:48 mention everything! it might help! 16:48 so if you tame a winter wolf and you lead it to a floor with water on it and you get the winter wolf "freaked out" or find a hostile enemy... 16:49 then again, are there unhostile enemies? 16:50 if they're unhostile, they're not enemies, no? 16:50 oh, sessile creatures are sorta unhostile 16:50 it's not really their fault that you burn when you whack em 16:50 they didn't force you to whack 17:09 I need to write shorter commit messages. 17:10 [4k] bouquet (Rog Elf Fem Cha) entered the Minetown temple, on T:1689 17:15 -!- rumflump has quit [Ping timeout: 248 seconds] 17:16 -!- Chris_ANG has joined #hardfought 17:35 [4k] bouquet (Rog Elf Fem Cha), 10932 points, T:2803, killed by a human zombie, while frozen by potion vapours 17:42 -!- deadnoob has joined #hardfought 17:45 any info on this special level I'm on? Sort of a big room with rows of closets along the top and bottom. https://imgur.com/a/JW2KQ 17:46 fourk 17:48 sometimes "coloured lights spell out a message..." 17:48 looks like fourk has the advent calendar 17:48 if that is the case, the 9th door (no idea how it's counted) will be open and contain a treasure 17:51 ha! It had some religious writing on the ground 17:51 and a ring 17:51 -!- NeroOneTrueKing has quit [Ping timeout: 240 seconds] 17:52 SO I assume that if I return to this level each day during december I can open a different door? 17:52 not sure, might be worth a try to check again tomorrow :) 18:11 -!- raisse has quit [Ping timeout: 246 seconds] 18:11 [4k] bouquet (Rog Elf Fem Cha), 10686 points, T:2763, killed by a fire ant 18:18 -!- raisse has joined #hardfought 18:18 -!- mode/#hardfought [+v raisse] by ChanServ 18:18 -!- StatueSurfer has joined #hardfought 18:24 -!- Demo has joined #hardfought 18:26 -!- [Demo] has joined #hardfought 18:27 hmm should probably find somewhere else to set this up now that i atleast know it should be doable 18:30 set what up now? 18:31 -!- Tangles is now known as beholder-eu 18:31 -!- beholder-eu is now known as Tangles 18:32 i wish i lurked the nethack related irc channels more but i dont so im gonna put a bot together so that i can do it from discord, found somewhere else to clutter up the testing of it 18:32 -!- [Demo] has quit [Remote host closed the connection] 18:43 -!- raisse has quit [Ping timeout: 246 seconds] 18:56 -!- aeoi is now known as aoei 19:03 -!- LarienTelrunya has quit [Quit: Page closed] 19:14 err.. what is better? chromatic scale mail and cloak of magic resistance or gray scale mail and amulet/shiled of reflection? 19:15 is it even possible to wish for chromatic in DynaHack? 19:19 -!- Grasshopper has quit [Ping timeout: 240 seconds] 19:22 Doesn't Dyna have Un's randomized-appearance dragons so you can't wish for a particular type of scale until you know what dragon appearance it corresponds to? 19:27 oh.. 19:27 well that's kinda dicks 19:28 -!- rumflump has joined #hardfought 19:35 just killed a woodchuck :3 19:38 how much wood would a woodchuck chuck -- 19:43 -!- Chris_ANG has quit [Ping timeout: 255 seconds] 19:45 [4k] bouquet (Rog Elf Fem Cha) were saved from death by your amulet of life saving!, on T:1774 19:46 [4k] bouquet (Rog Elf Fem Cha), 6735 points, T:1776, killed by a soldier ant 19:47 -!- rumflump has quit [Ping timeout: 240 seconds] 20:03 [4k] bouquet (Rog Elf Fem Cha), 5823 points, T:1284, killed by a hill orc 20:03 -!- tacco\unfoog has quit [] 20:04 Hmm. Added the thiefstone as a new item. First time I've tried adding a new item. For some reason, wishing for it just gives me a rock... I don't need to special case it in the wish parser or anything, do I? 20:05 -!- Demo has quit [Quit: Lost terminal] 20:05 are you sure it's not just unID'd? 20:05 it's "a rock" 20:05 not a gray stone 20:05 which it should be 20:05 uh-huh 20:12 -!- aoei has quit [Quit: Leaving] 20:24 [4k] bouquet (Rog Elf Fem Cha) entered the Minetown temple, on T:2221 20:24 okay so I can get a thiefstone by wishing for "gray stone" 20:24 and it might give me one 20:24 this at least confirms it exists 20:25 but why can't I wish for it directly? 20:30 and wishing for "aaaaastone" gives me "Nothing fitting that description exists blah blah", but "thiefstone" resolves to "rock". WTH? 20:30 -!- Chris_ANG has joined #hardfought 20:31 what's thiefstone do 20:31 just out of curiosity 20:34 https://nethackwiki.com/wiki/User:Phol_ende_wodan/YANI/IRC_archive#Thief_stones 20:36 "theifstone" -> does not exist, "thiefstone" -> rock 20:36 ... 20:37 -!- Crawldragon has joined #hardfought 20:38 -!- Demo has joined #hardfought 20:38 really hope nothing breaks here 20:39 -!- [Demo] has joined #hardfought 20:39 aosdict: try wishing for a thief stone 20:39 not a thiefstone 20:39 im gonna wish for a luckstone 20:39 yeah, it gives a rock too 20:40 <[Demo]> what variant? 20:40 the object is actually declared as "thiefstone" 20:40 -!- Demo has quit [Client Quit] 20:40 oh then it is probably not wishable 20:40 on the basis that the other special gray stones don't have a space 20:40 <[Demo]> whetstone, healthstone, luckstone, loadstone, yeah 20:40 did I forget to flip some wishable flag in objects.c? 20:41 [4k] bouquet (Rog Elf Fem Cha), 15057 points, T:3972, killed by a force bolt 20:41 oh cool the whetstone 20:42 <[Demo]> pretty sure only slashem based variants have whetstones but idk 20:42 Well the whetstone was implemented in a patch against 3.4.3 that you can get on bilious 20:42 I don't know if they're all based on that patch but yeah 20:42 <[Demo]> ah 20:42 I've been meaning to patch that into my local NetHack but for some reason it always slips my mind 20:43 I think every time I see the source code for NetHack instead of installing patches I black out and wake up hours later to find a bunch of random shit coded in that wasn't there before 20:43 tc@troutpocket.orgIJ>*JS[Xcmo#ca$4!ajR 20:43 <[Demo]> healing explosions and dumb stuff like that? 20:44 FIQ: I thought that if you wanted to make something unwishable you explicitly had to state that? 20:44 ha, well... 20:44 wrong window 20:44 <[Demo]> oh good 20:44 <[Demo]> cause im so nervous right now about my bot breaking and spamming this up which is unlikely but im still scared 20:45 bouquet: My proudest achievement was the implementation of a "Swiss army knife" tool that depending on how you used it either functioned as a knife, a tin opener, or a lockpick 20:45 oh whoops I need to disable tab completion 20:45 and I need to check which window I'm autotyping passwords into :P 20:45 but knives are useless :) 20:45 fortunately, that's a random throwaway 20:46 bhaak: Yeah what I ended up doing with it was the Arc and the Tou had a random chance of starting the game with a multitool instead of a tin opener 20:46 <[Demo]> oh thats pretty great 20:46 I kind of like how it came out because you had to know how to use the multitool in order for it to be anything other than a knife; like, you had to know to 'a'pply it to pick locks 20:47 I keep meaning to make that patch part of a larger project to add various weapons to the game 20:47 <[Demo]> i had scalpels you could apply and they would center a 3x3 healing explosion on you 20:47 lol 20:47 that's the kind of magic spell I used to build in Morrowind 20:48 <[Demo]> also had a fun thing with quarterstaffs where it would center a 3x3 medium damage blast somewhere random on the level every time you applied it 20:48 <[Demo]> so you could wave your staff around and try to kill stuff 20:48 That would greatly improve a lot of kung fu movies 20:48 Jet Lee and Jackie Chan are duking it out in the treetops and random fireworks are going off every time their staves touch 20:50 <[Demo]> also had some super broken dungeon rebuilder item that would lead to a lot of crashes but other than that was pretty neat 20:50 I remember after I started getting into NetHack I had an idea for items that would allow players to build walls and stuff 20:51 partly inspired by Arena, which allowed the user to write spells that would create or destroy wall and floor tiles 20:51 <[Demo]> yeah why dont we have a variant that has a bunch of dungeon building stuff built in like that? 20:51 Probably because it wouldn't be as fun to play as it would be to actually code up 20:52 although there is merit to a magic spell that summons a wall tile, basing an entire variant or a patch around that kind of mechanic would kind of kill NetHack's flow 20:52 <[Demo]> i guess so 20:52 I was talking with someone earlier how I miss Dungeon Keeper... that might work as an ASCII game! 20:52 Dungeon Keeper was a kind of RTS/tower defense thing, right? 20:55 It was RTS with you building the dungeon and trying to kill the heroes that came in to destroy the center of it (some sort of gate, forget what it was called.) 20:57 -!- [Demo] has quit [Remote host closed the connection] 20:57 -!- [Demo] has joined #hardfought 20:57 If turned into an ASCII game, I'd probably make it turn-based in some way. 20:58 That's kind of tricky to do for a game meant to be played in real time 20:58 one of my gripes with Kobold Quest was that you a turn-based system but the enemy adventurers all got a turn after each time you moved a kobold; you couldn't move more than one kobold per turn 21:00 Well, I'm talking about a game heavily inspired by it, not a full remake. 21:00 Come to think of it a tower defense kind of game could work really well in ASCII 21:02 Anyway, YANI for actual NetHack from this discussion: monster spell that summons a wall (or perhaps just a boulder) on empty space. 21:03 <[Demo]> i know some variants have them drop boulders on you 21:03 <[Demo]> but yeah wall would be neat but it would need to be able to know when to do that tactically 21:03 I'm imagining it as a player spell too, which seems a little overpowered since boulders deal d20 damage. 21:04 [Demo]: Well, we've been having a lot of talk lately about improving AI. 21:04 <[Demo]> magic missile is a spell 21:04 <[Demo]> not sure how d20 seems op when we have magic missile doing its thing 21:06 (also, YANI: that should be more like 5d4.) 21:06 You know what else I would like to see? I want to see at least one variant implement that code they commented out for burying the player character in the ground 21:06 now that will make the wall-summoning spell _real_ fuckin' scary 21:06 I wouldn't do it until there's a real universal breath timer 21:06 <[Demo]> use dnethack's 21:07 -!- Kontroll1r has joined #hardfought 21:09 I'm buying a copy of Getting Over It, fuck it 21:10 -!- Grasshopper has joined #hardfought 21:10 -!- mode/#hardfought [+v Grasshopper] by ChanServ 21:10 -!- Kontroller has quit [Ping timeout: 260 seconds] 21:13 -!- Crawldragon has quit [Quit: ChatZilla 0.9.93 [SeaMonkey 2.49.1/20171016030418]] 21:14 GruntHack implemented player burying 21:14 and monster burying 21:15 FIQ: what did you mean by "it's probably just not wishable" 21:15 I mean 21:15 I _want_ it to be wishable :P 21:15 -!- [Demo] has quit [Remote host closed the connection] 21:15 -!- [Demo] has joined #hardfought 21:16 <[Demo]> i like wishable figurines of monsters missing unique flags that should have them 😛 21:21 [fh] elf wiz wombo combo (rikersan) (Wiz Elf Mal Cha), 17496 points, T:230, killed by an incubus 21:24 <[Demo]> hmm so im gonna have irc logs now with my new setup 21:31 -!- StatueSurfer has quit [Ping timeout: 260 seconds] 21:40 hmm at some point the string "thiefstone" is being converted to just "stone" 21:41 but GCC is relentlessly optimizing variables out despite my #pragma GCC optimize ("O0") :( 21:49 [fh] Naeroon (naeroon) (Val Dwa Fem Law), 5738 points, T:415, poisoned by a water moccasin 21:49 Ahhhh. 21:51 title_to_mon was catching the "thief" and parsing it out (it's a Rogue rank title). 21:51 <[Demo]> heh 21:51 <[Demo]> that's awful but good to know to watch out for 21:53 -!- Crawldragon has joined #hardfought 21:54 The only problem is that this catches it BEFORE the alt-spellings code, so declaring an alt spelling of "thief stone" won't work... I need to special case it twice 21:54 Ugh 22:05 -!- Grasshopper has quit [Remote host closed the connection] 22:05 -!- Grasshopper has joined #hardfought 22:05 -!- mode/#hardfought [+v Grasshopper] by ChanServ 22:42 -!- Crawldragon has quit [Quit: ChatZilla 0.9.93 [SeaMonkey 2.49.1/20171016030418]] 22:56 -!- NeroOneTrueKing has joined #hardfought 23:00 -!- Zoticus has quit [Quit: WeeChat 2.0] 23:02 -!- NeroOneTrueKing has quit [Ping timeout: 248 seconds] 23:12 I ended up moving the alternate spellings logic above the monster name checker. Hopefully this doesn't completely destroy the wish parser. 23:14 <[Demo]> has anyone released a rewrite on all that mess? 23:15 Rewrite the wish parser? Hahahahahahaha 23:17 Things seem not to be broken. 23:56 ah, nethack, where I go looking for the dopickup() function in pickup.c, it's not there so I go looking in cmd.c for it, it's not there so I'm stymied and grep for it, at which point I find it in hack.c