00:45:24 <11O​dds> I've no idea how https://crawl.develz.org/ works, but I happened to notice it's showing 0 live games at the moment (which isn't true) 03:00:04 03CrawlOdds02 07* 0.35-a0-737-g8102ea0452: Make some uniques' unrand generation more robust 10(10 hours ago, 1 file, 9+ 0-) 13https://github.com/crawl/crawl/commit/8102ea045202 03:00:04 03CrawlOdds02 07* 0.35-a0-738-gd05891f8c9: Stop apostles generating with illegal unrands 10(2 hours ago, 5 files, 27+ 16-) 13https://github.com/crawl/crawl/commit/d05891f8c976 03:00:04 03CrawlOdds02 07* 0.35-a0-739-g68b3bff940: Fix webtiles text inputs going squiffy on window resize 10(19 minutes ago, 1 file, 0+ 17-) 13https://github.com/crawl/crawl/commit/68b3bff94036 03:33:59 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5261-gd9800d219b 04:32:03 <04d​racoomega> @Odds I am mildly sad that d05891f effectively makes a bunch of unrands impossible for apostles to get now (or significantly rarer) since they don't generate the exact same base type as a normal weapon. (eg: Wyrmbane, Leech, Spellbinder). (Or impossible to get on high level apostles, since the base type only generates on low-level ones, like Finisher or Autumn Katana) 04:35:24 <11O​dds> Yeah - however I think doing this right in a way that generalises to new (potentially not boring medium sized) monsters wouldn't be worth the hassle; apostles generating unrands is super rare. 04:38:38 <04d​racoomega> Maybe a little less than 1%, but I don't think that counts as super rare? 04:39:18 <11O​dds> Yeah that's fair. Hmmmm... is there already a separate concept of "what this monster can hold", separate from "what it spawns with", that we can plumb through? 04:40:05 <04d​racoomega> That's what I was about to say, actually. Like, if we really want them not to wield such things, I'm not certain they can't pick them up right now 04:40:40 <04d​racoomega> (I recall some bug report complaining about a spriggan monster wearing chain mail, though this always felt pretty unimportant to bother investigating) 04:40:58 <11O​dds> I think they can't pick them up, and we can use the same mechanism to stop them getting them as unrands 04:41:26 <11O​dds> Specifically, using could_wield 04:41:32 <04d​racoomega> Oh, this is apparently handled by: C++ // Nobody picks up giant clubs. Starting equipment is okay, of course. if (is_giant_club_type(weap.sub_type)) return false; >.> 04:41:40 <11O​dds> Oh great 🙂 04:41:47 <04d​racoomega> So even ogres won't do it 04:41:56 <04d​racoomega> Actually, they may be starting equipment only anyway 04:42:00 <04d​racoomega> Yeah 04:42:09 <04d​racoomega> I am sure there's some large thing that isn't, surely? 😛 04:42:24 <04d​racoomega> (Erolcha, apparenty) 04:42:37 <11O​dds> Right, I don't know if that is giant club specific handling anything, but could_wield should do the general thing 04:42:41 <04d​racoomega> For the 1 in 10 million game where her picking up skullcrusher was an option 04:42:43 <11O​dds> For when we build spriggan-Beogh 04:43:21 <11O​dds> Cool I shall restore spellbinder etc to the orcs 04:44:33 <04d​racoomega> Cool ^^; 05:13:32 03WizardIke02 07* 0.35-a0-740-g2cd2f5b0a4: Change the default key binding for CMD_TARGET_WIZARD_CREATE_MIMIC 10(50 minutes ago, 3 files, 3+ 3-) 13https://github.com/crawl/crawl/commit/2cd2f5b0a4f0 05:13:32 03WizardIke02 07* 0.35-a0-741-gceecb58645: Fix wizmode placed mimic not redrawing immediately 10(9 minutes ago, 1 file, 2+ 1-) 13https://github.com/crawl/crawl/commit/ceecb586459f 05:13:54 <11O​dds> On another note, I've been looking at dungeon generation again. A couple of things seem wrong to me about our connectivity checks, which attempt to ensure that every part of the level has a staircase: - We do them before we remove some staircases - We count escape hatches as staircases, which allows regions that the player will never normally see to generate Unless I'm missing something, these both seem worth fixing (they are trivial 05:13:54 changes) 05:31:23 <04d​racoomega> Well, there are many vaults where escape hatches are enough to ensure connectivity and non-teleport-closetness in areas that are otherwise not walkable (such as where deep water is involved). Are you talking about a separate step that also considers deep water to be passable? 05:31:42 <04d​racoomega> I am not familiar enough myself with the specifics 05:32:41 <04d​racoomega> (Obviously creating something entirely behind solid rock, connected only by a hatch, is fairly non-functional, though) 05:32:56 <04d​racoomega> And your first bullet point does just sound like incorrect behavior 05:37:08 <11O​dds> Right, vaults are their own thing - vaults which use hatches in this way would have to be opaque so the connectivity checks don't care about them (they probably already are, but mapstat would reveal if this banned some vaults) 05:37:59 <11O​dds> (And yeah checking it didn't screw up any vaults would very much be the hard bit for the second bullet) 06:03:43 03CrawlOdds02 07* 0.35-a0-742-g5af3d4bd96: Let apostles broaden their unrands to wieldable weapons 10(64 minutes ago, 5 files, 20+ 19-) 13https://github.com/crawl/crawl/commit/5af3d4bd9633 07:42:08 <08n​icolae> i think they already are. actually hm. i think you don't actually need to mark a separate area as opaque if there's a hatch, but then again, there were a few decor vaults i made recently with separate areas with hatches and i still got yelled at make those opaque? maybe that's new, maybe it's a consequence of subvaulting? the upshot here is that i'm not sure anymore and i don't know why i started writing this 07:43:05 <11O​dds> Opaque is the default, so I think such vaults should be fine? 07:43:39 <11O​dds> But if transparent vaults have isolated hatches, they would now get vetoed 07:44:15 <11O​dds> (I think we could use a version of mapstat that just tries to place every vault a bunch of times until it succeeds) 07:56:23 I'm compiling crawl on GNU to be played in the terminal (no tiles), but I'd like sounds. I uncommented the #define SOUND_PLAY_COMMAND in sound.h and I do indeed have /usr/bin/play installed. I compiled with `make SOUND=y` but I don't hear anything. What have I done wrong? 07:57:09 you need to get sounds from somewhere 07:57:36 oh is there no sound pack included in the main git repo? 07:57:53 nope. I think there are a number on /r/dcss somewhere 07:57:58 stumbled across this one in my searches https://github.com/Autofire/BindTheEarth 07:58:00 ??sound 07:58:00 sound[1/1]: The offline SDL Tiles client has {options} to set your own sound files to trigger based on in-game messages, but DCSS provides no sound files. For an unofficial way to play online or offline with full sound support, see ??DWEM[2]. 07:58:36 okay, I'll keep searching. Thanks geekosaur! 08:04:52 If I understand correctly from within sound.h, there are only 10 individual sounds to be triggered? Does this sound correct (pun intended ;) https://github.com/crawl/crawl/blob/5af3d4bd9633b58518da73c98eb352e2eca2ea57/crawl-ref/source/sound.h#L41-L53 08:05:27 I might try to whip up my own sound pack (and instructions if I get it working!) 08:07:28 was kinda hoping a sound would be triggerable on Low Health, in the style of Zelda(R)(tm)(c) etc... I often die because I didn't notice my health getting low :( 08:13:25 no, those are the hardcoded ones that can't be done by matching messages 08:15:05 you can trigger any sound at any time by matching appropriate messages in your rcfile: https://github.com/crawl/crawl/blob/5af3d4bd9633b58518da73c98eb352e2eca2ea57/crawl-ref/docs/options_guide.txt#L542-L555 08:15:41 in fact your desired one is the example 08:24:13 alos, IIRC people have lua hooks with alternate ways to handle that case (e.g. forcing a confirmation prompt if you try to attack at low health), but you'll have to dig at rcfiles to find out. I don't know if the old list of example rcfiles still exists; we lost the main bot a few months ago and had to rebuild its content from an old backup 08:24:15 awesome. I see some samples also in the BtE repo 08:24:37 ??rcfiles 08:24:37 rcfiles[1/1]: Accessible via www: CAO: http://crawl.akrasiac.org/rcfiles/ CDO: http://crawl.develz.org/configs/ 08:24:53 mm, not so helpful 08:25:37 I've not yet dug into any customization of DCSS, I just play the stock release so to speak. I'll start with the sound effects which seems daunting enough to begin with heh 08:25:46 ?/hda 08:25:47 Matching terms (3): hda, hdarc, ShDA; entries (6): ctrl+f[2] | greatrace[1] | hda[1] | hdarc[1] | ShDA[1] | test[29] 08:25:52 ??hdarc 08:25:52 hdarc[1/1]: An old and unmaintained set of options and functions. It can automatically chop up corpses, exclude uniques, and more. For questions or comments, contact HDA. https://github.com/HilariousDeathArtist/DCSSConfigFile To use on CAO: include += HilariousDeathArtist.rc then macro ===HDAtravel to the 'o' key. 09:20:57 -!- Noisytoot is now known as Guest946 09:20:57 -!- Noisytoot_ is now known as Noisytoot 09:59:56 <04d​racoomega> This might potentially be relevant (if you haven't seen it already) 09:59:58 <04d​racoomega> %git 44785f1 09:59:59 <04C​erebot> Peter Hurst {gammafunk} * 0.26-a0-673-g44785f12d5: Add a tag to set vaults as passable (7 years ago, 3 files, 19+ 3-) https://github.com/crawl/crawl/commit/44785f12d51f 10:02:09 <11O​dds> Thanks, I have run across "passable" though I haven't completely wrapped my head around Vaults layouts 10:06:05 <04d​racoomega> I just noticed how this specifically said that it was necessary to validate connectivity and that hatches were involved in doing so 10:06:13 <04d​racoomega> (Which may or may not be important here) 10:06:39 <04d​racoomega> It might predate transporters being used properly for said connectivity and no longer be relevant 10:07:35 <11O​dds> I believe the escape hatch is in the code not the level 🙂 10:07:57 <04d​racoomega> ...oh 10:08:34 <11O​dds> (To my limited understanding, passable is a rather terrifying concept that let's a vault declare "you can walk through this whole vault". It's sometimes a lie and this leads to disconnected levels) 10:33:36 <08n​icolae> i have never used passable before and frankly it looks terrifying 10:34:22 <08n​icolae> well, syntax.txt looks like it's primarily for little-v vaults in Big-V Vaults that might not fully connect terrainwise but still have things like transporters that ensure internal connectivity 10:35:43 <08n​icolae> my guess is that unless you're doing a closed-off transporter arena designed to generate in Big-V Vaults then you can just use passable 10:37:50 <08n​icolae> hunh. i thought of a way to salvage the nem gambling altar vault, if it's changed such that transporters show the exit. the transporter out hole is situated right between two walls, one of which is a permarock mimic which leads into the winning vault. unless there's some way that you can tell a mimic before you stand next to it, but i don't think even ash does that? 10:40:37 <11O​dds> I think it would likely be fine to give transporters a way to disguise their destinations 10:41:05 <11O​dds> I think the vault you suggest would be less clear to the player what it will do 10:42:07 <08n​icolae> true 10:42:42 <08n​icolae> Shrouded Transporter... the exit of this transporter is obfuscated... 10:42:44 <11O​dds> Bit stumped by these unlinked item held by monster reports. I'm wondering if monsters should just always destroy their inventories on reset? At the moment basically every caller of monster::reset (or monster_cleanup) needs to destroy the inventory first 10:43:03 <08n​icolae> make a fun new tile for them. plus there's shroud of golubria flavor synergy for the oldheads 10:43:55 <11O​dds> Golubria roulette will want them! 10:47:25 <08n​icolae> also i think i have a couple of my intersection vaults that could use them 10:47:31 <08n​icolae> mostly just as a way to be mildly more annoying 10:47:53 <11O​dds> A noble goal indeed 10:56:45 <08n​icolae> to be fair it would just be preserving the existing level of annoyingness 10:56:52 <08n​icolae> ...assuming i handed that vault in, come to think of it 10:59:36 <08n​icolae> hunh, it doesn't look like the one i'm thinking of actually got submitted? or maybe it's not in mini_features? 11:41:24 <08n​icolae> oh, lol, i forgot it was an overflow altar so i was looking in the wrong place. here it is https://github.com/crawl/crawl/blob/5af3d4bd9633b58518da73c98eb352e2eca2ea57/crawl-ref/source/dat/des/altar/overflow.des#L7448 12:47:25 03CrawlOdds02 07* 0.35-a0-743-g84e60c1e85: Fix autotargetting of squares out of LoS of the target 10(6 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/84e60c1e8590 13:40:33 Cairbre (L7 GCGl) Crash caused by signal #6: Aborted (D:5) 13:45:11 erthbison (L2 GCGl) Crash caused by signal #6: Aborted (D:2) 13:45:47 <11O​dds> !crashlog erthbison 13:45:50 <04C​erebot> No milestones for erthbison (crash). 13:50:01 <11O​dds> Looking at @Monkooky's https://github.com/crawl/crawl/issues/5344 - what's supposed to happen with autoquivering? Are we supposed to automatically swap to the next valid item when the current one goes invalid? 13:51:07 <11O​dds> The promiximate cause is that code which intends to swap back to something valid when you dequiver a launcher is firing, but really I just wonder if the state "invalid poison darts quivered, valid datura darts in the quiver history" is the problem. 14:44:55 03CrawlOdds02 07* 0.35-a0-744-g2f99b55773: Fix stampeding monsters into shafts 10(23 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/2f99b5577316 14:45:13 <11O​dds> Should fix the crashes above 15:43:56 Unstable branch on underhound.eu updated to: 0.35-a0-744-g2f99b55773 (34) 19:01:59 <04d​racoomega> Looking at those crashes, I think some local cleaving refactoring I've done recent would have prevented that already 19:02:42 <04d​racoomega> Since the issue is trying to pop the first target in cleaving range, under the assumption we're already hitting them, but in this case we weren't (since they weren't in range) 19:03:01 <04d​racoomega> And I made it (among other things) just not add the primary target to the list in the first place 22:18:20 <11O​dds> On unlinked items - I can't work out what's going on at all with this. Still seems likely it is something to do with deferring monster resets - maybe a monster somehow gains an item after their inventory is destroyed. Since this is a recurring class of bug, I wonder if we should make the messaging for it less obnoxious - one big angry message should be enough for us to get bug reports 22:32:56 <04d​racoomega> I can certainly agree with making the messaging less spammy in general. (Without having investigated deeply, I also generally agree with the idea you mentioned earlier that maybe KILL_RESET should always destroy monster inventory. We already specifically have a KILL_RESET_KEEP_ITEMS for when we want this not to be true, after all.) I assume you don't have any reproducable case of this bug, do you? Just that it seems to keep 22:32:56 happening from non-obvious circumstances lately? 22:35:59 Unstable branch on crawl.develz.org updated to: 0.35-a0-744-g2f99b55773 (34) 22:36:13 <11O​dds> Yeah, no reproducible case - just a few player reports, including one after my recent fix which did fire this on some obscure dungeon gen path 22:37:35 <11O​dds> Oh, https://github.com/crawl/crawl/issues/5343 has a save actually. It probably doesn't help much to tell us how we got there but worth a look at least 22:39:24 <11O​dds> @gammafunk I seem to never have saved my password to dcss.io, could I get a reset somehow? 22:49:41 <04d​racoomega> Alas, the log of that save doesn't go back far enough to have any idea of a trigger point 22:51:07 <04d​racoomega> I was hoping I might be able to see a specific event where it started 22:54:17 <11O​dds> What level is it on? 22:55:10 <11O​dds> (Another report: https://discord.com/channels/205277826788622337/205316046230388737/1529164887224488097) 22:56:42 <04d​racoomega> Depths:2 22:57:05 <04d​racoomega> They're a Jiyva worshipper, and I tried spend a while on other floors to see if it's possible jellies might be involved, but at the very least nothing buggy actually happened when I did so 22:57:49 <04d​racoomega> Yeah, I saw that other report, earlier. I kind of doubt it's related to stepping on a Trog gift, though. (But possibly related to what gave them piety that caused Trog to gift something) 22:58:14 <04d​racoomega> Interesting that there are 3 unlinked items there, and two of them are weapons 22:58:20 <04d​racoomega> Suggesting more than one monster having a problem? 22:58:33 <11O​dds> Oooh I missed that detail 22:58:56 <11O​dds> (I also doubt the trog gift is relevant) 22:59:52 Windows builds of master branch on crawl.develz.org updated to: 0.35-a0-744-g2f99b55773 23:00:03 <11O​dds> However they are also consecutive items 23:00:33 <04d​racoomega> Hmmm... 23:00:38 <11O​dds> (Which is unlikely if they were from two monsters) 23:00:47 <04d​racoomega> (It feels like there may be a clue of some sort here, but I'm not sure what it is) 23:01:44 <11O​dds> Something around item slot reuse while a monster who had those items is being reset? But this seems fine, the don't touch env.items at reset time 23:04:02 <04d​racoomega> Moreover, if the slot was actually being reused, the item ought to end up set to a valid state. (Even if it was 'stolen' from them) 23:04:05 <11O​dds> (Oh right the items in the screenshot explicitly specify their link so we can see two monsters) 23:04:32 <04d​racoomega> Oh, right, yes 23:22:07 <04d​racoomega> One other thing I find slightly weird is that in both of these examples, it's claimed the unlinked item is 'glowing' or 'runed' - ie: it's not identified, implying that the player never saw it 23:23:06 <04d​racoomega> I hunted around in that save file to see if I could figure out what monster might have been the one that died, by manually looking at the index of everything alive >.> (This did not turn up anything that seemed helpful) 23:33:58 Unstable branch on cbro.berotato.org updated to: 0.35-a0-744-g2f99b55773 (34) 23:38:06 <04d​racoomega> I am tracking down the ttyrec of that Trog game to watch the prior circumstances 23:39:36 <04d​racoomega> Okay, despite what they said, they were getting that message spammed at them from the moment they entered the floor 23:39:53 <04d​racoomega> Literally upon arrival 23:41:01 <04d​racoomega> That at least narrows down the culprits reasonably 23:41:43 <04d​racoomega> (I guess I can try to find the ttyrec of Autarch's game next) 23:44:34 <04d​racoomega> It was also immediately upon entering a floor 23:48:26 <09h​ellmonk> there are two places monster_die gets called in dungeon.cc, one related to habitability and one related to corpse placement 23:48:30 <09h​ellmonk> probably one of those? 23:50:44 <11O​dds> One of those is what I cleared up the other day (before the Trog game, if I can read versions) 23:51:01 <11O​dds> (And the other was already fine) 23:51:39 <11O​dds> Unless I misread the Trog game and it started earlier than the fix? 23:51:46 <04d​racoomega> No, the ones you changed the other day were in mon-place and these are in dungeon.cc and fully call monster_die(). (However, both of those use the argument to reset the monster fully immediately, and thus ought to have the same behavior they always had) 23:54:21 <11O​dds> Oh right yes 23:54:23 <04d​racoomega> Also, it looks like KILL_RESET does already destroy the whole inventory immediately? 23:54:54 <04d​racoomega> And is never deferred 23:54:59 <11O​dds> It's very hard to cause this with monster_die because both paths through it unlink the inventory from the monster 23:55:29 <11O​dds> (Either to the floor or the void) 23:55:34 <04d​racoomega> Yeah 23:55:43 <04d​racoomega> And don't depend on monster cleanup happening at all 23:56:12 Monster database of master branch on crawl.develz.org updated to: 0.35-a0-744-g2f99b55773 23:59:35 <04d​racoomega> It was started after and never upgraded, as far as I can see, for the record