00:20 -!- pyro_ has joined #hardfought 00:20 -!- yuring has joined #hardfought 00:24 -!- pyro_ has left #hardfought 00:47 -!- raisse has joined #hardfought 00:47 -!- mode/#hardfought [+v raisse] by ChanServ 00:47 !tell k2 pushed some fixes for joust challlenge (including a segfault) 00:47 Will do, Tangles! 00:47 ok 00:47 K2: Message from Tangles at 2017-09-25 00:47 EDT: pushed some fixes for joust challlenge (including a segfault) 00:47 :P 00:47 heh 00:48 just reading before i go to bed 00:48 lol challlllllllenge! 00:48 wewt! 00:48 joust as in from the coin game joust? 00:49 Yes probably... I know it from the Atari 2600. 00:49 yeah... awesome 00:49 dev/null 3.6.0 updated 00:49 I should add a writeup for it to the wiki page. 00:50 ooh 00:51 i need to put a blurb on the news portion of the wiki 00:51 hows it goin? 00:53 Not too bad. 00:53 It's a holiday here today. 00:53 so I'm not at work. 00:53 I do have a million other things I should be doing though :/ 00:54 always the case around here too ;) 00:54 i should be in bed 00:54 up in 5.5 hrs 00:56 Yeah sounds like a good plan. 00:57 ok. so i'm on 2nd shift now so we should see a bit more of each other online instead of in passing 00:58 let me know if there's anything specififc you need testing on with the devnull build 00:59 ok 00:59 Nothing specific I can think of right now. 00:59 Joust could probably use more testing, but I have a wizmode game I'm using for that. 01:03 ok 01:03 alright going to bed. cya Tangles 01:04 ok 'night K2 01:27 just notice that green spell make black light unseenable. Cursed items dropped on altar well not show BUC 01:27 Great idea 01:28 Or just the altar vanish 01:29 yuring, still enjoying slex? 01:30 Afk these days 01:39 -!- LarienTelrunya has joined #hardfought 01:49 [slex] Yuring (Mah Dro Fem Neu), 35 points, T:137, killed by a monster (river moccasin) 01:57 !tell k2 just pushed another small tweak to the joust movement logic. Think it's done now :) 01:57 Will do, Tangles! 02:05 -!- stenno has joined #hardfought 02:05 -!- stenno is now known as Guest95573 02:17 [slex] bugsniper (Nec Spe Mal Neu), 4 points, T:13, killed by a falling object 02:28 [slex] Yuring (Mah Dro Fem Neu), 1263 points, T:1035, killed by a monster (pole duck) 02:31 aosdict: about the lycanthropy thing, what I did was to make the random transformation happen a lot less often, and ensure that even in wererat form the player's carry cap is not so godawfully low as to render you incapable of carrying anything. I feel that makes lycanthropy much more manageable. ;) 02:42 EPI: werewalls with a lycanthropy-conferring passive attack 02:42 ooh, passive lycanthropy, slex doesn't have that yet :D 02:43 nice patch idea: weretruckghosts 02:43 haha, are those meant for loli? 02:43 let him be the truck ghost 02:44 if he can get out of the way 02:44 actually, EPI: weretruckghosts that summon hostile truck ghosts, but can't actually infect you so you can't become one of them. 02:44 although, making regular truck ghosts spawn in large groups would have a similar effect 02:46 EPI: wereeyes with a lycanthropy-conferring gaze attack 02:46 -!- raisse has quit [Read error: Connection reset by peer] 02:46 -!- theRaisse has joined #hardfought 02:46 -!- mode/#hardfought [+v theRaisse] by ChanServ 02:47 haha :D there are werefloatingeyes, but currently they only confer lycanthropy in melee 02:47 EPI: weresoldiers with lycanthropy-conferring machinegun bullets 02:48 -!- theRaisse is now known as raisse\splat 02:48 -!- raisse\splat is now known as theRaisse 02:48 -!- theRaisse is now known as raisse\splat 02:48 -!- raisse\splat is now known as raisse 02:48 that would actually be useful, since soldiers can carry all items and everything and it would essentially give you extra lives :P 02:49 didn't notice 02:50 the werebullets should make you change form to bullet instead (mimicking a bullet, maybe?) :P 02:51 shoot those at the elder priest to get him out of the way 02:53 [slex] Yuring (Mah Dro Fem Neu), 326 points, T:746, killed by a monster (invisible Linus the Cat) 02:56 -!- Grasshopper has joined #hardfought 02:56 -!- mode/#hardfought [+v Grasshopper] by ChanServ 03:08 -!- Guest95573 is now known as stenno 03:08 -!- stenno has quit [Changing host] 03:08 -!- stenno has joined #hardfought 03:27 -!- raisse has quit [Ping timeout: 246 seconds] 03:27 -!- Grassy has joined #hardfought 03:27 -!- mode/#hardfought [+v Grassy] by ChanServ 03:30 -!- Grasshopper has quit [Ping timeout: 260 seconds] 03:37 -!- raisse has joined #hardfought 03:37 -!- mode/#hardfought [+v raisse] by ChanServ 04:14 aosdict: http://home.fiq.se/abil.png 04:15 I want to consolidate monster abilities, and some player ones (jumping, teleportation, turn undead, prayer) into a single thing 04:15 I also want to, later on, expand this to include role abilities, to diversify it 04:16 Kinda like how SLASH'EM does it, but I want to be more careful and thoughtful in designing them 04:16 *diversify roles 04:40 -!- yuring has quit [Quit: Connection closed for inactivity] 04:44 -!- elenmirie_ has joined #hardfought 04:44 -!- elenmirie has quit [Read error: Connection reset by peer] 04:45 -!- elenmirie_ is now known as elenmirie 04:58 -!- yuring has joined #hardfought 05:00 -!- stenno has quit [Ping timeout: 264 seconds] 05:31 -!- raisse has quit [Quit: Raisse suddenly disappears!] 05:31 -!- raisse has joined #hardfought 05:31 -!- mode/#hardfought [+v raisse] by ChanServ 05:39 [slex] Yuring (Mah Dro Fem Neu), 1223 points, T:905, petrified by a thrown petrifying egg 06:04 -!- raisse has quit [Ping timeout: 246 seconds] 06:17 -!- raisse has joined #hardfought 06:17 -!- mode/#hardfought [+v raisse] by ChanServ 06:29 -!- Grasshopper has joined #hardfought 06:29 -!- mode/#hardfought [+v Grasshopper] by ChanServ 06:33 -!- Grassy has quit [Ping timeout: 246 seconds] 06:45 -!- raisse has quit [Ping timeout: 252 seconds] 06:50 -!- hothraxxa has quit [Quit: Page closed] 06:55 Tarmunora_: You need an internet connection anyway, because it's not the middle ages any more. 06:57 jonadab: What is the best way to store descriptions for these? home.fiq.se/abil.png 06:57 http://home.fiq.se/abil.png Now clickable 07:01 As part of the Guidebook, presumably 07:01 Hmm, best way to store descriptions. Probably same way as you store the names ("pray", "teleport", "breathe", etc.). So e.g., if those are in an array, put the descriptions in an array. 07:01 And yes, probably put them in the Guidebook too. 07:02 I could perhaps just put it in the guidebook 07:02 and have the description stuff read from it 07:02 -!- noty has quit [Quit: WeeChat 1.9] 07:02 You want to include a documentation parser in the game? 07:02 The game already has functionality for reading the Guidebook 07:02 see / 07:03 (whatis) 07:03 / read the Guidebook? 07:03 Are you sure? 07:03 I assumed so...? 07:03 I thought it read the encyclopedia. 07:03 data.base 07:03 Oh 07:03 Well that is what I meant 07:03 Guidebook is probably something else 07:04 The guidebook is designed to be read by humans who have never played the game. 07:04 Ah 07:04 Well I was referring to data.base 07:04 then 07:04 Yeah, putting them in the encyclopedia is a possible approach. 07:04 (There should probably be allusions to special abilities in the Guidebook either way, to note that it is a thing, but that's seperate) 07:05 Yes. 07:05 I am working on adding the missing features in master atm, particularly special abilities 07:05 which I intended to move ranged combat to 07:05 Incidentally, the guidebook was mostly written by ESR, though others have made some revisions; this is still true in NH4. 07:06 and then make master the "main" repo 07:06 as it should be 07:06 I already did the save compat stuff, 4.3.0 saves will load correctly in master now 07:06 Whereas, the Encyclopedia in 3.x was mostly a random collection of irrelevant quotes; NH4 replaces this and was mostly written by ais523 and me. (One of us did the objects, the other did the monsters, I forget which is which.) 07:07 but as part of ability rework, I killed off the old code for monster breath and such 07:07 so I need to readd it 07:07 jonadab: Ahh 07:07 jonadab: Have you seen dnethack spell help? 07:07 Not recently. 07:08 It's a nice way to explain how stuff works 07:08 I intend to get back to d at some point but probably not until after exploring Un. 07:08 spell-wise 07:08 I think NeroOneTrueKing also wanted to do it for spirits and their abilities 07:08 and wards 07:10 -!- hothraxxa has joined #hardfought 07:10 -!- mode/#hardfought [+v hothraxxa] by ChanServ 07:11 jonadab: http://home.fiq.se/dnh.png 07:11 is what I am referring to 07:11 FIQ: What's the UI for bringing up that info for a given spell? 07:12 Access from the + screen somehow? 07:12 or Z 07:12 OH, neat. 07:12 Yes, that does seem like a good feature. 07:12 http://home.fiq.se/dnh2.png 07:13 Ah, yes, that's a reasonable UI. 07:14 Better than hiding it in the + screen (which many players never use). 07:23 -!- raisse has joined #hardfought 07:23 -!- mode/#hardfought [+v raisse] by ChanServ 07:47 jonadab: aww, I like the irrelevant quotes 07:47 does the NH4 encyclopedia at least keep some of them below the real description? 07:52 aosdict: No, they were removed for "We aren't sure this is actually fair use under copyright law" reasons. 07:53 (I think they actually probably _were_, at least under US law, though ais is in England, so who knows. But they also were irrelevant to the game and served only to confuse new players, so I agree with removing them in any case.) 07:54 (There are some other things in the game that are almost certainly _NOT_ fair use. The 3.6 Pratchett tribute stuff is *absolutely* certainly not.) 07:54 (I think the dev team is counting on Pratchett being on record as liking NetHack, to keep his heirs from filing suit.) 07:54 (Either that or they just think they can fly under the radar.) 07:55 Some of the quest text (notably, Tourist) is likewise problematic. 07:56 I kind of want to rewrite the Tourist quest text at some point, but I haven't gotten around to it. 07:56 Huh, I thought ais or someone expressed a strong opinion that the 3.6 tribute stuff was very safe under fair use. 07:57 -!- Grasshopper has quit [Remote host closed the connection] 07:57 It's definitely not under US copyright law. The excerpts are much too long to be safe. 07:58 The old encyclopedia quotes were much closer to safe. 07:58 And ais is the one who removed those. 07:58 -!- Grasshopper has joined #hardfought 07:58 -!- mode/#hardfought [+v Grasshopper] by ChanServ 08:00 But it's clearly not for educational use, or commentary (no editorial comments are even presented), or parody. 08:00 Which leaves the question of substantiality. 08:00 -!- yuring has quit [Quit: Connection closed for inactivity] 08:01 And the quotes from Pratchet in 3.6 are _protracted_. 08:01 You can get away with quotes that long if you're arguing a contrary view, for example, but nothing like that is going on in NetHack. 08:02 There's also the argument that NetHack is clearly not a for-profit enterprise, though all that means is that any lawsuit would just be because someone thinks it devalues Pratchett's work. 08:02 That makes it a lot easier to fly under the radar, yes. 08:03 And yes, the "This doesn't decrease the marketability of the novels" argument would be the major defense. 08:03 Except, you wouldn't actually defend this if it went to court, you would remove the offending stuff and settle. 08:04 If Pratchett is on record liking NetHack, might it be a good idea just to ask the estate for a license to get it above board? 08:05 I don't know. Maybe? That makes it harder to fly under the radar but would resolve the question. 08:05 Personally, my preference would be to rip all that stuff out. 08:05 (Or not put it in in the first place; I'm not based on 3.6, so I don't have to deal with it in Fourk.) 08:06 It's not like it makes the game more fun to play. 08:06 You could leave the paperback books and their titles. 08:07 And just rip out the actual quotes. 08:09 Kind of removes a lot of the point of dedicating 3.6.0 to Pratchett as a tribute though. 08:10 I don't see how. 08:10 You can dedicate a work to someone in tribute without their having contributed to it. 08:18 what I don't like is 08:19 izchak was tributed in nethack 08:19 he got a version-specific gravestone, and became a permanent shopkeeper resident 08:19 pratchett gets so much shit 08:19 and I don't even care about what he did 08:19 it's sad that he died and all, but 08:19 the way 3.6.0 handles this is IMO very dubious and questionable 08:20 you'd think the nethack devteam would care much more about what was basically one of the lead developers for over a decade dying 08:20 over some author 08:20 that has very little to do with NetHack 08:22 -!- stenno has joined #hardfought 08:22 -!- stenno is now known as Guest73823 08:23 Hi stenno and welcome to #hardfought. Enjoy your stay! 08:24 FIQ: well, I assume you're not claiming the Tourist stuff as part of the tribute, since it predates his death by over a decade. 08:24 I am not 08:24 The actual tribute is limited to just novels, as far as I can remember. 08:25 Which seems like less of an effect on the average game than Izchak and his shop. 08:26 aosdict: and chatting with Death 08:26 okay yes, which also has little effect on the average game 08:26 -!- Guest73823 has quit [Ping timeout: 240 seconds] 08:27 because seriously, who is going to waste turns on astral talking to Death if they are not specifically trying to get those messages 08:27 aosdict: also it messes with book generation rate 08:27 and I am not really referring to the amount of gameplay impact 08:27 as much as the work put into it 08:27 the Izchak thing is like, one line in the source 08:28 (and a bit more in the 3.2 tribute thing, but not much) 08:28 pratchett tribute adds an entirely new feature for the only purpose of tributing a dead author 08:28 including everything that comes with it, such as maintaining, bug fixes, typo issues and whatnot 08:28 there is a ton of commits in the github repo regarding tribute handling 08:29 how many commits is there regarding Izchak handling? 08:33 -!- Tarmunora has joined #hardfought 08:36 -!- Tarmunora_ has quit [Ping timeout: 248 seconds] 08:43 IMO, NetHack owes much more to Tolkein than to Pratchett. 08:43 I mean, Tolkein basically _created_ the fantasy genre. 08:45 -!- NeroOneTrueKing has quit [Ping timeout: 260 seconds] 08:49 aosdict: and when I say "a ton", I really mean it 08:49 it's 100+ 08:49 typos, bugs, implementation, fixes, tweaks, whatever 08:49 it all feels so... pointless to me 08:49 when it could be spent on implementing actual features/fixe 08:49 but maybe that is just me? 08:49 *fixes 08:53 I mean... it's one thing to say nh4 won't import any tribute stuff because it's derived from pre-tribute code 08:53 but it's another thing to declare that the tribute is bad/went too far, is a waste of effort, and should 08:54 FIQ: It's not just you. 08:54 should perhaps be removed* 08:54 aosdict: Yes, but this is my opinion on it all 08:55 I will not stress to 3.6 DT about this because I feel like DT fundamentally disagrees 08:55 waste of effort isn't a good argument, because this is an open-source project and people have to be _motivated_ to put in effort, so they mostly do the stuff they're motivated to do, that's expected. 08:56 But yes, the reasons I don't want to cherry-pick the tribute stuff to Fourk are much, much more than "Fourk is based on a pre-tribute branch of the code". 08:56 There's stuff in 3.6 that I do want to cherry-pick. That isn't it. 08:57 jonadab: True 08:57 I personally see it as a waste of effoert, but clearly 3.6 DT does not 08:57 *effort 08:59 jonadab: Why is the data.base thingy inserting blank lines? 08:59 Hmm? 08:59 Define "inserting". 09:00 Well 09:00 I made this entry 09:00 pray\n\iStuff.\n\iMore stuff. 09:00 It made 2 blank lines after 09:00 Where do they come from? 09:01 "It made 2 blank lines after". Where did it make them? 09:02 Are we talking about something that ends up in the compiled database, something that whatis shows, or what? 09:03 I don't understand the data.base format 09:03 is what I think the issue is 09:04 http://sprunge.us/dQjU 09:04 this is what I do 09:05 by making this 09:05 whatis -> pray has a blank line at the end 09:05 I am not understanding what it comes from 09:05 by removing the pray entry, crocodile does not have this phenomenom 09:06 oh! but salamander does! 09:06 I overlooked that entry 09:07 so there is just an issue in the data.base parser 09:07 is all 09:08 Oh, hmm, possibly, not sure. 09:08 Let me do some minor investigation. 09:08 -!- LarienTelrunya has quit [Quit: Page closed] 09:08 do whatis -> salamander 09:08 it gives blank lines 09:08 I removed the blank lines in the data.base file at the end 09:09 It got rid of the blank lines 09:09 Yeah, I see that. 09:09 So it is being parsed as part of the last entry 09:09 Ah. 09:09 Makes sense. 09:11 Probably could get makedefs to strip trailing blank lines. 09:12 Or, you know, at some point we could remove the data.base handling from makedefs and put the information in a big array in the game code, or something. 09:16 jonadab: for now I just removed the blank lines 09:17 jonadab: I thought the goal was to move large amounts of program data out of the code and into more human-writable forms? 09:17 That would also work. 09:17 aosdict: That's another option. 09:17 Put it in, like, a format the game can already read. Like JSON. 09:17 I would personally like to do this with monst.c and objects.c. 09:18 I don't think NH3 can read JSON, though. 09:18 That would be a lot more work, but also a lot more worthwhile. 09:18 aosdict: No, but NH4 inherits libjansson from NitroHack. 09:18 Pakka Pakka offers 3 gold pieces for your corpse. Sell it? [ynaq] (y) y 09:18 Heh. 09:18 I aten't dead yet! 09:18 hah 09:19 I would probably lean towards YAML over JSON for maximum human readability. 09:20 of course, I don't think there are any cross-platform YAML parsing libraries for C 09:20 aosdict: For monst.c and objects.c, you need a format with comments. So _not_ JSON. 09:20 For data.base, that's way less critical. 09:21 data.base does a decent job at being human readable already. 09:22 It does. 09:22 So maybe just move the parsing out of makedefs and into the game itself. 09:22 that is what I keep saying :P 09:22 even for stuff like the level compiler 09:22 FIQ: Yes, but you say it for stuff like the level compiler. 09:23 data.base parsing is _much_ simpler than levcomp. 09:23 -!- stenno has joined #hardfought 09:23 Like, we're talking the difference between twenty lines of C code that a normal person can understand... 09:23 -!- stenno is now known as Guest19041 09:23 versus several _files_ of not-actually-C code with a bus factor in the low single digits. 09:23 Hmm, if the level compiler were built into the game, you would probably just distribute the des files instead of .lev files 09:24 yes 09:24 aosdict: Yes. 09:24 this is what I want to do 09:24 which would make it more hackable (and cheatable) 09:24 it also allows end users t omake their own levels 09:24 without having devtoos 09:24 *devtools 09:24 aosdict: cheatable? as if the game isn't that already 09:24 this is probably fine, since you can already cheat on a local installation, 09:25 aosdict: It's always cheatable in local play. 09:25 Yes. 09:25 and you wouldn't be able to do that on a remote server 09:25 aosdict: I see ease of modification as an *asset* 09:25 This is why we play on public servers. 09:25 not a *liability* 09:25 Right. 09:27 -!- rikersan has joined #hardfought 09:27 YAML monst.c... ugh. Either you would need to include the libyaml source with your code distribution because it's not at all a default library, or you would need to define your own special subset of YAML and implement a parser for it. 09:27 The latter is probably the way to go. 09:27 But I'm not sure if YAML is really the ideal format either. 09:27 -!- Guest19041 has quit [Ping timeout: 248 seconds] 09:28 Though it's closer than JSON. 09:28 A subset might be the way to go, implement only the parts of YAML you need. 09:28 In which case, why not abandon yaml entirely and just have a grammar optimized for nethack constants. 09:28 Also possible. 09:28 pinobot has yamls 09:28 if you want to see how it could possibly look like 09:31 eep I killed a werejackal who must have been waldo 09:31 without looking at him first 09:31 I wonder if you would want this to transpile into monst.c 09:31 or just remove it outright 09:31 transpile? 09:31 so basically makedefs? 09:31 the thing we want to get rid of? :D 09:32 I'm unclear on how monst.c is actually parsed and incorporated into the program. 09:32 it's just a C file 09:32 nothing weird about it 09:32 It declares the mons[] array, as a global I think. 09:32 but makedefs parse it to make PM_* constants 09:32 And monstr.c is generated from it, I think? 09:33 monstr.c is just difficulty levels 09:33 made as part of the makedefs step 09:33 no 09:33 which comes from parsing monst.c, right? 09:33 I don't know why this is neccessary 09:33 yes 09:33 well I think it compiles monst.c and uses the array 09:34 it doesn't scrape the C file 09:34 that'd be insane 09:34 pinobot works similarly 09:34 a special program that incorporates some of the nethack C files 09:34 for making a yaml 09:35 this approach doesn't work for NH4 but jonadab made a generator for it instead 09:35 hmm 09:35 so if you have a non-C file which declares all the permonst/objclass 09:35 it's got to produce a C file somewhere 09:36 and it's probably got to be able to read #defines from other stuff, so you can specify colors and whatnot 09:36 this might not be effective at removing makedefs as a middleman 09:37 raisse: Doesn't killing Waldo complete the challenge? (The wiki implies it does.) 09:37 well, the alternative is having said non-C file get read in at the start of every game 09:37 FIQ: There is something weird about monst.c 09:38 didn't get the opportunity to test because I got killed before I met something tameable 09:38 It is compiled twice, differently. 09:38 jonadab: ? 09:38 Once for makedefs, and once for the actual game. 09:38 but then its volatility completely destroys monster and object constants 09:38 right 09:39 aosdict: the main reason monst.c and objects.c *isn't* something I generally claim should be made human-editable is that it would introduce significiant complications that don't exist for other cases 09:39 FIQ: The basic approach for the Pinobot YAML would work for NH4, but the patch is against unixmain.c, which NH4 doesn't have. Rather than adapt the patch, I just added a YAML generator to spoiler.c 09:39 FIQ: so if monsters _were_ to be read into the game at the start of the game, how would you deal with, for example, checking if a monster is a leprechaun? Because you can't use PM_LEPRECHAUN anymore. 09:39 also applies for artilist.h 09:39 aosdict: zapm's solution is string check 09:39 isA("floppy disk of hacking") 09:39 this has its own set of issues 09:40 FIQ: what are these significant complications? :) 09:40 aosdict: Yes, the PM_foo constants, and similar for objects, are the main most important obstacle to getting rid of makedefs. 09:40 well 09:40 and this set of issues? 09:40 the ones you mention 09:40 ^ that 09:40 jonadab: for monsters 09:41 you can get away with making something like what dnethack did 09:41 and abstract everything into monster flags 09:41 That would be good. 09:41 this doesn't really work for objects as well 09:41 But would take a lot of work. 09:41 yes, it took Chris *months* 09:41 And doesn't handle things like grown-up forms. 09:41 indeed 09:41 but for that you can just make it part of the monst 09:42 er, not monst 09:42 but like how the player roles have ranks 09:42 FIQ: what are the problems with string compare, except possibly resource use on old systems? 09:42 aosdict: much more error prone 09:42 how do you ensure you don't make a mistake like isA("wratih") 09:43 and then the game of course wouldn't know until runtime whether there is a monster named wratih 09:43 yes 09:44 Even at runtime, it doesn't necessarily detect the error5. 09:44 It just always returns false, even if it's a wraith. 09:44 jonadab: right, if you don't make isA iterate the entire mons[] 09:45 you could have some linting step checking at compile time whether all the isA match known monster names. 09:46 You could. 09:46 and this is different from makedefs.. how? 09:46 But ideally, you don't want to have the compilation dependent on a file which isn't known till runtime. 09:46 aosdict: But only if all the isA("...") are hardcoded strings. 09:46 aosdict: What do you do when it's isA(some_variable)? 09:46 (Which, yes, NetHack does that all over the place.) 09:47 so far my main solution has been to make a seperate enum and monlist 09:47 and ensure correct ordering by using [foo] = {bar} syntax 09:48 so, no escape from makedefs if you need to check stuff in the code at compile time. 09:48 there is if you are willing to make 2 seperate "monlists" 09:48 one with enums 09:48 one with actual monster data 09:48 aosdict: I'm sure there must be a way that is good and reasonable. I just haven't figured out what it is exactly. 09:49 of course this only gets you rid of makedefs 09:49 My current plan is to gradually remove functionality from makedefs, a thing at a time. 09:49 it doesn't allow you to make monst.c human-editable 09:49 Starting with stuff like the quest text. 09:49 quest text could use the same formatting as data.base easily 09:49 so you could even use the same parser 09:50 quest text currently does a bunch of substituting. 09:50 SOme of which is unnecessary. 09:50 ah 09:50 FIQ: however, if the monster data is not known till runtime, you can't do the two-monlist approach. 09:50 aosdict: nope, as I said, my approach helps you get rid of makedefs 09:50 Because that would require compile-time parsing of the monlist, which 09:50 but it will not help you make monst.c into a human-editable thing 09:50 I consider equivalent to makedefs. 09:51 jonadab: one thing that comes to mind that makedefs do that makes little sense 09:51 rumors 09:51 I think it _might_ be okay to use isA() comparisons at runtime. 09:52 If someone actually typoes something or lets a not-real monster name get into one, then that's a bug. 09:54 And if someone decides to edit the monster array in such a way that it breaks these comparisons, then it's on them. 09:55 FIQ: Yes, the fortune cookie messages are high on my list of things makedefs shouldn't be doing. 09:56 -!- rikersan has quit [Ping timeout: 240 seconds] 09:56 Especially since the format it compiles to is architecture-dependent, and there is absolutely no reason for that. 09:56 I wonder how close stenno is getting to finishing that essay on code internals 09:56 he is making one? 09:56 before I actually do stuff with this code, it would be helpful to have read that 09:56 now I am curious 09:56 evidently yes 09:57 last I heard, he said that he finally understood why the dragons need to appear in a specific order 09:58 oh but that is simple 09:59 There's more than one reason. 09:59 a lot of nethack code depends on dragons being a particular order because it uses gray/yellow as beginning/end 09:59 Well, that's the summary version, yes. 09:59 and it relies on this to figure out armor stuff, breath stuff, etc 09:59 mapping everything correctly 10:00 stuff like if monsndx >= PM_GRAY_DRAGON && monsndx <= PM_YELLOW_DRAGON? 10:00 yeah 10:01 of course, a lot of the object stuff could be fixed with that idea of adding corpsenm to objclass 10:01 or at least, code paths merged 10:02 -!- rikersan has joined #hardfought 10:07 it seems like the dragon ordering problem could actually be induced to go away without TOO much headache 10:07 -!- rikersan has quit [Ping timeout: 264 seconds] 10:08 yes 10:08 much easier than other things talked about here 10:12 -!- rikersan has joined #hardfought 10:19 -!- rikersan has quit [Quit: Lost terminal] 10:24 -!- raisse has quit [Ping timeout: 255 seconds] 11:13 -!- raisse has joined #hardfought 11:13 -!- mode/#hardfought [+v raisse] by ChanServ 11:27 [slex] Yuring (Mah Dro Fem Neu), 1304 points, T:1380, killed by a monster (human zombie), while disrobing 11:34 -!- Grassy has joined #hardfought 11:34 -!- mode/#hardfought [+v Grassy] by ChanServ 11:37 -!- Grasshopper has quit [Ping timeout: 240 seconds] 11:39 [slex] Yuring (Mah Dro Fem Neu), 387 points, T:585, killed by a monster (battle scarred ronin) 11:39 -!- Grassy has quit [Remote host closed the connection] 11:40 -!- Grassy has joined #hardfought 11:40 -!- mode/#hardfought [+v Grassy] by ChanServ 11:42 https://cdn.discordapp.com/attachments/205316704106971136/361899473846403072/nerf_pls.png 11:44 FIQ: where's that from? 11:44 The explosion should've at least revealed the wand type. 11:45 !tell K2 pushed a fix 11:45 Will do, FIQ! 11:45 aosdict: fiqhack 11:45 mvm refactor 11:45 I somehow overlooked porting the level checks 11:45 for item destruction 11:46 ok 11:46 K2: Message from Tangles at 2017-09-25 01:57 EDT: just pushed another small tweak to the joust movement logic. Think it's done now :) 11:46 K2: Message from FIQ at 2017-09-25 11:45 EDT: pushed a fix 11:46 oh two fixes 11:46 i didnt see the first 11:46 yay !tell 11:46 * FIQ mutters something quietly about K2 not reading backlogs 11:46 :) 11:47 hey ;) 11:47 sometimes I do, sometimes I just skim 11:47 or dont 11:47 yay !tell 11:48 dev/null 3.6.0 updated 11:49 FIQhack updated 11:50 * K2 goes back down into his basement 11:50 heh 11:50 [4k] Zappi (philbo) (Wiz Elf Fem Cha), 6399 points, T:4162, killed by an iguana 11:55 so, I was just washing some spinach to cook for myself, and I thought to myself "this really isn't much spinach, it's going to compile down to only a few bites" 11:55 now, which is worse: the fact that I automatically thought of cooking food as compiling it 11:55 or that terrible, awful pun? 11:55 K2: minor update for Fourk, most important part is that if someone answers no to the DYWYPI prompt, the dumplog will still be generated with item identities. 11:55 aosdict: Heh. 11:56 Oh, there's also a stinking cloud blame bugfix in there. 12:05 !tell K2 pushed a change that undoes sidebar frame joining for now 12:05 Will do, FIQ! 12:21 -!- NeroOneTrueKing has joined #hardfought 12:47 heh 12:47 K2: Message from FIQ at 2017-09-25 12:05 EDT: pushed a change that undoes sidebar frame joining for now 12:48 FIQhack updated 12:51 NetHack Fourk updated 13:24 -!- NeroOneTrueKing has quit [Ping timeout: 240 seconds] 13:27 -!- Tarmunora-t has joined #hardfought 13:29 [slex] Yuring (Mah Dro Fem Neu), 602 points, T:2183, killed by a cowardly attack on her breasts 13:36 [slex] Yuring (Mah Dro Fem Neu), 223 points, T:518, killed by a monster (cave goblin) 13:40 [slex] Yuring (Mah Dro Fem Neu), 163 points, T:120, killed by a monster (porter rock piercer) 13:43 [4k] Zappi (philbo) (Wiz Elf Fem Cha), 1158 points, T:352, poisoned by a water moccasin 13:48 -!- stenno has joined #hardfought 13:48 -!- stenno is now known as Guest54208 14:01 [4k] Zappi (philbo) (Wiz Elf Fem Cha), 6396 points, T:1479, killed by a jitterbug 14:14 -!- NeroOneTrueKing has joined #hardfought 14:25 -!- Tarmunora-t has quit [Ping timeout: 248 seconds] 14:27 -!- Tarmunora-t has joined #hardfought 15:06 -!- Tarmunora--t has joined #hardfought 15:09 -!- Tarmunora-t has quit [Ping timeout: 240 seconds] 15:16 -!- Tarmunora--t has quit [Quit: Leaving] 15:26 -!- NeroOneTrueKing has quit [Ping timeout: 248 seconds] 15:47 -!- Guest54208 has quit [Ping timeout: 240 seconds] 15:48 -!- stenno has joined #hardfought 15:48 -!- stenno is now known as Guest68782 15:57 -!- Guest68782 has quit [Changing host] 15:57 -!- Guest68782 has joined #hardfought 15:57 -!- Guest68782 is now known as stenno 16:19 -!- raisse has quit [Ping timeout: 255 seconds] 16:29 EPI: when you're invisible, clearly photons cannot be hitting your eyes because they're passing right through you, so you are always blind while you are invisible. 16:33 this is not an EPI 16:34 YASI then? 16:34 That might fall under too much realism. 16:40 aosdict: in fiqhack, the amulet of yendor grants aggravate monster 16:41 interesting 16:41 which effectively cancels invisibility 16:42 In the Evil Patch, the Amulet of Yendor grants aggravate monster, fumbling, and restful sleep, and blocks HP and Pw regeneration. 16:42 And if it leaves your inventory, it goes straight back to the Sanctum. 16:42 That's not too evil unless you also import it teleporting when you drop it from Un. 16:42 Levelporting. TO the Sanctum. 16:43 "To the Sanctum, Alice. One of these days..." 16:49 EPI: whenever you depoly from a footrice, there is a chance you touch part of your body while morphing and stone yourself 16:50 Heh. 17:12 [gh] k2 (Mon Elf Mal Neu) completed Sokoban, on T:11984 17:17 -!- ais523 has joined #hardfought 17:33 -!- noty has joined #hardfought 17:34 -!- ais523 has quit [Remote host closed the connection] 17:35 -!- ais523 has joined #hardfought 18:16 K2: I have a short list of minor bugs I found in Grunt that I originally intended to fix but am probably not going to. Would you be interested in it? 18:22 ais523: so my sidebar update thingy broke screen redraws whenever windows were involved 18:22 I ended up commenting out the relevant bits for now 18:23 FIQ: tant d 18:23 *that doesn't surprise me 18:23 because z-order starts being relevant then 18:23 https://media.discordapp.net/attachments/205316704106971136/361904754663620618/blacked.png?width=384&height=330 18:23 this happens 18:23 not surew hy 18:23 *sure why 18:24 non-thumbnail-version, allthough the above is probably sufficient https://media.discordapp.net/attachments/205316704106971136/361904754663620618/blacked.png 18:25 there are pretty clear/simple ways to make this work but they aren't very compatible with the NitroHack codebase :-( 18:30 -!- ais523 has quit [Quit: It seems most convenient to apologise for my connection in the quit message, given how often it comes up… If I immediately reconnect, it's probably because I could send but not receive.] 18:36 [gh] k2 (Mon Elf Mal Neu) hit with a wielded weapon for the first time, on T:12697 18:39 wtf 18:39 AGAIN lol 18:39 i kicked a dagger on the floor and it hit an orc 18:39 thats not a very pacifistic thing to do 18:39 aosdict: yes please 18:40 FIQ: didnt you say that wielded weapon behavior was on purpose because of something to do with polearms? 18:41 so who actually uses polearms as polearms? 18:41 [nd] Rx (Hea Gno Fem Neu) rejected atheism with a prayer, on T:3039 18:41 like beyond maybe super early game? 18:42 K2: want them over irc or in a pastebin? there are like 5 18:44 [gh] k2 (Mon Elf Mal Neu), 30206 points, T:13189, killed by a warg 18:44 pastebin works 18:44 i can bookmark it 18:46 K2: yes, kind o 18:46 f 18:46 it's the same codepath 18:47 not sure why it doesn't trigger in 3.4.3 18:47 hmm 18:47 so its most likely a bug 18:48 this plus what aosdict sends, something i can look at resolving after the devnull tribute tournament 18:49 [08:43] !tell jonadab <+jonadab> I mean, Tolkein basically _created_ the fantasy genre. no no no no no nope never happened. popularized, sure. created? tolkein was 100 years too late 18:50 oops 18:50 hrm 18:50 nice !tell 18:50 !tell jonadab <+jonadab> I mean, Tolkein basically _created_ the fantasy genre. no no no no no nope never happened. popularized, sure. created? tolkein was 100 years too late 18:50 Will do, hothraxxa! 18:50 better now 18:50 heh 18:51 touched a nerve he did 18:51 there was a time when i was a lad when you could literally read every fantasy work published, and i did 18:51 this was well before tolkien 18:52 are you a corpse? 18:52 no. i'm 70 and 1/12 going on 71 18:52 i hope im playing nethack when im that age 18:53 hothraxxa: so fantasy along the lines of elves and orcs and wizards and such as we know them today? 18:53 i am pretty sure i'm the oldest ever to ascend fiqhack, grunthack, dynahack, and nethack4. possibly nethack vanilla but i don't claim that 18:54 k2: not orcs as such, but elves, wizards, dwarves, you bet 18:54 Demo: you remember Jesus? 18:54 orcs too but they were called goblins 18:54 so does hothraxxa 18:54 literally 18:54 ahhh yes goblins and orcs, closely related 18:57 barbarians are based on conan, who was well ahead of tolkien 18:57 don't think we have any robert e howard quotes though 18:57 which, tbh, i am grateful for 18:58 according to wikipedia, the hobbit was published in 1937? Was Tolkien just not that popular at the time? 18:59 hothraxxa: I doubt you are the olders to ascend vanilla 18:59 he was not. he became popular in the early 60s 18:59 *oldest 18:59 nethack4... not sure 18:59 the others, almost certainly 18:59 well i can check the other so yeah 19:00 K2: the interesting thing is those stories shouldn't have _vanished_, we should probably still have them in some libraries somewhere 19:00 if you wanted to become a pre-tolkien fantasy scholar 19:02 and there is some relatively prominent stuff like Hayden Christensen 19:03 wait is jesus a fantasy author? 19:03 i'm lost. am i missing part of this discussion? 19:04 heh 19:04 no you're not lost 19:04 erm 19:04 id just like to put in a good word for David Eddings if we are talking fantasy 19:04 aosdict, what stories shouldn't have vanished? 19:04 s/Hayden Christiansen/Hans Christian Andersen/ 19:04 you can certainly do so 19:04 that was a rather large mistake 19:04 hehe 19:04 indeed 19:05 hothraxxa: the pre-tolkien fantasy stuff you say you read 19:05 shouldn't have vanished 19:05 oh. no, a lot of it is still in print 19:06 all of conan, for example. don't think it ever went out of print 19:06 as in conan the barbarian? 19:07 yes 19:07 conan was the lead fur jockstrapper 19:07 sub-genre of swords=s and sorcery 19:11 hmm, interesting, reading up on recent nethack github updates 19:12 it seems like paxed closes every pull request without comment, but now I'm wondering if he's actually just pulling them out to apply to whatever the actual repo is 19:12 anyone know if barthouse is a DT member? 19:16 he isn't 19:17 he should be 19:17 yeah just read your conversation with him 19:17 is he a windowport maintainer then? 19:18 https://github.com/NetHack/NetHack/pull/52 19:18 this is a major bug 19:18 if true 19:18 testing it now 19:18 aosdict: not formally to my knowledge 19:18 but he has a lot of commits to that end 19:18 from PRs 19:19 he is doing globals purge for 3.6.x :D 19:19 hmm, it worked for one throw 19:19 but not the next 19:20 RNG? 19:20 actually no wait 19:20 it works forever 19:21 gg 19:21 nice find by that guy 19:21 I wonder if it reproduces in variants 19:22 hahaha 19:22 it does 19:23 this also has implications for roles that throw most of the time 19:23 so presumably every single variant is affected? 19:23 this is huge, much moreso than the PR implies 19:23 hit once in melee, get a bad dieroll, throw stuff, and your die roll remains bad 19:23 since it means you can instakill with 100% certainity 19:23 with vorpal blade 19:23 also that, yes 19:24 oops hah 19:24 ten bucks says the devteam decides to "fix" it by removing decapitation when vorpal blade is thrown 19:24 lol 19:24 unless paxed fixes it, then zero bucks 19:25 FIQ: when I was hacking away at code for my combat system, I took great pleasure in getting rid of dieroll 19:25 oh thats a really cool bug 19:27 aosdict: this is the kind of bug that ais would consider a hall of fame bug in NH4 :P 19:28 a bug with ridiculous enough implications to be worth keeping in a silliness gamemode if one were to be made 19:28 along stuff like "every character starts with AC:0", "you can name any artifact in the game", etc 19:29 [slex] Yuring (Mah Dro Fem Neu), 2543 points, T:1679, killed by a monster (eel-lizard) 19:30 I'm having trouble actually hitting Rodney 19:30 lucky for me I have a nifty +50 ring of increase accuracy 19:30 heh 19:32 argh! he was wearing an amulet of life saving! 19:32 but yes, it decapitated him 19:32 you could just try again 19:32 as long as you never do a melee hit 19:32 it should work every time 19:32 double trouble? double decapitation! 19:33 boom, Demogorgon's blown to dust 19:33 oh man 19:33 I'm going to try this in grunthack 19:33 where I can have a whole stack of vorpal daggers 19:33 haha 19:33 oh wow 19:33 right 19:33 lol 19:33 mass-behead 19:33 I replied to the issue lol 19:34 wait does this bug exist in 3.4.3 too? 19:34 Demo: I reproduced it in fiqhack 19:34 which is as far as 3.6.0 as you can come 19:34 more or less 19:34 so probably, yes 19:35 lemme see if i can get it going in dnh 19:35 dnh messes with attack logic in general 19:35 so it might not work there 19:35 i actually just tested it in dnh, it works there 19:35 nice 19:36 oh man 19:36 grunt is AWESOME 19:37 brb, going to run the planes with these 19:37 how was this not found til now? 19:37 no idea 19:37 well 19:38 branchport skip took forever to find too 19:38 :P 19:38 and yet it was around everywhere 19:40 yeah but that one makes sense 19:41 it was a pretty edgy edge case 19:41 this is just basic combat 19:41 not a lot of people throw artifacts 19:41 does it only apply to artifacts? 19:41 take mjollnir 19:41 wouldnt it do the same damage each chuck? 19:42 how did no one notice that? 19:42 not entirely sure what dieroll does, don't remember the details 19:42 but yes, something will be off 19:42 which makes it surprising nobody noticed 19:42 it saves the value of a d20 roll to be used across multiple functions 19:42 which is kind of silly 19:43 just pass it as an argument 19:43 so this applies to more stuff potentially? 19:43 im surprised ais and that other dude didnt catch this in their tas planning 19:43 it could apply to more stuff 19:43 dwango_AC 19:43 or something 19:44 !tell ais523 did you hear about vorpal blade exploit 19:44 Will do, FIQ! 19:44 presumably also applies to tsrugi? 19:44 Probably, yes 19:45 the application in some variants like dnh could be nuts 19:45 this could be a lesson in why not to use globals/static variables in this way 19:45 trying to think of weapons that would benefit most from it 19:52 thirsty weapons in grunthack 19:52 err 19:52 vorpal 19:53 vorpal is a property that weapons can spawn with in grunthack 19:53 dunno why i said thirsty 19:53 because you are thirsty 19:53 prob 19:53 boy i sure am vorpal. got water? 19:53 this is kind of nuts 19:54 K2: oh yes, vorpal weapons in Grunt are the BEST now. 19:54 I was massacring (massacreing?) 4-5 newts per TURN 19:55 Rodney, Demogorgon get one-shot 19:55 [slex] Yuring (Mah Dro Fem Neu), 688 points, T:1526, killed by a monster (water demon) 19:56 these pretzels are making me vorpal 19:58 this is indeed quite strong 19:58 K2: so how long will it last? :) 19:58 in grunthack 19:58 how did people not notice this in gh? 19:59 that is an interesting point 19:59 wouldnt it mean if you sat there and threw vorpal daggers at something it would never be beheaded? 19:59 OR 19:59 or always 19:59 it would always behead 19:59 so there i was, next to woody, you know, woody ALLEN and my cue came up i nailed it: "these pretzels are making me vorpal!" and woody, he just lost his head 19:59 oh, also 20:00 if you really need to "rev up" a behead 20:00 you can spawn a jabberwock 20:00 it will manually alter dieroll appropriately 20:00 lol hothraxxa 20:01 FIQ: as soon as a fix is found, i'm certain we'd apply that to all of the variants we maintain 20:02 did you see the original link 20:02 it has a fix 20:02 and by we i mean Tangles, cuz i dont have that kind of skill... would depend how special the fix is 20:02 orly 20:02 https://github.com/NetHack/NetHack/pull/52/files 20:03 not sure if it applies cleanly to variants 20:03 but since it's the same bug everywhere... 20:03 welp 20:03 i can test it on grunthack 20:04 how bout FIQhack? 20:04 the diff will not apply cleanly to NH4 variants, at least not automatically 20:04 but it should be somewhat simple to apply by hand 20:20 !tell K2 pushed a fix 20:20 Will do, FIQ! 20:20 is it THE fix? 20:20 K2: Message from FIQ at 2017-09-25 20:20 EDT: pushed a fix 20:20 idk 20:20 something about dierolls 20:21 being fudged when throwing 20:21 https://git.io/vdIMn 20:22 !tell jonadab you might be interested in 6fe82ef 20:22 Will do, FIQ! 20:22 !tell ais523 I pushed a fix to the bug, it is fiqhack commit 6fe82ef 20:22 Will do, FIQ! 20:22 I am somewhat sad over having to fix this 20:23 but it is the right way :P 20:27 FIQhack updated 20:27 rip vorpal blade bug in fiqhack 20:27 other variants will update shortly I assume 20:27 should ascend a grunt game with vorpal weapons before too late ;) 20:28 heh 21:00 -!- Grassy has quit [Read error: Connection reset by peer] 21:53 YASI: if you're a samurai, dogs should wan-wan instead of yip 21:54 -!- stenno has quit [Ping timeout: 248 seconds] 22:08 K2: https://gist.github.com/copperwater/0855eb14e0fe09b0dfe869912b676e8e 22:21 thx aosdict 22:54 [slex] Yuring (Mah Dro Fem Neu), 7744 points, T:2704, killed by a monster (jelly bee) 22:58 i read that as 'jelly bean' at first heh 23:03 -!- ais523 has joined #hardfought 23:24 -!- ais523 has quit [Quit: It seems most convenient to apologise for my connection in the quit message, given how often it comes up… If I immediately reconnect, it's probably because I could send but not receive.] 23:24 -!- ais523 has joined #hardfought 23:29 [slex] Yuring (Mah Dro Fem Neu), 522 points, T:1015, killed by a monster (kogepan) 23:36 first time go compiling local wizmode version of sporkhack 23:36 yay me 23:37 lol 23:37 ok bedtime 23:37 gnite all 23:49 hothraxxa: I happen to know there were _not_ elves and dwarves before Tolkein. There might have been elfs and dwarfs, but not elves and dwarves. 23:49 jonadab: Message from hothraxxa at 2017-09-25 18:50 EDT: <+jonadab> I mean, Tolkein basically _created_ the fantasy genre. no no no no no nope never happened. popularized, sure. created? tolkein was 100 years too late 23:49 jonadab: Message from FIQ at 2017-09-25 20:22 EDT: you might be interested in 6fe82ef