00:05:52 woot 00:06:23 that page belongs in a museum 00:07:03 "thanks to ell*ptic for setting up and organizing the 2011 tournament!" 00:07:21 I felt bad deleting those 00:07:26 also the crawl spoilers 00:07:33 ahh i refreshed and it's all gone 00:07:51 some of it I just consolidated 00:07:56 at least it still looks right out of the 90s 00:08:00 News28 May 20 This box updated for the first time in 5 years. 00:08:18 i suspect most of the links are broken 00:08:33 yeah, I did check over the spoilers and about half of them are dead 00:08:38 oh, "Association for the Advancement of Dungeon Crawling" is still alive 00:08:39 thank god 00:09:10 otherwise I removed dead links 00:09:21 how do you guys find time to do maintenance 00:09:25 too many people play this game at all hours of the day 00:09:58 on CAO I've just been putting up a notice about 24hrs in advance and doing it at a low activity time, like morning-ish 00:10:40 that live-debug thing I added will hopefully help keep downtime lower 00:11:19 yeah that sounds really cool, i'm excited to try it out 00:11:43 the webtiles server is updated with trunk, right? so as soon as i reboot i'm going to have whatever new changes yall have come up with 00:12:36 yeah 00:14:40 just kick the nerds off, I say 00:14:45 nooo 01:26:42 wow, a live countdown 01:26:46 what is this, the 21st century? 01:38:24 Unstable branch on crawl.develz.org updated to: 0.26-a0-34-g9e0bf03589 (34) 01:43:54 > Another kind of clean up comes in PEP 585 ("Type Hinting Generics In Standard Collections"). It will allow the removal of a parallel set of type aliases maintained in the typing module in order to support generic types. For example, the typing.List type will no longer be needed to support annotations like "dict[str, list[int]]" (i.e.. a dictionary with string keys and values that are lists of 01:43:57 integers). 01:44:05 let's rewrite all python code in crawl to python 3.10 01:45:03 does that actually affect the code you write, though 01:45:25 as opposed what that standard module has to implement 01:58:57 it means no more `from typing import List, Dict` basically 01:58:57 still need it for Union, Sequence, etc 02:11:12 Windows builds of master branch on crawl.develz.org updated to: 0.26-a0-34-g9e0bf03589 02:31:51 I have yet to implement typing in my bots, that's not going to be very fun I think 02:45:29 -!- amalloy is now known as amalloy_ 03:38:59 Fork (bcadrencrawl) on crawl.kelbi.org updated to: 0.22.1-2753-g4f2e2acbc9 04:43:20 New branch created: pull/1434 (7 commits) 13https://github.com/crawl/crawl/pull/1434 04:43:20 03aegolden02 07https://github.com/crawl/crawl/pull/1434 * 0.26-a0-35-gc2e83ad: Fix some typos in god_creation.txt. 10(36 minutes ago, 1 file, 4+ 4-) 13https://github.com/crawl/crawl/commit/c2e83ad03047 04:43:20 03aegolden02 07https://github.com/crawl/crawl/pull/1434 * 0.26-a0-36-gbc52b69: Fix a typo in the quickstart guide. 10(26 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/bc52b69ae84f 04:43:20 03aegolden02 07https://github.com/crawl/crawl/pull/1434 * 0.26-a0-37-gc88b102: Fix typo in monster_creation.txt. 10(22 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/c88b10270eb6 04:43:20 03aegolden02 07https://github.com/crawl/crawl/pull/1434 * 0.26-a0-38-g0555319: Fix some typos in mutation_creation.txt. 10(17 minutes ago, 1 file, 3+ 3-) 13https://github.com/crawl/crawl/commit/0555319e62b6 04:43:20 03aegolden02 07https://github.com/crawl/crawl/pull/1434 * 0.26-a0-39-g6399ffa: Fix some typos in patch_guide.txt. 10(16 minutes ago, 1 file, 4+ 4-) 13https://github.com/crawl/crawl/commit/6399ffac371d 04:43:20 03aegolden02 07https://github.com/crawl/crawl/pull/1434 * 0.26-a0-40-g1ede26b: Fix a typo in tiles_creation.txt. 10(11 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/1ede26ba0f5f 04:43:20 03aegolden02 07https://github.com/crawl/crawl/pull/1434 * 0.26-a0-41-g1a1fed6: Fix a typo in translation.txt. 10(10 minutes ago, 1 file, 2+ 2-) 13https://github.com/crawl/crawl/commit/1a1fed651b5f 04:58:41 true hero 05:36:19 be nice to host those online somewhere 05:36:36 docs.dcss.io or something 06:06:41 -!- amalloy_ is now known as amalloy 06:22:24 -!- amalloy is now known as amalloy_ 08:19:16 the live countdown was sitting around from 2012, it's there if anyone else wants to use it!! 08:19:22 http://crawl.akrasiac.org/tourney-time.js 08:53:26 03advil02 07* 0.26-a0-35-g58eb27a: Tweak dispreferred newgame colors on local tiles 10(3 minutes ago, 1 file, 4+ 0-) 13https://github.com/crawl/crawl/commit/58eb27aebac6 09:02:04 Unstable branch on crawl.kelbi.org updated to: 0.26-a0-35-g58eb27aeba (34) 09:33:23 Just checking out https://crawl.develz.org/mantis/view.php?id=11889 09:33:45 Would it make sense to deny casting with wizard mode any spell with spflag::monster? 09:34:28 Since summon mushrooms is a monster-only spell 09:39:28 03aaronegolden02 {GitHub} 07* 0.26-a0-36-g11e0b32: Fix up some typos in the docs folder. (#1434) 10(12 seconds ago, 7 files, 16+ 16-) 13https://github.com/crawl/crawl/commit/11e0b3256286 09:40:35 elliotd123: No. It's better for some monster-only spells to work in wizmode than none. Surely? # nb, not a dev, just IMAO 09:41:32 Maybe I'm just assuming the segfault has something to do with it being a monster-only spell trying to be cast as the player 09:41:54 too big of an assumption probably 09:42:02 I think it probably has, I just think your proposed remedy is worse than the disease. 09:42:03 Without digging deeper 09:42:49 I'll try some other monster-only spells 09:43:00 Neil (L1 MfIE) Crash caused by signal #11: Segmentation fault (D:1) 09:44:25 <|amethyst> here's a better crashlog, with a backtrace: 09:44:26 <|amethyst> http://crawl.akrasiac.org/rawdata/Neil/crash-Neil-20200529-134300.txt 09:44:28 Yeah ok so summon drakes seems to work fine 09:44:41 <|amethyst> IMO it would be better to figure out why it's crashing and fix that 09:45:22 <|amethyst> if it were an ASSERT failure I would say "eh, it's wizmode, no big deal" 09:45:22 <|amethyst> but a segfault is a little more worrying 09:45:22 Yeah it's easily recreatable 09:45:56 Just segfaults are so fun to track down 09:46:47 <|amethyst> run crawl (probably a debug-lite build) under a debugger and you can inspect the stack, get line numbers, and look at variables 09:47:00 Unstable branch on crawl.kelbi.org updated to: 0.26-a0-36-g11e0b32562 (34) 09:48:13 Yeah I'm checking 09:49:33 maybe in mons->get_foe()->pos() where it's looking for a foe - probably doesn't get one for the dummy monster it creates? 09:49:34 <|amethyst> hm, the mons->get_foe()->pos() in mons_cast.cc looks suspicious 09:49:37 <|amethyst> yeah 09:49:49 <|amethyst> get_foe() can return nullptr 09:49:55 <|amethyst> if the foe is MHITNOT 09:50:06 <|amethyst> or if the foe is you but the monster is friendly 09:50:53 <|amethyst> which the dummy monster used by wizmode might well be 09:51:09 <|amethyst> aha, yeah, it is friendly 09:52:59 <|amethyst> so it's only by—not quite "luck", let's go with "widely distributed logic"—that it doesn't happen outside of wizmode 09:53:38 maybe just get some coords with mons->get_foe()->pos() and if is a nullptr, just return? At least that would fix the segfault and potentially some other edge cases if friendlies tried to cast it for whatever reason 09:54:01 <|amethyst> mons->get_foe() is the nullptr 09:54:03 <|amethyst> but yeah 09:54:14 yeah that 09:55:49 yeah, wizmode casting of non-player spells is often extremely useful for testing things 09:57:08 <|amethyst> It might be kind of nice to make it just place them around the caster in that case (when it tries to cast the spell with no foe) 09:57:31 <|amethyst> but I'd be hesitant to modify a spell just to make it work better in wizmode 09:58:42 <|amethyst> (something like coord_def pos = mons->get_foe() ? mons->get_foe()->pos() : mons->pos(); ) 10:02:25 so summon mushroom summons mushrooms around a target? 10:03:03 <|amethyst> I was just about to comment on that 10:03:14 I'm guessing it's the curse toe effect 10:04:00 <|amethyst> I don't see a reason for the spell not to be smite-targetted 10:04:15 <|amethyst> but instead it is untargetted and affects the foe 10:04:45 well, a lot of monster only spells use conditioning on a target as the equivalent of haunt-style smite targeting 10:04:59 there's code elsewhere that ensures the target I think 10:05:09 the wizmode casting short circuits that 10:05:11 <|amethyst> right, SPELL_HAUNT has spflag::target 10:05:20 <|amethyst> SPELL_SUMMON_MUSHROOMS does not 10:05:26 and it has a custom check that prints a message if there is no target 10:05:42 not sure if you can get to that any more though 10:06:11 conditioning for monster-only spells is usually in _ms_waste_of_time 10:06:39 there's a lot that could be unified with player conditions for cleaner design but it's not a project with a lot of real payoff 10:07:41 <|amethyst> in this particular case, making it spflag_target ought to not change the behaviour for actual monster casts, but allow wizmode casts of it to select a target 10:09:06 <|amethyst> huh 10:09:11 Webtiles server stopped. 10:09:24 <|amethyst> wonder why suumon mushrooms is spflag::selfench 10:10:04 Webtiles server started. 10:10:29 Webtiles server stopped. 10:10:45 Webtiles server started. 10:21:56 oh yeah I think it belongs in _ms_waste_of_time 10:22:02 of course I see that after I make a PR lol 10:23:43 New branch created: pull/1435 (1 commit) 13https://github.com/crawl/crawl/pull/1435 10:23:43 03Elliot Dronebarger02 07https://github.com/crawl/crawl/pull/1435 * 0.26-a0-35-gac11a2d: Fix segfault for Summon Mushrooms spell 10(10 minutes ago, 1 file, 8+ 2-) 13https://github.com/crawl/crawl/commit/ac11a2d33c85 10:23:55 there's a bunch of spells doing the same check in there 10:24:44 <|amethyst> elliotd123: _ms_waste_of_time already has a check for no foe, but I think isn't used for these wizmode checks 10:25:12 yes, _ms_waste_of_time is skipped for wizmode 10:25:54 there's a whole bunch of ai code in there that isn't applicable 10:25:55 It didn't have one for SPELL_SUMMON_MUSHROOMS 10:26:19 <|amethyst> it does 10:26:26 !source mon-cast.cc:7615 10:26:27 https://github.com/crawl/crawl/blob/master/crawl-ref/source/mon-cast.cc#L7615 10:26:36 oh yes it does 10:27:17 so would all those spells need similar checks? 10:27:47 not necessarily, the state of monster-only spells is quite inconsistent 10:27:56 <|amethyst> only the ones that aren't targeted 10:28:02 <|amethyst> you might test entropic weave 10:28:04 it often depends on whether they have ever been player only, for one thing 10:28:06 er 10:28:09 player castable 10:29:26 <|amethyst> it's the only one listed in that block around line 7615 that isn't targeted 10:29:26 <|amethyst> (besides summon mushrooms) 10:29:27 yep there's other ones that crash, like summon spectral orcs 10:29:41 <|amethyst> huh 10:29:53 <|amethyst> that's weird, spectral orcs should prompt for a target 10:30:17 <|amethyst> oh, I see 10:30:24 it does but there's still no foe 10:30:31 <|amethyst> it doesn't actually use the target, _mons_cast_spectral_orcs just gets the foe 10:31:19 <|amethyst> a monster cast of haunt at least does ASSERT(mons->get_foe()) 10:31:38 so still a crash, but at least a more informative one? 10:32:10 <|amethyst> it's not monster-only though so that doesn't come up when wizmode-casting it 10:40:16 03Elliot Dronebarger02 07https://github.com/crawl/crawl/pull/1435 * 0.26-a0-36-g33944f2: Added same fix for Summon Spectral Orcs 10(3 minutes ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/33944f2b07ec 12:05:54 |amethyst: entropic weave - if you try to cast in wizmode it just says "Spell 'Entropic Weave' is not a player castable spell' 12:11:40 so in any case it doesn't segfault at least 12:22:06 <|amethyst> huh 12:22:23 <|amethyst> oh, it doesn't have spflag::monster 12:22:34 <|amethyst> which means wizmode won't try a monster cast 12:22:39 <|amethyst> that's kind of weird 12:23:01 <|amethyst> since AFAIK it's never been something a player could cast, so it should have been given spflag::monster 12:36:07 <|amethyst> that's probably a bug, since it means it gets a stat block (Power, Range, Hunger, etc) under ?/s 12:36:07 <|amethyst> but if that is changed it will probably also need the same fixes as those two summons 12:40:26 <|amethyst> oh, also means that currently you can wizmode-memorize it (&!) without a warning (though casting it then gives the same "not a player castable spell") 12:41:38 <|amethyst> unfortunately, changing it in such a way (and fixing the crash) means it would just fail silently instead of giving a message, which is worse 12:41:38 <|amethyst> bleh 13:01:57 spflag::monster is really inconsistent 13:06:15 Unstable branch on crawl.akrasiac.org updated to: 0.26-a0-36-g11e0b32 (34) 14:28:45 I was trying to think if it would be a good idea to just mprf a message indicating that the wizmode spell cast failed 14:29:17 But also that bug report noted that he was trying to cast something else, so maybe it would be helpful to say "Casting Summon blah failed" or something? 14:30:05 Then you would know that your &z spell matched something that you didn't intend 14:46:02 While ironing out wizmode quircks is appreciated, I wouldn't sweat it too much 14:46:20 Yeah that's what I was thinking. At least fixing the segfaults though... 15:25:00 advil: if you're arround, looks like the 0.25 rcs aren't editable/accessible; the webtiles edit rc page pulls up an empty box and when I paste contents and save, the box is empty again when I click edit again 15:25:15 I'll take a look myself in a bit 15:58:09 advil: looks like you didn't make /chroot/dgldir/rcfiles/crawl-0.25, so I've made that with the right ownership/permissions, and RC files seem to work fine for 0.25 now 16:02:28 for new tournament scoring, most of the banners don't make sense at a clan level in aggregate, there are a few that do, but the technical overhead of tracking them separately at the clan level is pretty high 16:03:00 For the time remaining and completion's sake I think clan banner score will just compute banner score based on the highest prestige of each banner per member 16:03:44 it still makes "get all top tier banners" a collaborative clan effort 16:05:40 makes sense 16:22:13 Stable (0.17) branch on underhound.eu updated to: 0.17.3-4-g93a25c67f4 16:34:29 wonder how I missed that one 16:34:52 I think that might have been one of the things that current dgamelaunch-config will create automatically 16:44:19 alexjurkiewicz: I've got all the scoring queries done now for clans 16:44:33 We're on the home stretch! 16:49:10 advil: yeah, I checked all the other dirs mentioned in the same set of instructions, and those were all good. I'm not sure if the dgl script do create that one automatically, but I suspect not 17:14:17 Fork (bcadrencrawl) on crawl.kelbi.org updated to: 0.22.1-2755-g35d39ad5ac 17:25:55 ebering: !!! 17:36:59 I'll admit I cheated a little in simplifying the last two clan categories to make them easier to implement but I think they'll still work 17:42:47 Webtiles server stopped. 17:52:33 ??cxc 17:52:34 cXc[1/2]: Server in France: CRAWL.XTAHUA.COM -- ssh port 22, username crawl, uses CAO key (available at http://CRAWL.XTAHUA.COM/crawl/keys/). Webtiles address: http://CRAWL.XTAHUA.COM Discord server https://discord.gg/SzXGZNS 17:52:37 ??servers 17:52:38 servers[1/3]: USA: {cao}, {cbro}, {cko}; EU: {CXC} {CDO}, {cue}; KR: {cwz}; JP: {lld}; AU: {cpo} 18:15:37 03PleasingFungus02 07* 0.26-a0-37-g50178cf: Fix some no_tele_into shops (minmay) 10(34 seconds ago, 1 file, 4+ 4-) 13https://github.com/crawl/crawl/commit/50178cf780ef 18:19:53 Stable (0.25) branch on crawl.kelbi.org updated to: 0.25-b1-23-ge2ad7d536c 18:20:22 Webtiles server started. 18:22:22 Webtiles server stopped. 18:23:13 03Aidan Holm02 {gammafunk} 07[stone_soup-0.25] * 0.25-b1-24-g1ea5fa6: Remove ability to memorize spells from their description 10(30 hours ago, 1 file, 3+ 37-) 13https://github.com/crawl/crawl/commit/1ea5fa6912e4 18:23:13 03advil02 {gammafunk} 07[stone_soup-0.25] * 0.25-b1-25-gfb11b3f: Fix a signed/unsigned warning 10(27 hours ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/fb11b3fb3090 18:23:13 03advil02 {gammafunk} 07[stone_soup-0.25] * 0.25-b1-26-g9b35252: Fix an unused param warning 10(25 hours ago, 1 file, 4+ 5-) 13https://github.com/crawl/crawl/commit/9b35252390ca 18:23:13 03advil02 {gammafunk} 07[stone_soup-0.25] * 0.25-b1-27-ga2f0160: Tweak dispreferred newgame colors on local tiles 10(10 hours ago, 1 file, 4+ 0-) 13https://github.com/crawl/crawl/commit/a2f0160db360 18:23:13 03aaronegolden02 {gammafunk} 07[stone_soup-0.25] * 0.25-b1-28-g0d850c4: Fix up some typos in the docs folder. (#1434) 10(9 hours ago, 7 files, 16+ 16-) 13https://github.com/crawl/crawl/commit/0d850c4b311e 18:23:13 03PleasingFungus02 {gammafunk} 07[stone_soup-0.25] * 0.25-b1-29-g4cfa5c7: Fix some no_tele_into shops (minmay) 10(8 minutes ago, 1 file, 4+ 4-) 13https://github.com/crawl/crawl/commit/4cfa5c7bda6b 18:23:33 Webtiles server started. 18:24:33 Unstable branch on underhound.eu updated to: 0.26-a0-36-g11e0b32562 (34) 18:39:21 when can we expect the tourney pages to go live? 19:11:08 gammafunk: it does as of https://github.com/crawl/dgamelaunch-config/commit/42d0635840a1b9c5b0d63c061e7d5a5b000557aa 19:11:12 but that's not on CAO 19:11:35 nice 19:55:47 ebering: is there some way to move the query for ranking each category into scoring_data? The reason I ask is that on the overview page I'd like to iterate over every category and create a table programmatically 20:11:27 hm, i'll try to do this now. "just" needs a "small" refactor 20:15:03 alexjurkiewicz: yes but I would prefer that you use the individual category_order query functions 20:15:36 alexjurkiewicz: 1. because I'm about to refactor the update_all_ranks queries based on profiling here for the sake of cdo's cores and want max flexibility there 20:16:15 and 2 because I don't know how mysql window funnctions interact with limits and it might be bad™ 20:16:27 since window function processing happens after the limit clause 20:17:35 ebering: are you running cdo tests? I was going to ask if stuff is a point where cdo testing was useful 20:18:28 ebering: gimme 5mins and i'll stick up a PR with my proposal. Sounds like our work will be stepping on each other though, so I'm happy to wait for your refactor 20:22:09 ebering: https://github.com/crawl/dcss_tourney/pull/8 20:23:00 tl;dr I moved query.win_perc_order to a field in scoring_data.INDIVIDUAL_CATEGORIES 20:23:50 which lets me create tables for each category automatically, like so: https://imgur.com/a/lFfCqpP 20:27:49 sweeeeet loooooks 20:28:38 alexjurkiewicz: ok, this looks like it will not step on my toes 20:29:04 :) 20:29:06 since what I need to do involves player_ranks functions 20:29:13 should we be forking from the crawl/dgamelaunch-config from now on? 20:29:14 and not the _order functions 20:29:41 great! I will proceed to move all the category functions from query to scoring_data 20:30:21 This data is looking really rich btw. It will be very exciting to see players competing on the new scoring system, trying to figure it out as they go 20:30:33 alexjurkiewicz: in terms of factorization, the category already contains the source view, ranking column, and whether or not it should be DESC 20:30:47 so it would be a shame to duplicate that info 20:31:17 all that you really need is the columns other than the ranking column that get used by the end user and one function to build the queries 20:31:36 though maybe the queries are specific enough and different enough that that isn't practical 20:32:03 I figured this ^ but didn't investigate 20:32:04 oh, before I moved them to DB views it was impractical, but now that the db handles that 20:32:12 erm, the schema handles that 20:32:21 so you should be able to do it that way 20:32:22 i'll see what I can do. Thanks for the tip 21:00:50 ebering: ziggurat diving is the only individual category that doesn't work with this function, would appreciate if there's some way you could fix it up http://dpaste.com/363EEY1 21:01:12 I am guessing it's because the "zig levels completed" metric is synthetic, and not part of the view. Maybe you could make it part of the view? 21:01:52 https://imgur.com/a/VESA365 :) 21:03:27 i've pushed my code, will work more later 21:06:55 alexjurkiewicz: yes I can take a look 21:24:14 hrm 21:24:41 does mysql really have no interface function for building queries? 21:25:27 all that direct string substitution is pretty bad, right? 21:26:16 compared to what sqlite3 does 21:27:36 specifically thinking of the python sqlite3 module and cursor.execute() 21:39:33 probably I should make a post-tourney list of things that are less glamorous fixes but that would be important to do for tourney after this one 21:40:16 mysql does have query preparation and compilation so it can be run with many values 21:40:34 but column names are not values 21:53:12 -!- Tuxedo[Qyou] is now known as ici_seen_wolf 22:21:02 there are definitely better approaches than what the code does now. But I'm not going to change it in the interests of getting the tourney site up asap 22:22:10 right, I misunderstood your code, as ebering point out 22:22:34 I'm actually not sure how SQL people prefer to assemble queries that dynamically specify columns like that 22:23:13 as long as it's not directly taking user input it's fine, I guess 22:23:34 alexjurkiewicz: wow, that looks great 22:23:43 is this also going to be able to replace the regular scoring pages? 22:23:54 this is for tournament, not scoring pages 22:24:14 not that code couldn't be adapted, but they're totally different codebases 22:24:23 ah that's too bad 22:24:33 makes sense though yeah, i guess they're totally different purposes 22:33:50 yeah. I have done several bootstrap-ifications over the past year, so I'm getting good at them! 22:58:57 03floraline02 07https://github.com/crawl/crawl/pull/1034 * 0.26-a0-38-g2010dae: Disallow user login when account has been banned 10(1 year, 2 months ago, 3 files, 24+ 11-) 13https://github.com/crawl/crawl/commit/2010daed3ba4 23:09:58 03floraline02 07https://github.com/crawl/crawl/pull/1034 * 0.26-a0-39-g4d5bfb3: fix whitespace 10(4 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/4d5bfb39d2ae