00:00:22 <06m​umra> I mean, they didn't really have bad episodes, but that's a particularly good one 🙂 00:55:22 Monster database of master branch on crawl.develz.org updated to: 0.33-a0-1149-g9fdd3ef415 02:45:51 I'm wondering, how pertinent is it to start contributing to Crawl while having never finished a game ? (I've been playing for quite a long time on and off, but I'm not really good) 02:50:19 <02M​onkooky> depends on what you wanna do 02:51:19 <02M​onkooky> there's a hundred ways you can contribute where your skill at the game is completely irrelevant 02:52:32 <02M​onkooky> any bugfix, any description stuff, most quality of life stuff, code quality commits, translation, art- your skill is entirely irrelevant 02:56:15 <02M​onkooky> for contributing new content, it might matter for assessing what's going to lead to interesting decisions or fun play, but it's as or more likely to be irrelevant 03:11:27 03WizardIke02 07https://github.com/crawl/crawl/pull/4383 * 0.33-a0-1135-g79c0fab541: Call some tiles rendering code less often 10(11 days ago, 23 files, 1288+ 472-) 13https://github.com/crawl/crawl/commit/79c0fab541a2 03:23:06 03WizardIke02 07https://github.com/crawl/crawl/pull/4383 * 0.33-a0-1135-g37c8e4d001: Call some tiles rendering code less often 10(12 days ago, 23 files, 1283+ 471-) 13https://github.com/crawl/crawl/commit/37c8e4d00117 03:37:25 For a long time I've thought it would be useful to define separate autopickup settings for the different brands of dart or javelin. I had a look at the autopickup code last night and the big stumbling block is that autopickup settings are stored in a FixedArray with item base types as the rows and item sub types as the columns, so there's no space 03:37:26 for a brand in there. There are two options I could see: one is quite ugly and involves putting missile autopickup settings in a separate array; the other involves splitting up MI_DART and MI_JAVELIN enum entries so that each brand of dart/javelin gets a new item sub type. Having thought about it a bit the latter option doesn't seem that ugly 03:37:26 (obviously it would require a TAG_MINOR but that's not a big deal these days as I understand it). Do people have any thoughts about this? 03:42:54 <02M​onkooky> I agree this would be extremely useful, I think you should try loading an old save with some darts because this seems worrying save-compat wise 03:52:11 Yes I'll definitely test it carefully 04:19:05 @Monkooky Ok ! Thanks for pointing this out ! 04:32:29 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5261-gd9800d219b 05:05:37 03WizardIke02 07https://github.com/crawl/crawl/pull/4383 * 0.33-a0-1135-gcf9f785b08: Speed up tiles rendering, especially when resting 10(12 days ago, 23 files, 1283+ 471-) 13https://github.com/crawl/crawl/commit/cf9f785b080a 05:10:10 Unstable branch on crawl.akrasiac.org updated to: 0.33-a0-1149-g9fdd3ef (34) 05:19:20 03WizardIke02 07https://github.com/crawl/crawl/pull/4383 * 0.33-a0-1135-gd4116080c8: Speed up tiles rendering, especially when resting 10(12 days ago, 23 files, 1282+ 470-) 13https://github.com/crawl/crawl/commit/d4116080c893 05:23:34 03WizardIke02 07https://github.com/crawl/crawl/pull/4383 * 0.33-a0-1135-ge983092dfc: Speed up tiles rendering, especially when resting 10(12 days ago, 23 files, 1279+ 470-) 13https://github.com/crawl/crawl/commit/e983092dfc52 05:40:30 03WizardIke02 07https://github.com/crawl/crawl/pull/4383 * 0.33-a0-1135-g2471f1f996: Speed up tiles rendering, especially when resting 10(12 days ago, 23 files, 1276+ 467-) 13https://github.com/crawl/crawl/commit/2471f1f99639 07:48:30 03Hellmonk02 {GitHub} 07* 0.33-a0-1150-g0ac082cc57: Slimy Shroud Jiyva mutation (#4367) 10(3 seconds ago, 8 files, 45+ 1-) 13https://github.com/crawl/crawl/commit/0ac082cc5725 07:58:01 03Aliscans02 {GitHub} 07* 0.33-a0-1151-gc4a73f2e74: Stop making notes about once-forgotten features. (#4086) 10(65 seconds ago, 1 file, 3+ 1-) 13https://github.com/crawl/crawl/commit/c4a73f2e7417 07:59:36 <09h​ellmonk> so uh, at some point somebody should make a decision about this 5 year old pull request about minor version compatibility. Don't feel qualified to say anything about it myself 08:05:01 <04d​racoomega> Which? 08:05:10 <09h​ellmonk> the very oldest one 08:05:40 <09h​ellmonk> allows for rolling version compat 08:06:32 <09h​ellmonk> I think we fixed the tag minor limits a long time ago but this pr has been sitting around since 2020, should either close it if we don't need it or merge 08:06:39 <04d​racoomega> I'm unclear on what the advantage of this is here in our model, to be honest. 08:07:10 <04d​racoomega> I mean, I guess the idea that we can remove some old code in a way that might be less prone to breaking things? 08:08:52 <04d​racoomega> Though to be honest, old save compat code generally requires near-zero maintenance once it's initially working. (Part of why this strategy of 'just let it stay there forever' has persisted for so long, I imagine) 08:12:03 <04d​racoomega> (The PR itself admits there are server-side difficulties with the way it is implemented in the PR, which probably does almost never come up in practice, but is still a problem that doesn't currently exist) 08:12:26 <04d​racoomega> Okay, well, really old save upgrades can break in other ways, I guess 08:27:22 <06d​olorous_84348> Agreed. 08:27:39 03MikeJHeg02 {GitHub} 07* 0.33-a0-1152-gc301a0fa6f: Fixed description of Zot trap to be more accurate (#4400) 10(12 seconds ago, 1 file, 4+ 4-) 13https://github.com/crawl/crawl/commit/c301a0fa6f7e 08:52:52 <06m​umra> The way that new description use "or the like" feels a bit awkward 08:54:15 <06m​umra> And it makes me wonder if there are other things it can do, or is it superfluous? 08:56:48 <09h​ellmonk> it can also blind, paralyse, drain mp, strip willpower, word of recall, create a malign gateway, or summon a twister 08:57:07 <09h​ellmonk> too many effects to put them all in the description 09:08:08 <06m​umra> Something like; "You may find yourself afflicted by paralysis or a number of other dangerous maluses, have fiendish foes summoned around you, or be exposed to enormous amounts of wild magic or even the raw force of nature itself" slightly longer but covers everything 09:09:18 <06m​umra> (Really, would actually be good to just be able to see the full list somewhere) 09:09:38 <09h​ellmonk> we could also consider simplifying the list again 09:09:53 <09h​ellmonk> (it used to use miscast effects I believe, and was much more variable) 09:10:01 <06m​umra> It can also trigger chaos effects right? Which is an even bigger list 09:10:13 <09h​ellmonk> I don't think it does that anymore 09:38:53 <06m​umra> looking at the list, i'd maybe get rid of: paralyse and petrify (there are plenty of sources of these effects in the game, and not being able to do anything is less interesting than the other effects that are things you have to actively deal with) and maybe summon greater demon (malign gateway already seems like a bigger, cooler and rarer demonic summon, and word of recall already does plenty in terms of putting you in immediate danger 09:38:54 from a variety of monsters) 09:46:48 <06r​egret-⸸nde※> Why do we need to simplify the trap successfully defined by being fancily unpredictable? 09:46:50 <04d​racoomega> Malign gateway may be 'bigger and cooler', but it's a lot easier to just walk away from when spawned by a Zot trap. I doubt they actually do much there, almost any of the time 09:47:16 <04d​racoomega> (But the permasummoned greater demons usually have to be dealt with sooner or later) 09:48:06 <09g​ammafunk> @dracoomega Now would be a good time to finalize a timeline for freeze and then release/tourney, if you have final thoughts on that 09:53:02 <04d​racoomega> Hey, last time this came up, you said we'd pick the final date 2 weeks from the 19th (which is still 4 days away!) ^^; That being said, Index thinks Necropolis should be mergeable by the end of the day, and I am getting very close to feature-complete on the subset of talisman stuff I trimmed down to do for 0.33. There's more description writing and a lot of commit tidying, but probably the core and iterated upon functionality for 09:53:03 all the forms I'm adding should be done by tomorrow (and then a bit more time to rewrite logic for talisman spawning, and Index was going to do a vaults pass to incorporate new talismans in it.). Then I'd want a little representative local playtesting of real runs before merging, but I'd hoped to actually get all that done and ready to push by about the agreed-upon date. (Wouldn't have wanted to freeze exactly then, but I have no other non-minor 09:53:03 things on the slate; it would mostly just be observing talismans and adjusting in response to immediate feedback and such) 10:03:39 <09g​ammafunk> I suppose that's true re finalization date, but I was thinking more "the end of next week" in my head at the time. I'd also like to give a tentative date in an forthcoming reddit post. In terms of a specific date, we could try a freeze on april 18th (about three weeks from today, with the first just as a buffer in case we do end up needing to push things back or just to have a bit more time in general) with release/tourney on May 2nd 10:04:58 <09g​ammafunk> Keeping in mind, of course, that balance adjustments can continue to happen during freeze when necessary, just ideally nothing that would be considered "new content" 10:06:16 <04d​racoomega> Yes, that is fair. I am pretty sure that is a comfortable amount of time to get the content all working and tested. 10:06:41 <09g​ammafunk> ok, great. I'll mention in anything public that these dates are still tentative, so we're not locked into anything 10:08:13 <04d​racoomega> Like, obviously getting all this stuff to an 'ideal state' may take a longer period of time, but it's not like it's been in an 'ideal state' in previous stable versions either, so that's really a longitudinal thing. That core thrust of it should all be comfortably working in a way that is net positive inside that window without much issue, I expect. 10:11:13 <09g​ammafunk> !lg 10:11:15 <04C​erebot> 805. gammafunk the Impregnable (L25 MDCK of Xom), escaped with the Orb and 3 runes on 2025-03-29 04:02:47, with 1598125 points after 72520 turns and 6:15:49. 10:12:09 <09g​ammafunk> I barely managed to survive with MDCK, so it's in an ideal state. I still don't enjoy xom very much, but I don't dislike it as much as I used to 10:12:31 <09g​ammafunk> (Only ever got one Xom bazaar, rng rigged etc) 10:13:32 <09g​ammafunk> I did very much enjoy enchant weapon scrolls from HoB, those were helpful on a char that was starved for them. Invis scarf/potions nicely countered xom wanting to teleport me into the center of the vault 10:21:22 <04d​racoomega> I enjoy newXom decently well (as someone who found old Xom fairly unexciting). It's still a fundamentally similar experience, but having a greater variety of random (sometimes useful) things they can do, along with more exciting high-roll benefits, does a lot to make it more interesting. I'd say that old Xom actually was more likely to be boring after a few games, beyond just 'possibly also bad', and it seems clearly better on 10:21:23 that front to me. 10:26:50 <09g​ammafunk> It's possible that with subsequent playthroughs to even out the experience, I'll have a somewhat more favorable view. But xom felt like a net negative, especially since getting "gifted" berserkitis on zot:4 made zot:5 legitimately a near-death experience in the Hall of Zot at one point. And this after xom did their best to telport me into dangerous situations on zot:2 and zot:3. Also the xom hostile summons in late game started to get 10:26:51 legitimately dangerous, and we really frightening on the orb run itself, where I was mostly out of good consumables. 10:27:45 <09g​ammafunk> When I have the stomach for it, will have to try again on a similar strong species and see how my experience differs 10:30:55 <04d​racoomega> Yeah, the low rolls can be real bad, no question. But certainly it seems to be a much more common sentiment these days, at least, to consider Xom unambiguously net positive on average. 10:31:44 <04d​racoomega> (I admit that even on games where Xom clearly did a lot to help me, they also came very close to killing me a couple times, so I was never entirely sure what the net was. But it was fun, at least!) 10:33:02 <04d​racoomega> And I think that 'players feel like Xom is a net positive' is arguably more important than the actual statistical truth of the matter, if it were even possible to derive such a thing. 10:35:27 <09g​ammafunk> *??protean progenitor 10:35:28 <04C​erebot> protean progenitor (C) | Spd: 14 | HD: 14 | HP: 66-93 | AC/EV: 7/8 | Dam: 55 | doors, spellcaster, regen | Res: will(120), poison | Vul: silver | XP: 1310 | Sp: irradiate (3d26 / 3d25) | Sz: Giant | Int: human. 10:35:39 <09g​ammafunk> now regretting that I forgot how these don't sinv any more 10:36:03 <09g​ammafunk> would have been helpful when I rebranded spectral to chaos (ironically not due to xom) and one got mighted and it caused issues 10:36:47 <09g​ammafunk> definitely learned that the HP tax from spectral brand is real, even though it is excellent additional damage that was sorely needed on a +1 broad axe (lack of enchant weapon for a long time) 10:38:15 <06r​egret-⸸nde※> (Addressing Xom further by making strategic benefits more varied and consistent but unscummable is one of my few remaining tasks for Crawl, and one planned for 0.34. Outside of such, the only real dissatisfaction I've got with the Xom rework is that there's a very limited number of hostile options Xom has available outside of combat, thus making teleport so particularly common in the first place.) 10:38:50 <04d​racoomega> (I have genuinely wondered if rolling back the damage of spectral and increasing the HP tax at the same time maybe slightly overshot. Like, I think the HP tax is actually the more interesting part of the change, so I'm not saying that overshot, but I have also found myself deliberately switching away from spectral to something boringly reliable like freezing and I wonder if that means it's not quite good enough for how 10:38:51 meaningful the downside gets in some places. Not sure.) 10:39:15 <06r​egret-⸸nde※> (Not that I'm greatly concerned with early scumming due to the heavy bad mutation chance outside of being undead, but it's a chance to fit in other effects like entering a new floor and getting 300 turns of long arms for reach 3 status.) 10:40:06 <04d​racoomega> ~"You feel fantastic."~ 10:41:35 <09g​ammafunk> Rift status 10:43:02 <04d​racoomega> (One of the new forms has super-reaching, so I've already lightly refactored some code which would make such a status effect pretty straightforward, incidentally) 10:43:14 <09g​ammafunk> Yeah, it is hard to say. In favorable setups around corners the damage was consistently excellent with not a lot of downside. But when I kept getting owned by frost giants, for some reason, despite having rC+, I realized how bad it was when a monster could cleave me 10:43:51 <04d​racoomega> I do like how spectral makes you care about positioning and the nature of your opposition in somewhat unique ways 10:44:02 <09g​ammafunk> yes, it does feel distinctive 10:44:15 <04d​racoomega> (So it seems a shame that 'I think I'd be better using the boring option' is something I've not just experienced but seen more than one other person mention) 10:44:22 <04d​racoomega> Considering it's a rare brand, also 11:20:15 <06m​umra> So ... Does anyone have any objections to me merging these monsters: Yaktaur Scribe, Half-Moon Moth, Balloon Yak (after a last pass myself for general correctness, cleanup, some final testing ... Just in terms of where they're at with mechanics, placement, stats. I've followed up on all feedback that's been given so far (i hope)) I have an unusual bit of free time in april so able to own stuff in terms of follow up fixes/balancing, and 11:20:16 maybe a vaults pass to add them in some contexts to showcase them (maybe some new vaults) 11:25:15 <06m​umra> I'd like to get the wall monsters PR in as well, I'm just a little less confident in terms of how many places it touches to enable them to be attacked, and also stylistically the naming of is_invalid_target (it's a swap-in for cell_is_solid call for any case where the purpose of the check is to see if you can aim there, so it just checks cell_is_solid but not if there's a monster there. The name feels awkward being a negative vs 11:25:16 calling it is_valid_target but as i had to swap to this function in so many places i didn't want to also have to invert the boolean logic which had more danger of making mistakes) 11:29:20 <04d​racoomega> I haven't taken a good look at the most recent state of these monsters (since the last time we talked about them). And I haven't actually taken a look at the wall monster code at all yet, sorry. I could try to find some time to do so later tonight (I've just been hard at work on form stuff and all). (I would also like at least rock fish in, even if the might still be some uncertainty about the state of the other wall stuff which 11:29:21 I've not looked at since our last conversation.) 11:30:48 <06m​umra> Separately i have some improved tile rendering for the lichen, using overlays to merge them together across multiple tiles, so it seems more like a single multi-tile mass; however i didn't implement webtiles compatibility for this which is why i didn't include it in the PR at this stage, and why i started going down the rabbit hole of emscripten builds, but such a major rework of webtiles certainly wouldn't be ready soon, so i think i 11:30:48 have to bite the bullet and just make it work in ugly js... 11:31:19 <06m​umra> Yeah i appreciate you are and have been mega busy with other stuff 11:35:46 <09h​ellmonk> I can start looking at that tonight as well, was checking wizardike's player tracer refactor first (seems ok so far but wanted to test a few more situations) 11:50:35 <06m​umra> The other PR i could fairly easily merge is the monster wands / yaktaur fusilier one ... Either just omitting the wand of charming charming commit, or changing it to use Vex as suggested by draco which would a fairly quick job 11:58:56 <06r​egret-⸸nde※> I'm... very reluctant to have a monster much more reliably handing out hand cannons so openly; ranged characters are already strong and single-tactic-dependent enough as is at Vaults depth, and we're not handing out lots of longbows outside of Elf (optional) or triple crossbows at all. Orbs of guile are also pretty weird to reliably hand out, since they extremely skew how Hexes characters work out and mostly rely on not 11:58:57 dropping most games. 12:15:44 <04d​racoomega> Yeah, that tracer PR is something I actually spent some time reading over a little while back. I agree with the thrust of what it's doing, but I recall wanting to adjust some of the structure of the method interfaces a little to reduce boilerplate. Though I suppose there's nothing stopping me from just doing that afterward. 12:22:30 <06m​umra> Yeah that's understandable, and they work fine without either, the main feature is the wand support. Was just a small attempt at extra flavour. 12:53:40 <09g​ammafunk> I made an announce post on the reddit with the new dates. Will try to get a Trunk Updates post made some time at the end of next week, or just after DracoOmega's talisman changes are merged, whichever is first: https://www.reddit.com/r/dcss/comments/1jmtgvr/questions_events_announcements_27/ Also, GOATOmega is far more accurate, but I'll take it: 12:53:41 <09g​ammafunk> https://cdn.discordapp.com/attachments/747522859361894521/1355631015258755263/image.png?ex=67e9a144&is=67e84fc4&hm=0746e183bd875f2f4b6ced8d7901be413821525648aff6113585eba49599ee4c& 13:07:08 <09h​ellmonk> Can I get some more feedback on detonation catalyst? Still not sure exactly what I want the numbers to look like but would want to get it in trunk soon for testing. 13:20:30 <09g​ammafunk> I can try to build the branch and test in a bit 15:46:44 03DracoOmega02 07* 0.33-a0-1153-g804bde4694: Fix monsters from Lugonu's Corruption lasting forever (Ge0FF) 10(82 seconds ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/804bde469414 15:52:23 <09g​ammafunk> just merged master into that, since there were conflicts 15:52:46 <09g​ammafunk> not a rebase, so it should pull without issues, and the merge commit will rebase out for merge to master 15:53:05 03gammafunk02 07[theyrebombs] * 0.33-a0-1160-g0c3a307c66: Merge branch 'master' into theyrebombs 10(18 minutes ago, 0 files, 0+ 0-) 13https://github.com/crawl/crawl/commit/0c3a307c6633 15:53:05 Branch pull/4388 updated to be equal with theyrebombs: 13https://github.com/crawl/crawl/pull/4388 15:53:45 <09g​ammafunk> wow, notchei gives a better summary of a github action than the github bot itself 15:57:22 yeh, it's pretty nice 16:39:04 Unstable branch on underhound.eu updated to: 0.33-a0-1153-g804bde4694 (34) 16:58:10 <04d​racoomega> So, I just finished looking over (and playing with) the yaktaur scribe branch's current state. Certainly much improved from the last time I looked, but I still have some concerns/comments: -I think their Blink Range spell could probably use the MON_SPELL_SHORT_RANGE flag (so they don't cast it while already at range). I'm... a bit wary of any monster having a spell with a cast rate as low as 2.5%, since in a lot of situations that's 16:58:11 close to not having it at all (but still showing up in their spell list), but it synergizes so well with sigils that it might be troublesome if it were higher.... -The cast message about scribing scrolls is cute, but I feel the invisible message shouldn't mention seeing their implements. Monster weapons aren't visible while they're invisible, either! Maybe just about hearing it? -'Circle of Glyphs' feels like too non-specific a name. What sort of 16:58:11 glyphs? (I'd much prefer something like 'Circle of Binding') -The actual sigil of binding feature needs a description if monsters are going to cast it (since players are liable to examine it and not them). I realize it not having one is on me - an oversight I made when I was less used to Crawl development again - but also less of a problem when the player had to have put it there themselves, imo. -Circle of Glyphs spell description says "Swiftness 16:58:12 from any source grants immunity to binding.", but this doesn't actually apply to the player. And players will try using this to bypass sigils. I... am almost wondering if it would be okay if players really did get protection in this fashion, but perhaps that's too specific. Not sure yet. 16:58:20 <04d​racoomega> -Sigils last way too long (especially since there is no limit to how many a scribe can make). While running away from one, I ended up practically filling an entire room with it. (They seem to last ~50-100 turns each!). The old model of removing previous sigils did make some sense (even if it was slightly bugged at the time), but it might be good enough to just make them fairly brief? Sigils filling up spaces the player is nowhere 16:58:21 near is probably mostly good for the player (and looks kind of messy regardless.) so if the player has already 'gotten away', there's probably not much benefit to them enduring. -On that topic, I wonder if the scribe just shouldn't cast it if their foe already has -Move. That's not strictly useless, but feels like a bit of a waste of their time (especially if the duration ends up lower). -Given that the sigils go away when the scribe is killed, I 16:58:21 half wonder if removing the -Move effect at the same time could make sense, but possibly this would be too ambiguous with Beastmasters also applying -Move. Probably the player's job is to kill them before stepping on them, if they can. -I have concerns about the scroll drop rate you gave scribes. Not only is it a 50% chance for a drop per scribe (which seems high), but the code used can still generate the normal 3-stack of scrolls at once. I killed a 16:58:22 scribe that gave me 3 scrolls of blinking. (I know this was an outlier, but even so.). If they're going to do this, I think the chances should be a lot lower, and possibly limited to no more than one scroll at a time. 16:58:22 <04d​racoomega> -I ran objstat on their numbers (after seeing the scroll thing) and was surprised at how few of them there were - just 2.3 in all of Vaults. Some of this may come from how they appear to never be able to spawn on their own (despite code to give them yaktaurs for a band if they did so). But this also means that a lot of vaults can't place them at all. Possibly some of the base yaktaur chance should be converted over to these. I feel 16:58:23 their numbers should probably be a little bit higher if they're going to exist. 17:05:07 <04d​racoomega> (I am looking at the wall monster PR now) 17:26:15 <06r​egret-⸸nde※> (I'm not sure that scribes need to have a wide selection of scrolls on a flavour versus reward level versus, like, just guaranteeing they drop scrolls of identify, which should be fine since nearly everything should be identified by the time one enters Vaults anyway. While it's nice for uniques to have incentives for fighting them and a large amount of monster equipment doubles as additional rewards, it's not crucial for any 17:26:15 new generic threat monster any more than, say, walking tomes not dropping spellbooks.) 17:31:34 <09h​ellmonk> walking tomes dropping spell books would be kinda neat if we do single spell books next version tho 17:32:33 <04d​racoomega> Yeah, I wouldn't be against a chance for a parchment or something. (I'm not even 'against' a chance for scribes to drop a scroll for flavor puposes, but the current rate seems far too generous to me) 17:33:57 <06r​egret-⸸nde※> The main problem there is: what does a walking divine tome drop? 17:41:21 <04d​racoomega> I mean, a bunch of spells can be holy when used via invocations 17:42:06 <04d​racoomega> (Also, not all tomes even have to do this, if we want to stick to schools (though I'm not certain we should, since it's fairly lopsided at the moment. 2 earth, 1 ice, and 1 holy) 18:48:45 <09g​ammafunk> @hellmonk The spell as it is feels possibly a bit weak. If the idea is that I'd want to fight with multiple monsters adjacent to me because of this spell, that'd be a pretty tough sell. If I melee a stone giant with a +5 great mace of flaming at min delay while surrounded by 4 stone giants total, so that each detonation hits all monsters, after the primary target dies, the remaining monsters will have health ranging from lightly 18:48:45 wounded to moderately wounded, occasionally heavily or severely wounded. If we instead have a 1v1 fight with a single monster behind the primary target, it will probably be worth, the turn spent casting given that my damage rating is about 52 (so let's say average 26.5) and I'm getting 2d11 (so average 12) from catalyst with pretty high spellpower of 88. But I can't see exposing myself to additional damage to use this. There's also a weird anti-synergy 18:48:46 for the spell with more damaging hits in that this leads to less cataclysm damage compared to doing more hits that deal less damage. Would having the cataclysm damage be based on damage dealt be better? Maybe you'd need to cap the catacylsm damage. 18:49:17 <09g​ammafunk> It's possible I'm not using the spell in a way you're envisioning it to be used, but it is a fairly expensive spell to get online for a heavy melee char 19:00:15 <09h​ellmonk> Thanks. I reduced the damage a lot from the first draft bc people said it seemed too strong, so maybe I overcompensated. Didn't want to base it on damage dealt bc I thought that functioned too similarly to weapon brands. Maybe that doesn't matter? It would simplify the weapon basedam + spell power thing I'm doing instead. 19:19:28 <09g​ammafunk> I do worry that using attack damage will interact a bit weirdly with some damage effects and might need some kind of cap. Also, reporting spell damage becomes difficult, doesn't it? You can't really report a "final" distribution because you don't know what it is 19:19:39 <09h​ellmonk> Yeah 19:20:14 <09h​ellmonk> So I might just nudge the damage back up and let trunk players mess with it 19:22:18 <09g​ammafunk> I was sort of wondering if this spell would be an example of what could be an upper-tier/2h weapon brand instead. But the spellpower scaling is possibly interesting here as it doesn't have other complex aspects like e.g. spectral weapon did, and it does have some inherent positioning limitations that you wouldn't have with a brand 19:22:46 <09h​ellmonk> It's based on a flame brand rework I did in hellcrawl long ago 19:23:25 <09h​ellmonk> the most similar thing we have now is shillelagh I think (but that damage is mostly not resisted and doesn't respect allies) 19:25:35 <09g​ammafunk> I feel bad for shillelagh 19:25:37 <04d​racoomega> It's very resisted by fliers! 19:25:44 <09g​ammafunk> seems like I never hear about it 19:26:06 <04d​racoomega> I think it suffered by being put into the 'early unrand' pool, which I am not sure is actually justified for it and mostly means it's much rarer. 19:26:17 <04d​racoomega> (I think it's good for a lot of the game, honestly) 19:26:43 <04d​racoomega> Fliers do become a lot more common over time, it's true, but it remains good on the other things 19:28:21 <04d​racoomega> (I mentioned a while back that I was curious about the actual affect on generation rate of unrands utilizing the 'early unrand' code, and how strong an effect it has overall. I actually made some objstat additions to show generation rates of unrands in particular, only to run into the problem that unrands are so individually rare that they all become rounding errors in the output tables and gave me no useful data at all ^^; ) 19:29:01 <04d​racoomega> Like, you could actually tell floors that they had generated on at least once by saying that 0.00 were found on that floor on average, but that's not telling me much 😛 19:30:35 <04d​racoomega> (Not doing that would have needed some deeper code changes to objstat that I didn't get around to doing at the time) 19:30:58 <06r​egret-⸸nde※> (Clearly just need to design another six or so early D monsters so we can reasonably fit an early unrandsmithy portal that can fit all the early unrands.) 19:31:20 <09h​ellmonk> Agree with r-i unironically 19:37:24 <04d​racoomega> I mean, that would be cute, if a fair bit of work 19:37:24 <04d​racoomega> (But honestly, I'd love actual generation info anyway ^^; ) 19:37:24 <09g​ammafunk> the precision is the constant STAT_PRECISION in dbg-objstat.cc, if you want to change that for a one-off run 19:37:31 <04d​racoomega> Oh, that's convenient 19:37:43 <04d​racoomega> (I admit, I didn't really look very hard after it didn't work at first brush) 19:37:52 <04d​racoomega> Because I assumed it would be a lot of work to figure out how to change it ^^; 19:38:07 <09g​ammafunk> yeah, it's just the argument passed to ostringstream::precision 19:39:20 <09g​ammafunk> so the effects in full should be described in the class doc 19:39:20 <09g​ammafunk> I think it's just the number of digits printed after the decimal point, so bumping that up to 4 or 5 might do the trick 19:40:06 <04d​racoomega> Will give that a try in the future (I should still have the 'note unrands by name' code stashed... somewhere >.> 20:03:41 03regret-index02 07* 0.33-a0-1154-ge3b8f7ef18: Don't do unnecessary terrain fix-up for spectrals in vaults 10(4 days ago, 2 files, 5+ 5-) 13https://github.com/crawl/crawl/commit/e3b8f7ef1896 20:03:41 03regret-index02 07* 0.33-a0-1155-g344fa49817: Don't use spider zombie tiles for emperor scorpions 10(2 days ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/344fa4981713 20:03:41 03regret-index02 07* 0.33-a0-1156-g3b93c1ba95: Petrified plants -> petrified flowers (as their own monster) 10(32 hours ago, 12 files, 55+ 33-) 13https://github.com/crawl/crawl/commit/3b93c1ba951e 20:03:41 03regret-index02 07* 0.33-a0-1157-gaaf212a877: Necropolis's near-comprehensive new tile set 10(7 months ago, 76 files, 98+ 1-) 13https://github.com/crawl/crawl/commit/aaf212a8777b 20:03:41 03regret-index02 07* 0.33-a0-1158-g72caabbf62: Move ghost vaults into the Necropolis, a game-long repeating portal 10(5 months ago, 25 files, 4865+ 3048-) 13https://github.com/crawl/crawl/commit/72caabbf62b6 20:03:41 03DracoOmega02 {regret-index} 07* 0.33-a0-1159-g7c26d03b70: A little backend work for Necropolis 10(59 minutes ago, 2 files, 30+ 13-) 13https://github.com/crawl/crawl/commit/7c26d03b708f 20:03:41 03DracoOmega02 {regret-index} 07* 0.33-a0-1160-ge3b193ec8d: Make player ghosts/illusions actually copy the player's move speed 10(56 minutes ago, 2 files, 6+ 6-) 13https://github.com/crawl/crawl/commit/e3b193ec8db1 20:03:41 03DracoOmega02 {regret-index} 07* 0.33-a0-1161-g45187ed2c3: Re-allow chaos weapons for player ghosts/illusions 10(40 minutes ago, 1 file, 2+ 5-) 13https://github.com/crawl/crawl/commit/45187ed2c34d 20:10:18 <04d​racoomega> Okay, so I didn't make it all the way through the wall monster PR (though I've been testing/staring at it for a fair while). I am sadly a bit too tired now to confidently review so much code for subtle interactions (so will have to continue tomorrow), but here's some feedback: Rock fish melee damage is a piddly 3, 2 which is less dangerous than many D:1 monsters despite spawning several floors deeper. Even in groups of two, this 20:10:19 seems much too harmless. (I am not sure I would place them at bombardier beetle depth as opposed to somewhat deeper anyway, but that's another question.) Rock fish refuse to enter shallow water (somewhat surprisingly to me) but can move through it just fine if somehow forced into it. But not always. (ie: whether they move or stay in place while in water is inconsistent) -This probably has awkward interactions, either way, with rock fish having fast 20:10:19 swim speed. I assume they can't 'swim' fast through walls without also swimming fast in water, were they placed inside it? -(I realized later that them not ending water is an intentional thing noted in a code comment, but still feels dubious to me and is definitely also mildly buggy in some ways.) Being unable to swim specifically in runed doors feels weird and unexpected to me (and not actually effective at keeping them inside a rune vault, since 20:10:20 they can just leave through the other walls.) I think wall monsters just shouldn't be used in vaults that rely on keeping them inside (and if they 'randomly' generate inside one, it's okay if they leak out, imo. That's just what they do.) 20:10:40 <04d​racoomega> Likewise, not being able to move into Tomb card walls seems unexpected or unnecessary. We don't stop monsters from digging those. They're just regular rock. (Even Imprison walls, really, seem fine for them to move through if we're okay with them swimming through metal in the first place; if a person tries to imprison a wall monster in walls and it escapes, that's on them, imo.) (I'm not even sure the veto condition for walls 20:10:40 adjacent to NO_TELE_INTO areas is honestly needed. It one was ever placed inside there, it would probably confuse players as to why it wasn't leaving.) C++ // Note that this can change the solidity of the wall. if (cell_is_solid(pos()) // Wall affecting beams still do even with a monster there. && (!m || can_affect_wall(pos()))) { affect_wall(); } The change to this code confuses me. Doesn't this make it now 20:10:41 call affect_wall() when any beam hits a wall without a monster in it? Not just the ones that can_affect_wall? C++ // Piercing beams are still stopped by wall monsters // unless they were going to bounce Was this supposed to say non-piercing beams? (It's kind of confusingly-worded in general) 20:10:57 <04d​racoomega> I wrote up a bunch of analysis of weird issues with knockback which I later learned (as I got further down the diff) is more-or-less intentional (but this may be an unintentional consequence of it). Due to how wall monsters can only exist in walls that are adjacent to at least one open space, knockback behavior can be quite weird. In a lot of cases, you can knock them into just one tile of wall and then they will stop (without 20:10:58 leaving your sight), but in many wall configurations, you can knock them all the way through the wall and out of sight entirely. From the player's perspective, this is often very unpredictable (and may even leak information about what walls have rooms on the other side of them, but can also occur in diagonal corridors and other configurations). I am not sure what the idea behavior is here, but this feels weird to me. (It also causes them to 'collide' 20:10:58 with 'nothing' to take damage, but on an unpredictable basis.) I'm not actually sure it would be a problem if they could just get 'lost' in rock, far from the player's sight. In practice, monsters in a bunch of places can already do this with deep water or lava. Not to the same extent, but I feel I might still prefer this to their surface-level behavior being so seemingly inconsistent? Also, the M_SURROUND flag seems to just not be working. At the 20:10:59 very least, the behavior its commit says it was supposed to produce isn't happening (ie: they're still all clumping up on one side of me and not spreading out), but you did say that lichen weren't as ready yet, so maybe this is known to you. (There's still a bunch of individual cases of things I want to test, along with some pathfinding behavior, and code I was too tired to look at clearly, but I thought I should at least report this much.) 20:22:45 04Build failed for 08master @ 45187ed2 06https://github.com/crawl/crawl/actions/runs/14152000658 20:24:51 03regret-index02 07* 0.33-a0-1162-g9b26fc442c: Fix tag upgrade wrapping for Necropolis 10(22 seconds ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/9b26fc442c58 20:33:20 New branch created: pull/4413 (2 commits) 13https://github.com/crawl/crawl/pull/4413 20:33:21 03Cgettys02 07https://github.com/crawl/crawl/pull/4413 * 0.33-a0-1150-gaf1178d59c: WIP 10(6 hours ago, 9 files, 69+ 14-) 13https://github.com/crawl/crawl/commit/af1178d59cc9 20:33:21 03Cgettys02 07https://github.com/crawl/crawl/pull/4413 * 0.33-a0-1151-g76d7dba859: Compiles 10(2 minutes ago, 6 files, 40+ 33-) 13https://github.com/crawl/crawl/commit/76d7dba859d7 20:36:32 03regret-index02 07* 0.33-a0-1163-g185f48b25f: Remove a vault testing weight (Darby) 10(23 seconds ago, 1 file, 0+ 1-) 13https://github.com/crawl/crawl/commit/185f48b25fb4 20:43:56 03dolorous02 07* 0.33-a0-1164-gf69652860f: Fix spelling. 10(5 minutes ago, 3 files, 3+ 3-) 13https://github.com/crawl/crawl/commit/f69652860f47 20:43:56 03dolorous02 07* 0.33-a0-1165-ge0a373db31: Fix typos. 10(3 minutes ago, 1 file, 2+ 2-) 13https://github.com/crawl/crawl/commit/e0a373db31b1 20:43:56 03dolorous02 07* 0.33-a0-1166-gaa25462d22: Fix wording. 10(3 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/aa25462d22a0 21:15:56 <09h​ellmonk> bit of a scary merge, but it didn't seem to break anything when I tested it 21:16:09 <09h​ellmonk> fingers crossed etc 21:16:44 03WizardIke02 {GitHub} 07* 0.33-a0-1167-g1564750bf8: Improve player tracers (#4219) 10(64 seconds ago, 26 files, 695+ 488-) 13https://github.com/crawl/crawl/commit/1564750bf80a 21:52:44 03hellmonk02 07[theyrebombs] * 0.33-a0-1161-gddfbbbf091: damage back up 10(36 seconds ago, 1 file, 4+ 3-) 13https://github.com/crawl/crawl/commit/ddfbbbf09106 21:52:44 Branch pull/4388 updated to be equal with theyrebombs: 13https://github.com/crawl/crawl/pull/4388 22:16:01 03Hellmonk02 {GitHub} 07* 0.33-a0-1168-g3993efc380: New spell: Detonation Catalyst (#4388) 10(23 seconds ago, 20 files, 218+ 11-) 13https://github.com/crawl/crawl/commit/3993efc3802d 22:31:55 03gammafunk02 07* 0.33-a0-1169-gcefcf6c28b: Fix a lua typo 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/cefcf6c28bce 22:35:36 Unstable branch on crawl.develz.org updated to: 0.33-a0-1168-g3993efc380 (34) 22:49:26 04Build failed for 08master @ cefcf6c2 06https://github.com/crawl/crawl/actions/runs/14153033993 22:58:54 Windows builds of master branch on crawl.develz.org updated to: 0.33-a0-1169-gcefcf6c28b 23:30:57 <04C​gettys> Friendly follow up: https://github.com/crawl/crawl/pull/4399 23:35:16 Unstable branch on cbro.berotato.org updated to: 0.33-a0-1169-gcefcf6c28b (34) 23:55:42 Monster database of master branch on crawl.develz.org updated to: 0.33-a0-1169-gcefcf6c28b