00:09 [hdf-us] [evil] coplate (Wiz Gno Fem Cha) killed the Rat King, on T:18345 00:15 -!- Umbire has quit [Ping timeout: 240 seconds] 02:53 -!- mobileuser has joined #evilhack 03:09 -!- elenmirie has joined #evilhack 03:13 -!- amateurhour has joined #evilhack 03:31 -!- mobileuser has quit [Quit: Ping timeout (120 seconds)] 03:34 -!- mobileuser has joined #evilhack 04:08 [hdf-us] [evil] DeathDealer (Wiz Elf Fem Neu) stole 9 zorkmids worth of merchandise from Bojolali's delicatessen, on T:26480 04:09 [hdf-eu] [evil] Tomsod (Inf Dem Mal Una) made his first wish - "uncursed magic marker", on T:82766 04:10 [hdf-us] [evil] DeathDealer (Wiz Elf Fem Neu), 3183 points, T:26524, killed by a gnomish watch captain 04:26 [hdf-us] [evil] DeathDealer (Con Dwa Mal Cha), 22 points, T:312, killed by a grid bug 04:34 -!- elenmirie has quit [Quit: Going offline, see ya! (www.adiirc.com)] 04:35 -!- elenmirie has joined #evilhack 04:39 -!- krm26 has quit [Ping timeout: 250 seconds] 04:42 -!- krm26 has joined #evilhack 04:45 [hdf-us] [evil] DeathDealer (Con Dwa Mal Cha), 1359 points, T:2926, killed by an iguana 04:51 [hdf-us] [evil] DeathDealer (Wiz Elf Fem Neu), 57 points, T:154, poisoned by a rotted dwarf corpse, while frozen by a potion 04:55 [hdf-us] [evil] DeathDealer (Wiz Elf Fem Neu), 49 points, T:308, poisoned by a rotted jackal corpse 04:58 [hdf-us] [evil] DeathDealer (Wiz Elf Fem Neu), 66 points, T:479, killed by a sewer rat 04:59 [hdf-us] [evil] DeathDealer (Wiz Elf Fem Neu), 0 points, T:8, killed by a water moccasin 05:00 [hdf-us] [evil] DeathDealer (Wiz Elf Fem Neu), 42 points, T:27, killed by a falling object 05:00 [hdf-us] [evil] DeathDealer (Wiz Elf Fem Neu), 0 points, T:37, killed by trying to drink molten lava 05:04 [hdf-us] [evil] DeathDealer (Wiz Elf Fem Neu), 87 points, T:511, killed by a dart 05:05 -!- elenmirie has quit [Quit: Going offline, see ya! (www.adiirc.com)] 05:06 -!- bouquet has quit [Ping timeout: 256 seconds] 05:12 [hdf-us] [evil] rebatela (Mon Gia Fem Neu) had Werebane bestowed upon her by Chih Sung-tzu, on T:54955 05:17 [hdf-eu] [evil] Tomsod (Inf Dem Mal Una) wished for "+2 dragonhide T-shirt of excellence", on T:83362 05:18 -!- bouquet has joined #evilhack 05:20 [hdf-eu] [evil] Tomsod (Inf Dem Mal Una) wished for "cursed +2 dragonhide speed boots", on T:83364 05:32 DAMMIT this NPC is wearing black dsm 05:32 lost my gloves and my boots 05:32 that SUCKED 05:35 -!- cbus_ has joined #evilhack 05:36 -!- cbus has quit [Killed (NickServ (GHOST command used by cbus_!~something@81-235-236-107-no92.tbcn.telia.com))] 05:36 -!- cbus_ has quit [Client Quit] 05:36 -!- cbus has joined #evilhack 05:41 -!- amateurhour has quit [*.net *.split] 05:44 -!- elenmirie has joined #evilhack 05:46 -!- amateurhour has joined #evilhack 05:56 [hdf-us] [evil] rebatela (Mon Gia Fem Neu) killed Cerberus, on T:57832 05:56 [hdf-us] [evil] rebatela (Mon Gia Fem Neu) entered Gehennom, on T:57845 06:11 [hdf-us] [evil] rebatela (Mon Gia Fem Neu) had Dragonbane bestowed upon her by Chih Sung-tzu, on T:58804 06:11 yay! something goes right ! 06:18 gratz \o/ 06:19 [hdf-us] [evil] rebatela (Mon Gia Fem Neu) killed the Abominable Snowman, on T:59384 06:27 [hdf-us] [evil] rebatela (Mon Gia Fem Neu) defeated the invisible Kathryn the Ice Queen, on T:59828 06:44 don't lose see invisible now ;-) 07:04 hehe i know 07:06 i think i've tamed 8 woollys. that's gotta be a personal record 07:14 nice! 07:17 if you can keep them fed... 07:21 [hdf-eu] [evil] NetSysFire (Pri Ith Fem Cha) performed her first genocide (energy vortices), on T:43302 07:21 [hdf-us] [evil] rebatela (Mon Gia Fem Neu) genocided gray dragons, on T:61326 07:26 this graveyard sucks now that there are like 2 wraiths 07:28 at least there is still the loot 07:29 it had to be toned down 07:43 hey all guess which dungeon level i am on 07:45 1 07:45 correct 07:45 !8ball will i go down in history by doing such dumb stuff as staying on dlvl 1 for the whole game? 07:45 NetSysFire: Most likely 07:53 !8ball should i do even dumber stuff like digging out the whole level? 07:53 NetSysFire: Don't count on it 07:55 hah i used to do that 07:56 dig out the whole level 07:56 you need a lot of food stockpiled for that though 07:58 i have 07:58 theres also enough monsters 08:02 i just got an email from Tomsod 08:02 some feedback and such 08:02 its good 08:03 K2 does the soko guilt change make giants lose 2 luck no matter what they did to lose the luck? 08:03 it sokoban_guilt() is called, yeah 08:03 like if a giant reads a scroll of earth is that 2 luck loss 08:03 yup 08:04 because they can use those boulders to their advantage in ways other races cant 08:04 and if they destroy a boulder 08:04 if sokoban_guilt() is called, yeah 08:06 it's cool that qt probably figured out the Attack of the Doors 08:07 yes! 08:07 room/level generation hurts my head. its not something i've ever been able to fully wrap my brain around 08:08 I left qt a !tell, it might be best to kill those two vault rooms, or express them in a different way 08:08 eh maybe better fixing the reason it goes haywire 08:09 as long as its not too complicated 08:09 I spent last night merging the latest 3.7 updates to 370-hdf. paxed added native livelogging 08:10 why is the werejackal ignoring the blessed scroll of scare monster on the floor O_o 08:11 they are flagged as human 08:12 humans arent affected by scare monster scrolls 08:12 [hdf-us] [evil] nabru (Wiz Ith Fem Cha), 563 points, T:791, killed by a giant leech 08:15 fuck 08:17 K2 interesting dnh feature: human monsters are just as helpless in the dark as a human hero. It's funny to see (with ESP) the human Ludios soldiers wandering around aimlessly trying to find me :-) 08:20 I saw your exchange with ChrisANG :) 08:20 the way dnh handles vision is nuts 08:20 -!- krm26 has quit [Quit: Leaving] 08:21 I had a look at it when I was looking how it handles drow 08:22 Tomsod noticed a couple bugs, one we already fixed (gifted spellbook weight), but overall it sounds like he's having fun with his current game 08:23 K2 is too scared to add a vision system >:) 08:23 -!- bhaak has quit [Ping timeout: 240 seconds] 08:24 [hdf-us] [evil] post163 (Wiz Hob Fem Neu), 0 points, T:3, killed by a falling object 08:25 Tomsod is a fan of crystal plate mail hah. glad to see someone actually using it 08:26 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) polymorphed her first object, on T:44262 08:30 i got dragonhide armor 08:31 Nice to see Tomsod doing well 08:47 [hdf-us] [evil] karibou (Arc Dwa Fem Law), 337 points, T:1535, killed by a sewer rat 08:49 [hdf-us] [evil] rebatela (Mon Gia Fem Neu) killed Juiblex, on T:63650 08:56 -!- krm26 has joined #evilhack 09:06 -!- rebatela has quit [Ping timeout: 256 seconds] 09:10 -!- bhaak has joined #evilhack 09:19 i have intrinsic flying and i need to step into a pool to dilute some potions 09:19 but > doesnt work here 09:20 you dont need to step into it 09:20 just #dip 09:22 niiiice 09:25 what if I want to go swimming 09:25 but my floaties r too powerful and I can't reach the water :(( 09:26 then stop flying :P 09:32 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) had Magicbane bestowed upon her by Hermes, on T:45074 09:41 argh fing changeling alhooned me and the alhoon black dragoned me 09:45 odds on black dragon poofing my sceptre of might :-P 09:46 50:50 either it happens or it doesnt 09:46 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) had Frost Brand bestowed upon her by Hermes, on T:45422 09:47 seems like only 1/50 chance per passive triggering that artifacts get deleted 09:48 which means rngesus will decide that for you it'll happen first time 09:48 so i was just amazing when i destroyed 2 last game in like 4 turns 09:49 looks like if you erodeproof it the odds get lowered further 09:50 [hdf-us] [evil] krm26 (Cav Hum Fem Neu) killed Croesus, on T:35784 09:53 -!- rebatela has joined #evilhack 09:54 there is an artifacy weapon that isn't intrinsically erodeproof? 09:54 [hdf-us] [evil] karibou (Mon Cen Mal Neu), 3035 points, T:2740, killed by an owlbear 10:07 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) had Fire Brand bestowed upon her by Hermes, on T:45844 10:10 [hdf-us] [evil] krm26 (Cav Hum Fem Neu), 434247 points, T:36949, suffocated by a gelatinous cube 10:20 hey K2 i have a gift for you 10:20 another bug report 10:21 a hobbit threw a mithril elven dagger at me and the color of that was this yellow-ish brown thing, default for an elven dagger, but on the ground the item looks silver because mithril 10:22 [EvilHack] k21971 pushed 2 commits to master [+0/-0/±6] https://github.com/k21971/EvilHack/compare/68d1aa0dbf2c...2e4f35f85d9b 10:22 [EvilHack] k21971 a4e0378 - Fix: cursed light vs worn light. 10:22 [EvilHack] k21971 2e4f35f - Fix: tty map weirdness after 'full-screen' menu. 10:22 NetSysFire, thanks. known bug 10:23 no easy way to fix that 10:23 aw :( 10:23 well its pretty minor anyways 10:23 it's present in every variant that uses the obj materials code that aosdict blessed us with (evilhack, xnethack, splicehack) 10:24 yeah. qt had a look at it recently, and kind of addressed it, but there was still some weird behavior 10:26 the speed of the dagger causes red shift in the colour spectrum 10:26 or something 10:26 wtf 10:26 hah redshift 10:27 [hdf-us] [evil] rebatela (Mon Gia Fem Neu) killed Mephistopheles, on T:63801 10:27 i am still on dlvl 1 10:28 it would be so useful to see how many monsters i have killed 10:28 and what are extinct 10:29 so at what point do you feel ready to explore level 2 10:29 * K2 awaits the PR 10:30 i dont know C :( 10:30 mobileuser: i am at 80k turns. maybe at turn 1000000? 10:31 lol 10:32 I was thinking of things like gear, AC, HP... 10:33 my AC is -11 currently 10:33 i have a dragonhide armor which i still need to enchant 10:36 yeah, clearly not ready for level 2 yet ;-) 10:46 K2: wow I didn't know obj materials worked like holy water 10:47 :P 10:47 you're doing gods work, keep it up 10:47 the fix for the tmp_at bug is not, theoretically, that difficult - it would just require you to comprehensively track a pointer to a flying object every time an object goes flying 10:50 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) had Keolewa bestowed upon her by Hermes, on T:46777 10:55 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) had Vorpal Blade bestowed upon her by Hermes, on T:46880 10:57 pretty sure only one object is allowed to fly at a time but I'm not certain scatter() doesn't make multiple ones go 10:58 [hdf-eu] [evil] NetSysFire (Pri Ith Fem Cha), 169610 points, T:84636, killed by a straw golem 10:58 best game so far 11:01 rip me though 11:01 !lastgame NetSysFire 11:01 NetSysFire: [hdf-eu] https://eu.hardfought.org/userdata/N/NetSysFire/evilhack/dumplog/1644442443.evil.html 11:02 K2: i killed 255 gnome and kobold zombies yet it doesnt say they are extinct? 11:02 also it still says "gnolls witherling" is the plural of gnoll witherling hah 11:05 is witherling an adjective then 11:05 or a gerund? can I witherl something? 11:07 you can wither something 11:07 what's the tmp_at bug? 11:07 you throw a wooden dagger and the animation shows it iron colored 11:07 oh the colour, right 11:09 why were you fighting while strained? 11:10 carrying loot to my stash and the owlbear appeared suddenly 11:10 well drop it all before you start fighting 11:10 thought i could make it to my stash with the scroll of scare monster on it 11:11 you hardly get any movement points while strained 11:12 <- stupid 11:12 what do you expect? :p 11:12 I expect greatness on level 1 :-) 11:13 rooting for you to get asc ready whilst not leaving level 1 11:16 -!- qt has joined #evilhack 11:17 NetSysFire :/ 11:17 re the potential bugs i found? 11:18 sorry i didnt had a spare geno scroll to wipe out team a 11:18 no, that you died 11:19 ah 11:19 for the third day of christmas my true love gave to me, three gnolls witherling 11:19 qt: Message from K2 at 2022-02-09 22:45 EST: caught up on the backscroll, good job wrapping your brain around all that mess. perhaps it'd be prudent to remove vlt-0021/22, or maybe redo them like how vlt-0031 is set up? 11:19 PRUDENT 11:20 WHILST 11:20 BETWIXT 11:20 MOIST 11:20 BOULDER 11:20 lol wuty 11:20 ... DIRGE 11:20 \o/ 11:20 [hdf-eu] [evil] McPanther (Pri Gia Mal Neu) destroyed McPanther's ghost, the former Pillager, on T:2659 11:21 qt I still have that lldb session just in case but guessing you can easily repro by throwing in those rooms 11:22 so assuming I compassionately kill it 11:22 I can* 11:22 yeah i don't think it is necessary to save it, i was able to reproduce many similar and even more exotic errors by increasing the frequency of those multiroom vaults 11:22 excellent >:) 11:23 including errors where the player name is clobbered somehow, so it says "Hello , the foo bar, welcome back to EvilHack!" 11:24 and many segfaults 11:24 a fault that segs? 11:24 probably the stack overflow 11:24 the case where the playername is clobbered, when you start the game it will ask "who are you?" and then any name you type will load that game 11:24 no way 11:24 that's epic 11:25 hah 11:25 wait what 11:25 presumably it's everything before the doors array in memory getting clobbered 11:25 at least that is the case when I tried it, I'm not sure if what would happen if I had other savefiles 11:25 and getting set to 0 because not all the doors have values? 11:26 or something 11:26 maybe so, most of the time (probably like 3/4 times generating a level) it just dies 11:26 presumably that would be less or more depending on the frequency of the particular vault 11:27 -!- Umbire has joined #evilhack 11:27 -!- Umbire has quit [Remote host closed the connection] 11:28 -!- Umbire has joined #evilhack 11:28 yeah sometimes it overwrites the playername with other stuff, including newlines or other characters 11:28 pretty awesome 11:28 77 the Digger 11:28 Hello 77, welcome to EvilHack! 11:29 lol 11:29 what about this 11:29 https://0x0.st/oXtU.png 11:29 ? 11:29 ? 11:29 T:1i:13 11:30 is it possible for it to happen in vanilla? I'm guessing not 11:30 it does have that double shop 11:30 i don't think so since the double shop is actually a room with 2 subrooms 11:30 so it's a different construction than '3 rooms that happen to all be right next to each other' 11:31 fair enough 11:31 but i'm not 100% sure 11:31 in vanilla also DOORMAX is small enough to fit in a signed char 11:32 so maybe some DOORMAX exceeded impossible would happen but probably without clobbering other data 11:33 the one with ? 11:33 (lldb) p plname 11:33 (char [32]) $0 = "\r?\U00000006\U00000004\f%\U00000004\U0000001b\U00000003#\U0000000e$\U00000010$\U00000010$\U00000010$\U00000010$\U00000010%\r%\r0\b/\U0000000fG\U0000000fG\U0000000f\U0000001c\U00000002" 11:33 very cool 11:34 were u inspired by elon musk 11:34 lol 11:35 reopening the save file: 11:35 ?ello 11:35 :D 11:35 /GG, the human Archeologist, welcome back to EvilHack! 11:35 [hdf-us] [evil] karibou (Val Gia Fem Neu), 1316 points, T:3838, killed by a bolt of lightning 11:35 two different lines (the second one pasted wrong at first since it started with a /) 11:35 very cool 11:35 what would you suggest the fix is, changing the connection condition or removing those rooms? 11:37 i guess removing the rooms or reworking them somehow is easiest... i'm not sure how to change the corridor digging/room joining code to accept 'a single door between two rooms' as a valid connection when it's set up to expect 'a corridor with two doors' 11:37 right now it basically works like this: add door to one room, try to dig a corridor connecting them, if you succeeded add the other door and mark them joined 11:37 that's why the failed digging kept adding doors, because the first door is always added even if the corridor fails 11:38 maybe there could be some kind of test of 'if the two rooms overlap on the space with the door, a single door is good enough' 11:42 how much of a dealbreaker is it to remove them? people like the varied room styles I guess 11:42 idk, i hear it would be prudent 11:42 maybe if it can be redone with subrooms instead of separate distinct rooms it would work? 11:43 i actually tried that last night but i am a complete amateur at writing des files so i couldn't figure out whether it was even possible 11:44 i got it working some of the time but it would say 'can't place door!' and also about 30% of the time the subrooms would be larger than the containing area 11:45 [hdf-eu] [evil] Umbire (Inf Elf Fem Una), 1288 points, T:2616, killed by a magic missile 11:45 changing the connected test sounds like a good idea if it's feasible 11:45 lol random shaman with magic missile wand that I literally couldn't see until they got in firing range and immediately shot me 11:45 xd 11:46 it would create rooms like this some of the time https://termbin.com/2jfw 11:46 for some reason 11:47 weird 11:48 the rest of the time it wouldn't place the doors. i probably did it wrong 11:49 less adventurous use-after-free https://0x0.st/oXvo.log 11:59 less an adventure and more a small trip 12:00 K2 you got this one I believe in u 12:04 k 12:05 so last couple hours on/off, been testing the variable sparkle patch - https://github.com/NetHack/NetHack/pull/292 12:05 it doesnt work 12:05 doesnt matter what variable I change, it's always the same 12:10 prob because of the top warning - https://termbin.com/3asn 12:10 i dunno for sure 12:10 default value is 21 (vanilla), if I change it, makes no difference 12:10 maybe I should just hard code sparkle to be something less 12:11 something sane 12:11 K2 vivit-r made a PR for 3.6, maybe that'd Just Work tm? 12:11 https://github.com/NetHack/NetHack/pull/231 12:11 but it could be related to those warnings yeah 12:12 doh i didnt realize there was a 3.6 specific commit 12:12 i'll have a look 12:12 thanks amateurhour 12:12 in the PR above the author said they closed their 3.6 one because it breaks saves or something and 3.7 had been started on 12:12 did the links to first ascension combos on nethackscoreboard disappear, or am i blind? 12:13 https://nethackscoreboard.org/firstasc.evil.html this you mean? 12:14 right, but didn't there used to be links from the other pages? 12:14 https://nethackscoreboard.org from here you can First To Ascend in top right 12:15 so the link has never been on any of the other pages? i'm just senile 12:15 if you're on a page that's not been updated since before that was added it could be missing 12:15 [hdf-us] [evil] karibou (Val Gia Fem Neu), 723 points, T:2415, killed by a giant mimic 12:15 hmm I guess it is missing from most pages... 12:15 NHS has some disappearing link issues 12:15 its been that way forever, aoei has never bothered to fix it 12:16 Mandevil couldnt be bothered either 12:19 ugh 12:19 so the multiroom thing, I added the 'is the single door already placed to join the two rooms?' check 12:19 and it's not good enough 12:20 because it's not necessarily placing a door in the region that overlaps 12:21 hmm 12:22 what i mean is that it can place a door here to join rooms 1 and 2 https://termbin.com/ifit 12:22 since it's on the wall of room 1 that's closest to room 2 12:23 ironically despite the url it doesn't fit 12:24 I wonder if paxed has ever seen this before 12:25 iirc he wrote it for sporkhack? 12:25 or something 12:26 [hdf-us] [evil] krm26 (Bar Hum Fem Neu), 402 points, T:561, killed by an arrow 12:27 sporkhack and then unnethack 12:27 evilhack has the unnethack version 12:27 and its been modified since 12:28 so this same issue could exist in sporkhack and unnethack 12:28 i mentioned what we're doing here to paxed the other day. he wasnt interested 12:28 so what you're saying is bhaak touched it last blame bhaak 12:28 ugh okay there's more to this issue than just the 'door connecting interior rooms' thing 12:28 i mean we could blame bhaak, even though he's not to blame 12:28 but it'd be fun 12:29 makes sense that they wouldn't be interested, doesn't affect vanilla 12:29 ^ that 12:30 sometimes... paxed will get interested with an issue with 12:30 but not often 12:30 in cases like this 12:31 his brain has switched over to lua 12:31 https://termbin.com/8g8e 12:31 as it goes through connecting room n to n+1 12:31 it will try to connect 3 to 4 by running a corridor from the top of 3 to the bottom of 4 12:31 oooh 12:31 which obviously won't work because it's blocked by 2 12:32 but doors get made anyways 12:32 so that's another reason for the excessive doors, that causes the rooms to be disconnected 12:32 so even fixing the 'corridors between adjacent rooms don't count' thing doesn't solve the problem 12:32 -!- elenmirie_ has joined #evilhack 12:32 qt - do you want to keep spending time figuring this out? or should I juist kill/redo those vault rooms 12:33 -!- elenmirie has quit [Read error: Connection reset by peer] 12:33 -!- elenmirie_ is now known as elenmirie 12:33 is the juice worth the squeeze as it were 12:35 I appreciate the time spent, but i dont want you to go crazy either 12:36 we care about you. well, i dunno about amateurhour, but the rest of us do 12:41 amateurhour, that heap use after free link you pasted 12:43 hmm 12:43 you got this 12:44 my brain is also switched over to lua 12:44 lua is sooooo nice 12:46 does it have to do with context.bypasses? 12:48 the use-after-free? 12:48 yeah 12:49 I don't think so, take a lot at what's in common between the two stack traces 12:49 2? did you post a 2nd one? 12:50 the first one is where it shows where the read happened 12:50 the second one is where it shows where the free happened 12:50 ah 12:50 the third one is where it was allocated but we don't really care about that 12:52 i'm not quite getting it 12:53 i think... 12:53 no 12:53 hrm 12:53 if you look at what's in common they both get to munstoned 12:54 uh munstone* 12:54 right 12:54 so it seems to get freed in muse.c:3554 then immediately read again in muse.c:3556 12:54 oh 12:54 OH 12:55 https://github.com/k21971/EvilHack/blob/master/src/muse.c#L3554 12:56 yeah i'm there 12:56 line 3554 could go away 12:57 if i am reading that correctly 12:57 hahaha how come no one ever explained this output to me before 12:57 maybe, not sure what obj_extract_self does 12:58 its like a light switch was just turned on 12:58 \o/ 12:58 to be fair some of the previous asan reports sent were really whack 12:59 OR 12:59 hmm no 12:59 I think you wanted the ring destroyed 13:00 right 13:00 -!- qt has quit [Ping timeout: 240 seconds] 13:00 it turns to meat 13:00 the problem is adjacent rooms? not rooms sharing a wall but the two rooms' walls touching each other? 13:02 [hdf-eu] [evil] mightyquinn (Arc Hum Mal Law), 916 points, T:1768, killed by a wand 13:02 ah qt isn't here atm 13:03 -!- qt has joined #evilhack 13:03 qt is back \o/ 13:04 * bhaak presses the repeat button 13:04 i am back 13:04 the problem is adjacent rooms? not rooms sharing a wall but the two rooms' walls touching each other? 13:04 two rooms sharing a wall 13:05 but you know how hx, hy doesn't include the walls or whatever 13:05 i guess you could say the interiors are 'adjacent' but the rooms share a wall 13:06 [12:59] I think you wanted the ring destroyed <--- yes, it doesnt turn to meat, it just 'turns to meat and dissolves away' 13:06 i commented out line 3554, tested it out. works fine 13:06 whacked a high level wizard with a footrice corpse, he cast stone to flesh on himself (it was wearing a ring), ring went away 13:09 hmm, where's that message in the code? 13:10 just wondering if there could be a dangling object from that obj_extract_self thing 13:10 i think another reason for the room issue is that smeq doesn't propagate down the list sometimes 13:12 amateurhour what message? 13:14 'turns to meat and dissolves away' 13:14 what i mean about smeq propagating down the list: https://termbin.com/jmsk 13:14 there is no message 13:14 that was just me describing what happens in my head 13:14 oh right 13:14 you're get the 'oder of meat' smell feedback 13:14 *you'll 13:14 I was wondering whether it'd be possible for the object to still exist in memory but not exist on the floor or in the monster's inventory 13:14 odor 13:14 it feels like join() could go through the whole smeq() and convert all the 4s to 0s in that example, since equality means an already-joined region 13:15 so that's also contributing to additional doors/corridors being made 13:15 amateurhour doesnt that asan show otemo being freed by bhito? 13:15 otemp 13:15 nope that's just where it's read again, it's not a double free 13:15 oh 13:15 oooh 13:16 i think i know 13:16 one sec 13:16 probably just needs to be handed back to the monster 13:16 https://termbin.com/pvnv 13:17 ignore that comment 'otemp is released here' 13:17 hmm 13:17 I think that just destroys the ring without ever turning it into meat, which I think is probably fine? 13:18 yes that is on purpose 13:18 probably the right thing to do is take if off the monster, turn it into meat, then give it back 13:18 i remember having a crash bug with this initially trying to keep the meat ring intact 13:18 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) killed the Abominable Snowman, on T:49058 13:18 so people can cry when they see a meat ring in the spellcaster's corpse eheheheh >:) 13:18 heh 13:19 [hdf-eu] [evil] Umbire (Con Dwa Mal Cha), 5012 points, T:5686, killed by a rope golem 13:19 Misplayed 13:21 K2 try add_to_minv(mon, otmp) instead of obfree 13:21 ok 13:22 hmmmmm actually it's iterating over the list of objects in their invent 13:22 maybe a bad idea... 13:23 needs to check for worn rings 13:23 hmm should be fine, yolo 13:24 amateurhour, in this bit o' code its otemp not otmp 13:25 why, i have no idea... ah this was an L patch i think 13:25 i'm switching otemp to otmp hah 13:25 so actually if I make that change to join() to change the entire region in smeq[], not just a single room, and I also check if a single door is sufficient 13:26 levels with many of those multiroom vaults start looking a lot saner, and it's (mostly) not clobbering playername any more 13:26 https://0x0.st/oXvl.png 13:26 but there are still many cases where it picks a shared wall as the target for the corridor, and that causes a failure 13:32 is this the "split" vault? 13:32 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) defeated Kathryn the Ice Queen, on T:49485 13:32 it's the one with 3 'subrooms' (really they are individual rooms that are just next to each other) in that screenshot 13:33 wait, is this 3.6 or evil? 13:33 evilhack 13:33 "haha you're on your own then LOL" 13:34 evilhack takes the vault code from unnethack supposedly but I'm guessing unnethack doesn't have that vault? 13:34 i think it does 13:35 I see only vlt-0031 with one subroom 13:35 "Jun 20 2021 src/evilhack" last compilation of evilhack on my machine :) 13:35 this still looks kind of ugly and there are corridors to nowhere, but i brought down DOORMAX back to 120 and it's not causing any problems/impossibles https://0x0.st/oXvd.png 13:36 this I already say you should feel bad for using ASCII instead of some foographics? 13:36 question: does anyone actually like corridors to nowhere like vanilla generates? 13:36 should they be removed? 13:37 bhaak its vlt-0021 and 22 13:38 qt if you spam the everloving heck out of wizmakemap does it throw any? 13:39 yeah i did just get one 'DOORMAX exceeded' after holding down ^A for about 10 seconds 13:39 but this is with the frequency of vlt-0022 cranked up like crazy 13:39 ah, unnethack hasn't those 13:40 sporkhack does 13:40 so i'm guessing it would be pretty safe for normal play. it would probably still be best to construct the vault in some way that uses subrooms instead of distinct rooms that each need to be connected separately to the rest of the level 13:40 since i think (?) that would avoid the problem 13:41 yes, I tried the subroom one first and that seems to be fine 13:41 https://termbin.com/f6xl <- these are the changes I'm talking about, checking if 1 door is sufficient to connect two rooms, and then also allowing the smeq change to propagate to other entries that are already connected to the room being joined 13:42 but I also don't see a similar room in themerms.lua. possible that vanilla would react the same 13:43 probably there's a neater way to do those things, but using that diff you can test it yourself amateurhour if you want. the other change is this, to increase the frequency of the bad vault https://termbin.com/0atz 13:43 ah, yes, if I add that room to unnethack and force it, it immediately shows doormax exceeded warning 13:44 the corridor code definitely operates under the assumption that distinct rooms don't share walls 13:45 paxed added the vaults/themedrooms in unnethack. he probably had a reason to leave some off :) 13:46 is this relevant at all? https://github.com/copperwater/xNetHack/blob/master/dat/themerms.lua#L1296-L1317 13:47 so even after making those changes that tame the behavior a bit, if it tries to join rooms A and B here it will try to connect the corridor to walls 'a' and 'b', so it will fail: https://termbin.com/0m3m 13:48 well, maybe not in that case with those exact room positions, but you get the idea 13:48 aosdict: somewhat. my hunch is that the region code doesn't understand the concept of subrooms, but if you don't use a des.map but des.rooms it might be fine. 13:49 I would try to rewrite those vaults as ROOMS and SUBROOMS. but I'm AFK now and BBL 13:50 i did try that last night but it ended up not really working, probably because i don't have much experience with writing des files. maybe k2 can figure it out 13:51 [hdf-eu] [evil] mightyquinn (Arc Hum Mal Law), 3253 points, T:7378, killed by an iguana, while frozen by a monster's gaze 13:53 amateurhour can you run that test with line 3554 commented out in muse.c 13:53 does that heap use after free still occur? 13:54 -!- elenmirie has quit [Quit: Going offline, see ya! (www.adiirc.com)] 13:54 wait no, that has to be there 13:54 i think 13:57 yeah 13:58 wow look how neat this level is despite all the triple rooms https://termbin.com/g9dg 13:58 hard to believe 13:58 wow 13:58 I think it'd be a memory leak wouldn't it? removes the item from the monster then meats it but it doesn't live anywhere? 13:59 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) killed the Oracle, on T:49757 13:59 wanted to check if asan would report a memory leak when exiting the game but an asan report got in the way :') 13:59 https://0x0.st/oXwc.log 14:00 amateurhour it never meats it, poly_obj() is never called 14:00 and for good reason 14:00 as far as i can tell, poly_obj() doesnt handle obj in mon inventory 14:00 bhito would meat it? 14:01 yeah, you get the smell feedback 14:01 i did a thing, where the monster had the meat ring in inv 14:01 but it caused program in disorder 14:01 del_object 14:02 qt - are you saying we should roll with tis? https://termbin.com/f6xl 14:02 this 14:02 i made one more small change after that which has further reduced DOORMAX impossibles, held down ^A for about a minute and didn't get one 14:03 nice 14:04 https://termbin.com/15eu this is everything i have done (other than the vault frequency increase for testing obviously) 14:05 awesome 14:05 it may change the level generation behavior a bit by reducing the number of extraneous corridors... but levels generated without the vault freq change don't look very different to me 14:05 this one should probably be a PR. I'm not sure exactly how to explain all this in a commit message :) 14:06 'qt did things. my head hurts. yolo' 14:08 i still think it would be good to try to rewrite that vault des to use subrooms 14:09 yeah 14:09 those changes are basically hacks to reduce the number of useless doors,they don't address the underlying problem 14:09 that code you made, that should benefit everything 14:09 that the room joining code assumes distinct rooms don't share walls 14:14 i haz teh idea 14:16 what is it 14:18 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) had Werebane bestowed upon her by Hermes, on T:50029 14:18 writing it. i'll show you soon 14:18 -!- elenmirie has joined #evilhack 14:28 [hdf-us] [evil] post163 (Wiz Dwa Mal Neu), 0 points, T:2, killed by a system shock 14:29 [hdf-eu] [evil] Umbire (Inf Hum Mal Una) rejected atheism by offering a gecko corpse on an altar of Venus, on T:3599 14:30 qt - https://termbin.com/a3ph 14:31 using this - https://termbin.com/7sab 14:32 spamming wizmakemap, I'd sometimes get levels where none of the rooms were joined by corridoors at all 14:32 I havent compiled with your code changes yet 14:33 lol shit i just got a doormax exceeded 14:33 and its still at 200 14:34 [hdf-eu] [evil] Graznop (Hea Elf Fem Neu) destroyed Charon, on T:50261 14:37 damn 14:37 does using subrooms not actually help with this problem? 14:38 well i had vaultgen up to 5000 14:38 [hdf-eu] [evil] Umbire (Inf Hum Mal Una), 3180 points, T:4173, poisoned by a rotted mountain dwarf corpse, while praying 14:38 [hdf-eu] [evil] mightyquinn (Arc Hum Mal Law), 2455 points, T:3739, killed by a crossbow bolt, while fainted from lack of food 14:38 does that generate more rooms than normal? i assumed it just increased the frequency of that vault compared to others 14:39 i mean, the map you pasted above doesn't look like it has more rooms than usual 14:42 it just increases the freq of that type of room 14:42 damn this is the same problem i had before 14:42 where it can't make any doors 14:42 for some reason 14:45 here's one, with both the corner room and tri room 'fixed' to use subrooms - https://termbin.com/yfv9 14:46 are you getting map generation where none of the rooms are connected? 14:46 yeah 14:46 how high are you making VAULTGEN ? 14:46 200 is nominal fyi 14:47 i did what you did, made it 5000. does making it lower change corridor generation somehow? shouldn't it still be making doors even if every room is that kind of vault? 14:47 i dropped to 2000 still getting maps with no hallways 14:47 trying 1000 14:48 for discussion sake, i only ever use vaultgen for testing 14:48 i don't think it will help, i was getting similar problems yesterday when i had it at 800 or something 14:48 trying 500 14:49 [hdf-us] [evil] krm26 (Bar Hum Fem Neu) became literate by reading the fortune inside a cookie, on T:7352 14:50 seems to help a lil bit 14:50 you're doing this with your code changes in effect correct? 14:50 no 14:50 ah 14:50 i think i see the problem though 14:51 something strange seems to be going on with adding doors to the subrooms 14:51 because by the time it tries to connect all the rooms with corridors, the number of doors has already hit 200 14:51 and so it gives up immediately before placing any corridors 14:51 that's what is going on there 14:51 i see 14:51 and sometimes i get an error like 'create_door: couldn't find a place!' 14:52 which sounds related 14:52 so should prob drop the 'ROOMDOOR' bit 14:52 well, don't you need those in order to have doors? 14:52 to the inside yes 14:52 doors/opening will still form on the outside 14:52 oh the outside of each subroom? 14:52 or just the outside of the 'main' room? 14:52 outside of main 14:53 so the two subrooms are inaccessible then right? 14:53 from the inside yes 14:53 the edits I made to vaults.des that i shared, delete the roomdoor line 14:53 watch how to behaves 15:10 the words 'room' and 'door' no longer look like real words to me 15:11 instead of 'roomdoor' could just try 'door' 15:12 [hdf-eu] [evil] mightyquinn (Arc Hum Mal Law) became literate by reading a scroll, on T:3496 15:12 hah no 15:13 i have another idea that is more sane 15:17 https://termbin.com/wsnu made by https://termbin.com/yhd4 15:18 fixed doors for the subrooms that are made by the main room 15:18 hmm 15:18 you could add a random position element to the doors 15:18 i actually just found another approach that seems to work 15:18 so they arent always in the exact same spot 15:19 oh yeah? 15:19 lets see :P 15:19 instead of ROOMDOOR:random,random,random,random 15:19 do like ROOMDOOR:random,random,west|south,random (for the upper-right subroom) 15:19 so it restricts it to interior walls 15:19 that seems to help, i haven't had the 'no corridors' situation since changing it 15:19 nice 15:20 hmm 15:20 i guess it doesn't help that much 15:20 i just got a segfault again from too many doors 15:21 it did seem to prevent the scenario where there were no corridors, or maybe i just got lucky 15:21 in all honesty though, vaultgen would never be ramped up this high for normal play 15:21 where are all the damn doors coming from, seriously 15:22 i really don't get it 15:23 ok it's still filling up doors[] even before it tries to connect the rooms 15:23 what the hell 15:23 is causing it 15:23 :/ 15:25 i like your ROOMDOOR suggestion 15:29 so it looks like this extra door creation isnt tied to those two vault types stacking normal rooms on top of each other? 15:30 no 15:31 no, it isnt, or no, thats wrong ? 15:32 no, it doesn't seem to be stacking normal rooms, the subrooms are correctly considered subrooms (if I'm understanding you right) 15:32 ah lemme clarify 15:32 oh you mean, it looks like the door stuff isn't connected to the change you made in vaults.des? 15:33 regardless of whether those two vault rooms stay as is or are switched to using subrooms, the massive amount of extra doors being generated isnt tied to that, is it? 15:34 -!- elenmirie has quit [Quit: Going offline, see ya! (www.adiirc.com)] 15:35 this is kind of unbelievable but i think they're two different problems 15:35 the one that happens before the change to vaults.des is apparently happening at the time the rooms are being joined 15:35 the one that happens after it's changed to use subrooms is happening before that 15:36 uuuugh 15:36 i'm still trying to understand it 15:40 regardless, I think switching those vaults to use subrooms may be best 15:41 [hdf-eu] [evil] Umbire (Val Cen Fem Neu) rejected atheism with a prayer, on T:3551 15:51 ohh 15:51 i think i get it 15:51 ughhhh 15:52 each time a special vault is loaded from the desfile, link_doors_rooms crawls through the entire maps and tries to associate any doors on it to rooms (and/or subrooms) that they're part of 15:52 normally that happens once for a whole-level des file 15:53 but since des stuff is being loaded for every room, it goes thru the entire map however many number of times there are rooms 15:53 so vault 1 is added: the 2 doors in it are connected to vault 1 (2 entries added to doors[]) 15:53 vault 2 is added: it notices the doors in vault 1, "hey, i better hook those up to vault 1", adds 2 more entries to doors[]. then it does the same for the doors in vault 2 15:54 heh 15:54 as more rooms are added it gets downright silly 15:54 so i think i can see a light at the end of the tunnel here 15:54 if it just checks whether the door is already represented in doors[] 15:54 so bumping up vaultgen for testing increases the stupdity odds 15:54 before adding it 15:54 Gnome wizard stunlock still anti-fun, news at 11 after groundbreaking documentary Sky is Blue 15:54 yeah i guess, i'm not sure if this would happen when loading the 'ordinary room' vault 15:55 no we need 17 copies of the door it's very important 15:55 are all ordinary rooms that vault? 15:55 bigger number = better door 15:55 qt no they shouldnt be 15:55 amateurhour: you're right, maybe it should be changed to add 3 copies each time it associates the door to the room 15:55 but it wouldnt hurt to verify that 15:55 that way it will have some extras just in case 15:55 hey go with lucky number 7 15:55 K2: just asking since the first entry in vaults.des is a 'normal room' or whatever 15:56 i think it's a vault room that just looks like a normal room 15:56 hmm lets see 15:57 ... hahaha 15:57 so maybe i was lied to 15:57 this makes sense... why that vault 'normal' room has a vaultgen 200 15:57 it would make sense for it to work basically by pulling a random vault from that file for each room, and the 'normal room' vault has a higher frequency 15:58 if you comment out that first vault room, almost all rooms made are special vault rooms 15:58 well gdamn 16:03 try it after this https://termbin.com/cs9f 16:04 ok one sec 16:06 can't believe how many door-related issues this vault has caused, in all its permutations 16:07 so set vaults.des back to normal and add that code? 16:07 no, keep the change to make them subrooms 16:07 and add that code 16:07 it really is a different issue before and after the change 16:07 amazingly enough 16:07 epic 16:07 this addresses the after-the-change door issue 16:08 put vlt-0000 back into play? 16:09 oh yeah i guess, i mean bring it back to when you noticed the corridors weren't being generated 16:09 gotcha 16:10 god level generation is slow when that vault generation rate is turned up 16:10 for that particular vault 16:10 this probably explains how some of us had disconnected maps from time to time 16:10 like that time I forced K2 to watch me search every square in the disconnected room over 50 times 16:11 yup 16:11 i just spammed wizmakemap 16:11 like, forever 16:11 no errors 16:11 cool 16:11 good teamwork 16:11 i ramped vaultgen up to 2000 for vlt-0021 and 0022 16:11 how slow are we talking for level generation? 16:12 and no missing corridors 16:12 if it's really bad then an array instead of linked list of coords imo 16:12 so qt, those tests you ran yesterday where you were seeing multiple doors on the same tile space, does that happen now? 16:13 amateurhour: actually nvm 16:13 i think it was something about lldb that was making it slow 16:13 amateurhour my wizmode box can make 15-20 maps per second when i spam wizmakemap 16:13 maybe more 16:13 maybe the fact i had a breakpoint set but disabled that was getting hit a bunch of times during level generation? 16:13 it goes by fast 16:13 anyway it was slow when running it in lldb, but it's fast again once i have quit it 16:13 ah 16:13 ah right okay, I was thinking that having to traverse the linked list per door would be slow 16:13 it's not a linked list, it's an array 16:14 eh yeah sorry, you know what I mean 16:14 qt is this still required? https://termbin.com/15eu 16:14 K2: no i don't think so 16:14 I was thinking you could have an array and index in by arr[y*WIDTH + x] = 1, for example 16:14 qt ok 16:14 but it doesn't matter 16:14 just need to set doormax back down to 120 16:15 wasted memory not worth it when there's expected like 20 doors tops 16:15 [hdf-us] [evil] krm26 (Bar Hum Fem Neu) completed Sokoban, acquiring a silver amulet of magic resistance, on T:10699 16:15 amateurhour: for some reason there are multiple entries per door 16:15 potentially i mean 16:15 if it's on a shared spot between multiple rooms 16:15 i don't really understand why but it does work that way 16:15 could be a mistake too though come to think of it 16:16 considering there were, like, 50 entries being added per door until this patch 16:16 but basically the array is organized like, each room has a dedicated chunk of it for the doors it is connected to 16:16 so you can pull part of the array to look at all the doors in that specific room 16:16 there's probably some reason for it i guess 16:17 like qt said, great teamwork 16:17 woo boy 16:19 ugh 16:19 k2 not all these subrooms are getting doors as far as I can see 16:19 wizmakemap wont show secret doors 16:19 read a scroll of blessed magic mapping 16:20 *blessed scroll of magic mapping 16:20 i did #wizdetect inside this subroom https://0x0.st/oXxM.png 16:20 i will read magic mapping but i'm pretty sure there is no door 16:21 should be on west wall 16:21 magic mapping shows nothing 16:22 https://termbin.com/pdvf - your des file look like that? 16:22 like that but instead of west and west|north i have west|south and west 16:22 so it is in the subroom where it has a choice of 2 walls 16:23 hmm 16:23 hmm 16:23 one sec 16:23 ok 16:23 'random' can sometimes be 'nodoor' 16:23 i think your thing works and mine doesn't 16:24 because when I set the subrooms to 'south' and 'west' 16:24 there's no door between them 16:24 but if i set them to 'west' and 'north' 16:24 there is a door 16:24 ah 16:24 maybe when the second subroom is placed, the walls on it overwrite the 'southern' door from the prev subroom? 16:24 something like that? 16:24 i think so 16:24 i guess it was probably a quirk of the way i had done it, that doesn't exist for you 16:25 one more thing we learned 16:26 with this subroom method, I could make a couple more rooms where the subroom is top left or bottom left corner, etc 16:26 nice 16:26 or door a quad room 16:26 or do 16:30 omg 16:30 the 'too many doors' issue has infected k2's speech now 16:30 it's everywhere 16:30 hordoor 16:30 this is doorible 16:30 doors and rooms don't look like real words anymore 16:31 qt, you're adoorable 16:32 i wonder if there's something wrong with my PR to fix NetSysFire's menu issue 16:32 because it's not merged to vanilla you mean? 16:33 well, it's only been 2 days, but i was already uncertain if it was the proper way to do it 16:33 so i am waiting with bated breath to see what will happen 16:33 I'm wondering if there's something wrong with my PR to fix the sokoban issue :^) 16:33 i told k2 to wait until the vanilla devteam responds to it but i think he changed it anyway 16:33 the one where sometimes sokoban is the wrong way up 16:35 pat said 'over my dead body', so the pr is missing some kind of spell that will kill whoever reads it if their name is 'pat' 16:35 heh 16:35 there may be some incidental casualties depending on how many pats view it 16:35 yeah i didnt wait 16:39 if the level is flipped it will be under pat's dead body 16:39 and then it will be published immediately 16:39 hah check it out - https://termbin.com/5m41 16:40 hmm doors arent forming on the small room in the bottom left 16:40 what does the ROOMDOOR thing look like? 16:44 i think i got it - https://termbin.com/hk5u 16:46 yup 16:46 we're good 16:47 what was wrong with it? 16:47 i messed up my north/south/east/west bits 16:49 does sanitizer come from the same etymology as sanity 16:49 yeah i guess it does, from latin sanus "healthy; sane" 16:50 do u have a moment to talk about our lord and saviour address sanitizer 16:50 it should be called address insanitizer 16:50 because all the asan reports are making me insane 16:51 heheh 16:51 honestly wasn't expecting this one to be that wild at first glance 16:53 the doors thing? 16:53 yeah 16:54 like at first glance it was just 'okay its something -1 at this point, weird' 16:54 * amateurhour sends to qt 16:54 2022-02-09 14:05:30 qt that's not great 16:54 2022-02-09 14:05:32 amateurhour this one is gonna be a headscratcher 16:54 2022-02-09 14:05:45 amateurhour sorry sorry I mean an *adventure* 16:54 and you were right 16:54 hahaha 16:55 caught in 4k 16:55 caught in 7 bit ascii 16:57 ROOMDOOR can still produce 'nodoor' 16:57 so there's still possibility that the subroom could form without one pointing in to the main room 16:59 can you do something like open|closed|locked 16:59 like the west|north thing 17:00 lemme try 17:00 hmm i don't think so 17:01 since it doesn't select from between the different options in the doormask in the same way it selects from the different options of the wall placement 17:01 nope dont like it 17:03 maybe you could do IF [50%] { ROOMDOOR: random, closed, blah blah } ELSE { ROOMDOOR: random, secret, blah blah } 17:03 true 17:03 i don't get why it can select nodoor at all if you specify a door 17:03 what's the point of that 17:03 "give me a door here. but sometimes, actually, just act like i didn't ask for one at all, without any option to disable that" 17:04 wait 17:04 nodoor means the door is broken i think, k2 17:04 like "an empty space in the wall" not "an uninterrupted wall" 17:04 that would make a lot more sense 17:04 no there's already a 'broken' option 17:05 https://nethackwiki.com/wiki/Des-file_format_(UnNetHack)#ROOMDOOR 17:05 [hdf-us] [evil] post163 (Wiz Dwa Fem Neu) murdered her faithful pseudodragon, on T:1 17:06 [hdf-us] [evil] post163 (Wiz Dwa Fem Neu), 165 points, T:273, killed by a hobbit 17:06 maybe 'empty doorway' and 'broken door' are different 17:07 i can't believe 'nodoor' means 'wall', it doesn't make much sense to me based on the way the door info is stored in the level 17:08 when you kick down a door and farlook it says 'a broken door' or something different than 'a doorway' 17:08 i think that's the distinction 17:08 try setting it to 'nodoor' instead of random and see what happens 17:09 ok 17:09 i can't do it rn because i have to do some actual work 17:09 but let me know what happens, i'm very curious 17:11 https://termbin.com/63n4 17:11 that's specifying 'nodoor' 17:11 and i did wizdetect 17:12 damn i lost track of time, i gotta go. back soon 17:13 so it does have an empty doorway in one of the rooms 17:13 how can that be if it's fixed 17:13 did you do #wizdetect inside the subrooms? 17:13 it only reveals things close to you, not across the whole level 17:14 ok i'm just going to do it myself and see lol 17:14 -!- amateurhour has quit [Quit: leaving] 17:15 https://termbin.com/sqw8 this is what the level looks like when i do ROOMDOOR:false, nodoor, ... 17:16 when i enable secret doors they just seem to be normal secret doors, nodoor doesn't seem to have an effect 17:16 [hdf-us] [evil] Demogorgon (Inf Ith Mal Una), 28468 points, T:10324, killed by a winged gargoyle 17:16 *on secret doors -- non-secret doors appear as empty doorways 17:24 -!- mobileuser has quit [Quit: Connection closed] 17:26 [hdf-us] [evil] post163 (Wiz Hum Fem Cha), 243 points, T:1277, killed by a bone arrow 17:26 -!- mobileuser has joined #evilhack 17:35 qt: i think i now know why the scroll of scare monster doesnt autocurse on drop 17:36 you could cast cancellation at it over and over again to circumvent that 17:36 wouldn't cancellation just blank it? 17:36 i dont know honestly 17:46 yes it would blank it 17:46 i think it curses on pickup as an element of surprise for newbies 17:48 it doesn't curse on pickup, that's the thing we were talking about -- why it uses a system of 'blessed -> uncursed but not yet picked up -> uncursed and picked up once -> dissolves' and also dissolves when cursed, instead of doing 'blessed -> uncursed -> cursed -> dissolves' 17:48 Oh yeah, I remember that discussion coming up previously 17:48 since i agree that autocursing on pickup is basically what you'd expect, and the current system is counterintuitive 17:49 we were speculating about whether there's some specific reasoning behind doing it this way 17:50 one side-effect is that you can't dip a cursed scroll in holy water twice to get 2 free pickups in advance, i guess 17:50 but you can just wait to dip it in holy water again when it goes from blessed -> uncursed and picked up once before, and get effectively the same result 17:50 idk 17:51 so shopkeepers can screw you with picked-up activated scrolls? 17:51 what do you mean mobileuser? 17:51 I seem to remember having to pay for them in shops when they turn to dust 17:52 you mean that you might see an uncursed scroll on the floor and think it's safe to pick up but actually it isn't? 17:52 yeah 17:52 yeah but only if you've picked it up yourself before i think, i don't think they can be generated 'pre picked up' 17:52 that last part I wondered about 17:53 but i was wondering earlier if that's the reason for it, that you can't immediately tell for sure whether an uncursed scroll is safe to drop or not 17:53 i don't really see why you'd go out of your way to ensure that though so it's probably not that 17:54 K2: any idea why zombies didnt count as extinct in my last game even though the log even said i have slain 255 of them? 17:54 -!- rebatela has quit [Remote host closed the connection] 17:55 -!- mobileuser has quit [Quit: Connection closed] 17:55 NetSysFire: extinction is based on how many are created not how many are killed 17:55 so i guess you killed a particular zombie multiple times, that contributed to the count of kills 17:55 but it only counted as one 'birth' 17:55 weird 17:56 yeah 17:57 zombies tend to revive pretty often if you are unlucky 17:57 it looks like reviving a corpse is specifically excluded from counting towards extinction 17:58 it mentions it on this wiki article https://nethackwiki.com/wiki/Extinctionism 17:58 [hdf-us] [evil] post163 (Wiz Hob Mal Neu), 0 points, T:1, zapped himself with a wand 17:58 Mechanisms of monster creation can be classified in those that ... neither respect extinction nor increment the born counter (example: troll regeneration). <-- zombie revival is in this category too 17:58 uses the same mechanism as troll revival 17:59 sounds like the counter in the log is wrong then 17:59 [hdf-us] [evil] post163 (Wiz Hob Fem Neu), 0 points, T:1, killed by a scroll of genocide 17:59 [hdf-us] [evil] post163 (Wiz Hob Fem Neu) performed her first genocide (hobbits), on T:1 17:59 why? it's not a counter of how many are born, it's a counter of how many you killed 17:59 extinction is based on how many are born not how many kills you have 18:00 hmm 18:00 i guess you could say it should count killing one zombie multiple times as 1 18:00 yeah 18:00 -!- elenmirie has joined #evilhack 18:00 but then you'd need to increment it only when the corpse rots away or fails to revive, it would be more complicated for sure 18:01 and you might have the opposite problem, "I know I killed 20 zombies but it says I didn't kill any, what gives" :) 18:02 monsters like that should display "effective kills" or something 18:10 this is annoying 18:10 i was trying to look at mvitals[] to confirm something about how revival vs extinction works 18:10 mvitals[] is defined like this: 18:10 E NEARDATA struct mvitals { 18:10 uchar born; 18:10 uchar died; 18:10 [hdf-eu] [evil] NetSysFire (Pri Ith Fem Cha), 8906 points, T:13805, killed by an elf zombie, while frozen by a monster's gaze 18:11 uchar mvflags; 18:11 } mvitals[NUMMONS]; 18:12 when i put 'p mvitals[30].born' into lldb it says 'error: :1:12: cannot use dot operator on a type' 18:12 oh it's g.mvitals in 3.7 18:13 nvm 18:16 hmm 18:16 the wiki says reviving a monster with undead turning will increment born and count towards extinction 18:16 and i think i've heard of that strategy before too 18:16 but it doesn't seem to work, i wonder if it used to? 18:17 or is it just an error on the part of the wiki editor 18:18 i think maybe the strategy i've heard before is using stone to flesh and stoning, not undead turning 18:20 Yeah, you're thinking of that for extinctionist purposes 18:20 It's why I think Juiblex is one of the hardest targets 18:30 qt thanks 18:31 i didnt realize wizdetect didnt cover the entire map 18:35 so we're good then 18:38 Umbire: so the wiki is wrong then, when it says you can use turn undead to revive a corpse 18:38 repeatedly in order to extinct it 18:39 Probably, I don't know the code well enough to give the precise correction though 18:40 i filled up the back of my truck with girl scout cookies. mini-me sold over 300 boxes 18:40 that's why I was like 'oh no i have to go' heh 18:41 I may or may not have bought 10 boxes for myself 18:48 haha 18:53 [hdf-us] [evil] Demogorgon (Inf Ith Fem Una) had Secespita bestowed upon her by Moloch, on T:1332 19:00 i can't believe the extinctionist strategy advice 'repeatedly kill and revive a monster with undead turning' has been on the wiki since 2006 19:00 that hasn't been a viable strategy since 3.4.0, looks like 19:01 based on the code on the wiki it used to be possible in 3.3.0 though 19:01 i wonder how much total time has been spent reviving and killing monsters by would-be extinctionists after reading that wiki article 19:02 daaaamn 19:04 i fixed it but various parts of the article still use language implying extinction is based on how many monsters you kill rather than how many are generated 19:04 e.g. "A common method to rack up kills is to build a boulder fort around an altar." 19:08 hmm 19:10 it'd be nice if there were a git blame feature on nethack wiki or wikis in general 19:10 but i get why it is hard/impossible, since it's not really broken into distinct lines in the same way as source code 19:12 qt: Wikipedia has such a facility but it's trickier to use and less useful in results 19:13 [EvilHack] k21971 pushed 1 commit to master [+0/-0/±8] https://github.com/k21971/EvilHack/compare/2e4f35f85d9b...9eb064da019d 19:13 [EvilHack] k21971 9eb064d - Fix: return DOORMAX to proper value, level creation fixes. 19:14 ^ qt commit notes look about right qt? 19:14 [hdf-us] [evil] Demogorgon (Inf Ith Fem Una), 2608 points, T:3370, killed by a wolf 19:14 (I notice also git blame and friends have broken my habit of trying to cram multiple statements onto a line which I got from Ian "dkpg" Jackson who used to program as if whitespace was made from kittens) 19:14 heh 19:14 \o/ 19:14 K2 sounds good K2 19:15 i'd have had a hard time summarizing it 19:15 summarizing like 2 days of effort between you, me, and amateurhour 19:18 that's why I ended it with 'bleh' 19:18 i know i'm leaving a lot out 19:18 it's good, it addresses the key points without getting bogged down in excessive detail 19:20 keep finding all these bugs, never going to make it to new content :) 19:24 -!- elenmirie has quit [Quit: Going offline, see ya! (www.adiirc.com)] 19:25 the only real bug Tomsof reported was this: 19:25 Tomsod 19:25 'I just wished for a dragonhide shirt of excellence, but from testing in wizard mode it suffers from a la "hobug" wherein enchanting it permanently reduces the character's charisma. Good thing I discovered that in time. Please add items of excellence to do_wear.c:adj_abon(), I still want to enchant the shirt!' 19:27 i dont understand what the issue is 19:29 oh i see 19:30 i put on an uncursed +0 tshirt of excellence. then read a cursed scroll of enchant armor which decreased its enchantment by one. but my charisma didnt go down with it 19:31 and then when a nymph stole it, my charisma went up by one 19:31 the reverse would prob work if enchanting and then taking it off 19:31 hah 19:42 -!- qt has quit [Ping timeout: 240 seconds] 19:46 -!- qt has joined #evilhack 19:47 K2: wow yeah that is pretty bad 19:47 wear a +0 shirt of excellence, enchant it up +3, take it off, my charisma is reduced by 3 19:48 that was only just reported recently? 19:48 why does the shirt's effect depend on enchantment when a weapon's doesn't 19:55 k2 i guess something like this is the fix tomsod had in mind? https://termbin.com/b31b 19:56 maybe there should be some guard against otmp being null in there too 19:59 hmm 19:59 there would also need to be a call to adj_abon in drain_item too 20:00 for some reason that handles everything on its own instead of relying on adj_abon 20:01 we were on right track 20:01 yours is more betterly though 20:01 i forgot about the luck bit 20:01 brb 20:01 oh sorry did you figure something out while i was gone 20:01 i just copied that over from existing code 20:05 ugh 20:05 this is annoying 20:05 cancellation too -- instead of using adj_abon for HoB and GoD it has some duplicate code 20:11 oh there's another bug here 20:12 huh this is a vanilla bug i think 20:13 oh maybe not... 20:19 K2: https://termbin.com/7ysr <- can you think of any way worn armor spe is modified, other than by scroll of enchant armor, cancellation, or disenchanter? 20:20 because each of those handled the adjustment of the HoB and GoD bonus differently (rather than all going through adj_abon) so probably any other adjustment function needs to be changed so it calls adj_abon and will affect armor of excellence too 20:21 rings of protection affect ac and are charged with charging right 20:23 [hdf-us] [evil] krm26 (Bar Hum Fem Neu) had Cleaver bestowed upon her by Crom, on T:14134 20:29 Yes krm26 20:31 i'm back 20:31 reading backscroll 20:33 [hdf-us] [evil] terrapin (Rog Elf Fem Neu), 130 points, T:854, killed by an arrow 20:33 qt no I didnt figure anything you didnt already. glad you caught the extra otmp in 'otmp->oprops_known |= ITEM_EXCEL;' 20:33 err not that 20:34 if (otmp && (otmp->oprops & ITEM_EXCEL) && (otmp->owornmask & W_ARMOR)) { 20:34 ^ that heh 20:35 i think that covers it qt, i cant think of anything else that would decrease enchantment other than what you mentioned 20:38 beard axes have higher base dice than normal axes yeah? 20:41 i doubt it's ever called with otmp being null but better safe than sorry 20:44 yup 20:44 Umbire yes 20:44 just confirming 20:44 have both but the normal axe is enchanted 20:44 just confirming your confirmation 20:48 what saint's name did you choose for your confirmation Umbire 20:48 ? 20:48 just an epic Catholicism joke 20:48 simply epic i'd say 20:50 hah 20:51 [hdf-us] [evil] terrapin (Inf Elf Fem Una), 863 points, T:1214, killed by a wererat 20:52 [hdf-us] [evil] krm26 (Bar Hum Fem Neu) destroyed dgoddard's ghost, the former Initiate, on T:16791 20:59 [EvilHack] k21971 pushed 1 commit to master [+0/-0/±3] https://github.com/k21971/EvilHack/compare/9eb064da019d...6deee0bc86b2 20:59 [EvilHack] k21971 6deee0b - Fix: armor with 'excellence' object property adversely affecting charisma. 21:06 [hdf-us] [evil] krm26 (Bar Hum Fem Neu) destroyed coplate's ghost, the former Thaumaturge, on T:17775 21:12 -!- qt has quit [Ping timeout: 256 seconds] 21:16 [hdf-us] [evil] krm26 (Bar Hum Fem Neu) had a pair of leather gloves entrusted to her by Crom, on T:18189 21:30 [hdf-us] [evil] coplate (Wiz Gno Fem Cha), 89455 points, T:30225, disintegrated by a beholder 21:36 oof 22:05 K2: do you think EvilHack's Soko 1n is changed enough that it warrants its own page? 22:07 do yellow dragons not fly? 22:07 mine won't leave the perch in Vlads 22:08 weird 22:08 All dragons should fly 22:08 Umbire, probably 22:08 well he just took one step then went back. 22:08 maybe he's just shy 22:09 nm now he's cool with it 22:10 heh, a mimic decided to spawn in thin air mimicking a statue 22:19 how does the mimic float in thin air 22:20 why did it spawn there in the first place 22:29 K2: Looking at it again, the wiki solution works exactly the same since the "extra" pits are removed 22:32 https://nethackwiki.com/wiki/Sokoban_Level_1n 22:35 it does 22:36 and yeah a mimic shouldnt have spawned there 22:36 bouquet did it stay there for immediately fall? 22:36 *or 22:36 no, it stayed until a pet whacked it, then it started moving across the void 22:37 ?@e xan 22:38 @?e xan 22:38 e xan ~2~ xan (x) | Lvl: 7 | Diff: 9 | Spd: 18 | Res: poison | Confers: poison | MR: 0 | Generates: gehennom dungeons | AC: -4 | Attacks: 1d4 sting legwound | Alignment: 0 | Flags: genocidable, flies, poisonous, infravisible, passes-bars 22:38 ceiling mimic is watching you spelunk 22:38 bouquet, you may want 22:38 @e?xan 22:38 xan (x) | Lvl: 7 | Diff: 9 | Spd: 18 | Res: poison | Confers: poison | MR: 0 | Generates: gehennom dungeons | AC: -4 | Attacks: 1d4 sting legwound | Alignment: 0 | Flags: genocidable, flies, poisonous, infravisible, passes-bars 22:38 what kind of mimic 22:40 hmm weird 22:40 large/giant mimics are clingers 22:40 but ceiling_hider() excludes S_MIMIC 22:41 huh 22:43 just an upside down statue on the ceiling 22:43 gotta love wacky vampire decorating 22:46 i see it 22:46 sorry, ya it was a large variety 22:46 in fact, there's a few places throughout the code where is_clinger() should probably be replaced with ceiling_hider() 22:47 does "is clinger()" mean "grabs you"? Or is that bearhug? 22:47 It means you can stick to the monster 22:47 and/or they can stick to you 22:47 is my guess 23:01 [EvilHack] k21971 pushed 1 commit to master [+0/-0/±2] https://github.com/k21971/EvilHack/compare/6deee0bc86b2...f4f22e2d939a 23:01 [EvilHack] k21971 f4f22e2 - Infidels cannot regenerate hit points without the Amulet of Yendor in their possesion (pre-imbued Idol of Moloch). 23:03 * bouquet opens the door a crack and whispers **sparkle patch** 23:03 what was that? Did you hear something? 23:03 i was working on that earlier today 23:03 but i grabbed the wrong commit, so i have to redo it heh 23:09 [hdf-us] [evil] bouquet (Wiz Hum Fem Cha) destroyed the invisible Vlad the Impaler, on T:84509 23:09 [hdf-us] [evil] bouquet (Wiz Hum Fem Cha) murdered her faithful garter snake, on T:84509 23:09 [hdf-us] [evil] bouquet (Wiz Hum Fem Cha) acquired the Candelabrum of Invocation, on T:84511 23:10 you killed your pet garter snake... what kind of sick evil bastard are you 23:19 hmmm 23:21 man, that garter snake was carrying me the whole way through the game 23:21 another mimic floating in space 23:30 heh 23:51 [hdf-eu] [evil] Umbire (Val Cen Fem Neu) completed Sokoban, acquiring a mithril amulet of magic resistance, on T:9408