00:00:53 johnstein: yes pubby is buppy on irc 00:01:11 finkle is einhorn 00:11:34 To resolve the bug reported in: 00:11:36 https://github.com/crawl/crawl/issues/718 00:11:43 All I did was add the code: 00:11:51 https://pastebin.com/TMR3Gs6B 00:12:23 cleave_target_adjacent is new 00:13:08 I seem to be having trouble pushing my branch to remote. 00:13:22 johnstein: it's probably not actually ready for an experimental in terms of being a reasonable design, but I'm sure it'll make pubby happy all the same 00:13:59 I'm getting an error that says: 00:14:02 I haven't looked at all at the new god, although I do recall the old one was pretty bad 00:14:45 'Can't connect to any URI: http://github.com/crawl/crawl (https://github.com/crawl/crawl: git-receive-pack not permitted)' 00:15:44 Alcon: sounds like you're trying to push to our repo, which you can't do 00:16:07 Ah... you are correct; and that would be a problem... 00:16:14 you can make a fork of the crawl repo in your own github account, and put to a branch in that 00:16:31 from there you can make a PR on our repo based on the branch in your fork 00:16:35 which we can review and possibly merge 00:16:59 if you need to make further changes, you can continue to push commits to that branch in your fork repo, and the PR is automatically updated to see them 00:17:07 Regardless of whether or not you want the change that I'm attempting to submit... I *have been* curious about the process. 00:17:24 but yeah, start by forking the crawl repo into a new one in your account 00:17:34 Alright. Sounds good. 00:17:38 Thank you. 00:17:53 then add that as a new remote in your local repo 00:22:48 one day I should get back to fixing bugs 00:23:12 I still have a few unmerged PRs that I should advocate for 00:30:31 Well... you sound less green around the ears, than I. 00:31:04 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.22-a0-538-g76cc104 (34) 00:35:24 I’m good at faking it 00:36:58 You have some unmerged PRs that you should advocate for? This sounds interesting... how does the process of advocating for your changes usually work? 00:38:58 I’ll just threaten to shut down cbro till all my demands are met. easy peasy 00:40:51 lol 00:43:17 you monster 00:43:42 johnstein: btw, any way to see if there are any crashes for my experimental? 00:44:14 i just came back to my webtiles at 100% cpu for like 8 hours 00:44:40 oh hm I only have two boring PRs open atm https://github.com/crawl/crawl/pulls/Jmbjr 00:45:22 aidanh: hmmmm. probably if I’d actually symlink the meta files 00:46:54 -!- yesno_ is now known as yesno 00:47:18 it's not too important really; I don't expect any crashes, and NP7 and some others have playtested it a lot 00:50:01 yeah, once johnstein makes those accessible, we can add it to sequell 00:50:23 if so you can backquery for any crashes you haven't seen, but maybe those will all be old bugs 00:51:29 righto 00:52:02 is there any preference between using namespaces and classes for isolation? 00:52:39 good question for |amethyst ; I feel we don't use a lot of namespaces 00:53:55 very few, i think. what kind of isolation do you mean? 00:55:34 in https://github.com/crawl/crawl/blob/ui-overhaul/crawl-ref/source/ui.h there's a bunch of classes and what not 00:56:05 that's been in need of a tidy up for a while, but what brought it to my attention was i2 also being defined in some other c++ file 00:56:07 -!- yesno_ is now known as yesno 00:57:34 amalloy... 00:57:59 template 00:58:00 class Slot 00:58:13 also, class UI is a base widget class, so it'd probably be better named UI::widget, then the others can be UI::Box, etc 00:58:13 I have been in the process of attempting to squash a bug that you reported. 00:58:20 guess I need to read up more on templates, but class... Args then bool (Args ...)? 00:58:35 oh really? is it an old one? i don't remember reporting anything recently 00:59:02 Depends on your guage of 'old': 00:59:03 https://github.com/crawl/crawl/issues/718 00:59:05 gammafunk: bool (Args ...) matches a functor returning a bool and taking any number of arguments 00:59:13 ahh, doh 00:59:19 I should have recognized 00:59:50 ha, i remember that 00:59:55 the original plan was to add hooks and emit signals for a variety of events, but that never materialized, so that template stuff might need a tidy too 01:00:10 I tried reproducing the bug through the arena... 01:00:32 40 orc; hand axe v 40 orc; long sword ego:distortion 01:02:20 After running that test 6 or 7 times... I found that I had maybe two instances that would appear to end the battle early... but they didn't result in the hard crash that one might expect for a failed ASSERT() 01:02:46 are you sure monsters riposte? 01:03:03 No... that was a theory I posited for why that test might not have worked. 01:04:03 ... but I did put in a fix that would theoretically prevent the problem you saw. 01:04:22 in melee-attack.cc i only see ripostes initiated by players, despite comments suggesting a monster could do it. maybe in some other file monsters riposte, but i don't see it either 01:04:26 https://pastebin.com/TMR3Gs6B 01:04:39 I'm still in the process of trying to make it public. 01:05:13 attack_cleave_targets is the function that was altered. 01:05:36 i suggest also making sure that you can reproduce the crash before your change, so that your inability to reproduce it after becomes good evidence 01:06:14 I agree... that's what I should do. I've been having a heck of a time reproducing the conditions. tbh... I guess it doesn't need to be solved tonight. 01:07:05 you know how to use wizmode? 01:07:23 A little. Some of the folks here were nice enough to help me with some of the commands. 01:08:27 Are you familiar with other debug techniques used for this codebase? 01:08:39 i use gdb sometimes 01:08:57 but really most things depend on wizmode, so you can set up the situation you want to investigate 01:09:07 That would require you to compile each source file with a "-g" flag, right? 01:09:32 `make debug-lite` will do that 01:09:55 < writing that down > 01:10:01 Alcon: if you're having trouble reproducing it, you could always try scripting crawl with lua; there's lots of example tests that do that 01:10:20 if you want something simpler you can just add mprf("thing has now happened %d times", n); statements 01:10:35 ... that was something else I was going to ask about... I see that lua and python are used in the codebase. 01:10:37 primitive but often sufficient 01:10:57 python appears to be used in some tools. 01:11:02 you could also hack distortion to always blink, and make riposte trigger 100% of the time 01:11:11 lol 01:11:22 just take that out before you commit, thanks 01:11:50 Are there really only 9 outstanding bugs for crawl? 01:12:17 Alcon: https://crawl.develz.org/mantis/view_all_bug_page.php 01:12:46 the vast majority of the bugs are reported there; github is a more recent endeavour 01:13:03 Ah, I see. 01:13:25 I've never attempted to contribute to an opensource project... I'm excited. 01:14:15 welcome! :) dcss is reasonably straight-forward, as they go 01:14:42 ... it's not written in an esoteric variety of pascal 01:15:16 Thank you! I'm glad to be here. 01:15:44 I have played DCSS off and on for around 6-7 years, now. 01:17:08 if I want to add a flag to tile-flags.h, do I just look for an unused bit or do I have to be more careful somehow? 01:17:46 you can just add a flag 01:17:59 er, just use an unused bit 01:18:17 same thing :) thanks 01:19:27 Source code for nes version of mario was a lot more difficult to understand than that... 01:19:29 although if this is for summoner highlighting, it's probably not a good approach; but I'll save all that for the PR review 01:19:45 if any ever shows up. 01:20:20 Tried picking up the 6502 assembly (because x86 was a much larger instruction set than what I was prepared to handle) 01:21:20 neofelis: if you need any help getting it PR-ready, feel free to ask; it's a highly desired feature after all 01:22:28 Alcon: I wouldn't say that dcss source code is easy to understand; it's a tentacled monstrosity in its own right 01:22:33 I though dcss *was* written in an esoteric variety of pascal 01:22:50 this explains why my patches are so difficult to make 01:22:54 if this can be done for tiles at all without either adding a flag to tile-flags.h or reusing an existing one, I'm misunderstanding the code somewhere 01:23:05 …this might explain crawlcode. but also insult a lot of pascal programmers :p 01:23:09 (yes, summoner highlighting) 01:23:55 my strongest theory is that webtiles does not behave properly when ugly bots interact with it improperly when port scanning or doing whatever else they do 01:24:04 hah 01:24:26 don't you call beem ugly 01:24:27 afaict all the tile rendering functions use tileidx_t variables to figure out what to draw, and the highlighting has to involve drawing 01:24:28 but there would have to be some factor the none of the other servers share 01:24:37 noo i mean bad actors 01:24:45 I know, I was jokeing :) 01:24:48 *joking 01:25:15 i'm not a network person but i feel like they do some kind of improper connection because they really don't care that much about it 01:25:39 or deliberately because you can find out a lot about a system by how it reacts to protocol abuse 01:25:42 floraline: multi hour bursts of 100% cpu followed by hours of radio silence doesn't sound like random bots trying to portscan you 01:25:45 and tornado in my case somehow doesn't handle it well 01:25:57 including both application bugs and kernel bugs, both of which can be exploited in different ways 01:26:01 well, i think the cpu issue is triggered by some event and then just gets stuck in a loop 01:26:20 personally, I'd stick tornado behind nginx or something 01:26:20 so maybe it's just a certain kind of interaction that is happening every once in a while 01:26:33 yeah.. i guess that's still an option 01:26:40 i didn't really want to do that because i don't know how that might affect performance 01:26:50 i did have it set up that way at one point in time 01:27:04 aidanh, strace shows python getting into a loop of trying to read a socket with no data available; poll says fd has an event, read() returns 0 01:27:10 did you find out from TZer0 if he uses a proxy, floraline 01:27:11 which may be a python bug, come to think of it 01:27:25 gammafunk: ugh i didn't i really ought to 01:27:28 I vaguely recall that he does 01:27:46 Unstable branch on crawl.develz.org updated to: 0.22-a0-538-g76cc104 (34) 01:28:08 geekosaur: this time, ther ewas absolutely no activity on strace during the event 01:28:20 but 100% cpu? 01:28:34 either something else was looping, or this is somehow a kernel issue 01:28:36 yes right 01:28:41 neofelis: check out packed_cell 01:28:50 well i had strace connected for hours before i looked at it 01:28:56 so it's possible strace just stopped telling me things for some reason 01:29:09 i reconnected it though and it was still blank with 100% cpu 01:29:12 which can happen if it's looping in userspace without making syscalls 01:29:25 but that'd be really odd tbh 01:29:36 i think the direction i'm going to take is investigate tornado more and see if there are any known issues with 100% cpu 01:29:50 and if i don't make any headway there i guess i'll just have to go back to using nginx to proxy it 01:30:06 although i don't understand how that would help anything since it would just be forwarding everything on x port to webtiles anyway 01:30:18 !source DungeonCellBuffer::pack_background 01:30:19 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/tiledgnbuf.cc#L203 01:30:21 neofelis: ^ 01:30:25 you can tell i'm a noob at this stuff 01:30:32 web servers have years of development in dealing with hostile networks 01:30:56 oh actually, there is a big different. nginx would be the termination point for all the https stuff 01:31:13 so if someone is coming in with some kind of bad ssl talk, nginx would probably handle it way better that's true 01:31:47 ok i will look at tornado more and actually ask TZer0 if he is using a proxy 01:31:57 i really appreciate everybody's support 01:34:30 aidanh: ah, right 01:34:49 to clarify somewhat, I recommend that you add a `bool is_summoner` to packed_cell; you can look at other flags (e.g. is_holy) to see where to set/get that field 01:35:13 yes, that was clear enough :) 01:35:23 you will also need to modify webserver/game_data/static/cell_renderer.js for webtiles 01:35:29 https://github.com/tornadoweb/tornado/commit/7b62519b0cc4cbcf64eea6cf82d218039c8d9804 01:35:36 very interesting commit in tornado repo ... 01:35:44 hah 01:36:00 v4.1 though, so looks like a proxy is the only option for now 01:36:10 1452 reported bugs and issues... good plenty of variety to let me work on interesting easy/moderate/hard problems. : ) 01:36:17 it'd be good to document that somewhere though 01:36:26 i wonder if i can just make this change myself 01:36:34 do you think the codebase is similar enough 01:36:41 that's only like.. two major versions away? :) 01:37:11 interesting. but strace said read was returning 0, not -1/BADF 01:37:38 I'd looked at that already, actually, but I guess I looked at is_silenced and is_sanctuary and somehow decided those fields were meant for things that don't just affect rendering 01:37:39 (0 meaning EOF/write end of socket closed) 01:37:54 which is a conceptual mistake, since of course packed_cells affect nothing but rendering, ever... 01:39:19 isn't it possible that this EBADF error was the first one to appear? and the rest of it is just a result of tornado having run off the rails and so it can't be trusted 01:39:49 maybe i just never caught the right error 01:40:20 neofelis: separately, when you set is_summoned (presumably from _tile_place_monster), you will note that monster_info lacks the `mid_t summoner` field that monster has 01:40:35 it's not an error that goes away; it indicates an invalid filehandle 01:40:37 neofelis: so you'll need to add that field to monster_info 01:41:14 unless there's another thread (but python pretty much doesn;t do threads) that opened another file and it landed on that fd 01:51:44 aidanh, setting those flags from _tile_place_monster can't work, for the fairly surprising reason that the first thing draw_cell does is clear them :) 01:55:27 i did it 01:55:29 !!!!! 01:55:36 i can reproduce the 99% cpu 01:55:39 rather, they get set in tile_apply_properties, using flags from map_cells; the flags on the map_cells in turn get set in _update_feat_at... 01:56:03 xzanthius (L16 VSBe) ASSERT(mon_act == mon) in 'state.cc' at line 450 failed. (D (Sprint)) 01:56:19 i edited the tornado ssl handshake routine to throw EBADF exception 01:56:33 as soon as i try to connect, the server hits 99% cpu 01:56:50 ...which in turn uses areas.cc's _agrid. so doing it that way still involves changes to an enum, probably, but a different enum: areaprop 01:57:18 Windows builds of master branch on crawl.develz.org updated to: 0.22-a0-538-g76cc104 01:57:42 either way, I think I've stared at this long enough today 01:57:50 also, floraline, congratulations 01:57:54 ! 01:58:12 ty:) 01:58:29 just like my cpu is at 99% i am 99% sure this handshake routine is the culprit 01:59:16 neofelis: which draw_cell is that? 02:00:02 the only draw_cell I see is in view.cc, which is not relevant 02:01:47 well, direction_chooser's draw_beam_if_needed calls viewwindow, which calls that draw_cell 02:02:06 in order to get things on the screen 02:02:08 I'm dropping off for the night. I'll probably be back on in the morning. 02:02:32 so I figured the general way to get things on the screen is to call viewwindow? is that wrong? 02:03:25 it's not wrong, but it's not the whole story 02:04:36 it's true for console, but for tiles it happens in tiles.load_dungeon(), in tilesdl.cc 02:06:01 er, that's not quite right either; what actually happens is that viewwindow updates the tiles dungeon size and queues a redraw 02:06:18 the new dungeon view is only loaded when the redraw actually happens 02:07:24 right, if USE_TILES is set viewwindow mostly updates things 02:07:52 I was imprecise above: I meant I figured the way to *update* the tiles that get drawn to the screen is to call viewwindow 02:08:17 obviously I can just set tiles to dirty and query a redraw whenever I want 02:08:22 it will set things in motion, yes 02:08:31 without calling viewwindow 02:08:42 or change tiles after calling viewwindow 02:09:28 in what sense? 02:09:56 you can do what viewwindow does to cause a redraw, yeah, but it's not recommended 02:10:16 yes 02:10:34 so I'll be calling viewwindow, I thought; and viewwindow in turn does call draw_cell 02:10:45 hence my assumption that draw_cell is relevant 02:11:12 if this is all sounding thickheaded feel free to wait until there's a pull request 02:12:09 not at all; I get bamboozled by the tiles code as well 02:13:14 but, to try to put it in a maybe clearer way 02:13:27 something in direction_chooser needs to change the way a tile is drawn 02:13:43 (specifically, to highlight it) 02:14:00 but draw_cell doesn't touch any packed_cell s 02:14:09 it clears the flags for a screen_cell 02:14:42 oh, hm 02:15:39 that should be fine, because the packed_cell will get filled when the redraw happens 02:16:03 yes, in the relevant case in _draw_los 02:16:21 wait, no 02:16:23 not in _draw_los 02:16:57 _draw_los sets the tileidx_t members; is_sanctuary and the like get set in tile_apply_properties 02:17:17 which also gets called in draw_cell; line 1572 02:17:51 which is after the initial clear 02:18:18 yes, certainly 02:19:24 the thing is 02:19:37 we're not trying to set a flag on the cell the monster is in, but on the cell its summoner is in 02:21:31 hm, I can see how that could be a problem 02:21:48 like, suppose somewhere in direction_chooser you say "take this cell, and change its monster_info" 02:21:56 this map_cell, rather 02:22:16 you can do this, but then you might call viewwindow somewhere, and then the map_cell will get reset 02:22:39 same thing if you set a flag on the screen_cell for the location the monster is in, because those get reset too 02:23:26 (as we just found out.) basically, you need to change something viewwindow(true) doesn't reset 02:25:26 viewwindow should only be called from directn's loop though, surely 02:25:42 yes, the other way is to be careful when and how you call viewwindow 02:27:29 viewwindow will be on the chopping block soon 02:27:49 time to log off.. going to leave the server running and see how it fares overnight 02:27:51 precisely because it's impossible to know about other parts of the code that might be drawing stuff 02:27:55 i am positive i found the issue. i'll add it to the wiki 02:27:58 yes 02:28:11 floraline: congrats! and thanks 02:28:36 neofelis: in any case, perhaps a PR first would be best; I can experiment locally 02:28:43 of course 02:29:03 there'll probably be one tomorrow 02:29:07 or thereabouts 02:29:08 * aidanh is really not looking forward to refactoring directn.cc 02:29:41 cool 02:29:49 having *a* solution was never really the problem; being able to explain why it's at least not the worst one available was 02:30:01 so, thanks for the conversation, which was helpful 02:30:28 you're quite welcome; thanks for the (soon to be) contribution! 02:58:53 Monster database of master branch on crawl.develz.org updated to: 0.22-a0-538-g76cc104 03:06:27 any reason monster lrd still breaks walls? 03:07:47 I can imagine 'optimal' players dragging lrd monsters across the dungeon just to break into vaults 03:23:21 Unstable branch on crawl.beRotato.org updated to: 0.22-a0-538-g76cc104 (34) 12:00:27 03pubby02 07https://github.com/crawl/crawl/pull/793 * 0.22-a0-466-g238722c: Fix spell menu issue (berder) 10(5 minutes ago, 1 file, 3+ 4-) 13https://github.com/crawl/crawl/commit/238722c57a49 12:39:22 !apt Fo 12:39:22 Fo: Fighting: 1, Short: 0, Long: 0, Axes: 0, Maces: 0, Polearms: 0, Staves: 0, Slings: 1, Bows: -2, Xbows: 0, Throw: 0, Armour: 1, Dodge: -1, Stealth: 3, Shields: 2, UC: 0, Splcast: 0, Conj: -1, Hexes: 2, Charms: 0, Summ: 0, Nec: 0, Tloc: -1, Tmut: 1, Fire: 0, Ice: 0, Air: -2, Earth: 2, Poison: 3, Inv: 2, Evo: 1, Exp: 1!, HP: 0, MP: 0 12:47:53 New branch created: pull/797 (1 commit) 13https://github.com/crawl/crawl/pull/797 12:47:53 03Muffindrake02 07https://github.com/crawl/crawl/pull/797 * 0.22-a0-539-ge988291: Show Enchanter as recommended for Formicid 10(11 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/e988291b5f0c 13:26:55 Unstable branch on crawl.akrasiac.org updated to: 0.22-a0-538-g76cc104 (34) 13:30:02 03pubby02 07https://github.com/crawl/crawl/pull/793 * 0.22-a0-467-g07de707: Update artefactize props once more 10(4 minutes ago, 1 file, 29+ 14-) 13https://github.com/crawl/crawl/commit/07de707359e5 14:20:05 no sign of webtiles CPU issue since my changes yesterday.. fingers crossed 14:20:28 i think i will take down fail2ban to let more bad traffic in so i can try to reproduce it 14:55:08 wild idea: pennance trove 14:56:06 entering will anger a (specified | random) god that isn't yours (never a good one) and you'll get XdY pennance if you go in 15:20:42 03pubby02 07https://github.com/crawl/crawl/pull/793 * 0.22-a0-468-g1c72fad: Fix Igni wrath 10(15 minutes ago, 6 files, 41+ 41-) 13https://github.com/crawl/crawl/commit/1c72fadc78bb 15:29:32 For the life of me, I cannot reproduce this bug: 15:29:36 https://github.com/crawl/crawl/issues/718 15:31:17 I've used the wizard mode to bring my char to lvl 27 in summoning and spellcasting... having him cast 'Summon Small Mammals'. 15:31:46 I give him a 'longsword of distortion' 15:31:59 I summon: elf; hand axe 15:32:24 Then I fill the room with small mammals... and I move next to the elf... 15:32:37 I've been doing this for 20 minutes I and I cannot reproduce this bug. 15:45:35 wizamalloy (L27 HuAK) ASSERT(can_reach()) in 'melee-attack.cc' at line 2339 failed. (D:3) 15:45:48 Alcon: still breaks for me, using the same setup described in that bug 15:46:07 i can get you the save file if you like 15:46:45 I believe you... 15:47:06 i mean, you could use the save file to reproduce it more easily yourself 15:47:06 I'm setting riposte probability at 100% and the distortion effect at 100%. 15:47:15 Oh... 15:47:57 Do you have a google drive account that you can upload that to? 15:50:26 yes, https://drive.google.com/open?id=11mO14MWa7gKj2PyaHSZH1h2ojHo4bFPq should work 15:52:22 Thank you. 15:54:29 Hmm... after looking at the riposte and distortion probabilities... 15:54:45 ... the probability of this occurring is *really* low... 15:54:48 then you just hold down . until the orc either crashes the game, or some other distortion effect makes him go away without crashing the game. in the latter case, you can rebuild him with &morc hp:10000 ; hand axe 15:55:13 So if I alter the probs; it should rear it's head 16:09:08 There's a neat way to do this... 16:09:18 Keep 3 branches... 16:09:36 Master, bugfix-branch, branch-probs-altered 16:24:59 !!!! 16:25:04 I've finally triggered it!!!!!! 16:27:44 Triggered again... 16:27:49 Wonderful... 16:28:00 ... now let's see if this code I put into place prevents it. 16:34:58 lol, perfect! 16:35:21 The my bugfix, indeed, prevents the conditon from occurring. 16:41:51 If you want to try my solution on your file... 16:42:23 https://github.com/jnooner/crawl 16:42:46 It's under the branch with name: alcon-cleave-bugfix 16:49:49 Alcon: you should go ahead and make a pr, the devteam uses those to manage their workflow 16:50:35 abering: Thank you. 16:50:46 ebering: One question about that... 16:51:49 Should I have the fix described in it's own branch, with it's own branch name... or should I merge the solution with the master branch when I make the Pull Request? 16:57:30 !tell alexjurkiewicz Hey cheq, I fixed a few bad bugs on the buppy branch. Sorry I didn't catch them yesterday. Gonna need that CPO update button smashed. 16:57:31 buppy: OK, I'll let alexjurkiewicz know. 16:58:46 Alcon: my workflow is (create change in local branch) -> (push local branch to github) -> (create pull request that my branch be merged into master) 16:59:43 I keep my fork's master sync'd with crawl/master 17:00:15 I see, in the pull request, I can actually describe which branch on my own github repo contains the fix. 17:00:49 New branch created: pull/798 (2 commits) 13https://github.com/crawl/crawl/pull/798 17:00:49 03Alcon02 07https://github.com/crawl/crawl/pull/798 * 0.22-a0-539-g944bc3d: Bugfix: https://github.com/crawl/crawl/issues/718 10(2 hours ago, 2 files, 33+ 1-) 13https://github.com/crawl/crawl/commit/944bc3db6928 17:00:49 03Alcon02 07https://github.com/crawl/crawl/pull/798 * 0.22-a0-540-g5185c1b: Bugfix: https://github.com/crawl/crawl/issues/718 10(20 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/5185c1b7c08b 17:06:26 hm, there must be some function already that tells you whether two tiles are adjacent 17:06:58 yes, https://github.com/crawl/crawl/blob/dfd3b10bd21a7542d5e07d0e597264ac8ba37924/crawl-ref/source/coord.cc#L22 17:07:06 well, i'll make these remarks in the PR 17:09:24 Hmm... I see that now... 17:10:36 -!- Guest54989 is now known as lynn 17:27:09 03Alcon02 07https://github.com/crawl/crawl/pull/798 * 0.22-a0-541-ge3dd9fc: Under 'malloy's suggestion, a new function is not needed 10(2 minutes ago, 2 files, 3+ 33-) 13https://github.com/crawl/crawl/commit/e3dd9fc09f56 17:28:03 'malloy 17:28:16 amalloy 17:28:19 ... oops. 17:28:31 good way for me to avoid the pronunciation issue of his nick altogether 17:28:43 he can't correct me if I say 'malloy 17:29:55 Have I been approaching any of this poorly? 17:33:07 no Alcon, what you're doing is good 17:33:10 gammafunk: you'd be surprised how many ways there are to mispronounce malloy 17:33:17 haha, I bet there are a few 17:33:52 malley, molly, mallory 17:35:25 Later this weekend, I was thinking of attacking this auto-attack request... https://github.com/crawl/crawl/issues/651 17:35:55 It might take longer than this weekend to solve. 17:38:24 I'm not sure how adding new options works... just yet. Might be tougher than it looks at first blush. 17:39:23 i think the harder part will be implementing the feature, rather than adding an option to control it 17:47:59 I thought that it would be merely adding another conditional to some of the code in fight.cc 17:48:15 03Alcon02 07https://github.com/crawl/crawl/pull/798 * 0.22-a0-542-g15ffa68: Change: amalloy is suggesting another revision to this. 10(2 minutes ago, 1 file, 2+ 2-) 13https://github.com/crawl/crawl/commit/15ffa68f8351 17:48:18 ... maybe you are aware of a snag that I'm not. 17:50:09 Alcon: has anyone given you recommendations about commit titles yet? 17:50:17 commit message titles, that is 17:50:36 Not at all. I will take any and all recommendations. 17:51:09 for any message it's important that the title just has a basic summary of what is done in the commit 17:51:16 and it's good to credit, but what you could do is 17:51:36 Change FOO to BAR to avoid a crash (amalloy) 17:51:59 as an example; just summarize what the commit does and if you'd like to credit who made the suggestion, parenthesis at the end works well 17:52:24 summarizes can be very simple like "Rename a variable for clarity" or "Fix a function declaration" etc 17:53:34 for your first commit in PR798 maybe "Refactor a function (amalloy)" or "Remove an unneeded function (amalloy)" 17:55:15 i'm planning to squash it all into one commit anyway. i'll change the commit message to a better exemplar 17:57:09 03jnooner02 {amalloy} 07* 0.22-a0-539-gfbd9004: Fix a crash when blinking away a cleaving attacker (amalloy, #718) 10(9 seconds ago, 1 file, 3+ 1-) 13https://github.com/crawl/crawl/commit/fbd9004e3fb3 17:59:36 Alcon: we usually add first-time committers to credits.txt. would you like to be credited, and if so by what name/alias? 18:00:32 Just as 'Alcon'. 18:00:44 : ) I'm *really* excited! 18:03:00 03amalloy02 {GitHub} 07* 0.22-a0-540-g876ca31: Add Alcon to CREDITS 10(6 seconds ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/876ca31dcf3e 18:05:16 03amalloy02 {GitHub} 07* 0.22-a0-541-g2d8cebb: Add Alcon to mailmap 10(10 seconds ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/2d8cebbff385 18:08:54 gotta pad my commit count somehow 18:08:59 %git fbd9004 18:08:59 07Alcon02 {amalloy} * 0.22-a0-539-gfbd9004: Fix a crash when blinking away a cleaving attacker (amalloy, #718) 10(12 minutes ago, 1 file, 3+ 1-) 13https://github.com/crawl/crawl/commit/fbd9004e3fb3 18:09:26 :) Well, thanks for taking a look at my fix. 18:09:38 I intend to contribute more, in the future. 18:09:55 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-539-gfbd9004e3f (34) 18:10:09 !commit A lot of code 18:10:10 03gammafunk ⛐ 0.22-a0-2038-gf030ec7: A lot of code 10(in the future, 15 files, 442+ 770-) 13http://s-z.org/neil/git/commit.png?p=crawl.git;a=commitdiff;h=f030ec7 18:10:16 in the future.... 18:10:28 wait, I added a lot of code and I had net lines removed 18:10:44 I'll be afk for awhile. 18:21:16 Unstable branch on underhound.eu updated to: 0.22-a0-539-gfbd9004e3f (34) 18:37:04 Incompatible bones file 13https://crawl.develz.org/mantis/view.php?id=11501 by mdonais 18:49:09 advil: haven't looked at this new bug 11501, but maybe it's what you were worried about 18:49:39 guess it just couldn't load the bones file due to tag minor bump 19:09:55 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-541-g2d8cebbff3 (34) 19:21:33 The build passed. (master - 2d8cebb #9839 : Alan Malloy): https://travis-ci.org/crawl/crawl/builds/395938539 19:22:40 reaverb (L12 HOFi) ERROR: range check error (36 / 36) (D:11) 19:39:18 -!- MarvinPA_ is now known as MarvinPA 20:03:57 -!- yesno_ is now known as yesno 20:23:56 buppy: ok 20:23:56 alexjurkiewicz: You have 1 message. Use !messages to read it. 20:37:36 !messages 20:37:37 No messages for Alcon. 20:39:16 Hmm... I'm now wondering if this request actually *should* be addressed... 20:39:40 https://github.com/crawl/crawl/issues/651 20:41:31 I suppose that, in principle, one could run a simulation on the character and the monster after it comes into view... and if the simulation is favorable... then allow the character to fight it using auto-fight. 20:42:25 ... but doesn't that break the strategic component of the game... the knowledge component that allows an experienced player to know that they should be careful with a particular monster? 20:43:36 ... or I suppose an HD check on a new monster entering the screen could stop autofight if the HD is too high compared to the player. 20:43:40 ... I might move on to a different issue. 21:10:01 there is already highlighting for monsters based on their difficulty, eg grey, normal, yellow, red 21:10:21 you could add some message output that shows the threat level for monsters coming into view, and then add a force_more for red monsters 21:11:08 you could also add an option force_more_when_losing_more_than_pct_health with a default of 30 21:40:10 Hmm... if that would be an acceptable alteration... I could do that. 21:45:11 I'm looking at bug #https://crawl.develz.org/mantis/view.php?id=11500 21:45:25 I've been looking through the code in: 21:45:59 player-equip.cc 21:46:15 We have a path through the code: 21:51:17 equip_item --> { "item is equiped" --> equip_effect "item effect is read to the player -- 'You feel immune to the effects of clouds.'" } 21:52:31 So... the effect of wearing the item is always an afterthought. It's not really possible to identify the effect of wearing an item before it's actually applied to the player. 21:54:07 ... so if you wanted a behavior that says: if(you.cloud_immune()) mpr("You already have immunity to clouds.") 21:54:29 ... it wouldn't behave properly... the message would always trigger... 22:07:39 gammafunk: the comment in the updated gold formula could have been clearer 22:07:56 I'm sure you noticed that 22:07:56 ??gold acquirement 22:07:56 gold acquirement[1/4]: Gives 10*(20+1d20+1d8*1d8*1d8) gold. (Min=220, Max=5520, Mean=1218, Median=880, Std=911) - http://anydice.com/program/3a67. Gold from acquirement gives less Zin piety than other gold; the relative reduction in piety is bigger the larger the gold pile is. 22:07:56 I replaced the 10 with depth() 22:08:02 yeah, I think that vault just gives way to much gold though 22:08:11 for instance, average gold pile on D:3 is 11 gold 22:08:26 so your vault is giving equiv to like 33 gold piles 22:09:22 it does place nasty monsters but even if you make some equivalency between items of like 2 or 3 gold piles = 1 decent random item, maybe 8 or 12 piles 22:10:06 -!- LordSloth is now known as LordSloth_ 22:10:17 -!- LordSloth_ is now known as LordSloth 22:10:19 the value of a gold pile does scale up very slowly with depth so like d:10 it's 13 gold in a pile on average 22:11:19 obviously this is subjective and some vaults can be relatively rewarding, but this still seems excessive to me 22:11:32 also, I was wondering if it might be nice to simply make a somewhat larger vault 22:11:36 and place individual piles 22:11:59 it has a nice visual effect and players will be more able to appreciate what loot they're getting 22:12:09 maybe autoexplore messages make it clear what size of gold pile they found 22:12:17 but they're likely to not notice the massive gold in one pile 22:12:29 of course monsters in the vault may just pick up the gold, but the visual is still good 22:13:14 For those of you who have worked on this project for awhile -- which bug/feature seems like it would be useful and desirable? 22:16:16 gammafunk: I like the idea of placing more individual piles.. I think in tiles it uses the 'mega gold' stack tile but 22:17:23 yeah, you could place a few ones with more gold, but I do think you need to at least halve the amount of gold in there if not a little more 22:17:48 at higher depths you're placing more gold than I think tomb:3 or any other vault I can think of 22:18:27 maybe the one gozag altar vault 22:18:28 is a good guide? 22:18:48 the one that has gozag shops and a few nasties 22:18:49 -!- LordSloth is now known as ConfusedSloth 22:19:04 -!- ConfusedSloth is now known as LordSloth 22:19:16 but I was roughly just thinking of how we place like 4 high quality items for about this level of threat you have here in other ghost vaults 22:19:17 gammafunk: does acquire any not place acquire gold? 22:19:36 yeah, it probably can 22:19:42 but we don't allow acquire any most of the time 22:19:58 and, well, it's heavilly diluted by acquire any junk 22:20:15 but yeah we'd like to mostly keep that in troves (there are a few vaults that still use it that probably need updating) 22:20:41 I mean you could just place an acquire scroll and boom acquire gold, but I think for vaults placing gold we would not place anywhere near this much without quite a substantial threat 22:20:54 I wonder why I'm banned from the main chat. 22:21:14 LordSloth: I can hear you. 22:21:17 which two monsters and a ghost just isn't (keeping in mind that 8 and 9 frequently roll nothing or just some derpy normal monster) 22:21:20 ##crawl, alcon 22:21:26 Ah. 22:21:36 let me find that vault 22:21:45 gammafunk: yeah I think my sense of the threat of 98 is a bit off 22:22:11 Well, if someone can help me wipe my save for Gooncrawl on CBRO it'd be much appreciated. I'm kind of crashing immediately. 22:22:30 LordSloth: do you know how to log in via console? 22:22:40 they can definitely roll something just insane, sadly the average they roll is not as insane as you might think 22:22:50 9 is just depth + 5, so really not insane to begin with 22:23:05 8 is insane, but there's so much relatively weak stuff in the tables throughout the branch 22:23:22 so you may get an unseen horror on d:3 but good chance just a leapard gecko 22:25:46 ebering: check out kennysheep_vaults_gozag_temple 22:25:53 that's one of the more extreme gold placing vaults 22:25:59 it does indeed place quite a lot 22:26:10 28 piles 22:26:21 ok 22:26:24 but that's all the way in vaults 22:26:27 the depths one does the same 22:26:43 similar level of threat it's going for comapred to your vault 22:27:03 more than 28 actually 22:27:12 ebering: I've just input the putty config for it, managed to backup my save. 22:27:13 32! 22:28:26 I'm logged in there now, but at a loss for what to do next. 22:28:29 !calc 178.0 / 8.84 22:28:30 20.14 22:28:43 looks like one gold pile is maybe worth 20 that deep (Vaults:1) 22:29:00 LordSloth under advanced options there is a delete save option 22:29:00 !calc 20.14 * 32 22:29:00 644.48 22:29:03 Not seeing it 22:29:03 so it's about 640 gold or so on average 22:30:00 Only seeing the option to backup 22:30:10 LordSloth: yeah that's different from main trunk 22:30:22 on cdo. you'll have to ask johnstein the admin for help 22:30:31 Okay, thanks. Will do. 22:31:13 gammafunk: well, if you want to merge the other 5 I can try and work out a more appropriate gold scale and send a new pr w/ this one 22:31:38 !tell johnstein LordSloth over on CBRO. I've got a game under GoonCrawl that crashes on load. If you could wipe that particular save it would be much appreciated. Thanks! 22:31:39 LordSloth: OK, I'll let johnstein know. 22:31:53 ebering: ok, I could change it myself, but I'm not sure if you'd like to make layout changes to place the gold or whatnot 22:32:14 I have edits for the others that I think are finished, so I can merge that soon 22:32:27 gammafunk: yeah I'd like to think it over 22:32:35 thanks for the feedback 22:32:56 np, thanks for the vaults 22:38:32 I've been looking for where this 'have_passive' function is originally defined... 22:38:40 It seems to be used all over the place in the code. 22:38:58 Does anyone know in which file this function originates? 22:41:35 <|amethyst> Alcon: it's in god-passive.cc 22:41:40 <|amethyst> !source have_passive 22:41:40 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/god-passive.cc#L431 22:42:02 amethyst: Thank you. 22:42:25 <|amethyst> it loops over the god_passives array just above the function 22:42:51 <|amethyst> or, rather, looks up the player's god in that array, and loops over that vector 22:56:29 Looks like another *little* bug may be resolved. 23:05:50 New branch created: pull/799 (1 commit) 13https://github.com/crawl/crawl/pull/799 23:05:50 03Alcon02 07https://github.com/crawl/crawl/pull/799 * 0.22-a0-542-g07e1546: Bugfix: Qazlal cloud immunity is taken into account in messages. 10(6 minutes ago, 1 file, 16+ 2-) 13https://github.com/crawl/crawl/commit/07e1546f9c08 23:19:38 are all the botnets taking the weekend off? im not getting any useful traffic 23:23:13 Alcon: that looks good at a glance but there's a couple of things there that don't quite match up with the coding conventions we use (https://github.com/crawl/crawl/blob/master/crawl-ref/docs/develop/coding_conventions.txt) 23:24:34 in particular using 4 spaces rather than tabs, having a space between the "if" and the parentheses 23:26:12 and because the if statement and the conditional code are both single lines, there's no need for the extra braces there 23:27:11 the "braces" section in the doc explains that using better words than i did, also there's a bunch of really good out-of-date code samples in here 23:29:02 active magic mapping ability, the distinct books of conjuration[ice] and conjuration[fire]... 23:30:57 03MarvinPA02 {GitHub} 07* 0.22-a0-542-gce4f928: Fix a coding convention typo 10(7 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/ce4f92807d2a 23:31:06 03Alcon02 07https://github.com/crawl/crawl/pull/799 * 0.22-a0-543-g0645dc1: Changes made to conform more closely with style-guide. 10(3 minutes ago, 1 file, 2+ 2-) 13https://github.com/crawl/crawl/commit/0645dc1b6cf8 23:32:07 ... hmm... my update was a misinterpretation of what you said... 23:32:17 ... I will need to make an additional commit... 23:33:22 sorry yeah, i wasn't too clear 23:34:35 Huh... ok, I see what you mean about the braces... 23:34:40 ... they need to be *gone* 23:35:03 also i don't like the idea of "feeling that X is unaffected". it's like feeling yourself continuing to weigh as much as you did a moment ago 23:35:32 i'd rather just not print any message when nothing happens, but i guess there should be some signal to the player about what kind of scarf (or whatever) it is 23:35:34 i guess it could maybe just be that there's no message at all if you do have the qazlal passive? 23:35:41 or yeah, hmm 23:36:55 if you already have the immunity, it could check whether it was already identified, and if not print "It is a scarf of cloud immunity." or something 23:37:03 and otherwise print nothing 23:38:08 Alcon: also for any changes like this, it's no problem to rewrite git history when you're making a pull request (so that it's just one commit rather than multiple commits with minor fixes) 23:38:30 if you're familiar with how to do that in git 23:39:23 i should absolutely not still be awake though, so i can take another look tomorrow probably! 23:39:42 lol, I have to admit that I do not... my approach would be to squash my commit history with a rebase... 23:41:38 03Alcon02 07https://github.com/crawl/crawl/pull/799 * 0.22-a0-544-gb2ab173: Changes conforming to style guide: braces for conditionals removed. 10(5 minutes ago, 1 file, 2+ 10-) 13https://github.com/crawl/crawl/commit/b2ab17383d7b 23:41:41 it's easy enough for someone to squash when accepting the PR anyway. if you're not into building pretty commits it's not a big deal for a small PR 23:47:21 I'm going to have to look deeper in the codebase to figure out how to identify an item... 23:47:45 ... err... to determine 'identify'-status of item... 23:53:40 Should I attempt to discuss my intended fixes with you folks before I just jump into the code? 23:57:40 if you already have the immunity, it could check whether it was already identified, and if not print "This must be a scarf of cloud immunity." -- This is my plan 23:59:52 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.22-a0-542-gce4f928 (34)