03:34:25 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5208-geafff8c3b6 03:53:21 New branch created: pull/4099 (1 commit) 13https://github.com/crawl/crawl/pull/4099 03:53:22 03orjb102 07https://github.com/crawl/crawl/pull/4099 * 0.33-a0-267-g12a00b7a32: test commit pls ignore 10(2 minutes ago, 1 file, 57+ 0-) 13https://github.com/crawl/crawl/commit/12a00b7a3200 03:53:56 argh, I was trying to make a PR on my _own_ repo. Sorry 03:56:30 https://github.com/orjb1/crawl/pull/1 (New Bailey. I'd appreciate any feedback on the idea but implementation very work in progress) 04:30:41 <03i​mplojin> Randomization is good when creating vaults -- if you look at some of the other vaults in bailey.des, you'll notice they frequently use SUBST, NSUBST, and SHUFFLE lines to randomize monster/loot quantity and location. We do this so that experienced players are less sure what they're going to see (even after seeing a vault repeatedly), and so that newer players are less incentivized to go lookup vaultdefs to see what's ahead. Your vault 04:30:42 could probably use a bit more randomization to spread things out, there's a lot of empty space there followed by more-or-less-fixed placement of monsters and loot at the end. 04:32:15 Yeah, that's v fair 08:04:10 <08n​lavsky> A potentially controversial commit is incoming: 08:04:59 <08n​lavsky> I'm not sure if March of Sorrows and Mourning Wail need the same change, and I'd need to get feedback on this change first. But death drakes being the only animal who cares about a player resistance was too ridiculous. 08:05:14 03nlavsky02 07* 0.33-a0-267-g6727bf9f3c: feat: make miasma-breathing monsters less picky about their targets 10(7 minutes ago, 1 file, 2+ 5-) 13https://github.com/crawl/crawl/commit/6727bf9f3c3a 08:06:03 <08n​lavsky> Well, there's one more animal who can detect player resists - a dream sheep. 08:06:22 <08n​lavsky> They have a very precise built-in piety detector, so they won't cast Dream Dust if you are at 3+ stars of Ash's piety, which gives Clarity. 08:27:52 <06p​leasingfungus> oh, i think we had a related discussion a few months ago 08:28:04 <06p​leasingfungus> i agree dream sheep shouldn't care about clarity 08:28:15 <06p​leasingfungus> (no idea how tricky that is) 08:28:33 <06p​leasingfungus> i do like monsters caring about species resistances (not equipment / gods / mutations / etc) 08:28:38 <04d​racoomega> Is your objection to this stuff specifically animals specifically having this sort of behavior? 08:29:40 <04d​racoomega> (To be honest, for some reason I thought swamp dragons wouldn't breathe on undead either, though apparently they do. But shadow dragons also don't, for instance. Most things don't use stuff that definitely can't affect undead against undead) 08:30:14 <06p​leasingfungus> can't find the old discussion right now, but i did find this 08:30:14 <06p​leasingfungus> https://cdn.discordapp.com/attachments/747522859361894521/1298307436121161780/image.png?ex=67191686&is=6717c506&hm=93ffc94ed1ade180bde0357016d7166221d2abb0fa6ad667093ceb3285cd3a17& 08:31:13 <08n​lavsky> (I was going for consistent behavior for cloud-breathing animals, which was 99% consistent, except for death drakes) 08:31:38 <08n​lavsky> it'd be great to have an explicit rule for such things 08:31:50 <04d​racoomega> (I think it doesn't matter a great deal for death drakes either way, as they have nothing else threatening they could do instead, but it sure mattes for, say, Gloorx) 08:32:39 <04d​racoomega> (Who also has miasma breath) 08:35:26 <08n​lavsky> Related: monster-spells that work only on a small subset of player species don't feel like a great design. Imagine if Dispel Undead Range wasn't completely harmless for 24 out of 27 species and did some negative energy damage to them too. 08:36:36 <04d​racoomega> I mean, it working that way is in exchange for undead being immune to a massively larger percentage of things monsters do. I feel that's somewhat fundamental to the distinction? 08:37:18 <04d​racoomega> (It's actually very common for monsters with Dispel Undead to also be ones that have strong attacks that undead are immune to) 08:39:40 <04d​racoomega> (If anything, I've felt that extended could use a few more threats of that nature, since being undead is already such an overwhelming advantage in multiple extended branches.) 08:40:05 <08n​lavsky> > Implojin: the last time we had this discussion (or at least the last time i was around for it) people seemed in favor of not letting player resists affect monster ai (iirc because it's just super weird to punish the player for wearing resists by making mons cast more dangerous things instead) > PF: to be clear, my position (based on what i understood to be our historical policy) was that species-level resists could affect monster AI - 08:40:06 since that's not something you can really game, and there's some intuitive sense to the idea that monsters could tell at a glance that a mummy would be immune to poison - but that they should not change their behavior based on temporary resists (gear, etc) > i feel more strongly about the latter than the former 😛 this one? 08:42:10 <06p​leasingfungus> that looks right 08:42:19 <06p​leasingfungus> ty for finding it! 08:43:15 <04d​racoomega> For what it's worth, I feel similarly. (And I feel pretty sure that came up again at some point I was present for, where I said as much) 08:44:46 <06p​leasingfungus> recurring discussion. a DCSS Classic™️ 08:46:35 <08n​lavsky> Species-level resists are pretty fluid. Should monster be able to tell the difference between a bloodless 🧛 and an alive 🧛 (or between @ and @ for console players)? 08:48:09 <04d​racoomega> I mean, I think it's fine if they could (though that should be a moot point in a couple months anyway) 08:48:35 <06p​leasingfungus> i agree that it seems tricky to make this distinction in a systemic way 08:50:07 (I would hope monsters don't see only ASCII glyphs) /s 08:50:27 <09g​ammafunk> Vampires are V on console not @!!!!!!!!!!!!!! 08:50:40 <06p​leasingfungus> lol 08:50:59 <04d​racoomega> I mean, detailed arguments from realism are often a little silly (imo), but if one wanted to take that angle: this is a world demonstrably full of undead, and it doesn't seem strange that animals would have learned/evolved over time that certain defenses or hunting methods just don't work on 'things that smell that way' or whatever 08:51:20 <06p​leasingfungus> player vampires are @ unless you set that one rcfile option, though, right? 08:52:10 <09g​ammafunk> We have no way of knowing 08:52:18 <08n​lavsky> yeah, but if your only spell is Petrify, you'd at least try to use it even on a gargoyle (which is exactly what basilisks do right now) 08:54:34 <04d​racoomega> Thinking on it, I'm honestly a little surprised the tracer says that will do anything 08:55:28 <08n​lavsky> and for recurring discussions, there is also an argument that it's hard to notice you're immune to something, like a spell, if monsters know about your immunity and refuse to cast said spell 08:56:01 <08n​lavsky> I bet a lot of players don't know Dj are immune to Dream Dust 08:56:18 <08n​lavsky> as dream sheep never use it on them 08:56:30 <04d​racoomega> Oh, I think this is a player/monster technicality when it comes to tracers, if I recall right. 08:56:38 <04d​racoomega> Basilisks will refuse to cast petrify on monster gargoyles 08:57:12 <04d​racoomega> But the tracer doesn't actually report a number of player resists in the same way, I think 08:57:53 You could have the Angband approach where they try once (so you learn Dj are immune etc) but then remember 08:58:23 <04d​racoomega> That seems needlessly complicated, imo 08:58:42 <04d​racoomega> If we want to assume they've learned anything, they can have learned it earlier in life, rather than needing to track this state for individual monsters 08:59:27 <04d​racoomega> (Honestly, if we're concerned players aren't aware of immunities they possess, I think it's a much better answer to state this information somewhere more clearly when they look at their own properties, rather than waiting for them to notice that some specific attack at some point in the game didn't work) 08:59:49 <08n​lavsky> imagine having an indicator in the monster list: 8 dream sheep (5 don't know about your Clarity) 09:00:06 <08n​lavsky> (not a serious suggestion!) 09:02:48 <04d​racoomega> Ah, yes, apparently only ally tracers check harmless_to_player() at the moment 09:04:03 <04d​racoomega> (But all monsters check the equivalent one for monsters) 09:04:56 <08n​lavsky> It feels like combat experience is a more natural way to learn, compared to reading descriptions. The latter could be out of date/incomplete, but in-game effects are hard to miss. Like, Clarity doesn't mention sleep immunity, neither in the mutation description nor in the art-property description. 09:06:02 <08n​lavsky> similarly, Dream Dust doesn't mention immunities too 09:06:51 <04d​racoomega> in-game effects are hard to miss People are famous for missing things in the message log all the time, alas. 09:07:38 <08n​lavsky> at least reading message log doesn't require the player to press additional buttons, unlike reading the descriptions 🙂 09:08:54 <08n​lavsky> which should, in theory, translate to a higher level of noticeability! 09:10:21 <04d​racoomega> I mean, I feel like "Let a monster do something - with no animation - that will never work so that the player learns it will never work" is a poor approach to learnability. Whether we feel the gameplay is better for dream sheep to do this anyway is, imo, a separate question. (Reading the message log may require less button presses, sure, but so many messages go by that people commonly don't pay much attention, but we can at 09:10:21 least assume if someone looked up a description, they plan to read it.) 09:11:25 <04d​racoomega> There was some talk a few times over recent months about putting a 'Resisted by:' field in spell descriptions that could quickly summarize such things, which might be a good place for this kind of thing. 09:12:07 <04d​racoomega> (Like, there were some cases where players thought it was ambiguous which resist affected something, or if it was an effect that was resisted by Will, and it seems like the field could say Clarity for those things clairity affects) 09:19:36 <08n​lavsky> > Let a monster [or the malevolent force] do something - with no animation - that will never work so that the player learns it will never work We have a similar situation when Ash chars get "Ashenzari reveals a hidden shaft just before you would have fallen in.", and the players do notice that. 09:20:11 <08n​lavsky> it's also a feels-good moment for them 09:20:21 <04d​racoomega> Well, people frequently overlooked explore trap message until they got a force_more 09:20:32 <08n​lavsky> so why undead chars can't get the same from watching monsters fail to affect them? 09:20:37 <03i​mplojin> communicating things to players is hard 😦 09:20:40 <04d​racoomega> (Like, you obviously can't miss being shafted, but people missed alarm traps constantly) 09:20:54 <03i​mplojin> apologies to anyone who fielded explore trap message complaints after i added the force more 09:21:10 <04d​racoomega> The force_more is good 09:21:17 <04d​racoomega> In retrospect, it feels like it should have always been there 09:21:25 <03i​mplojin> yeah, it's just there was obviously a wave of players like "woah, was this buffed" 09:21:33 <04d​racoomega> (And I am not saying that nobody would learn something from monsters failing to affect them, but I feel like using this as a major justification for doing so is shaky) 09:21:59 <04d​racoomega> And that this information is probably better-conveyed elsewhere 09:22:58 <03i​mplojin> i think a big problem with our message log is that sometimes there is just so little signal there that it feels like we're trying to train players to ignore it 09:24:05 <04d​racoomega> Yes. Like, I'm not sure this is actually a solvable problem 09:24:30 <04d​racoomega> Most games deal with this via regular animations in the playfield hilighting things, and there's a bunch of reasons (technical and otherwise) why Crawl can't/hasn't 09:24:35 <04d​racoomega> For a lot of effects 09:25:20 <04d​racoomega> Like, I don't think the issue is that most messages convey useless information, but rather that the very nature of Crawl's combat and pacing is that a majority of actions on a majority of turns are not particular critical 09:25:54 <04d​racoomega> And that the very same messages that are something worth paying close attention to a narrow slice of the time are not the vast majority of the time 09:27:15 <08n​lavsky> there was an ancient suggestion of reserving one line of the message log to "sticky"/important messages, which will stay for a few turns even while you get other messages 09:29:04 <03i​mplojin> i think i'm mildly in the camp of "don't change monster ai based on resists, species or otherwise"; it probably slightly helps the game world have a sense of verisimilitude but at the cost of complexity (that earlier death drake commit seems fine to me) 09:30:25 <04d​racoomega> Anyway, let me summarize some thoughts on the topic: -I think arguments from realism related to animal behavior are fairly thin, as it's easy to justify behavior changes based on player holiness from this perspective if we really wanted to. I'd rather focus on the gameplay effects. -Being innately immune to an effect is already a very powerful benefit. A monster wasting potentially many turns casting a 'cantrip' anyway is 09:30:25 effectively an additional benefit on top of this. Changing behavior in this regard is effectively a buff to all players who are immune to such things. -While it is technically true that this is a 'double benefit' for equippable resists of the same nature, not only are these arguably harder to attain, but importantly: We don't want to risk 'punishing' a character based on wearing things that are supposed to give benefits. This is something that does 09:30:26 not apply to, say, being undead. So monsters acting differently here is a concession to the gameplay experience. -Letting monsters use useless attacks specifically to demonstrate that they are useless is, I think, a relatively poor justification on its own (as I have already said) and there are other ways to handle this. -Some monsters have nothing threatening they could do beyond the effect that the player is immune to, so it doesn't matter a great 09:30:26 deal either way, but many do (for instance, Gloorx wasting turns breathing miasma on an undead player feels both silly and also clearly a nerf to them with this recent commit) -We are evidently somewhat inconsistent about our handling of this, and that would be fine to improve, though I feel like the answer lies somewhat in the opposite direction (making versus-player tracers account for information that versus-monster ones currently do, for instance) 09:54:40 <08n​lavsky> - just to remind, it was "consistent behavior for cloud-breathing animals" not "realism related to animal behavior" - I agree, although I expect monsters waste only a few turns per battle, like 1 or 2, not "many" - adding a distinction between, say, innate rMiasma and item-rMiasma seems needlessly complex and unintuitive - seeing a resist in action is the best way to learn how it works. "Other ways" mean putting the relevant text 09:54:40 several menus deep. Compare seeing the result of a monster casting a spell in the message log with going xv -> monster desc -> spell desc -> how you can resists it - we could see if Gloorx's win rate against undead players changes, which seems unlikely - equipping all monster hexer with a built-in piety meter Clarity-detector feels too harsh 🙂 10:03:28 03kate-02 07* 0.33-a0-268-g6938ffb21a: Fix some Foxfire messaging 10(2 days ago, 2 files, 3+ 3-) 13https://github.com/crawl/crawl/commit/6938ffb21ab4 10:03:28 03kate-02 07* 0.33-a0-269-gd558c92145: Australianise some spelling 10(2 days ago, 1 file, 4+ 4-) 13https://github.com/crawl/crawl/commit/d558c9214596 10:03:28 03kate-02 07* 0.33-a0-270-g361589c4d2: Fix Ash bondage not updating with slot-blocking muts 10(5 hours ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/361589c4d2d2 10:06:17 <06p​leasingfungus> it’s kate! 10:07:11 <04d​racoomega> I am sure Gloorx's kill rate against undead is not going to change enough to be measurable given the sample size. But it seems silly that they will do this specific useless action with their spells now, but not other useless actions they could theoretically do (like casting Dispel on humans or tormenting undead) I didn't mean to give enemies 'clarity-detection', but rather to make the same kind of 'holiness-check' logic used for 10:07:11 frankly a majority of effects that care about this to also communicate this to tracers. Frankly, I simply disagree that there is anything unintuitive about treating 'the player being undead' and 'the player wearing a particular ring' differently. 10:09:24 <08n​lavsky> At least Gloorx breathing miasma is flavorful even if it does nothing! 10:16:33 <08n​lavsky> Even for rMiasma, it's not just undead vs. having an item with rMiasma. Non-living species/forms are immune too, and it's not clear if forms should be treated in the same way as innate or swappable resists 10:17:46 <08n​lavsky> (and if the slow ring swapping ever becomes a thing, the practical distinction from innate and item resists would be even less visible) 10:17:51 <04d​racoomega> I believe forms are treated as innate in all other ways? 10:18:37 <04d​racoomega> Statue form is a statue 10:19:11 <04d​racoomega> (And, in fact, it is actually kind of a deliberate part of forms that the player does get opened up to many attacks that previously could categorically not affect them) 10:22:07 <08n​lavsky> Just to clarify, what is your opinion about dream sheep and clarity? It should be a holiness check too, but without taking Clarity into account? 10:22:41 <08n​lavsky> (I just want us to get to a consistent set of rules for resistance checks) 10:25:00 <04d​racoomega> I wonder if a sufficiently simple and consistent rule is just that monsters know player holiness and nothing else? Like, ultimately, I don't think the behavior of dream dust here matters a great deal either way, but when you talk about extending this sort of thing to an increasing number of effects, it matters for some of them quite a lot. (Torment being potentially the most extreme example). 10:25:42 <03i​mplojin> specifically re: the point about monsters wasting turns sometimes: i think this it's fine for that to happen occasionally, players don't usually use turns effectively and crawl combat tends to swing more on a stochastic "did some outlier damage rolls happen" than on "is the monster using all its time as effectively as possible", like, iirc we already had some code in there where mons could cantrip cast and do nothing (no idea if this 10:25:42 behavior is long removed or still around) 10:27:42 <04d​racoomega> Like, torment-immunity is already really, really good in the situations where it applies (I've already argued that death talisman is too polarizing in a bunch of extended as it is). I wouldn't want to make it even better in that regard. (Moreover, letting demons use torment even against undead players gets extra questionable when they're summoned by demonologists, since it will hurt the enemy team and not you) 10:28:37 <08n​lavsky> (the latter case could be addressed by summons caring more about their summoners) 10:29:09 <08n​lavsky> like, it's already bad for elves who summon tormenters, especially if the player has non-0 rN 10:29:30 <04d​racoomega> (At one point in time, tormenters did care about their summoners, and mostly it was agreed that was quite bad) 10:29:46 <04d​racoomega> And that it should basically always be considered correct to torment the player if it will do something 10:30:09 <04d​racoomega> (But I think it's rather different when they are only hurting their own side of the battlefield) 10:34:06 <03i​mplojin> (also it makes players feel clever if they see a thing being resisted and they're denied that moment if mons choose to not do the resistible thing) 10:34:07 <04d​racoomega> For some monsters, universally changing things this way would result in as many as 1/3rd of their turns doing useless actions compared to now, though. That's more than 'ocassionally', imo 10:34:57 <08n​lavsky> I agree that torment-immunity is very good, especially in extended, so one possible approach could be turning the immunity into a resistance, so even mummies could be affected by it in some way 10:37:37 <03i​mplojin> i'm unclear what specific behavior changes are being tabled here 10:37:44 <04d​racoomega> This feels like an awfully fundamental change to a non-problem 10:40:29 <04d​racoomega> I mean, did you not yourself say that you were mildly in the camp of not changing what spells a monster will used based on player species or other such properties? 10:43:06 <03i​mplojin> yes but i thought nlavsky had some earlier proposal that was more specific and this discussion was trying to (once again) clarify the approach? 10:47:27 <08n​lavsky> But don't we have to buff Gloorx who is wasting turns against undead players now? (just a joke, please don't take this seriously) Also, I need to go eat something, so I'll be back in an hour or two to continue this extremely interesting discussion 10:48:54 <04d​racoomega> Perhaps I should clarify that what I meant by a 'non-problem' was 'the fact that monsters won't try to torment the undead' 10:51:57 <04d​racoomega> I don't see that it's particularly unintuitive that they do not, and I don't think the gameplay of Crawl improves were they to start doing so. (Making torment partially work against undead feels like so fundamental a change that I'm not really sure what I would think about that despite my immediate knee-jerk reaction of it feeling wrong.) 10:56:09 <09g​ammafunk> What if we made monster spells that would be ineffective reroll in a way other than "immediately choose a different spell"? Not sure of the current specifics in that regard but it could cause a significantly reduced chance for another viable action compared to the present extreme of e.g up to 1/3 chance for a monster with torment to waste a turn vs undead 10:56:52 <04d​racoomega> Actually, I am pretty sure they don't reroll like that at present 10:57:21 <04d​racoomega> If a monster rolls an invalid action, they will simply not cast a spell at all (and thus typically move/attack) 10:59:44 <04d​racoomega> So being torment-immune doesn't increase the odds of a monster using some other spell instead, but they will at least hit you 11:00:28 <04d​racoomega> (This is basically a wash for some things, like Tormentors, but melee is still at least moderately relevant on many things) 11:14:57 <06p​leasingfungus> there is definitely a reroll chance for some monster spell ai 11:15:06 <06p​leasingfungus> i don’t remember exactly how it triggers 11:15:32 <06p​leasingfungus> but monsters do get a chance to try to cast another spell if they pick one that they decide is useless in some sense 11:15:49 <06p​leasingfungus> just one chance per monster action, iirc 11:15:56 <04d​racoomega> I will double-check, but I thought it literally just zeroed the weights of spells that the code says are ineligable 11:16:06 <04d​racoomega> Oh, they get a reroll if they have Brilliance 11:16:57 <04d​racoomega> Let me look more closely at this code again, though. 11:22:42 <06p​leasingfungus> !source _choose_spell_to_cast 11:22:44 <04C​erebot> Can't find _choose_spell_to_cast. 11:22:49 <06p​leasingfungus> feh 11:23:25 <04d​racoomega> Okay, so I am pretty sure that spells which fail the monster_spell_goodness check are eliminated before any spell is chosen and their weights don't matter. There appears to be a single reroll if a spell that is still considered valid at that point fails its tracer 11:23:36 <06p​leasingfungus> yeah, it’s a tracer thing 11:23:41 <04d​racoomega> See _find_usable_spells 11:23:53 <04d​racoomega> However, basically all the spells we're talking about here are elimited by monster_spell_goodness 11:24:21 <04d​racoomega> So being torment-immune does not increase the weight of other spells being cast 11:24:51 <06p​leasingfungus> aren’t cloud spells tracer-y? 11:24:55 <04d​racoomega> (And players generally cannot be immune to things in ways that a normal monster tracer knows about) 11:25:09 <06p​leasingfungus> hm 11:25:23 <06p​leasingfungus> i’m not sure my reading of the code lines up with yours 11:25:33 <04d​racoomega> (As mentioned earlier in this conversation, about how basilisks will try to petrify player gargoyles but not monster gargoyles) 11:26:34 <06p​leasingfungus> eh, no, i agree 11:26:43 <06p​leasingfungus> tentatively :p 11:27:24 <04d​racoomega> (I mean, it's entirely possible I am wrong about something, but I have been in the guts of some of this code in more detail more recently. With getting Marionette to work properly, for instance.) 11:28:30 <04d​racoomega> (It's still complicated enough that oversights are possible, but I am fairly sure that the logic controlling whether a monster will use torment or - until this morning - miasma clouds - happens in a way that does affect reroll chances) 11:29:19 <04d​racoomega> Oops, said the opposite thing 11:30:55 <06p​leasingfungus> it’s ok, i agreed anyway :p 11:31:14 <04d​racoomega> Well, I wanted to make sure you thought you were agreeing to what I thought I said! 😛 11:34:27 <04d​racoomega> Oh, speaking of 'all other drakes will use their breaths even against immune targets', I believe this is again only true versus the player. 11:34:44 <04d​racoomega> Swamp dragons won't breathe on monster undead, etc. 11:35:49 <04d​racoomega> (In fact, I had to band-aid fix them frequently not using them on things which could still be affected in practice in 0.31) 11:35:54 <04d​racoomega> %git 5eddcf24482227776da4f91a11eaaacfad401233 11:35:56 <04C​erebot> DracoOmega * 0.31-a0-1590-g5eddcf2448: Fix monsters refusing to use pyre arrow / meph breath on other monsters (10 months ago, 2 files, 39+ 4-) https://github.com/crawl/crawl/commit/5eddcf244822 12:22:24 <08n​lavsky> Two points: * Cloud spells are special in that they have an anti-player utility even when the player fully resists the clouds. They reduce the effectiveness of scrolls of fog, which affects mummies and players in the death form the most, as they have a reduced selection of escape options. Fog can help getting into melee with Gloorx without receiving a lot of Dispels from range. And in Tomb:2 and 3, fog is useful for limiting the number 12:22:25 of smites and trap effects. So undead players getting more miasma clouds in Tomb/Pan is not a pure player buff. * If other devs still think that Gloorx, Putrid Mouths, Serpent of Hell (Tar), Master Blaster (!) don't require any nerfs when fighting rMiasma players, the easiest solution would be giving them Death Rattle, which is functionally identical, except for doing some minor impact damage. Death drakes can be the only monster with Breathe Miasma, 12:22:25 which doesn't check the resistance. Death Rattle, on the other hand, would check rMiasma as before. 12:27:17 <06r​egret-⸸nde※> ...Death Rattle is a single line effect that can be stepped out of because it was the one miasma monster that comes in multiple monsters firing at once (note how three of five of those are uniques each in completely different locations), and it would significantly nerf every use of miasma breath in the game to deal minor impact damage but be capable of walking out of it. 12:31:52 <04d​racoomega> While 'harmless miasma clouds prevent ?fog' is technically true in that this is a thing it technically does, it feels situational enough that I can't imagine this will almost ever matter outside of Tomb (admittedly, sometimes it might there.) But honestly, something else struck me in the intervening time about the change to death drakes, which is that: miasma is frequently bad for other nearby enemies. Death drakes in particular are 12:31:53 summoned by stormcallers, who come in bands of living things, and the breath isn't terribly choosy about not making clouds on top of them. Which is fine if it's hitting the player, since slowing/hurting the player that much is high impact. But being just as willing to endanger the rest of your band even when the player is visibly immune to the entire thing feels highly dubious to me, tbh. 12:33:10 <04d​racoomega> (In fact, a death drake willing breath harmless miasma in your general area feels like something an undead player could actually consider just carting around with them) 12:33:16 <04d​racoomega> And they spawn naturally in Swamp 12:34:55 <08n​lavsky> hmm, they are speed 12, but their melee is only 12 damage 12:35:32 <08n​lavsky> a new mummy strat: bring a death drake with you into Orc and Elf 12:36:01 <04d​racoomega> (This would be even worse if torment had the same behavior, incidentally) 12:36:24 <04d​racoomega> There aren't many of those just lurking around, but there are some vaults that have them 12:36:24 <08n​lavsky> there are no early game tormenters except for summoned ones, right? 12:36:58 <04d​racoomega> And even if you didn't find one until Depths, it would still be pretty strong to have a pet torment bot while you cleared the rest of the branch 12:38:11 <08n​lavsky> do Gr/Dj player have pet catoblepases right now? 12:38:17 <06r​egret-⸸nde※> (cheibrodos_tormentor_scu can place a D:11 tormentor behind grates.) 12:39:03 <08n​lavsky> I've never heard about such strat 12:39:58 <04d​racoomega> Those at least still hit like a trunk at the depth you run into them first 12:40:35 <04d​racoomega> Tormentor melee is completely inconsequential if you're rN immune, even relatively early (and certainly later on) 12:41:01 <08n​lavsky> although, a spriggan of qazlal would be more likely to pull this trick! 12:45:24 <03i​mplojin> maybe all monsters need slowly dying and the player only gets experience/drops if they kill it before slowly dying wears off (jk. unless.) 12:45:47 <04d​racoomega> I'd say that probabilistically petrifying small groups of enemies is a fair bit weaker than reliably tormenting the whole screen, even if we ignored the part where the catoblepas is still actually dangerous to the player and the tormentor isn't 12:46:09 <04d​racoomega> Spriggans can only move fast when they don't get stuck between stuff, after all 12:46:57 <06r​egret-⸸nde※> (Even outside of the chance to actually affect other monsters, that danger in particular requires accepting something meaningfully attacking the player for a decent chunk of the game across every attempt to use a staircase into an unknown floor's potential additional monsters.) 12:54:52 <08n​lavsky> by the way, undead players can use the tormentor-kiting strategy already 12:55:31 <08n​lavsky> All you need is a tormentor and Summon Small Mammals: The tormentor calls on the powers of darkness! The gnoll convulses! You feel a surge of unholy energy. The gnoll convulses! x3; The gnoll completely misses you. The gnoll hits you with a +0 whip. Your bat hits the gnoll. 12:55:42 <08n​lavsky> (the char is a mummy) 12:56:38 <04d​racoomega> Yeah, that's honestly a little awkward. (But at the same time, having to keep a living ally out in a place where they're likely to swiftly die makes it a lot less effective) 12:57:19 <03i​mplojin> fwiw i don't think even the best players tend to bother with kiting strats 12:57:20 <04d​racoomega> Like, a spammal has good odds to die in Depths before the tormentor even notices it, and then you're spending umpteen turns casting spammals instead of anything else 12:57:35 <08n​lavsky> yeah, it's purely theoretical 12:58:08 <03i​mplojin> i was really worried about that for armataur and ended up reverting that bit because it was complexity for something nobody cared to do 12:58:08 <06p​leasingfungus> theoretically optimal torment strats 12:58:08 <06p​leasingfungus> ideal 12:58:08 <04d​racoomega> (I honestly don't think it would be theoretical if tormentors stopped caring about player holiness altogether.) 12:58:19 <06p​leasingfungus> plausible 12:58:40 <04d​racoomega> Like, to be clear, I think that risk of tediously optimal things is frequently overblown. However, this feels like introducing the possibility of an issue where none currently exists. 12:58:42 <08n​lavsky> they are already happy to torment fellow monsters if you show them a rat 12:58:46 <06r​egret-⸸nde※> (The tormentor + Spammals requires actively using up one's turns standing still with open space (and mp) to inconsistently make a Tormentor act afterwards, which is a substantial limiting factor in bothering to do so.) 12:59:24 <08n​lavsky> it's a level 1 spell and you're not 100% surrounded all the time to use it 12:59:44 <06r​egret-⸸nde※> It's not about the difficulty in casting it. 12:59:46 <08n​lavsky> and still, no one ever used this strat, to my knowledge 12:59:53 <04d​racoomega> It's not about the difficulty in casting it. It's that you could be doing anything else with your time 13:00:04 <04d​racoomega> Like actually hitting an enemy 13:00:36 <06r​egret-⸸nde※> It's the fact one isn't swinging their weapon (or casting a conjuration or making allies that actually do anything themselves), yes. 13:01:18 <08n​lavsky> the world where torments are free and the world where it requires you to cast a level 1 spell are practically identical 13:01:18 <04d​racoomega> (And if you're making a living ally strong enough to actually last any length of time, then at some point it just kills the tormentor for you anyway) 13:05:02 <08n​lavsky> also, I wasn't defending the "monsters don't care about player resists at all" position initially, but the more we talk about it, the fewer counter-arguments feel relevant 13:05:51 <08n​lavsky> even the Torment abuse seems like a very marginal thing 13:06:19 <08n​lavsky> too much setup for little payoff, plus you can do it right now, but no one bothers 13:06:20 <06r​egret-⸸nde※> The player's actual chance to do anything else with their time is a large factor in what makes other unrelated matters better or worse. The passive freeze mutation is extremely strong throughout Lair in a capacity casting Freeze throughout Lair isn't, while the opportunity cost of actively casting Alistair's Intoxication or Metabolic Englaciation requires using up several turns in order to mass inflict a debuff for only several 13:06:21 turns and thus makes both spells perform very badly compared to their competition. 13:06:44 <06r​egret-⸸nde※> There's no actual complicated set-up needed to take a tormentor from any other Hell into Cocytus or Dis. 13:07:24 <08n​lavsky> you need to be strong enough to return from a hell alive (or undead 🙂 ) 13:07:46 <06r​egret-⸸nde※> (There is no complicated set-up needed to take a Cocytus:1 Tormentor through the rest of Cocytus, really.) 13:07:46 <08n​lavsky> and by this point halfing enemies' hp on demand is not too strong 13:07:58 <06r​egret-⸸nde※> ???????? 13:08:36 <08n​lavsky> where all the mummy players who kite tormentors into zot so they could fight dragonians slightly better? 13:08:46 <04d​racoomega> I mean, you don't even need to drag anything anywhere. The ice fiends already live there. 13:10:19 <08n​lavsky> kiting a monster has a risk of it blocking your path, and it's like the only reason against this strat I could think about 13:12:45 <04d​racoomega> Anyway, does this argument even serve a purpose? In what meaningful gameplay ways do you think Crawl is improved by monsters casting torment regardless of whether it will damage any enemies of theirs? Since that's the starting point here. I don't think 'monsters always do exactly the same things regardless of the player's state' is an attainable goal, even if it were a desirable one. Unless you simultaneously want to have things 13:12:45 start casting LRD uselessly against flesh and Dispel Undead useless against the living (or making all of those spells just work to some degree on everyone for some reason). Like, maybe those sound like strawmen, but I don't intend them that way. I just mean that there is a line where at some point we say "Monsters can use this to inform their behavior". There will never not be a line. So how does shifting the current line by this far in this 13:12:46 direction improve the game? 13:14:35 <08n​lavsky> the simplicity of the "if you have a hammer everything looks like a nail"/"monsters don't care about player resistances" rule would be extremely easy for players to grasp, unlike the current inconsistent state 13:15:00 (apropos of nothing much I was just wondering about this having made rime drakes not flash freeze you when you are Frozen, weird coincidence) 13:15:51 DylboDaggins (L11 MiBe) ERROR in 'mon-act.cc' at line 2454: infinite handle_monsters() loop, mons[0 of 1] is blink frog (Lair:1) 13:16:41 <03i​mplojin> !crashlog 13:16:46 <04C​erebot> 29032. DylboDaggins, XL11 MiBe, T:6933 (milestone): https://cbro.berotato.org/morgue/DylboDaggins/crash-DylboDaggins-20241022-201543.txt 13:16:47 <08n​lavsky> also, some arguments do sound like strawmen, since their in-game impact is either minimal or not noticeable at all 13:17:38 <03i​mplojin> i'm really disappointed this crashlog didn't happen in frog pond 13:18:11 <08n​lavsky> also, also, I clearly should've discussed this topic prior to my commit, I had no idea people feel so strongly about this 13:32:27 <06r​egret-⸸nde※> The ideological purity of singular rules that still aren't easily communicated to the player doesn't remotely make up for the active gameplay functionality and bizarrely-inexplicably-cast-aside notion that tormentors and fiends should just spend turns doing nothing but hurting other monsters for every shrike and giant in Cocytus and Dis. 13:34:24 <08n​lavsky> monsters caring about harming other monsters is a separate issue 13:36:20 <08n​lavsky> as was already mentioned, a summoned tormentor halving the health of a whole bunch of nearby elves is not a net positive for the defense of the Elf:3 loot room 13:37:43 <08n​lavsky> and for tormentors spending turns hurting their allies, there's the small mammal strat, which no one uses, so we are just going in circles 13:41:59 <08n​lavsky> also, > rules that still aren't easily communicated to the player A monster casts a spell, there's a message about it, the screen flashes, a projectile flies, whatever, but you take no damage and there's even "Nothing happens." in the message log. There is no more convenient and easier way to spot to telegraph the immunity. 13:46:27 <06r​egret-⸸nde※> Nobody uses the small mammal strat because actively having to use up a player's turns is substantially more inconsistent casting the spell versus being able to otherwise normally fight. The refusal to acknowledge this or a dozen other presented arguments means no communication is actually occurring here. 13:48:45 <04d​racoomega> Flash freeze used to do no damage at all to targets that were frozen and so monsters wouldn't use it on anything that was frozen (either player or monster). But that always felt a little weird to me, so I took that property away from it some number of months ago. 13:49:30 <08n​lavsky> You spend 1 turn and 1 mp to summon 1 bat, which triggers your tormentor to half hp of all nearby alive monsters. It's a good trade, or to be more precise, essentially free damage. 13:51:10 <08n​lavsky> when we talk about a potential future where a mummy could kite a tormentor for free damage, it's good to remember that it's already a thing, but no one bothers to use that 13:54:04 <08n​lavsky> (and I'm aware about other arguments, but the Torment one felt like the most extreme case) 13:55:13 <04d​racoomega> I'll note that this doesn't really respond to the question about such things as LRD and Dispel Undead. (Or even just not casting Strip Resistance against targets which are already vulnerable.) Do you have any evidence that players find it hard to grasp that monsters won't try to torment them when they're undead? (Also: does the ideological line of 'monsters always exhibit the same offensive behavior regardless of the properties of 13:55:13 their targets' extend to other monsters? Monsters are even more thorough about not doing useless actions against other monsters, at present. Are summoned lindwurms supposed to spend turns breathing at salamanders?) 13:59:43 <08n​lavsky> I have no such evidence, obviously, since I don't even know how that should look like to be accepted as an objective truth. 14:00:05 <08n​lavsky> and to the 2nd question, yeah, they should waste turns, if we go all the way in that direction 14:01:03 <08n​lavsky> Should monsters cast LRD on cats who stand in the open? Yeah, this looks like the point where I'd agree with you that it's silly. 14:02:21 <08n​lavsky> although, cats have bones inside them, so there is something to deconstruct! 14:03:25 <08n​lavsky> which leaves only casting LRD on insubstatial players, like Djs or wisp-form players, as a silly thing 14:04:07 <08n​lavsky> also, doesn't recasting Strip Resistance resets/increases the duration? 14:08:56 <04d​racoomega> (Oddly enough, it looks like it would extend duration against players, but do nothing against monsters, code-wise, if monsters were willing to cast it under those circumstances. But extending a debuff like that is generally extremely low-value for a monster to in combat, so they don't.) 14:09:40 <04d​racoomega> So you think monsters should entirely ignore the resistances of other monsters in combat, in general? 14:11:12 <04d​racoomega> (Because that is also rather an important part of monsters determining when to even use things against the player - see orbs of fire shooting through each other because they know that this is fine to do. Or death mages casting bolt of draining through undead to get to you, etc.) 14:11:31 <08n​lavsky> I don't know, like, I try to imagine a bribed oof throwing fire balls and bolts of fire at a hostile oof, and don't find it much different than the current standing still next to the enemy. 14:12:02 <04d​racoomega> I mean, you picked the one case where the monster literally can't hurt the other one no matter what 14:12:08 <04d​racoomega> That's always going to be weird 14:12:29 <04d​racoomega> (Okay, not literally the only case, but it's generally very rare outside of the fairly famous example here) 14:12:37 <04d​racoomega> Almost everything can at least hit a monster 14:13:00 <08n​lavsky> i agreee that the current behavior of basilisks not trying to affect monster gargoyles is weird 14:14:21 <08n​lavsky> and i would expect lindwurms to fire at salamanders 14:16:40 <08n​lavsky> (so for some summoners it would be a nerf, are there any other categories of allies who depend on being able to reason about resists?) 14:25:46 I think it's subjective, and myself disagree, with the fundamental premise that it *is* more intuitive for monsters to treat innate resistances from holiness the same as temporary ones from item enchantments. it's obvious that poisoning a mummy won't do much, but easy to say a monster can't recognize a ring of poison resistance. monster AI is often 14:25:46 suboptimal to improve gameplay, such as mindlessly charging at the player, or tormenting many allies to hit one enemy, but those decisions aren't *entirely* absurd, just tactically poor. the distinction matters, and from a player perspective, I'd be more surprised by repeatedly trying to torment a ghoul than the current state of things 14:32:49 (I also separately think the distinction of "it's even more *convenient* to drag a tormentor around without even having to cast summons to get it to act" is very relevant outside of theoretical optimal discussions, the convenience is important to whether people actually do these things in real gameplay. and the amount of rebalancing required on the 14:32:49 many monsters that would be affected is nontrivial too. but even without those *extra* drawbacks, I still see the core premise of making monsters ignore species/form as itself a drawback) 15:19:50 03kate-02 07* 0.33-a0-271-g2f91ea3cd2: Display Imbue Servitor's delay on the ability menu 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/2f91ea3cd2f3 15:38:20 Unstable branch on underhound.eu updated to: 0.33-a0-270-g361589c4d2 (34) 16:44:28 -!- MakMorn_ is now known as MakMorn 17:15:12 03kate-02 07* 0.33-a0-272-ge5f5f5be5e: Fix Ignition exploding on projectiles 10(4 minutes ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/e5f5f5be5e4e 18:15:13 <09h​ellmonk> It might be possible to sidestep some of the luring problem by modifying foe ratio for cloud spells and/or torment in some fashion (I believe it does not do a good job of accounting for collateral damage currently). My general position on this kind of thing is that a. monster luring is a real problem that should be taken seriously (see also the kind of stuff people used to do with silent spectres) but b. it is not possible to handle 18:15:13 every possible edge case given crawl's overall game structure, because you can conceivably justify luring any monster that has actions that affect other monsters and that is too much design space to sacrifice 20:07:08 <04d​racoomega> While I think I broadly agree (ie: "Luring can be an actual thing in some situations, but that preventing absolutely all possible cases of it closes off too much design space"), I think there is no reason to open this can of worms in this particular situation at all. Quite outside of luring concerns, the Hells place monsters with torment and monsters vulnerable to torment in the same places and needing to craft additional fuzzy logic 20:07:08 to try and prevent them from blowing each other up for literally no possible benefit seems incredibly suspect when currently they will already not blow each other up for literally no benefit for extremely straightforward logic. 20:09:07 <04d​racoomega> And while one can single out any specific possible fallout of a sweeping change to how monsters evaluate the immunities of the player or other monsters and say "This bit of fallout is solvable via X", I think it's worth stepping back and considering what actual gameplay benefit are we getting for something that would need new logic and balance changes all through the entire game. 20:13:36 <09h​ellmonk> yeah fwiw I think the gameplay of "monsters know player intrinsic immunities and always respect them" is probably better than "monsters don't know about player intrinsic immunities" if we did want to make a change from the current (inconsistent) framework 20:14:47 <09h​ellmonk> monster ai wrt casting spells is already very opaque so it's unclear to me how much benefit changing it is worth 20:28:41 <08n​icolae> obviously* the solution is that intelligent enemies will try something you're not obviously immune to, notice that you're immune to it, and remember that for later. The whatever realizes you are immune to unholy torment! this will require storing for each intelligent monster a list of what shit they know you're immune to, which i assume is trivial- 20:32:32 I think you need to catch up on backscroll 20:44:22 also, learning like that has its own problems: the first time a monster attacks you with something you resist via a ring it learns not to do so, then you swap resists… 20:44:51 (okay, you may need to leave LOS for that, but eminently doable) 20:57:11 <08w​ormsofcan> btw there is one early game tormentor 20:57:21 <08w​ormsofcan> everyone forgets about poor menk..... 21:25:39 <12e​bering> lurin menk around to trivialize the game until enemies are torment immune as megabrain play 22:35:17 Unstable branch on crawl.develz.org updated to: 0.33-a0-272-ge5f5f5be5e (34) 22:57:31 Windows builds of master branch on crawl.develz.org updated to: 0.33-a0-272-ge5f5f5be5e 23:13:55 Unstable branch on cbro.berotato.org updated to: 0.33-a0-272-ge5f5f5be5e (34) 23:54:54 Monster database of master branch on crawl.develz.org updated to: 0.33-a0-272-ge5f5f5be5e