03:33:29 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5199-gb287095a7e 05:07:11 Unstable branch on crawl.akrasiac.org updated to: 0.32-a0-996-gb3226c2 (34) 07:50:10 <06m​umra> Just uncovering some interesting bugginess in bouncing beams 07:50:57 <06m​umra> It seems possible to hit outside of LOS with a bouncing spell in certain conditions (when LOS is reduced via robe of shadows etc) 07:51:46 <06m​umra> Additionally, monsters can get a +1 range from Vehumet if you are a worshipper and their beam bounces 😂 08:08:08 <06p​leasingfungus> lol 08:20:18 <06m​umra> obviously actually fixing this isn't straightforwad 08:28:19 <06d​olorous_84348> Monsters' getting +1 range from Vehumet if their beam bounces could be justified, at least. "Your beam bounced off me? It's my beam now. O Vehumet, do your thing with my beam!" 08:33:31 <06m​umra> Perhaps yeah 🙂 but of course it's just not checking who owns the beam 08:34:03 <06m​umra> And "who owns the beam" is, in the case of bounces, another area full of issues 08:34:13 <06d​olorous_84348> Point. 08:36:08 <06m​umra> In fact reflections are completely separate to bounces (of course) and they basically just start a new beam rather than "diverting" the existing one 08:37:22 <06d​olorous_84348> Yikes. 09:10:29 <09g​ammafunk> I recall we have a really nasty design in terms of the identifying the original actor of a reflected struct bolt and various hacks have been made to prevent crashes when this information was needed but unavailable, but fundamentally given how our bolt system is designed, there's no easy way to fix/refactor 09:25:19 <06m​umra> Yeah 09:26:02 <06m​umra> I think a big problem is it's one enormous struct that handles so many things 09:27:26 <06m​umra> A lot of special cases would probably be better handled by subclassing instead (e.g. explosive beams vs regular, projectiles/ranged vs spells) 09:30:32 <06m​umra> But actually untangling all of that would be a pretty daunting task 09:46:03 <09g​ammafunk> yeah in general it feels like we don't break functionality into either subclasses or classes we use with composition enough 09:47:36 <09g​ammafunk> thinking about how monster/player has so much stuff directly in the class and we simultaneously have all these functions that exist independently and take monster/actor arguments and it's not very clear when it's better to make it a method 09:48:24 <09g​ammafunk> but that's all very vague and refactoring things on that level is a ton of work 11:53:59 <12g​e0ff> re: giving ophan the Mark aura. My first player reflex would be to quaff cancellation to remove this status. There's currently a bug that makes !cancellation drinkable when you're in torpor snail's Slow aura. The potion's description says it can remove the Slow, but the aura reapplies it immediately. So I wonder if the potion would promise to remove ophan aura's Mark too. 11:58:21 03dolorous02 07* 0.32-a0-997-gcfd66e3ff3: Make class-specific orc names work with apostles. 10(17 minutes ago, 3 files, 32+ 6-) 13https://github.com/crawl/crawl/commit/cfd66e3ff313 12:01:50 <06d​olorous_84348> I tried to add a few class-specific names to orc apostles, only to discover that they were broken by the Beogh overhaul (since you don't get friendly orc priests, per se, anymore). But after some code wrangling, it finally works. (I dislike the bit of duplicate code when naming apostles in their own function, but I'm not certain whether it can be removed without breaking stuff.) 12:05:52 <06d​olorous_84348> And the build is apparently failing, but it didn't locally. Looking into it. 12:16:17 <06d​olorous_84348> If I understand things correctly, the problem is that apostle_type is needed in order to figure out what name is needed for the given apostle, but that enum is only defined in ghost.h, and ghost.h needs to be included in mon-util.h so that the prototype for give_apostle_proper_name() is properly understood, which means that both mon-util.cc and mon-util.h now include ghost.h. And that's triggering a build failure somehow that I 12:16:17 can't reproduce locally. 12:26:14 <06d​olorous_84348> I made give_apostle_proper_name() static, which I think should fix the problem. (If that function ever needs to be called outside of mon-util.cc, the problem will come right back up, however.) 12:27:04 03dolorous02 07* 0.32-a0-998-g15e7c0074e: Fix the build? 10(2 minutes ago, 2 files, 4+ 5-) 13https://github.com/crawl/crawl/commit/15e7c0074edc 12:36:42 <06d​olorous_84348> And it's working. 13:12:00 <04d​racoomega> It's funny; I wouldn't have actually thought to think !cancellation's description saying it can remove Slow was a bug since it does remove slow... and the slow is just immediately reapplied (because what did you think was going to happen). But it's a reasonable point that if anyone has to check the description of the potion to see if it will remove something, then we can't expect they know what will happen afterward. That being 13:12:00 said, even if !cancellation would have to be special-cased to check for each of these aura tags, it shouldn't be hard to do so 13:20:19 <12g​e0ff> > because what did you think was going to happen i don't know what other players expect to happen here, but it felt 100% buggy to me 🤷‍♂️ . Also, Slow aura feels similar to Flay, and there're two way to get rid of Flay: killing a flayed ghost or drinking !cancellation. 13:21:22 <04d​racoomega> I guess I would personally expect anything that is passively continuously applied to just immediately reapply itself after quicksilver or cancellation 13:21:28 <04d​racoomega> It's not a one-and-done deal 13:21:48 <04d​racoomega> But like... I'm not arguing that cancellation shouldn't clarify this ^^; 13:21:49 <12g​e0ff> that's because you know how it's implemented 🙂 13:21:59 <04d​racoomega> This is what I thought before I'd looked at any of the code! 13:22:06 <04d​racoomega> And just had played around torpor snails 13:22:21 <04d​racoomega> But again, I'm not expecting everyone to know this 13:22:30 <04d​racoomega> So I agree with fixing it, to be quite clear ^^; 13:23:15 <04d​racoomega> One can never clarify in-game descrptions so much that nobody will be mislead, but increasing that percentage where possible is a good goal 13:23:43 <04d​racoomega> (Need to go clarify that 'inventory is full, so can't invent a gizmo' message too, after I saw someone be confused about that as well >.>) 13:24:05 <04d​racoomega> With some additional "Try dropping an item!" kind of suggestion 😛 13:24:09 <12g​e0ff> (also, a monster that permanently applies Mark sounds scary 🙀 ) 13:25:58 <04d​racoomega> I mean, it's not hard to kill the ophan itself (do they even do anything else right now?) 13:26:21 <04d​racoomega> This was Index's suggestion, and I agree with it being somewhat conceptually interesting, apart from the whole "I have no idea what we're doing with most holies in a general sense" 13:27:02 <04d​racoomega> But these high-level holies basically exist very fleetingly in Pan, and in Zigs, and that's about it 13:27:44 <04d​racoomega> (Finite gauntlet Pan with a guaranteed holy floor you have to get through does cement that roster's position a lot better, but that's not likely a 0.32 thing) 13:28:19 <04d​racoomega> My sense of any high-level holy monster balance is extremely wibbly with such a loose context for them, though 13:32:33 <02M​onkooky> I've never expected cancellation to remove torpor snail slow- that'd be weird af with how it deapplies/reapplies when entering/leaving the aura- but also I'd never expect to be allowed to quaff if torpor snail slow was the only cancellable effect on me. 13:33:03 <02M​onkooky> And I can easily see someone being slowed, or much more so marked, and quaffing cancel immediately without checking the source 13:33:14 <04d​racoomega> (It makes sense, but also I didn't realize you couldn't drink it without cancellable effects, as I guess I've literally never tried) 13:33:48 <06d​olorous_84348> Same here. 13:34:15 <06d​olorous_84348> I never realized that either. 13:39:59 <04d​racoomega> (But of course, some of this may come from having a better idea of what you can or can't cancel in the first place) 13:52:23 <12g​e0ff> surprisingly, !cancellation works correctly with Silence: it becomes drinkable if you're radiating silence, but not when you're just standing in, say, silent spectre's aura. 14:40:06 <02M​onkooky> that's because silence is done as a 'terrain effect' essentially 15:03:40 <04d​racoomega> @Monkooky I know you've been thinking something ought to be done about the Charlatan's Orb effect (because of weird things with evoker scaling and such when above normal max power, among other things) and it struck me this morning: what if it just set your evo to some flat high amount, a little like how Hermit's Amulet works? It lets you fake being really skilled at things, even when you know nothing yourself! And maybe eventually 15:03:40 you could actually study evo and 'fake it until you make it' (except probably you don't because it's easier not to), which feels like coincidentally appropriate flavor as well 15:04:29 <04d​racoomega> Wearing an orb at all is a fairly significant opportunity cost here 15:04:53 <04d​racoomega> So I'm not sure that even this would need any other downside than it already has, but could actually be an exciting item to find at some points of the game 15:37:01 Unstable branch on underhound.eu updated to: 0.32-a0-998-g15e7c0074e (34) 17:23:14 03dolorous02 07* 0.32-a0-999-gfa1cc04b1d: Fix punctuation. 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/fa1cc04b1d2f 19:39:25 -!- The topic of #crawl-dev is: Crawl Development | https://github.com/crawl/crawl | Logs: http://s-z.org/crawl-dev/, temporarily http://crawl.akrasiac.org/logs/cheibriados/ | People with +v have commit access, devs on bridged discord as well | General Crawl-related chat to #crawl | Long stuff to a pastebin service, please 19:39:26 -!- The topic of #crawl is: Play Dungeon Crawl Stone Soup online now! Type ??online for instructions, ??lg / !lg for play stats | PM Sequell for long queries | http://crawl.develz.org | FooTV game replays: ??footv for instructions | #crawl-dev for dev discussion, #crawl-offtopic for offtopic 22:35:20 Unstable branch on crawl.develz.org updated to: 0.32-a0-999-gfa1cc04b1d (34) 22:57:14 Windows builds of master branch on crawl.develz.org updated to: 0.32-a0-999-gfa1cc04b1d 23:13:10 Unstable branch on cbro.berotato.org updated to: 0.32-a0-999-gfa1cc04b1d (34) 23:56:01 Monster database of master branch on crawl.develz.org updated to: 0.32-a0-999-gfa1cc04b1d