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