00:43:19 interesting. too bad there's no stack frames for a windows crash 00:44:45 one hypothesis: maybe a zero-headed hydra came into existence somehow, and the game crashed attempting to describe its attacks. or maybe the hydra was broken in some other way 00:52:54 or maybe since it was local tiles, the player moused over the hydra in between turns, causing us to try to describe a monster that actually was already dead 01:26:13 wizamalloy (L27 BaWz) ASSERT(attack_counts.size() == 1) in 'describe.cc' at line 3048 failed. (Zot:1) 01:26:20 oh nice 01:28:30 -!- yesno_ is now known as yesno 01:32:06 wizamalloy (L27 BaWz) ASSERT(attack_counts.size() == 1) in 'describe.cc' at line 3048 failed. (Zot:1) 02:40:07 -!- amalloy is now known as amalloy_ 02:54:20 Monster database of master branch on crawl.develz.org updated to: 0.21-a0-229-g3587535 03:11:58 Unstable branch on crawl.beRotato.org updated to: 0.21-a0-229-g3587535 (34) 04:23:58 Incorrect dangerous terrain indicator when using X] 13https://crawl.develz.org/mantis/view.php?id=11207 by Leszczynek 06:54:57 Double confirmation upon removing *Contam amulet 13https://crawl.develz.org/mantis/view.php?id=11208 by Yermak 08:28:39 Spectral weapon doesn't attack target when riposte. 13https://crawl.develz.org/mantis/view.php?id=11209 by Karagy 12:19:32 -!- amalloy_ is now known as amalloy 12:29:03 !tell |amethyst do you have a suggestion of a good way to fix https://crawl.develz.org/mantis/view.php?id=11206? i could just remove the assert, or special-case it to not look at the base type for monsters which are statue-like, but neither of those feels right 12:29:04 amalloy: OK, I'll let |amethyst know. 12:42:39 !tell elliptic Good qw: https://cdn.discordapp.com/attachments/205316046230388737/353217906403966988/unknown.png 12:42:39 gammafunk: OK, I'll let elliptic know. 12:47:04 dang, died due to an entropy weaver in vaults. Laaastyyy 13:04:45 Unstable branch on crawl.akrasiac.org updated to: 0.21-a0-229-g3587535 (34) 13:27:04 !tell elliptic Here is the morgue of a qw GrBe win with the discussed nospawn changes: http://dpaste.com/3PTBSNA and here is another from current trunk for comparison: http://dpaste.com/00BFNHR 13:27:05 gammafunk: OK, I'll let elliptic know. 13:27:41 !tell elliptic It seems we're getting about 33% more XP with nospawn compared to trunk, but I'm not sure if that's variance (actually changes will be pushed to nospawn branch if you want to see them) 13:27:42 gammafunk: OK, I'll let elliptic know. 13:49:16 New branch created: nospawn (6 commits) 13https://github.com/crawl/crawl/tree/nospawn 13:49:16 03gammafunk02 07[nospawn] * 0.21-a0-230-g55c60bb: Replace some 0 pointers with nullptr and simplify 10(17 hours ago, 1 file, 8+ 8-) 13https://github.com/crawl/crawl/commit/55c60bbc0de3 13:49:16 03gammafunk02 07[nospawn] * 0.21-a0-231-gd2cf27e: Don't try to spawn monsters from stairs 10(17 hours ago, 2 files, 9+ 243-) 13https://github.com/crawl/crawl/commit/d2cf27e79c9d 13:49:16 03gammafunk02 07[nospawn] * 0.21-a0-232-g035259e: Remove monster spawns over time in most branches 10(17 hours ago, 1 file, 36+ 115-) 13https://github.com/crawl/crawl/commit/035259edfecc 13:49:16 03gammafunk02 07[nospawn] * 0.21-a0-233-g4df0664: Increase the number of monsters generated at level creation time 10(19 hours ago, 1 file, 3+ 3-) 13https://github.com/crawl/crawl/commit/4df0664a1aa1 13:49:16 03gammafunk02 07[nospawn] * 0.21-a0-234-g33eab37: Add a monster placement proximity type for generating away from stairs 10(2 hours ago, 2 files, 8+ 0-) 13https://github.com/crawl/crawl/commit/33eab375ec4e 13:49:16 03gammafunk02 07[nospawn] * 0.21-a0-235-g728d0ad: Generate some monsters awake at level creation time on most levels 10(2 hours ago, 1 file, 10+ 3-) 13https://github.com/crawl/crawl/commit/728d0adb1858 13:54:23 gammafunk: _num_mons_wanted is a weird function. while you're in there you could clean up some of the special cases. eg based on branch compute a num-dice and die-size, then have a single roll_dice call, rather than having four different codepaths depending on which branch we're in 13:56:53 amalloy: I'm making a PR now, so you can add that as a comment in a sec 13:56:56 otherwise I'll probably forget 13:57:04 !kw xpinfo 13:57:05 Keyword: xpinfo => vlong>=0.21-a0-218-g8aba26b 13:57:54 cool 14:00:31 oh, oops 14:01:01 a comment is wrong 14:03:12 basically i see "74 additionsand372 deletions" and i'm all set to approve regardless of content 14:03:45 you'll love my forthcoming "Remove beam.cc" PR 14:04:01 you're not wrong 14:04:25 we're just going to make all magic/range/bolts single-square, smite-targetted 14:06:23 dang, i didn't realise we had so many misspellings of targeting/targeted/etc still left 14:06:36 i fixed targeter but that was only the beginning 14:07:21 is it supposed to be one 't'? 14:07:34 yes 14:20:36 New branch created: pull/606 (6 commits) 13https://github.com/crawl/crawl/pull/606 14:20:37 03gammafunk02 07https://github.com/crawl/crawl/pull/606 * 0.21-a0-230-g55c60bb: Replace some 0 pointers with nullptr and simplify 10(17 hours ago, 1 file, 8+ 8-) 13https://github.com/crawl/crawl/commit/55c60bbc0de3 14:20:37 03gammafunk02 07https://github.com/crawl/crawl/pull/606 * 0.21-a0-231-gd2cf27e: Don't try to spawn monsters from stairs 10(17 hours ago, 2 files, 9+ 243-) 13https://github.com/crawl/crawl/commit/d2cf27e79c9d 14:20:37 03gammafunk02 07https://github.com/crawl/crawl/pull/606 * 0.21-a0-232-g035259e: Remove monster spawns over time in most branches 10(17 hours ago, 1 file, 36+ 115-) 13https://github.com/crawl/crawl/commit/035259edfecc 14:20:37 03gammafunk02 07https://github.com/crawl/crawl/pull/606 * 0.21-a0-233-g4df0664: Increase the number of monsters generated at level creation time 10(20 hours ago, 1 file, 3+ 3-) 13https://github.com/crawl/crawl/commit/4df0664a1aa1 14:20:37 03gammafunk02 07https://github.com/crawl/crawl/pull/606 * 0.21-a0-234-g33eab37: Add a monster placement proximity type for generating away from stairs 10(3 hours ago, 2 files, 8+ 0-) 13https://github.com/crawl/crawl/commit/33eab375ec4e 14:20:37 03gammafunk02 07https://github.com/crawl/crawl/pull/606 * 0.21-a0-235-g728d0ad: Generate some monsters awake at level creation time on most levels 10(2 hours ago, 1 file, 10+ 3-) 13https://github.com/crawl/crawl/commit/728d0adb1858 14:21:42 oh, right, the double-spam 14:29:55 The build failed. (nospawn - 728d0ad #8682 : gammafunk): https://travis-ci.org/crawl/crawl/builds/270926371 14:30:27 right, that's the main reason i do my PRs from amalloy/crawl. but it's not a huge deal if you prefer to have branches in crawl/crawl 14:36:39 not sure what's up with those BUILD_ALL buidls 14:36:41 *builds 14:38:36 <|amethyst> SDL problem, hm 14:38:36 |amethyst: You have 3 messages. Use !messages to read them. 14:38:51 <|amethyst> fatal error: 'X11/Xcursor/Xcursor.h' file not found 14:39:24 <|amethyst> so I guess we need to add some X dev libraries to the packages list 14:39:54 <|amethyst> not sure why it happened to work before 14:41:39 <|amethyst> amalloy: re that message about 11206... 14:42:20 <|amethyst> amalloy: I think it's reasonable to turn that ASSERT into an if instead 14:43:19 <|amethyst> amalloy: with a comment about blocks of ice, in case anyone starts wondering 14:43:32 <|amethyst> amalloy: actually 14:43:34 maybe replace == 1 with <= 1? 14:43:37 <|amethyst> yeah 14:43:46 with a comment of course 14:43:46 <|amethyst> that was going to be my "actually" :) 14:44:01 okay, seems reasonable enough 14:47:30 <|amethyst> hm 14:48:01 <|amethyst> I wonder if we could make Chei ignore commits in PRs that point to crawl/crawl branches 14:48:30 <|amethyst> I don't know if there's a way to query the source branch of a PR though 14:48:38 <|amethyst> other than comparing against all existing commits 14:48:49 <|amethyst> or at least all branch heads 14:50:44 |amethyst: we could be more specific, by checking that it either has one attack, or has zero attacks and is M_NOT_DANGEROUS 14:52:22 <|amethyst> amalloy: until we add a derived monster that gets no attacks but does get spells 14:52:40 that is also a hydra? 14:52:47 <|amethyst> sure, MONS_SPAWNER 14:53:00 <|amethyst> with base type determining what it spawns when it casts the spell 14:53:21 <|amethyst> (not to be confused with MONS_TEST_SPAWNER 14:54:17 03|amethyst02 07* 0.21-a0-230-g8444625: Try to fix travis BUILD_ALL builds. 10(18 seconds ago, 1 file, 4+ 2-) 13https://github.com/crawl/crawl/commit/8444625b1e48 14:54:41 <|amethyst> Let's see what travis complains about next 14:54:48 <|amethyst> because I'm sure that's not the only missing lib 14:54:55 |amethyst: isn't that just as likely as that we add a derived monster that always gets five melee attacks regardless of its base type? 14:55:15 if we're worried about those future cases we might as well remove the assert entirely 14:55:30 <|amethyst> true, but 14:55:53 <|amethyst> the real problem is I think when it has multiple attacks, because then we probably don't want to multiply them all 14:56:03 <|amethyst> so more than one attack is reasonable for the assert 14:56:11 <|amethyst> without trying to be more precise 14:56:36 |amethyst: i'd rather have that assert be when the monster is created, not when we look at it 14:56:54 so that it actually happens when we invent this crazy new monster, rather than slipping by unnoticed until someone mouses over it 14:57:04 <|amethyst> yeah, that's probably a good idea 15:01:36 |amethyst: https://developer.github.com/v3/pulls/#parameters exists, and i think probably one of those fields has what you'd need to do that filter 15:04:01 <|amethyst> amalloy: I suppose that's the problem with PRs: you need github-specific stuff to handle it 15:04:14 <|amethyst> I think before trying to use that API I'd probably install git-hub 15:04:29 <|amethyst> or 'hub' or whatever it's called, to query that stuff from the command line 15:04:49 <|amethyst> s/handle it/handle them/ 15:09:11 Unstable branch on crawl.jorgrun.rocks updated to: 0.21-a0-230-g8444625 (34) 15:12:18 |amethyst: is there a centralised place where monsters are created? it feels wrong to put this check into the constructor for monster or monster_info, since those could represent incomplete monster templates that aren't filled in yet 15:13:33 <|amethyst> amalloy: place_monster maybe? I think we also have some debug checks that run every turn, but that might just be in fulldebug mode, in which case it's not so useful 15:13:59 <|amethyst> or place_monster_aux to be a little more low-level (and also to handle band members) 15:14:13 <|amethyst> s/place.*aux/_&/ 15:14:53 <|amethyst> I'm sure that doesn't handle everything, though 15:16:04 place_monster_aux is where the actual monster is created, I believe 15:16:15 <|amethyst> yeah, it seems to be 15:16:16 the monster class instance, I mean 15:16:29 <|amethyst> with an underscore 15:16:44 the auxiliary function aka the main function 15:16:57 <|amethyst> _really_place_monster 15:17:05 <|amethyst> _place_monster_no_i_mean_it 15:17:24 _no_actually_really_place_this_damn_monster_for_real_this_time_trust_me() 15:17:28 <|amethyst> _actually_place_the_monster_dear_god_why_are_there_so_many_function_calls 15:17:46 define_monster might be good 15:18:36 yeah, maybe if you can separate out stuff in the _aux function a bit 15:19:19 <|amethyst> define_monster is used for some dummies, so if you're worried about that it might not be perfect 15:19:33 i guess it has to be in the _aux thing, right after the define_monster or define_zombie 15:19:42 <|amethyst> but it does handle things like monsters changing types 15:20:26 <|amethyst> In case we ever make a monster that is a 0-headed hydra riding a bone dragon 15:20:26 <|amethyst> %git bonerider 15:20:26 07|amethyst02 * 0.15-a0-1569-gafcbb9f: New monster: bone rider (Patashu) 10(3 years, 3 months ago, 4 files, 43+ 10-) 13https://github.com/crawl/crawl/commit/afcbb9fc6327 15:20:42 <|amethyst> Tavern quote: "About that name..." 15:21:10 <|amethyst> I should totally merge bone riders 15:21:19 <|amethyst> They would be SUPER awesome 15:21:35 <|amethyst> needs art though 15:25:41 blech. how do i find out how many attacks a monster has, if i have a monster and not a monster_info? 15:26:09 lookup using mons class? 15:27:05 might have to generalize whatever monster_info does for the lookup a bit 15:27:15 and just have it available for both monster and monster_info 15:28:15 ah, mons_has_attacks(const monster&) exists 15:28:32 i can implement a similar thing that returns its number of attacks 15:28:54 <|amethyst> amalloy: you could even change it to return an int instead of a bool 15:29:04 <|amethyst> but if you do, make sure no one is multiplying by the result 15:29:09 <|amethyst> ??octobug 15:29:10 I don't have a page labeled octobug in my learndb. 15:29:21 well i'm going to add one that returns an int, and reimplement the bool in terms of that 15:29:22 <|amethyst> ??epic bugs[/oct] 15:29:30 I don't have a page labeled epic bugs[/oct] in my learndb. 15:29:31 <|amethyst> sounds good 15:29:34 wastes effort for people who only want to know yes/no, but i don't think that's a huge deal 15:29:37 ??epic_bugs[oct 15:29:42 octopode[2/5]: For four days in 2012, octopodes had eight times the normal squeeze damage (96 instead of 12), allowing them to one-shot greater mummies (among others) with ease. Introduced, and then ruined, by |amethyst; rest in peace. 15:29:48 no / I think 15:29:50 <|amethyst> ah 15:30:10 unfair how |amethyst has all the good epic bugs 15:30:12 <|amethyst> ^ that was because of changing a bool function to return an int, when someone somewhere was multiplying by the bool 15:30:50 <|amethyst> down with bool multiplication, use ? foo : 0 as the gods intended 15:31:09 augh, mons_attack_spec has special casing for hydrae that makes it not so obvious how to define the int version 15:31:33 how far down the rabbit hole will amalloy go.... 15:31:40 !remove hydrae 15:31:41 03amalloy ⛐ 0.21-a0-2034-gc1d12ee: Remove hydrae 10(in the future, 40 files, 312+ 993-) 13http://s-z.org/neil/git/commit.png?p=crawl.git;a=commitdiff;h=c1d12ee 15:32:03 <|amethyst> at the very least remove head chopping 15:32:18 <|amethyst> "Hey, here's a random early-mid game bonus for your mace or trident" 15:33:05 find how many heads grow in an average game 15:33:19 increase hydra generation numbers by that much 15:33:42 <|amethyst> "Hey, it's a good thing you chose long blades, here's a unique/efreet with a hydra weapon" 15:33:59 <|amethyst> s/hydra/guaranteed &/ 15:34:30 rip flaming death 15:36:30 <|amethyst> (alternatively, make all weapons cause head regrowth) 15:37:04 <|amethyst> including ranged and maybe even spells/evocables 15:38:05 <|amethyst> I guess that turns into "use allies to kill hydrae" unless you also remove the special-case that makes monster attacks less likely to cause head regrowth, and change it to something about the hydra's alignment instead 15:43:54 <|amethyst> oh, for anyone who's curious, kilobyte far leads the "number of bugs closed" race with 1038. I'm second with 877, followed by MarvinPA with 784 and wheals with 495 15:44:24 <|amethyst> MarvinPA is the #1 reporter of closed bugs, followed by minmay and elliptic 15:44:38 <|amethyst> https://crawl.develz.org/mantis/summary_page.php ← didn't even know this existed 15:46:37 i see gammafunk is a slacker at 66... 15:51:25 03|amethyst02 07* 0.21-a0-231-g6dad0ce: Try harder to fix travis BUILD_ALL builds. 10(11 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/6dad0ceb4aca 16:01:36 |amethyst: i'm not sure https://crawl.develz.org/mantis/view.php?id=7 deerves status:new after 8 years 16:02:27 maybe i will inflate my issues-closed count by closing anything older than five years as "won't do", since it's obviously true 16:02:29 <|amethyst> IMO close as "unable to reproduce" 16:02:39 <|amethyst> since I haven't seen that happen since I started 16:02:57 <|amethyst> and I've done relatively long arena runs locally 16:04:03 done 16:05:41 status:old 16:09:14 Unstable branch on crawl.jorgrun.rocks updated to: 0.21-a0-231-g6dad0ce (34) 16:38:48 03|amethyst02 07* 0.21-a0-232-gd81925b: Handle spells and monsters in tiledef_lint. 10(33 minutes ago, 2 files, 7+ 7-) 13https://github.com/crawl/crawl/commit/d81925bcc520 16:38:48 03|amethyst02 07* 0.21-a0-233-g0929f2e: Handle more tiles in tiledef_lint 10(26 minutes ago, 3 files, 14+ 8-) 13https://github.com/crawl/crawl/commit/0929f2e806c8 16:38:56 <|amethyst> remaining unused tiles according to tiledef_lint: 16:39:26 <|amethyst> MONS_CEREBOV_SWORDLESS, MONS_FIRESPITTER_STATUE, MONS_STATUE_AXE, MONS_STATUE_MA 16:39:29 <|amethyst> CE, MONS_STATUE_SCYTHE, MONS_STATUE_SWORD, MONS_STATUE_WHIP, DELAYED_FIREBALL 16:40:46 <|amethyst> looks like my "Try harder" commit fixed travis BUILD_ALL builds, yay 16:42:47 why did that problem only now just show up? 16:43:15 <|amethyst> my guess would be a change in dependencies of some package 16:43:31 wouldn't have thought gammafunk's branch (cool project btw) would trigger that? 16:43:32 <|amethyst> and that we were previously implicitly pulling it in 16:43:39 oh you think it would happen for any travis build now 16:44:10 <|amethyst> It's happening in trunk too, yeah 16:44:20 <|amethyst> not sure why those weren't reported in-channel 16:44:41 <|amethyst> but I got an error in 16:44:44 <|amethyst> %git 8444625b1e4 16:44:44 07|amethyst02 * 0.21-a0-230-g8444625: Try to fix travis BUILD_ALL builds. 10(2 hours ago, 1 file, 4+ 2-) 13https://github.com/crawl/crawl/commit/8444625b1e48 16:44:51 <|amethyst> https://travis-ci.org/crawl/crawl/builds/270948544 16:46:14 |amethyst: i love that mantis summary page mainly for the occasions when the balance column in the "by date" table has lots of nice green numbers after a mantis cleanup spree 16:46:31 sadly it's very not green at the moment :( 16:48:45 @?goblin 16:48:45 goblin (15g) | Spd: 10 | HD: 1 | HP: 3-5 | AC/EV: 0/12 | Dam: 4 | 10weapons, 10items, 10doors | XP: 1 | Sz: small | Int: human. 16:48:51 oh, there you go Gretell 17:09:08 Unstable branch on crawl.jorgrun.rocks updated to: 0.21-a0-233-g0929f2e (34) 17:44:26 -!- MarvinPA_ is now known as MarvinPA 18:02:17 Unstable branch on underhound.eu updated to: 0.21-a0-233-g0929f2e (34) 18:04:11 !calc 1866744.14 / 1844716.51 18:04:12 1.01 18:04:18 !calc 1866744.14 / 1844716.51 * 100 18:04:18 101.19 18:04:23 1.19% increase 18:04:43 guess my 3d10 -> 3d12 wasn't really close enough 18:04:47 seems a bit odd though 18:06:19 seems that the level gen increase didn't increase monster count by as much as it should 18:06:50 with no spawns but 3d10 -> 3d12: https://docs.google.com/spreadsheets/d/1ZKByg8iPOCKzDlpP3ERjk5TTa3J7FtmGB9XnuOnl0rM/edit#gid=111985792 18:07:06 versus a recent trunk: https://docs.google.com/spreadsheets/d/1HAs1r1UwEEtUAP5ft00oS1enB3hFI3xTf8SqPI3U2tA/edit#gid=494450907 18:07:25 only 100 iterations in that first one, but I'd think it's not due to variance 18:12:47 hrm, it's varying by a bit 18:49:26 03amalloy02 07* 0.21-a0-234-g9d9b8e4: Don't crash when looking at a hydra-shaped block of ice (zelig81) 10(63 seconds ago, 2 files, 12+ 3-) 13https://github.com/crawl/crawl/commit/9d9b8e484c27 18:50:44 my precious millimarvins...or do comment lines count? 18:54:37 03amalloy02 07* 0.21-a0-235-gc116c14: Actually explain code instead of just saying it's a hack 10(19 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/c116c1461b0d 18:54:37 03amalloy02 07* 0.21-a0-236-g9acaae1: util/unbrace 10(10 seconds ago, 1 file, 0+ 2-) 13https://github.com/crawl/crawl/commit/9acaae10f6be 18:59:09 !tell |amethyst thoughts on https://github.com/crawl/crawl/pull/607? is it too silly to bother with? 18:59:09 amalloy: OK, I'll let |amethyst know. 18:59:55 New branch created: pull/607 (1 commit) 13https://github.com/crawl/crawl/pull/607 18:59:55 03amalloy02 07https://github.com/crawl/crawl/pull/607 * 0.21-a0-237-gf8b7003: Check an assumption at compile time 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/f8b7003a5e4b 19:12:07 Unstable branch on crawl.jorgrun.rocks updated to: 0.21-a0-236-g9acaae1 (34) 19:23:53 <|amethyst> amalloy: I'm not sure that works as a COMPILE_CHECK 19:23:54 |amethyst: You have 1 message. Use !messages to read it. 19:24:53 it does 19:24:55 i think, anyway 19:25:02 it doesn't fail to compile 19:26:27 and if i change the array to be too small, then i get a compile-time failure 19:27:02 <|amethyst> gcc or clang? 19:27:27 gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 19:27:53 <|amethyst> hm 19:28:04 (though i should have written >= 2, not >= 1, since we check attacks[1]) 19:28:23 the size of the array is known at compile time, so i don't see why it wouldn't work 19:29:13 <|amethyst> hm 19:29:29 <|amethyst> does it work to make get_monster_data constexpr? 19:29:37 <|amethyst> I'd feel more comfortable if it were 19:30:47 <|amethyst> (might have to change the if...return foo...else return bar into a return ... ? foo : bar 19:30:50 <|amethyst> ) 19:31:09 03amalloy02 07https://github.com/crawl/crawl/pull/607 * 0.21-a0-237-g5576546: Check an assumption at compile time 10(33 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/557654656387 19:31:12 <|amethyst> for C++11 anyway 19:31:12 elliptic: i sent you some tellspam, but you can check out the PR I made for the branch here instead https://github.com/crawl/crawl/pull/606 19:31:20 |amethyst: instead of trying that, i read http://en.cppreference.com/w/cpp/language/constexpr and http://en.cppreference.com/w/cpp/concept/LiteralType, which makes me think it shouldn't work to set it to constexpr 19:31:29 it seems that the generation increase I made actually only increased XP from levels by ~2% 19:31:42 since a pointer is not a LiteralType 19:31:58 when I ran it over the whole dungeon, so it might be worth just increasing the numbers a little and then saying "good enough" 19:32:22 since the XP loss is probably not a big deal and we don't want to go crazy adding more monsters 19:33:18 by "ran it over the whole dungeon" I mean rand objstat for 100 iterations over all 3-rune branches 19:33:19 hm. it compiles, with repetitions of this warning: https://gist.github.com/amalloy/8eea74c12804a72f92170f691909c270 19:34:00 <|amethyst> amalloy: hm, if constexpr doesn't work, I'd be a little surprised if COMPILE_CHECK worked 19:34:38 <|amethyst> amalloy: I'd make it an ASSERT for the time being, but if you're sure about static_assert working in all relevant compiles, I guess COMPILE_CHECK is file 19:34:39 gammafunk: isn't a rather substantial % of all xp in a 3-rune game in V:5/zot? 19:34:44 <|amethyst> s/file/fine/ 19:34:59 <|amethyst> s/compiles/compilers/ 19:35:04 my COMPILE_CHECK doesn't care about the actual value of m_ent or m_ent->attack, right? just its type, which is known 19:35:11 i guess i don't know how static_assert works 19:35:33 elliptic: in nospawn Zot is 475543.68 out of 1887670.04 19:35:48 and V:5.. 19:35:55 and the COMPILE_CHECK doesn't refer to get_monster_data 19:35:56 171720.38 19:36:02 so certainly a lot, yeah 19:36:04 depths? 19:36:24 339906.87 19:36:30 https://docs.google.com/spreadsheets/d/1axm-xWOi4ubq3A8VPUzu01K3xq4fEQHzq4chjsLciJA/edit#gid=658347821 19:36:35 is what I'm looking at, monsters sheet 19:36:43 the "All Monsters" listing at the bottom of that sheet 19:36:44 hm, so those 3 together are still only about half of all xp? that surprises me 19:36:46 will look 19:36:48 <|amethyst> amalloy: oh, you're right, I misread tha 19:37:10 this does include all 3-rune portals though 19:37:16 not Zigs 19:37:21 <|amethyst> amalloy: in which case, I'm not sure: why the COMPILE_CHECK at all? 19:37:23 so it's inflated somewhat 19:37:37 so let's see for say a qw grbe like that one I sent you earlier 19:37:38 <|amethyst> amalloy: oh, to make sure attack[1] exists 19:37:42 yes 19:37:55 <|amethyst> amalloy: sure, then 19:38:02 it gained 1530784 xp 19:38:03 <|amethyst> amalloy: IMO add a comment about that 19:38:04 not including orb spawns 19:38:06 sure 19:38:13 <|amethyst> amalloy: If it confused me, it will confuse others 19:38:18 wow elf has a lot of xp nowadays 19:38:43 yeah, maybe deep elf archers+mages add up to more than all those old types did? 19:40:01 Crypt is actually a bit more than Elf 19:40:53 gammafunk: is there a similar spreadsheet without nospawn? 19:41:05 ??objstat 19:41:05 objstat[1/2]: Run with "crawl -objstat" in a build of crawl with EXTERNAL_FLAGS_L=-DDEBUG_STATISTICS in your make command (or full debug with "make debug") to generate item/monsters statistics. See crawl -help for the argument details. 19:41:11 ??objstat[2] 19:41:11 objstat[2/2]: Spreadsheets for all releases: https://drive.google.com/folderview?id=0B7VXhHzhWWb7S282VWhLVWRXbG8&usp=sharing ; See the README for details: https://docs.google.com/document/d/1D5mFqVi8ghz_nzvVmDUc3unx8VanVBWfgvZ8xCHaiJo/edit?usp=sharing 19:41:56 elliptic: yeah the ones in that folder are a recent trunk 19:41:56 I see, I guess I should compare with that 0.21-a one 19:42:20 should be fine for comparison since I don't think there's been any changes affecting xp 19:43:08 <|amethyst> amalloy: maybe (> 1) so the number matches the one in the following line? 19:43:31 whichever you think reads better. neither is super clear to me 19:44:02 what is MonsXP? is that an average maybe? 19:44:13 average monster xp, yeah 19:44:45 gammafunk: what is going on with D:1 xp being so much higher in nospawn? 19:45:07 <|amethyst> gammafunk: hmm, I see these two lines 19:45:14 <|amethyst> _record_monster_stat(lev, mons_ind, "MonsXP", exper_value(*mons)); 19:45:14 <|amethyst> _record_monster_stat(lev, mons_ind, "TotalXP", exper_value(*mons)); 19:45:17 and D:2, D:3 being lower 19:45:30 <|amethyst> what is it that makes one of those "average" and one "total"? 19:45:36 |amethyst: that would happen later 19:45:43 when averaging over iterations occurs 19:45:50 they should be treated differently at that time, I think 19:46:02 but if there's a bug, then yeah please point that out :) 19:46:05 <|amethyst> gammafunk: oh, I see, _write_stat 19:46:12 elliptic: it may be variance, nospawn was 100 iterations only 19:46:20 is there really enough noise in D:1 xp to cause this? oh, I bet vaults with inaccessible monsters :( 19:46:24 elliptic: whereas the 0.21 one is 1000 iterations 19:46:28 <|amethyst> gammafunk: could we somehow make that a flag in data rather than code? 19:46:51 |amethyst: sorry, how do you mean? 19:46:52 that many iterations would be enough if we didn't have bad vaults with monsters behind glass 19:47:02 but I guess we do 19:47:07 yeah, vaults like that are a thing, it's true 19:47:14 remember the pan lord one? :) 19:47:55 I can run it for 1000, it just takes about 8 hours 19:47:56 <|amethyst> gammafunk: e.g. vector monster_fields_avg = { true, false, false, false, false, false, true, true, .. } 19:48:04 so I wanted to run a quick one to see 19:48:08 only takes about 45 mins 19:48:18 <|amethyst> gammafunk: but I guess that is completely opaque, so maybe turn monster_fields into a struct instead 19:48:48 |amethyst: I think you pointed out way back when I implemented objstat how those things are really bad crawlcode 19:49:01 but you weren't sure how they could be cleaned up 19:49:37 honestly I'd have to go back and familiarize myself with it to see; but commits welcome 19:49:46 gammafunk: do you understand why nospawn doesn't increase xp by more in places like lair:1-5? 19:50:17 I don't think there are that many vaults there but it still isn't coming close to the 2/11 increase of going from 3d10 to 3d12 19:50:53 03amalloy02 {GitHub} 07* 0.21-a0-237-g87df72b: Check an assumption at compile time 10(9 seconds ago, 1 file, 13+ 6-) 13https://github.com/crawl/crawl/commit/87df72b64651 19:50:59 03amalloy02 07https://github.com/crawl/crawl/pull/607 * 0.21-a0-238-gc1c3307: Add a comment explaining the new CHECK (|amethyst) 10(9 minutes ago, 1 file, 8+ 0-) 13https://github.com/crawl/crawl/commit/c1c3307acfa4 19:50:59 03amalloy02 07https://github.com/crawl/crawl/pull/607 * 0.21-a0-239-gdd1d92e: Fix comment line-wrapping 10(5 minutes ago, 1 file, 5+ 6-) 13https://github.com/crawl/crawl/commit/dd1d92ea6312 19:50:59 03amalloy02 07https://github.com/crawl/crawl/pull/607 * 0.21-a0-240-g20b969c: Put my CHECK in the right place 10(3 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/20b969cf2c76 19:50:59 03amalloy02 07https://github.com/crawl/crawl/pull/607 * 0.21-a0-241-ga67936d: Check > 1 instead of >= 2 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/a67936d752d6 19:51:02 elliptic: well, the number of monsters don't seem to quite be increasing by 3 monsters on-average 19:51:04 now there are vaults, which have no increase 19:51:23 but I was surprised how D:15 only see an increase of maybe one monster on-average 19:51:35 when it should be 3 on-average 19:51:57 for the other run of nospawn (swamp-snake) it was similar 19:52:08 sample size of 100 isn't really enough to see that on individual levels I think, but it does seem like an increase of much less than 3 on average yes 19:52:13 right 19:52:29 lair actually has fewer monsters 19:52:59 yeah so it does 19:53:04 yeah I'm suspicious that something is off with the code 19:53:37 well, you do see an increase overall and there are more monsters in Dungeon overall 19:53:55 I'm not sure what might undercount monsters in objstat in any particular way 19:53:56 I don't see any branch with an increase of more than about 2 monsters per level 19:54:07 oh 19:54:13 no, nevermind 19:54:24 15 levels of D only has about 15 extra monsters total 19:54:39 I mean, if you see the commit I made, it's pretty clearly changing the value from 3d10 to 3d12 19:54:59 https://github.com/crawl/crawl/pull/606/commits/4df0664a1aa152dc2aa326f0213be05a4bfdd25d 19:55:11 the comment is wrong about the number of the increase, because dice are hard 19:55:50 let me look at the extended nospawn objstat run as well 19:56:22 yes, that number is clearly right, but I guess a lot of monsters are failing to place? or do we place dummy monsters this way too? 19:56:29 gammafunk: finally got around to submitting comments on that PR 19:56:40 thanks 19:57:06 now you have to comment on advil's so he doesn't feel left out, just basic fairness 19:57:24 +10000 would approve anything from a dev as good as advil 19:57:48 haha 19:58:06 hm, yes, I guess that 3d10/3d12 doesn't actually match up with the number of non-vault monsters placed because of bands and MONS_NO_MONSTER 19:58:10 elliptic: yeah, even less increase in Dungeon spawns for the Extended branches nospawn 19:58:16 I've already gone through like two rounds of amalloy comments just on the first part of that PR :-P 19:58:34 elliptic: yeah, the no_mons thing is only in I think a few branches 19:58:37 but that still doesn't really explain why the xp is increasing by so little unless there are more vaults than I think there are 19:58:47 I suppose it's in some of the more populated branches 19:58:55 Dungeon, Depths both use that 19:59:10 I've long wanted to remove it because it makes vaults really weird 19:59:39 but I'm not sure why we're not seeing an average increase in monsters as large as 3 on-average 20:00:22 !source pop_d 20:00:23 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/mon-pick-data.h#L1 20:00:44 oh, orc uses it 20:00:50 lair uses it... 20:00:50 i should have come up with a more provocative title for my block-of-ice commit to get myself strangelog fame 20:00:58 ok I guess I was wrong 20:01:02 a lot of branches use that 20:01:03 V doesn't use it and the increase is less than 3 20:01:35 right, it's a weird assortment that do, and it doesn't explain the difference I think 20:01:48 maybe monster placement can fail for other reasons? 20:01:48 D, orc, Lair, Swamp, Slime 20:01:57 sure, there is monster positioning 20:02:05 which tries like 45 times or something 20:02:26 and I did change that code to remove all the weird prox near stairs stuff 20:02:27 ah, if that can fail for stupid reasons then that could explain it 20:02:28 and refactor 20:02:53 <|amethyst> amalloy: looks good, merge that shit yo (#607) 20:02:55 I suppose in the end we can just increase the value more until the numbers increase by as much as we want 20:03:00 too late, i already did 20:03:21 gammafunk: it isn't that simple when the numbers are increasing by different amounts in different parts of the game 20:03:28 <|amethyst> amalloy: cool 20:03:36 I mean it sort of is because you can use a different number in different branches 20:03:45 but I wish we understood what was going on 20:03:56 <|amethyst> btw, does anyone have suggestion for Linux Roomba libraries that do neat shit? 20:04:15 hrm, I suppose we could try some debugging for when monsters fail to place 20:05:00 elliptic: In those qw games I sent, nospawn run got qw 33% more xp compared to trunk, so I was worried at first 20:05:01 I think the most critical locations for xp balance are D, Lair, and Lair subbranches 20:05:10 obviously there's a lot of variation from game to game 20:05:42 my guess is that there is high variance, yeah 20:06:24 well, I could try to find a count of 1) how many times MONS_NO_MONSTER is selected and 2) a valid monster is selected by fails to place 20:06:44 I suppose vaults never have the latter problem really; maybe we'd only care about level gen monsters for this 20:06:58 definitely I have problems with vaults I've made where the MONS_NO_MONSTER happens a lot 20:07:09 particularly when you place 8 and 9 since OOD listings are weird 20:08:03 what were the spawn XP proportions for D, Lair, and Lair subranches anyhow 20:08:22 http://dpaste.com/00BFNHR 20:08:30 is a qw GrBe from trunk (without nospawn) 20:08:30 what would be helpful is if objstat separated out vault xp, though I imagine that is a bunch of work to do 20:09:01 oh, that wouldn't be too bad I think 20:09:18 since if there are no bugs then really we should see the 2/11 increase for non-vault xp 20:09:20 since we could do it for Num and XP averages only 20:09:28 regardless of MONS_NO_MONSTER issues 20:09:57 2/11 ? 20:10:16 (3d12)/(3d10) = 13/11 = 1 + 2/11 20:11:21 btw, about the qw tests, I should be able to get a sense of how much variance there is in qw's xp in winning games 20:11:52 since I have lots of records of winning games and xp can be recovered from score and turncount 20:12:34 elliptic: yeah, as long as xp hasn't change much over the versions you have recorded 20:14:37 Unstable branch on crawl.jorgrun.rocks updated to: 0.21-a0-237-g87df72b (34) 20:14:38 oh yeah re 2/11, I was getting confused since I was thinking how the average increased by 3, but that's the absolute count not the proportion of increase 20:15:26 <|amethyst> 71972 | D:3 | 71972 ||| DRINKING 5 potions of haste. 20:15:37 <|amethyst> what's up with that? 20:15:38 Gotta Stay Hasted 20:15:44 I think it's just how many it has? 20:15:51 <|amethyst> aha 20:15:59 so it's drinking one from a stack of 5 (I hope) 20:16:00 <|amethyst> yeah, I see now 20:16:10 <|amethyst> 71904 | D:7 | 71904 ||| EATING 5 fruits. 20:16:16 <|amethyst> 72035 | D:2 | 72035 ||| EATING 4 fruits. 20:16:27 When qw fights an orange crystal statue, it might need to literally drink 5 potions of brilliance 20:16:49 died with like -10 int to one in Depths that was behind granite statues 20:17:49 <|amethyst> speaking of which, 20:18:00 <|amethyst> should !brilliance be marked useless under Trog 20:18:24 I guess I will try to add objstat fields NumVault MonsXPVault TotalXPVault 20:18:26 <|amethyst> because if you get Int 0, probabably !brilliance won't last long enough to actually prevent stat0 20:20:46 gammafunk: really I'm more interested in TotalXPNonVault than TotalXPVault, though of course subtraction is possible :P 20:22:23 elliptic: well, I can do that one instead 20:22:27 I'm currently being confused by the score formula 20:26:22 oh right, the table at the end of the qw morgues isn't the full xp total since it doesn't count orbrun spawns 20:26:56 right 20:33:42 if I'm doing things correctly, a sample of 162 GrBe wins that qw played with identical code and version (sometime in 0.19-a) had average xp 1565k and standard deviation 118k 20:34:48 so that 33% increase being variance is plausible enough 20:38:49 (at some point I can run more qw both before and after nospawn to test this more) 20:41:05 -!- amalloy is now known as amalloy_ 20:45:23 politely poking again: if someone could look at the gnoll changes PR (#600), I would appreciate it 20:55:41 -!- amalloy_ is now known as amalloy 21:02:48 <|amethyst> %git pull/600/head 21:02:48 07Floodkiller02 {GitHub} * 0.21-a0-228-gaa96e85: Merge branch 'master' into gnoll_buffs 10(6 days ago, 0 files, 0+ 0-) 13https://github.com/crawl/crawl/commit/aa96e85adf28 21:06:30 Floodkiller: made some suggestions for you 21:07:27 thanks! 21:09:23 <|amethyst> Floodkiller: since MUT_ADAPTATION is just one level, I'd suggest {"", "", ""} for levels 2 and 3 21:09:53 <|amethyst> I know we're not very consistent with that currently, but be the change you want to see in the codebase 21:10:59 <|amethyst> Floodkiller: I also wonder if the case 's': case 'S': etc that you added can be merged with the existing stat-raising code 21:11:41 <|amethyst> stat_type char_to_stat(char c) // or such 21:12:11 yeah, that might also fix what amalloy commented with the touchui section 21:12:47 elliptic: alright, I'll try adding those NonVault fields to objstat and see if those numbers make more sense 22:00:12 amalloy: advil: re that reddit post, I'm currently in the lead to win the 'TOP COMMITER' coffee mug for 0.21 http://dpaste.com/0NZCHZH 22:00:22 I better keep an eye on advil though 22:00:48 and maybe consider making each commit contain only one line of change 22:00:53 what is HEAD, your private branch where you make commits saying nice things about yourself? 22:01:12 pfff 22:01:12 ....no 22:01:29 there's not another way to refer to that, is there? 22:01:54 gammafunk: i mean, i know what HEAD means. i'm just kidding of course, but i don't know what commit you have checked out 22:02:01 you could compare to origin/master instead 22:02:28 (though yes, @ is actually shorthand for HEAD) 22:02:36 yeah, I guess HEAD is actually the shortest 22:02:40 oh, didn't know about @ 22:03:25 @ was implemented a few years ago. probably didn't exist when you learned git 22:04:10 I that narrative because it assumes I would have properly learned the syntax in the first place 22:04:19 I still never remember the order of those .. arguments 22:04:26 nor what ... means vs .. 22:06:09 I need to get back in bug fixing mode if I'm going to catch up 22:06:29 I'm trying to break the 1k barrior 22:06:39 *barrier 22:06:41 but it's hard 22:07:39 gammafunk: more silly syntax you'll never remember: git diff master@{yesterday} 22:07:57 woah, dates 22:08:13 foo@{timespec} refers to the commit that ref foo was pointing to at timespec 22:08:18 it can parse stuff like "six months ago" 22:08:25 oh neat -- in the github contributors graph you can select a time region 22:08:29 well, not dates, but time ranges; that's very cool 22:08:53 https://github.com/crawl/crawl/graphs/contributors?from=2016-02-25&to=2017-09-02&type=c 22:10:56 that's a nice feature 22:11:05 it seems to not be fully accurate though 22:11:11 I have a little script to count commits 22:12:04 which is just git --no-pager log --use-mailmap --oneline --author=${1-gammafunk} | wc -l 22:12:08 I'm guessing it includes branches 22:12:15 well it seems to undercount 22:12:22 I think that is only in master, that count 22:12:28 the one on github, I mean 22:12:36 but it has a smaller count that the command I put above 22:12:53 I have 650 by that 22:13:20 but 623 by the current github contributer page 22:13:24 oh, hmm 22:13:36 it might be something about merges? 22:13:37 gammafunk: yours only counts commits on the current branch too. the main difference is probably because github excludes merges 22:14:08 amalloy: yeah, I was aware both are master-only; wasn't sure why the discrepancy though, and yeah it's probably merge commits 22:14:53 which I suppose is reasonable since I'm excluding commits that I made authored by someone else 22:15:06 so if you're going to exclude those, also makes sense to exclude merge commits 22:15:33 I should update the command I use to exclude those, but don't know how 22:16:24 gammafunk: --no-merges 22:19:22 ^ gammafunk left speechless by this breathtaking simplicity 22:22:04 !cmd .splatratio 22:22:05 No command .splatratio 22:22:10 !cmd splatratio 22:22:10 Command: !splatratio => !splatratioall ${1:-.} $* recentish 22:22:19 !cmd splatratioall 22:22:19 Command: !splatratioall => !lg ${1:-.} $* title:"% of xl17 chars killed $*" xl>=17 $* s=name o=-% / !won 22:22:46 dang 22:23:17 amalloy may not have the highest commit count, but he has shown me how to "git gud" 22:23:44 gammafHeh <- my twitch emote of a curse skull, used it indicate laughter from a funny joke 22:25:55 will be disappointed if that emote isnt real 22:26:46 it is! twitch affiliates can make up to 3 right now 22:27:13 that's the one for my subscribers, and for (nonexistant) $9.99 subs, I have gammafKraken 22:27:13 it's the kraken head tile 22:27:23 haven't uploaded the $20 or w/e it is emote yet 22:27:59 what's kind of cool is that if you sub to someone and they have a discord server connected to their twitch, you get to use those twitch emotes on discord 22:28:07 also cool: anime 22:29:36 when are you gonna do the plogchamp emote 22:29:57 i'd sub 22:30:20 or, well, i'd remain following and type PlogChamp as if it were an emote 22:30:56 what setup do you use for streaming btw 22:31:08 obs works very well, and is free 22:31:26 i'm going to stream the greatest game of all time, progress quest 22:32:03 I'm not sure what PlogChamp would be 22:32:07 but that is an amazing emote name 22:32:26 just pick a cool randart tile imo 22:32:27 well, not really 22:32:38 the ideal twitch emote works well in other contexts 22:32:45 at least I'd want mine to 22:32:52 kraken looks really pissed off 22:32:55 make the pogchamp guy except wearing a randart hat tile 22:32:59 skull just has a big ol' grin 22:33:03 haha, yeah, that's a start 22:33:13 but you can't use those official ones I think 22:33:17 or they have some rules for that 22:33:19 like a wizard lookin hat 22:33:22 dang, rip 22:33:31 I think pogchamp-based emotes may in fact be allowed 22:33:35 find some other dude making the same face I guess 22:33:47 yeah it's a good idea for an emote though 22:34:04 if hellmonk did a stream, you'd hope he'd stream his own game 22:34:14 be the first hellcrawl streamer on twitch 22:34:28 hellcrawl residentsleeper dcss wutface progress quest pogchamp 22:34:42 well you 22:34:44 OBS is great 22:34:48 for those you use frankerfacez 22:34:59 you can submit emotes and anyone with the plugin can use them 22:35:14 in your channel only, but I have a bunch of dcss ones in mine 22:35:26 think about it 22:35:32 WhatABurger 22:36:00 pizzaTornado 22:36:27 AirstrikeMath 22:36:47 all these calculus symbols 22:52:12 -!- Amnesiac_ is now known as Amnesiac 23:21:00 spellbinder forces miscasts on basilisk 23:21:05 ?????????? 23:45:19 ??spellbinder 23:45:19 spellbinder[1/4]: the +5 demon whip "Spellbinder" {antimagic, MR+}; causes random miscast effects on antimagic-susceptible targets. 23:45:26 @??basilisk 23:45:27 basilisk (06l) | Spd: 10 | HD: 6 | HP: 29-43 | AC/EV: 3/12 | Dam: 20 | cold-blooded | Res: 06magic(20) | Chunks: 14noxious | XP: 192 | Sp: petrify [06!sil] | Sz: little | Int: animal. 23:45:57 it's magical, i guess, which is weird but not totally insane 23:48:21 -!- amalloy is now known as amalloy_ 23:56:14 -!- cojito_ is now known as cojito 23:57:06 you can uh 23:57:23 invoke earth magic miscasts from a non-spellcaster though 23:57:37 i mean yes it casts a spell