00:06 -!- Menche has quit [Remote host closed the connection] 00:06 -!- Menche has joined #hardfought 00:32 [nh4] Jim (jimbentler) (Tou Hum Mal Neu), 13240 points, T:527, killed by a gnome 01:13 -!- raisse has joined #hardfought 01:13 -!- mode/#hardfought [+v raisse] by ChanServ 01:31 -!- Grasshopper has quit [Ping timeout: 248 seconds] 01:41 -!- hpardis has quit [Ping timeout: 268 seconds] 01:44 -!- noty has quit [Quit: WeeChat 1.9.1] 01:59 [nd] Raisse (Arc Dwa Fem Law) had Grayswandir bestowed upon her by Quetzalcoatl, on T:3393 02:06 [nd] Raisse (Arc Dwa Fem Law) became literate by reading a scroll, on T:4512 02:52 -!- hpardis has joined #hardfought 03:00 -!- hpardis has quit [Quit: Leaving] 03:25 -!- shpingrlde is now known as flump 03:25 !setmintc 03:25 flump: Min reported turncount for flump removed. 03:26 -!- flump is now known as shpingrlde 03:26 [nd] Raisse (Arc Dwa Fem Law) had Snickersnee bestowed upon her by Quetzalcoatl, on T:2941 03:28 [nd] Raisse (Arc Dwa Fem Law) consumed animal products for the first time, by eating a coyote corpse, on T:4139 03:30 [nd] Raisse (Arc Dwa Fem Law) had Trollsbane bestowed upon her by Quetzalcoatl, on T:5137 03:30 quetz is trolling me 03:33 snick's not too bad? 03:33 [nd] Raisse (Arc Dwa Fem Law) became literate by engraving "gfj", on T:6668 03:34 [nd] Raisse (Arc Dwa Fem Law) had Demonbane bestowed upon her by Quetzalcoatl, on T:6959 03:35 more banes, thanks coaty D: 03:51 now I've zapped myself with a wand of invis because I thought it was a nothing-happens wand 03:51 meaning I can't sell the useless artifacts to the general store any more until the RNG sends me a mummy 03:53 oh! I know what happened, I got blinded by rotten food between scribbling in the dust and trying the wand 03:53 so I didn't see the engraving vanish 03:54 but I still saw the monsters by telepathy so didn't notice I was blind 03:56 heh, i've tried to buc-test while blind a few times. not sure about engrave-test, but probably 03:57 some things ID even while blind (like digging, you can feel the gravel) 04:14 watching a zen game would be fun 04:24 -!- Grasshopper has joined #hardfought 04:59 -!- aoei has joined #hardfought 05:03 -!- Grasshopper has quit [Ping timeout: 248 seconds] 05:20 -!- LarienTelrunya has joined #hardfought 05:26 [nd] ShivanHunter (Wiz Elf Mal Cha), 169 points, T:508, killed by a small mimic 05:29 ♥ 05:29 LarienTelrunya: Message from K2 at 2017-12-01 20:51 EST: slex has been updated on hardfought - 2.1.1 branch 05:30 !tell K2 awesome! thanks! 05:30 Will do, LarienTelrunya! 05:30 [nd] ShivanHunter (Wiz Elf Mal Cha), 267 points, T:937, killed by a bat 05:39 [nd] ShivanHunter (Wiz Elf Fem Cha), 937 points, T:1909, killed by an iguana 05:46 [nd] Raisse (Arc Dwa Fem Law) had Sunsword bestowed upon her by Quetzalcoatl, on T:2649 05:49 !who 05:49 LarienTelrunya: Terumasa [nd] ShivanHunter [nd] Raisse [nd] mahershalal [nd] 05:49 [nd] ShivanHunter (Wiz Elf Mal Cha), 1584 points, T:2056, killed by a gray unicorn 05:53 [nd] mahershalal (Val Hum Fem Law), 174 points, T:373, killed by a water moccasin 05:58 [nd] ShivanHunter (Wiz Elf Mal Cha), 345 points, T:724, killed by a gnome 06:05 [slex] AmyBSOD (Fem Ang Fem Cha) shouted "testshout", on T:4722 06:05 okay so that works :) 06:06 [nd] ShivanHunter (Wiz Elf Mal Cha), 812 points, T:1506, killed by a small mimic 06:09 [nd] ShivanHunter (Wiz Elf Mal Cha), 185 points, T:546, killed by a fox 06:19 -!- ais523 has joined #hardfought 06:19 -!- ais523 has quit [Changing host] 06:19 -!- ais523 has joined #hardfought 06:21 Beholder: messages? 06:21 ais523: Message from FIQ at 2017-12-01 05:26 EST: 90405235e5037d033b90af0af967d290f62225cc does PatR know about #adjust a a ? it should really be made into the only way to merge things IMO, the new way he added to *not* merge when adjusting to a different letter is IMO much more clumsy 06:21 ais523: Message from FIQ at 2017-12-01 05:27 EST: I was not sure if I should send a mail with this complaint or not 06:22 FIQ: do it, I'm pretty sure that self-adjust is a bug (but one that turned out to be useful) 06:29 ais523: OK 06:29 I also wanted to ask you something, regarding code quality 06:29 So, I want curses to be able to handle resizing without segfaulting 06:30 My current approach to this was to make a curses_getch() function which accepts a callback with a void * pointer 06:30 the idea being that if a KEY_RESIZE is called, it calls this callback, which varies depending on what dialog it is about 06:31 since different dialogs want to handle resizes differently 06:31 This means I'd have to create seperate structs for each kind of dialogs with the data they need to care about when resizing 06:32 Does this seem sensible? Or would it make more sense to handle KEY_RESIZE seperately for each kind of dialog? 06:37 here's an example of such a callback: http://sprunge.us/DGTS 06:48 ais523: sent devteam mail 06:48 FIQ: I have grunthack building with libuncursed using the regular makefiles. 06:48 It looks good... 06:49 Tangles: nice :) 06:49 "..." but? 06:49 Well the Makefiles don't look good. they are ugly as a camel's arse... but still. 06:50 When I play it, I can't dismiss popups with ESC anymore. 06:51 FIQ: looking now 06:51 Tangles: Hmm 06:51 What popups are you thinking of? 06:51 Because it might be because I messed with some/several of them and messed something up 06:51 inventory, or the options dialog... any of them. 06:52 Hmm 06:52 FIQ: how are you planning to handle the parts of the screen behind the displayed dialog? what if the dialog is in front of another dialog? 06:52 (or is it only ever possible to have one dialog up at a time? that would make things considerably simpler; it isn't true for nitrohack but I may take that approach with windowports I write in the future) 06:52 ais523: the only case where a curses dialog is above another one is during a listmenu + search dialog 06:52 so I figurd I'd handle that case specially 06:53 ah, OK 06:53 that's probably going to save yourself a lot of trouble 06:53 also I looked into how NH4 does it just now 06:53 in that case, I can see two approaches: a) a callback; b) recording the current state of the dialog, then just closing and reopening it 06:53 the approach seem to be *mostly* similar 06:53 the major difference is that NH4 will handle any kind of resize event 06:53 for *all* windows 06:54 by iterating a gw list 06:54 maybe I should do that too 06:54 that way I don't have to special case menulist+getlin 06:55 yep, NH4 basically has a window stack and will do redraws by iterating them all from bottom to top, a resize is similar 06:57 Tangles: hmm 06:58 Tangles: OK, can you try getlin in particular? I rewrote that from scratch earlier 06:58 maybe the old curses code for menulists use key events that work in curses but not libuncursed? 06:58 I'll check what curses is doing 06:59 FIQ: they probably use a hardcoded 27 06:59 KEY_ESCAPE is not 27 in libuncursed but probably is in curses 06:59 hmm but this is weird 06:59 I just looked 06:59 it seems to use KEY_ESC 06:59 and I can escape out of things just fine 06:59 KEY_ESC is not a valid spelling 06:59 but it uses KEY_ESC...? 06:59 hmm 07:00 ah 07:00 found it 07:00 in case it helps you debug: KEY_ESCAPE in libuncursed is 795, that's a number unlikely to be used by accident 07:00 include/wincurs.h 07:00 22:#define KEY_ESC 0x1b 07:00 seems like curses made its own KEY_ESC 07:00 ugh, that's painful and ridiculous 07:00 I'll fix that 07:01 looks like curses/ncurses doesn't have a KEY_ESC or KEY_ESCAPE at all 07:01 which is why people are hardcoding the 27 07:01 Tangles: Fixed. Try the last commit 07:02 (note: the least reliably readable keys on the entire keyboard, other than keys that you wouldn't expect to be able to read at all, are Escape and PrtSc) 07:02 hmm 07:02 but escape is kinda important 07:02 how does uncursed do it then? 07:03 timing 07:03 ah, it tries to figure out if the user is doing alt+stuff or escape? 07:03 it waits a few hundred milliseconds after seeing something that could be an Esc input, before it returns it 07:03 right 07:03 this is good enough for almost everyone, but casmith789 complained that he managed to "outrun" the Esc detector 07:03 so I had to add alt_is_esc 07:03 heh 07:04 I mean 07:04 I can also do it 07:04 but only if I actually try 07:04 ais523: maybe it is set a bit high? 07:04 -!- ais523 has quit [Quit: sorry for my connection] 07:05 -!- ais523 has joined #hardfought 07:05 ais523: maybe it is set a bit high? 07:05 lag don't usually slow down series of things 07:05 I can't remember the exact setting offhand 07:05 ok 07:05 but yeah, I can do it too, but I don't really consider it a problem 07:06 because I can only do it when I try to :P 07:06 FIQ: Where is the latest commit? 07:06 although lag can put a big cap in the middle if a packet break happens to happen there 07:06 that'd probably only be an issue with copy-paste though 07:06 *a big gap 07:06 Tangles: oh, my push was rejected 07:06 one moment 07:06 there 07:08 Tangles: I assume you are aware of the fact that your commit added a lot of trailing spaces in the makefile 07:08 Ah ok. it works. but there is a _noticeable_ delay. 07:08 Just a heads up 07:08 hmm 07:08 you're right 07:08 FIQ: I was not aware of the trailing spaces, sorry. 07:08 when ais523 said timing, I assumed like 4ms 07:08 or something like that 07:09 it's more like 400 07:09 almost half a second 07:09 seems to be around 250ms 07:09 ais523: this seems much too long? 07:10 I guess what we need is a test to see how quickly the individual characters of a complex keycode tend to arrive in practice 07:10 well it's definitely not *that* slow 07:10 IIRC curses uses 1000ms? might be wrong on that though 07:10 I'd imagine it to be nearly instantaneous 07:10 but having something like, say, 50-100ms just in case 07:10 but not 250 07:11 if you're on a 2400 baud modem then you're sending 10 or 11 bits per character and 2400 bits per second, so we're talking about 4-5 ms 07:11 I didn't really realize this because I tend to play on servers, which have innate lag anyway :P 07:11 but yeah, it's definitely a noticeable delay locally 07:11 so maybe the single-digit ms range is what we want 07:12 let me try 10ms and then mess around with test_uncursed over ssh on a bad connection 07:12 ok 07:12 that seems a bit on the short side, but if it works, it's all good 07:14 well it works locally, at least, I tested that first 07:15 Tangles: maybe the aimake-related things should all be moved into dumbmake.h 07:15 meh, it's all good I suppose 07:15 and AIMAKE_BUILDOS_linux should almost certainly *not* be in that file 07:16 Yeah. We can tidy it up. I just wanted to get it working first. 07:16 ok 07:16 still seems to work 07:16 let's commit this and see if anyone complains :-P 07:17 nice :) 07:17 ais523: do you distribute libuncursed seperately anywhere? 07:18 I ended up just copy/pasting over from fiqhack, but if a non-nethack project uses it, it shouldn't really need to pull nethack4 just to get libuncursed 07:18 FIQ: libuncursed1, no, it seemed simplest to have only one repository 07:18 ok 07:18 for aimake there's a separate repo and it's a pain keeping them in sync 07:18 git modules? 07:19 those are a pain purely by existing 07:19 hmm, true 07:19 and not only for yourself, for the downstream too 07:19 I remember working with a project that used them 07:19 it was really confusing 07:19 and more than once did I accidentally undo a module commit simply by not thinking of them 07:20 it seems like a good idea but they could really use less awkward handling 07:24 Tangles: cherry-picked ais523's last uncursed commit from nh4ais 07:24 try now 07:26 [nd] Eleven (Bar Hum Fem Neu), 27658 points, T:20417, killed by a touch of death 07:27 ais523: and in this case, cherry-picking is the only sane way to merge it :P 07:27 FIQ: seriously? it's at the tip of master 07:27 so how is a cherry-pick different form a regular merge? 07:27 ais523: Into GruntHack? 07:27 or are there older NH4 commits you haven't taken? 07:27 oh, into grunthack 07:28 yeah, lots of older NH4 commits that aren't in that :-P 07:28 for fiqhack I merged, yes 07:29 can you "merge" a single commit? 07:29 no 07:29 -!- elenmirie has joined #hardfought 07:29 -!- mode/#hardfought [+v elenmirie] by ChanServ 07:29 not in git 07:30 I guess the git way is to merge, then revert the ones you don't like 07:30 something like that 07:30 if you have an upstream that you got beef with 07:30 not in git 07:30 there are VCSes that can manage it 07:31 darcs seem cool 07:31 shpingrlde: no, the git way is basically just to hope 07:31 but apparently its UI kinda sucks 07:31 darcs has problems of its own, but it avoids most of git's 07:31 it's probably in your package manager, you could try it out if you like? 07:31 I intend to try it out at some point 07:31 I normally use darcs for personal projects 07:31 and git for projects that I expect other people might want to contribute to 07:31 or that might be widely used 07:32 apparently older versions of darcs had serious issues with bigger projects 07:32 not being able to scale, perf-wise 07:32 but it has gotten better 07:32 my main issue with darcs however seem to be its very dubious UI, from what ais523 told me 07:33 it's not dubious, it's actually quite nice (and some of git's best UI innovations seem to have been stolen from it) 07:33 it's just really bad at some very apparently basic tasks, which nonethless are rarely used in practice 07:33 ais523: I am talking about the way it asks you about merging things 07:34 Which seems insane 07:34 from what you told 07:34 git's UI for the same operation is much worse 07:34 the reason darcs' UI is complex is that the operation is complex 07:34 but if you just want to merge everthing you can just press a 07:34 it's only if you want to do a subset merge that things get mess 07:34 *messy 07:35 ais523: The UI isn't bad for what it is supposed to do @git 07:35 just that actually making a good UI for it becomes far harder for darcs 07:35 since it works completely differently 07:35 FIQ: looks good - the delay is noticeably shorter ;) 07:35 Tangles: apparently it was reduced from 200ms (I was off by 50) to 10ms 07:35 FIQ: right, what we have here is an operation that a) darcs can do but with an awkward UI, b) git can't do without a huge amount of manual work 07:36 ais523: git can't do it *at all* 07:36 you can rebuild the entire repository to put commits into the right order :-P 07:36 but yes, that's pretty close to "at all" 07:36 that... meh :P 07:36 incidentally, did I tell you I'm planning to write a program that rebuilds the entire repository to put commits in the right order? :-P 07:36 ais523: also, your suggestion for rewriting history in #nethack4 earlier 07:36 not sure if I ever responded properly to that 07:36 (yes I did) 07:37 but in the end I concluded that it was a bad idea 07:37 fair enough; I'd like to hear your counterarguments 07:37 because it is temporary *at best* 07:37 it would just resolve into the same thing again over time 07:37 hmm, so what if I wrote a git wrapper that automatically did the "rewrite" on commit (it wouldn't even be a rewrite in that case, because it'd be adding it in the right place the first time) 07:37 and it means that everyone who has a local 4k and FH repo needs to recreate theirs too from scratch 07:38 I think I agree that batch rewrites are a bad idea 07:38 ais523: that reminds me of something I was pondering myself 07:38 having a darcs-like handler as a "wrapper" 07:38 FIQ: I've already started writing the specs :-D 07:38 to git repositories 07:38 Heh :P 07:39 ais523: the main issue then becomes for people who don't want to bother with that 07:39 and might want to merge from FH/4k/NH4 07:39 I guess they'll just have to deal with cherrypicks 07:39 it's not like it could be handled any differently as-is atm 07:40 how big is our downstream, I wonder? 07:40 ais523: but for that I was rather thinking having *both* darcs and git repositories at the same time 07:40 rather than a special program 07:40 I did that for a while with acehack 07:40 and basically convert a darcs repo to a git repo 07:40 for the purpose of github hosting or similar 07:40 but the program I used to keep them in sync is unmaintained and now isn't in any of the repos 07:41 ahh 07:41 also, I suspect it only worked because acehack's history is really linear 07:41 it's literally linear, I just checked 07:41 at least after the conversion, the whole thing is one straight line 07:47 aosdict: Maybe make the formula have three components: (base cost for the spell) plus (failure rate * some constant) plus (failure rate * max Pw * some constant) ? 07:47 [nd] Terumasa (Val Hum Fem Law) killed Medusa, on T:41268 07:47 That'd let you tune that a little more finely. 07:58 -!- tacco\unfoog has joined #hardfought 08:08 [nd] Eleven (Pri Hum Fem Neu) rejected atheism by offering a gnome corpse on an altar of The Lady, on T:3367 08:11 shpingrlde: "merge" means "take all the commits that are in this branch that you don't already have", by definition. Taking just a single commit is cherry-picking. 08:15 -!- aoei has quit [Quit: Leaving] 08:19 -!- StinkyGreene has joined #hardfought 08:29 jonadab: using constants strikes me as something that won't scale very well, though I guess spell level factors into fail rate 08:29 hm, and I suppose with the wielding-spellbooks change, I did kind of backtrack the problem of it being too easy to sit around and farm utility spells 08:30 -!- ais523 has quit [Ping timeout: 240 seconds] 08:31 [nd] firemonkey (Wiz Elf Mal Cha) completed Sokoban, on T:9967 08:41 !tell K2 pushed a fix to the slex-2.1.1 branch that squashes a long-standing segfault when encountering a bones file on which the previous player died with a lit lightsaber in hand. 08:41 Will do, LarienTelrunya! 08:43 aosdict: The constant is just a scaling factor. 08:43 aosdict: And note that by * some constant I really meant * some constant / some constant 08:44 (Which is only even different because NetHack uses only integer arithmetic.) 08:47 [nd] Terumasa (Val Hum Fem Law), 233687 points, T:44007, quit 08:51 well, I'd like FIQ to weigh in since it was his idea originally 08:52 ? 08:58 23:53 FIQ: implemented your idea about making spells unfailable and increasing the Pw cost pro 08:58 portional to their failure rate... however, I'm not sure it works out in the original formulation 09:00 the problem with this is that low level characters have a rough time with even 2nd level spells 09:12 aosdict: interesting 09:13 aosdict: btw, what does 100% fail give? just "--Pw"? 09:13 anyway 09:14 the current NH3 spellcast failure calculation is very overcomplicated and doesn't really work all that well 09:14 I'd mess with that first 09:15 er 09:15 -!- raisse has quit [Ping timeout: 255 seconds] 09:15 -first 09:15 I think the idea itself is sound 09:15 just that it doesn't work with the old spellcast failure rates 09:16 And yes, the vanilla failure rate formula is pretty bad. 09:17 It's easily possible to be in a situation where a particular spell has a 98% failure rate, but increasing your intelligence by a couple of points _and_ gaining a couple of experience levels still leaves you with a failure rate in the high 90s. 09:17 And you basically never see failure rates in the vicinity of 50%. 09:17 Which is weird. 09:18 (The reason you don't is because of the hard spell / easy spell dichotomy, and the fact that some of the same factors used to calculate that are also used to adjust the failure rate subsequently. It's weird.) 09:20 hard spell / easy spell? 09:20 you mean where it decides whether a spell is "difficult" in percent_success? 09:21 FIQ: 100% fail gives infinity Pw cost, so it shows up on the menu as Inf. 09:22 aosdict: There's a threshhold, where if "difficulty" is higher than a certain amount, it uses a different formula. 09:22 jonadab: I seem to be pretty terrible at coming up with well-balanced formulas though, it'd really just be me guessing 09:23 It's not you. Coming up with well balanced formulas is inherently difficult. 09:23 I usually need 2-3 tries to get one that works. 09:23 And the jury's still out on some of mine, for that matter. 09:24 I guess the best technique is make a formula, create a bunch of scenarios for it, and see which of them are broken one way or the other. 09:24 Yeah. 09:24 Or create a formula with variables in it, and make a spreadsheet that plugs in different numbers for the variables. 09:24 And then tweak the formula until everything looks reasonable. 09:25 Actually, hmm. 09:27 Would you consider the part where it has different shield and metallic suit penalties for every role to be overcomplicated, or a necessary component of balance? 09:27 Not sure. 09:27 Let me play with this in a spreadsheet for a few minutes. 09:28 I think the Class Overhaul proposal had some ideas on how to simplify too. 09:30 Right, it contains: every spellcasting stat is Int, remove special spells, remove emergency spells, armor penalties are the same across all roles. 09:31 So role would only have an impact through the Base spellcasting penalty then? 09:31 That is worth considering 09:32 Actually, dtsund doesn't make any mention of that either. 09:40 need to go for a bit but I'm also setting up a spreadsheet to test various scenarios 09:52 -!- raisse has joined #hardfought 09:52 -!- mode/#hardfought [+v raisse] by ChanServ 09:54 -!- rikersan has joined #hardfought 10:11 izchak has 3 candles, 6 lamps 10:11 every single damn lamp is oil 10:11 -!- noty has joined #hardfought 10:37 Hmm, is there a list of median starting attribute values for each role? (Mainly interested in Int at the moment.) 10:40 jonadab: did an analysis of Dex once, might be able to work the same way with Int 10:42 yeah I think if you just looked up the values on the wiki and replaced them in this spreadsheet it would work 10:42 aosdict: ah 10:42 Though I guess it doesn't directly give the median. 10:42 FIQ: ? 10:43 the inf thing 10:43 jonadab: *cough*pw regen 10:45 FIQ: Pw regen will go off wis. 10:46 failure rate off int. 10:46 And yes, that means some roles may need adjustments to their attribute figures. 10:46 jonadab: so like FIQHack? 10:46 it uses wis and level there 10:54 Man, this stuff almost makes me wish for a six-dimensional spreadsheet. Except the my brain would explode. 10:57 oh no 10:57 https://www.reddit.com/r/roguelikedev/comments/7gz8m7/sharing_saturday_183/?st=japiu031&sh=393d9fa0 10:57 is linking to the evil wiki 10:57 bad aaron_ds, bad bad 11:17 aosdict: Perhaps something along the lines of percent_success_rate = int * 10 - penalty * 3 - splev * 25 11:17 what is "penalty"? 11:18 Where penalty depends on role, of course, and ranges from somewhere around -18 (monk with a robe and no armor) up to about 40 (monk wearing all the bad things and no robe) 11:18 The exact formula for penalty is negotiable; the player has significant control over it, based on what they wear. 11:18 Though there's a base number for each role that can't be dodged. 11:19 Which ranges from 1 (wiz) to 14 (bar) in vanilla. 11:19 spell level times 25? so even a high-level wizard with Int 20 and penalty 0 would have only a 25% chance of success? 11:19 aosdict: This is at unskilled. 11:19 Skill would improve it from there, haven't done a formula for that. 11:20 this means that level 7 spells have a 5% success rate at 18 int 11:20 with a penalty of 0 11:20 a level 1 spell has a 180% success 11:21 My numbers show Bar, Cav as the only ones completely unable to cast level 1 spells in the early game (given enough Pw; some other roles mail not have enough Pw at first). 11:21 worst-case monk but with 18 int can cast at 100%, 90%, 65%, 40%, 15%, 0%, 0% 11:21 And Wiz, Monk are the only ones who can potentially cast level 7 spells at unskilled in the late game, and that not at a favorable success rate. 11:22 FIQ: these are apparently unskilled numbers 11:22 And yes, Monks are significantly better casters than Wiz, it's that huge robe bonus; this could be tweaked. 11:22 jonadab: I said *worst-case monk* 11:22 butu with 18 int 11:22 Ah, right. 11:22 *but 11:22 it is not hard to max int in midgame with GA 11:23 oh I see the issue 11:23 you said penalty*3 11:23 But hmm, if we assume unskilled is 0, basic 1, skilled 2, expert 3, maybe divide the spell-level penalty by (1 + that) ? 11:23 ok, let's reset the numbers with this into account 11:24 then it becomes 35%, 10%, 0%, 0%, 0%, 0%, 0% 11:24 And yes, I'm playing with numbers here, the multipliers could maybe be tweaked. 11:24 seems more reasonable 11:24 Also, I've got experience level currently not doing anything, that could also change. 11:24 What I should do is write a script that creates a table given some numbers. 11:24 jonadab: I generally don't really consider attributes being supposed to have a large impact 11:24 due to how easy they are to max 11:25 Ah. 11:25 that's why wis doesn't do much for pw regen in fiqhack 11:25 So perhaps some of the impact that Int has here should go to XL? 11:25 (0.03*wis if more than 3) 11:25 -!- rikersan has quit [Quit: Lost terminal] 11:25 Eh, I need to go do some other things, but I will hopefully be back on late this afternoon. 11:28 I'm back now 11:28 and apparently jonadab just left 11:28 oh well 11:28 if only to-hit mattered, the Dex formula is kinda good for that "attributes shouldn't have a large impact" thing, FIQ 11:29 you get a lot of value out of > 18, which actually has a ring/gloves cost 11:31 dex is good for spellcasting and monks that are using body armor 11:31 beyond that, dex is pretty negligible beyond the early game 11:31 the other problem with dex is that its variance is extremely high among starting roles 11:32 so balancing to-hit that depends on dex is quite hard since Knights usually start with 7-9 and Rogues almost always start with 18 11:32 http://sprunge.us/bNjB 11:32 http://sprunge.us/ZLTR typo fix 11:32 reason why dex is mostly irrelevant later game with exception of spells and monk is because your XP level/Monster Dice give you a to-hit bonus equal to itself 11:33 For spells, you don't get this bonus 11:33 However, melee and ranged get the XP level/HD to-hit bonus 11:33 https://nethackwiki.com/wiki/To-hit 11:33 FIQ: I'd change the shield rules into "is wearing a shield" and separate penalty for "is wearing a metal shield" 11:33 making shields worse? D: 11:33 aosdict: elven shields aren't made of metal 11:34 in 4k, you could also shift some of the shield penalty into (lack of) shield skill 11:34 Webmant: I know, I'm trying to propose a whole new combat system, but to-hit is tough to figure out 11:34 Yeah, to-hit is strange 11:34 FIQ: yes, that's the point 11:34 very strange 11:34 differentiating, say, priests with good shield skill from wizards who generally want a free hand 11:34 only time i ever notice to-hit is with spells, very early game (once you level up a few times you start hitting very consistently), and with monks 11:35 except that in Fourk *everyone* has shield skill so the impact of "basic" would have to be pretty low 11:35 shpingrlde: have you seen https://nethackwiki.com/wiki/User:Phol_ende_wodan/Combat_system_overhaul 11:35 aosdict: I think the idea of metal isn't that metal itself is blocking your magic 11:35 but that it's unwieldy 11:35 no, I usually re-read User:Tungtn/Physical_damage_analysis 11:35 I'll check yours out 11:35 it makes no sense for elven shields to be less unwieldy than other large shields 11:36 I thought an elven shield was basically an elven small shield 11:36 not a large one 11:36 simply halving the effect of level and luck would at least make it such that you sometimes miss good-AC monsters like Kaen and Demigoogoo 11:36 http://sprunge.us/QiUA now with less "I forgot skills" 11:37 you can make Dex more important by making it a multiplier rather than a flat bonus 11:37 Same thing with skills 11:37 A multiplier based on your XP level and other things I guess would work fine enough 11:38 Webmant: the high variance of Dex leads me to think it should be *less* important 11:38 huh 11:38 its already pretty irrelevant 11:38 it's irrelevant compared to Luck and XL bonuses. 11:38 But assuming we do away with those... 11:38 elven shields weight more than small shields 11:38 ah 11:39 hell, even strength gives a pretty good to-hit bonus 11:39 yeah, strength should not be involved there. 11:39 yes, and that makes no sense 11:39 indeed 11:39 ^ 11:40 hier hier 11:40 well, strength would assumedly make weapons/armor less unwieldy 11:41 as well as make the inventory you are carrying disturb your ability to hit less 11:41 yea but the encumbrance system is already supposed to take care of that 11:42 intelligence would help you better adjust the distribution of your gear, and aim the blow carefully in the best way :P 11:42 all stats *could* affect to hit 11:42 hahaha 11:42 good point shpin 11:42 intelligence should reduce encumbrance confirmed 11:42 charisma lets you bamboozle, of course 11:42 int under 3 and str under 3 basically kill you, right? 11:42 and it's easier to hit affected folks 11:42 how about charisma under 3? 11:43 if your cha reaches 0 in ZAPM; you die of embarrassment 11:43 "You have become too unlikeable for your own taste, leading to suicide!" 11:43 haha 11:46 that seems perpetually "too soon" >.> 12:11 -!- rikersan has joined #hardfought 12:14 massive proposal, aosdict 12:15 yes 12:15 it started smaller... 12:15 but there are so many moving parts in the combat system 12:16 -!- raisse has quit [Ping timeout: 255 seconds] 12:39 -!- rikersan has quit [] 12:42 YANI: change the experience system so that monsters don't all give a guaranteed amount of XP; instead you only gain experience by killing monsters whose level is 2 below yours or higher. The XP cutoffs are made much closer together. 12:52 -!- raisse has joined #hardfought 12:52 -!- mode/#hardfought [+v raisse] by ChanServ 12:58 jonadab, FIQ, are you interested in having these spreadsheets for working out spellcasting formulae once I finish them? 13:32 -!- raisse has quit [Ping timeout: 248 seconds] 13:37 -!- ais523 has joined #hardfought 13:43 [dyn] randumb (jonathanhanes) (Tou Hum Mal Neu), 26 points, T:27, killed by an orcish dagger 14:00 -!- Webmant has quit [Read error: Connection reset by peer] 14:19 [dyn] randumb (jonathanhanes) (Tou Hum Mal Neu), 2886 points, T:3617, killed by a blue jelly 14:19 [dyn] randumb (jonathanhanes) (Tou Hum Mal Neu), 12 points, T:102, killed by a grid bug 14:20 [dyn] randumb (jonathanhanes) (Tou Hum Mal Neu), 35 points, T:77, killed by a dart 14:46 cool, I finished the vanilla spell formula 14:55 [nd] firemonkey (Wiz Elf Mal Cha) acquired the luckstone from Mines' End, on T:11699 14:57 oh crapppollla 14:57 soko bag had a wow in it XD 14:58 FIQ: what's the "Role modifier" in your formula? 14:58 a different number for each role chosen appropriately 14:58 you can just leave it at 0 for showing how it results with base numbers 14:58 because I didn't want to spend time proposing appropriate numbers for each, because I don't really know what those would be 14:59 the proposal assumed 0 would give sane numbers as a starting point 14:59 with bonus/penalties if you're good/bad at casting 15:00 in the order of -50 to +50 15:00 what's the *2 for Monk? 15:00 like, everything in MOD times 2? 15:01 yes, up to that point 15:01 as in 15:01 armor counts double for them 15:01 (but skill doesn't) 15:02 er 15:02 dynahack WoW come precharged right? 15:02 *role modifiers don't 15:02 Jonathanhanes: yes 15:02 better go with MR then I think 15:02 oh wait 15:03 I can't just wish for gdsm can i 15:03 correct 15:03 hmmm 15:03 you can gamble with magical cloak of magic resistance 15:03 you can't wish for object properties 15:03 but you can wish for magical still 15:03 I think this is a bug, but meh 15:03 (magical gives a random property) 15:03 can be fumbling! 15:03 ouch 15:03 or reflection :P 15:06 fuck i'll go for it 15:06 that didn't work 15:07 oh i see what i did 15:08 what did you do 15:08 cloak of magiAL resistance 15:08 ouch 15:08 typo'd 15:08 that is not what I meant 15:08 :P 15:08 i got it right now 15:09 not sure it is magical though 15:09 just CoMR or with a random property? 15:09 i.e. did you go magical cloak of magic resistance 15:09 or just cloak of magic resistance 15:09 i did blessed fixed greased magical +2 cloak of magic resistance 15:09 maybe I misplaced the magical 15:10 couldn't even get the +2 >.> 15:11 Jonathanhanes: just tried in explorer mode (so no special wishes) 15:11 worked fine 15:12 hmm wish i had an id 15:12 p - [ a greased fireproof magical cloak of magic resistance {10} 15:12 is the unIDed appearance 15:12 Jonathanhanes: #history 15:12 what does it say? 15:13 that you wished for I mean 15:13 aggggh 15:13 i forgot the magical 15:13 >.< 15:13 ahh 15:13 lol 15:13 meh, you'd have gotten hunger anyway :P 15:13 probably heh 15:14 gonna try it again on some speed boots 15:14 WW boots of speed would be a nice find 15:15 oh man yah 15:16 the stuff of grunthack 15:16 I have found a pair of gauntlets of dexterity and power in dynahack once 15:16 that's one of my grunthack wishes 15:17 (no dragonhide in dynahack though :P) 15:17 they are speed boots of displacement 15:17 not to bad 15:17 Jonathanhanes: ooh, not bad 15:17 displacement is cool 15:17 ugh FIQ why did you have to add a nonlinear skill bonus :-P 15:17 i wonder if this thing had another wish in it 15:17 aosdict: I wanted expert to give a bigger impact 15:17 so that maybe it encourages people to actually go that far 15:17 (most people don't) 15:19 it's just mildly annoying on the spreadsheet 15:19 Jonathanhanes: inb4 your CoMR would have had reflection 15:19 which is usually *the* wish people go for in grunthack 15:19 cloak of magic resistance and reflection 15:19 we'll never know 15:20 oh but we can, once the game is over 15:20 if one really wants to :P 15:20 rollback to that wish point 15:20 and do it right 15:20 see what would have resulted :-) 15:21 FIQ: finished your formula, any scenarios you want to compare? 15:21 not any in particular 15:21 would be cool to see an overview of the results though 15:21 in general 15:21 compared to vanilla 15:22 to get a picture for if it gives sane or insane results 15:22 well there are too many variables for any sort of plotting 15:22 all I can really do is add data on different characters with different armor and stats 15:22 I like 2d tables when getting an overview of stuff 15:23 aosdict: mhm 15:23 I mean, the spreadsheet is a 2d table, but it has 13 input variables 15:23 true 15:24 ideally it would be best to be able to get an overview with a sample of characters that people usually end up with 15:25 hence why I'm asking for input, this is the tedious part 15:25 right 15:26 input would be useful for *all* formulas 15:26 the same input 15:26 sure, I'm already structuring it like that 15:26 currently implementing the dtsund formula 15:32 some samples: 11int w/body+helm+boots unskilled, 11int w/o metal unskilled, (earlygame after a mines tour for noncaster), 16int w/helmet+boots+gauntlets unskilled, 16int w/o metal unskilled, 16int robe unskilled, 16int w/o metal skilled, 18int full metal expert 15:32 wow, dtsund is *not* nice to unskilled early casters 15:34 for various parts of the game (earlygame after mines equipment looted from gnomes, earlygame without putting on any metal, a dwa-val who maxed out his int with metal and DSM, one trying with casting-appropriate armor (and possibly robe), a caster who put on full metal 15:34 roles? spells? those are important 15:34 ) 15:35 aosdict: hmm I was just thinking a 2d table with spell levels and all roles for this input 15:35 so a table for each of those scenarios? 15:35 but I guess some formulas other than the one I gave care about specific spells too ("emergency"spells) 15:35 +space 15:35 aosdict: mhm 15:35 yes, vanilla also depends on wis, XL, and emergency spells 15:37 aosdict: I guess the best approach for a good comparision overview then is a *complete* description for a sample alongside all spells as rows and sample "ID" as columns? 15:37 so you're looking at... 1 table for each scenario AND for each formula 15:37 for each formula 15:38 aosdict: you want something like this for tables? http://sprunge.us/HcDJ 15:39 FIQ: that would be too much data to be meaningful, I think 15:39 in that paste you just made, you would have to fix all the stats 15:39 yeah I know 15:39 and the role, and the skill, and the armor 15:39 yeah 15:40 I don't really know how to best represent the data :P 15:43 okay I think either I implemented the dtsund formula wrong or the formula is basically guaranteed not to let you cast any high level spells 15:43 "150 - 200 * spell_level * unskilled_penalty + (Int * (character_level + skill_bonus)) / armor_penalty" 15:44 but 200 * spell_level * unskilled_penalty could drag you far into the negatives 15:45 lv30 arc casting magic mapping at Basic with Int 20 and wearing no metal still has only a 50% chance 15:46 what is the unskilled_penalty 15:46 2 if unskilled, 1 otherwise 15:47 skill bonus? 15:47 -!- Guest62837 has quit [Remote host closed the connection] 15:52 that is 15 * skill 15:52 h 15:52 ok 15:53 on a 0-3 range of skill counting restricted and unskilled both as 15:53 0 15:54 ah 15:56 ooof 15:56 stupid cloak of mr doesn't help much if you're not wearing it 15:57 Yes, I recommend wearing the things you want to let affect you 15:57 Same goes for amulets of life saivng 15:57 *saving 15:57 i don't even recall taking it off though 15:58 maybe you never put it on 15:59 well there is a minotaur down here as well 15:59 probably something to do with that poly trap 15:59 oh no! 15:59 i hit an eye 15:59 why did i do that 16:00 ugh 16:00 time for a break 16:00 [dyn] randumb (jonathanhanes) (Tou Hum Mal Neu), 13882 points, T:7236, killed by a human zombie, while frozen by a monster's gaze 16:01 -!- fatty has quit [Quit: Page closed] 16:01 will mine's end leave a bones? 16:04 [nd] tilia (Pri Elf Fem Cha), 107 points, T:554, killed by a jackal 16:16 [nd] tilia (Pri Elf Fem Cha), 460 points, T:1850, killed by a werejackal 16:21 [nd] dgoddard (Mon Hum Mal Neu) eschewed atheism, by dropping a crude dagger on an altar, on T:3242 16:23 [nd] Eleven (Pri Hum Fem Neu), 12913 points, T:9696, killed by a gnome king 16:25 !gt e 16:29 -!- hpardis has joined #hardfought 16:29 -!- raisse has joined #hardfought 16:29 -!- mode/#hardfought [+v raisse] by ChanServ 16:32 [nd] dgoddard (Mon Hum Mal Neu) had Magicbane bestowed upon him by Chih Sung-tzu, on T:4668 16:33 [nd] dgoddard (Mon Hum Mal Neu), 8306 points, T:4888, killed by an invisible chameleon imitating a xorn, while frozen by a monster's gaze 16:35 [nd] dgoddard (Wiz Hum Mal Cha) chose a runed dagger to be named "Sting", on T:416 16:50 yani - stunning actually stuns monsters <-- shpingrlde can you elaborate on what you meant by this? monsters already have a mstun field 16:55 -!- ais523 has quit [Ping timeout: 248 seconds] 16:56 [nd] dgoddard (Wiz Hum Mal Cha) eschewed atheism, by dropping 9 darts on an altar, on T:3037 17:12 [nd] dgoddard (Wiz Hum Mal Cha), 7042 points, T:5171, killed by a fire ant, while unconscious from rotten food 17:16 -!- elenmirie_ has joined #hardfought 17:16 -!- elenmirie has quit [Read error: Connection reset by peer] 17:16 -!- elenmirie_ is now known as elenmirie 17:16 [nd] dgoddard (Mon Hum Mal Neu) chose a runed dagger to be named "Sting", on T:1109 17:33 whenever you try to choose a direction, a random direction will be selected instead; Stunning does not cause a monster to move randomly or miss turns aosdict 17:35 [nd] dgoddard (Mon Hum Mal Neu), 4767 points, T:3555, killed by a crocodile 17:37 aosdict: Monster stun gives them a small to-hit penalty but does nothing else 17:38 Monster confusion works like player stun, makes them almost completely unable to cast spells and inhibits sanity checks for trice and similar 17:38 basically 17:38 monster confusion is their stun 17:38 more or less 17:38 and monster stun can be pretty much ignored 17:38 from their POV 17:52 [nd] dgoddard (Mon Hum Mal Neu) eschewed atheism, by dropping a pair of hiking boots on an altar, on T:3004 18:00 [nd] dgoddard (Mon Hum Mal Neu) tasted meat for the first time, by eating a floating eye corpse, on T:3818 18:00 -!- raisse has quit [Ping timeout: 260 seconds] 18:06 [nd] dgoddard (Mon Hum Mal Neu) performed his first genocide (disenchanter), on T:4497 18:07 [nd] dgoddard (Mon Hum Mal Neu), 8473 points, T:4534, killed by a hell hound 18:13 hi 18:13 Hello K2, Welcome to #hardfought 18:13 K2: Message from LarienTelrunya at 2017-12-02 05:30 EST: awesome! thanks! 18:13 K2: Message from LarienTelrunya at 2017-12-02 08:41 EST: pushed a fix to the slex-2.1.1 branch that squashes a long-standing segfault when encountering a bones file on which the previous player died with a lit lightsaber in hand. 18:13 LarienTelrunya: why did you !tell that 1st message? 18:13 kinda unneccessary 18:14 maybe she was excited 18:14 its fine 18:17 Slash'EM extended updated 18:17 yay! thanks! I'm excited :) 18:17 (in fact, I'm often excited when a new version hits the server and I see it in action) 18:17 does the curses UI still crash 18:17 it has the new role UI 18:18 cool 18:18 so no crash 18:18 well, thanks to you the selection menu works now :) 18:26 LarienTelrunya: Why does curses UI insist on a 3-line status display whether you use classic_status or noit? 18:26 *not 18:26 Only slex does this 18:26 yeah, I did this because otherwise it would just get cut off if you have many status effects; now it wraps over to that third line, like in 80x25 tty mode 18:27 ok 18:27 haha, sporkhack still has that feature where it doesn't tell you how many HP and Pw you have 18:27 and !classic_status? 18:27 yeah that was a bug 18:28 I fixed it 18:28 just Tangles hasn't ported it over to spork 18:28 or other variants 18:28 FIQ: without classic status, the display elements are arranged differently 18:28 LarienTelrunya: I am aware 18:28 meaning that there doesn't need to be such a wrapover 18:28 but that doesn't explain what happens to the status effects 18:28 well they're displayed in the bottom right corner 18:29 oh you mean it all fits regardless? 18:29 uhh, not sure, now that I look at your screen 18:29 also why is there no : in the attributes? 18:29 it looks bad 18:29 "Hallu Stun Conf Dim Glib Legs Stone FoodPois" and more 18:29 I know it was to fit, in the tty statusbar 18:30 but it clearly fits no matter what in this mode 18:31 yeah; I guess one could special-case it 18:31 so that there is a colon in non-classic-status mode 18:31 YASI: if the cursed weapon welded to your hand is a quarterstaff, your to-hit and damage go down a lot, because quarterstaff fighting relies on you moving your hands on the staff a lot. 18:31 special case? 18:31 you know print_horizontal_new and print_horizontal is different, right? 18:32 there is no reason for _new to not have colons 18:32 oh 18:35 will look into that tomorrow; it's too late now, so I'll go to bed. Good night! 18:35 -!- LarienTelrunya has quit [Quit: Page closed] 18:35 FYI - all ttyrecs will now be in gzip compressed format 18:36 dgl can compress them automatically on game end 18:36 and i am compressing all existing ttyrec's right now 18:36 we'll see how much drive space i buy back 18:53 hah 18:54 partition went from 77% used to 32% used 18:54 \o/ 18:55 Nice 18:56 yeah that's huge 18:56 its good enough, I may not have to replace the SSD anytime soon 18:57 I feel like I need to say 'I just saved 15% by switching to Geico' 19:04 i'll buy back a bit more space after I compress all of the ttyrecs from the devnull tournament remote servers 19:05 i've pulled them over to hdf main for archiving, but havent compressed those yet 19:06 !tell dtype you can take down e6.alt.org at your leisure. thank you very much for letting us use it for the tournament 19:06 Will do, K2! 19:07 [nd] Eleven (Pri Hum Fem Neu), 7946 points, T:8749, killed by a white unicorn 19:09 [nd] k2 (Wiz Hum Mal Neu), 116 points, T:373, killed by a falling object 19:09 ooh i see 19:10 Eleven was still playing before i made the change to dgl config to compress ttyrecs 19:10 that's why his was compressed 19:10 i will prob need to run the same command here in a few hours to catch any ttyrecs missed after the fact 19:12 *wasn't compressed 19:26 aosdict, FIQ: http://jonadab.jumpingcrab.com/cgi-bin/nethack-cgi/spell-formula-test.pl 19:28 This now includes skill in the formula (unskilled counts as zero). 19:35 -!- Grasshopper has joined #hardfought 19:35 -!- mode/#hardfought [+v Grasshopper] by ChanServ 19:37 -!- rikersan has joined #hardfought 19:38 -!- Grasshopper has quit [Remote host closed the connection] 19:46 -!- rikersan has quit [Quit: Lost terminal] 19:50 K2: ah cool. done done with it, no chance you need anything? 19:50 dtype: Message from K2 at 2017-12-02 19:06 EST: you can take down e6.alt.org at your leisure. thank you very much for letting us use it for the tournament 19:51 [gh] Oneiron (Hea Hum Mal Neu), 0 points, T:6, killed by a jackal 20:03 jonadab: now make it work with the vanilla formula, the FIQ formula, and the dtsund formula! 20:03 I think it already works with the formula I gave 20:03 with the correct parameters 20:07 -!- zjmc_ has left #hardfought 20:27 um... 20:28 aosdict: Heh. 20:29 so apparently curses UI leaks memory 20:29 *a lot* 20:29 lol 20:29 fixed that now 20:30 "hurr let's just set the window pointer to NULL, not freeing it or anything" 20:30 apparently it has been there forever 20:30 aosdict: I think you can get close to the dtsund formula by adjusting the input numbers. 20:30 FIQ: I fixed a couple of those already... I may have missed some. 20:31 Tangles: see #hfdev 20:31 curses_del_nhwin just set the window pointer to NULL 20:31 (One thing I didn't implement, that he called for, is a distinction between restricted and unskilled.) 20:31 didn't even try to free it 20:31 I added delwin there now, that should improve things 20:33 Oh, hmm, the dtsund formula also has a constant. 20:33 Oh, and it multiplies int by the sum of xl and skill. 20:34 Yeah, I'm not implementing that. Too complicated. Not as bad as the vanilla formula, but still more complicated than necessary. 20:35 Tweaking the numbers on a formula like that would be a *pain*. 20:35 !tell k2 last shot. Anything else you need from e6? I'm not planning on backing it up before terminating it with prejudice. 20:35 Will do, dtype! 20:36 dtype: He already got the xlogfile and ttyrecs, I assume? 20:37 jonadab: that's what I'm checking. :) 20:37 Ah. 20:45 [nd] dgoddard (Mon Hum Mal Neu) chose a runed dagger to be named "Sting", on T:2964 20:47 dtype is NAO normally west coast or was e6 set up specially so that there'd be a west server? 20:50 shpingrlde: NAO used to be west coast but moved to east coast a few months ago. 20:57 [nd] dgoddard (Mon Hum Mal Neu) acquired the luckstone from Mines' End, on T:3809 20:59 yep 20:59 this west one was just for tourney 21:02 -!- Kontroller has joined #hardfought 21:05 -!- Kontroll1r has quit [Ping timeout: 248 seconds] 21:14 -!- Grasshopper has joined #hardfought 21:14 -!- mode/#hardfought [+v Grasshopper] by ChanServ 21:15 [nd] dgoddard (Mon Hum Mal Neu) changed form for the first time, becoming an incubus, on T:6413 21:17 -!- Menche has quit [Remote host closed the connection] 21:17 -!- Menche has joined #hardfought 21:22 [nd] dgoddard (Mon Hum Mal Neu) tasted meat for the first time, by eating a floating eye corpse, on T:7017 21:28 -!- Grasshopper has quit [Remote host closed the connection] 21:28 -!- Menche has quit [Remote host closed the connection] 21:28 -!- Menche has joined #hardfought 21:45 [nd] dgoddard (Mon Hum Mal Neu) completed Sokoban, on T:11490 21:46 -!- Grasshopper has joined #hardfought 21:46 -!- mode/#hardfought [+v Grasshopper] by ChanServ 21:51 [nd] dgoddard (Mon Hum Mal Neu) hit with a wielded weapon for the first time, on T:11747 21:58 [nd] dgoddard (Mon Hum Mal Neu) performed his first genocide (disenchanter), on T:12672 21:59 -!- Kontroll1r has joined #hardfought 22:00 -!- tacco\unfoog has quit [] 22:01 [nd] dgoddard (Mon Hum Mal Neu), 46749 points, T:13141, killed by a panther 22:02 -!- Kontroller has quit [Ping timeout: 255 seconds] 22:04 -!- Grasshopper has quit [Remote host closed the connection] 22:04 -!- Grasshopper has joined #hardfought 22:04 -!- mode/#hardfought [+v Grasshopper] by ChanServ 22:35 -!- ais523 has joined #hardfought 22:47 -!- Grasshopper has quit [Remote host closed the connection] 22:47 -!- Grasshopper has joined #hardfought 22:47 -!- mode/#hardfought [+v Grasshopper] by ChanServ 23:11 [fh] Orc-Paper-Scissors-Lizard-Spock (Luxidream) (Wiz Orc Mal Cha) wished for "2 blessed greased scrolls of charging", on T:28147 23:28 -!- Grassy has joined #hardfought 23:28 -!- mode/#hardfought [+v Grassy] by ChanServ 23:32 -!- Grasshopper has quit [Ping timeout: 248 seconds] 23:40 -!- deadnoob has joined #hardfought 23:43 [fh] Orc-Paper-Scissors-Lizard-Spock (Luxidream) (Wiz Orc Mal Cha) wished for "2 blessed potions of wonder", on T:29144