00:48:26 <06m​umra> Pretty happy with the blindness effect at this stage ... I changed the formula so the malus isn't half as bad at 1-2 tile range, could get pretty ridiculous with high EV enemies. Lots of other improvements in the PR around to-hit calcs, fixed some hidden bugs along the way. 03:31:32 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5199-gb287095a7e 05:06:41 Unstable branch on crawl.akrasiac.org updated to: 0.32-a0-931-g5a2cda0 (34) 07:24:13 For monster tiles, is there a specific position within the tile that a weapon will be held from? 07:25:58 There's a default but tiles can have a weapon and shield offset so it's not that every tile has to have the hands in exactly the same place 07:41:42 <06p​leasingfungus> you want to be careful to not move the hands too far to the edges, since that will make the weapon poke out of the edge of the tile 07:41:49 <06p​leasingfungus> which causes buggy rendering on webtiles 08:42:37 the other option would be a clipping rectangle so it's impossible for a weapon to poke out with a further warning introduced informing that clipping happened and what object did it. That way if someone does cause clipping they will be hit over the head without causing the weapon being drawn in a wall or monster. 08:45:12 <06p​leasingfungus> sure, lots of room for improvement 08:46:10 <06p​leasingfungus> though note that the issue isn’t with weapons being drawn on walls or other mons; it’s with them leaving leftovers behind that don’t get redrawn 10:53:29 Rakshasa tile: https://cdn.discordapp.com/attachments/804744417533362209/1228764709843632258/rakshasa.png?ex=662d3b50&is=661ac650&hm=575d358216aabcdbf8882b775d83ddbd417afcdb11028a073bc289469cdd6ffe& 10:53:55 Upscaled version if that's helpful for anyone: https://cdn.discordapp.com/attachments/804744417533362209/1228764689648062584/rakshasa400.png?ex=662d3b4b&is=661ac64b&hm=0cf1201a77ecd748f31a146c0cc3dd494d5147639b860e3a7e5304ed58961a1f& 11:15:21 Hi. I was reading some source code and came across `max(0, (int)(16 * sqrt(sqrt(you.armour_class()))))`. Do you not care about the undefined behavior of casting the potential NaN to int? Rewriting in a way that doesn't have UB seems easy. 11:19:48 <06p​leasingfungus> what NaN? 11:20:01 armour_class() may be negative, right? 11:20:21 <06p​leasingfungus> may it? 11:21:46 <06p​leasingfungus> i suppose it might 11:21:54 due to AC -= 100 * corrosion_amount(); 11:22:01 <06p​leasingfungus> yes 11:22:44 <06p​leasingfungus> i'll fix it 11:22:45 <06p​leasingfungus> thanks! 11:22:52 thanks for caring 11:23:16 <06p​leasingfungus> 🙂 11:27:12 03PleasingFungus02 07* 0.32-a0-932-g546787307d: Fix: destroy the power of imagination (CuriousUB) 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/546787307d95 11:38:37 https://tavern.dcss.io/t/tile-art-creation/706/2 made a tavern thread to share images on in general, since I think discord is a bit untrustworthy as a hosting platform 12:05:55 <06p​leasingfungus> yes, discord images tend to vanish quickly 13:18:29 likely because some people put put 4k 6k and 8k images on them, which are a bit rough for storage on a server where storage is a premium (a lot more expensive than a home machine and also is backed up regularly). 13:25:02 s/put put/put out/ sigh 13:32:17 Made tiles for box of beasts: 13:32:18 (inert) - https://tavern.dcss.io/uploads/default/original/1X/185377c3131a4238506985170a25273bcad7820e.png 13:32:18 (ready) - https://tavern.dcss.io/uploads/default/original/1X/463c52280d98a7b7075bd92ad5c747d3d8a341f2.png 13:41:00 <06p​leasingfungus> haha, love the eyes peeking out 🙂 13:43:07 ahaha yeah that was the first thing I thought when I saw box of beasts on the art requests list 13:49:47 <04d​racoomega> // XXX Unbelievably hacky. And to think that my goal was to clean up the code. Nice 17 year old comment here 13:50:07 <04d​racoomega> Also, the charged box is cute ^^; 13:50:27 CHARGED 13:50:36 THAT'S THE WORD I WAS LOOKING FOR BEFORE 13:50:41 also thank you <3 13:50:54 <04d​racoomega> ....you're welcome? ^^; 13:51:06 <04d​racoomega> (I wasn't quite sure how to take your immediate reaction for a second there :P) 13:52:23 <04d​racoomega> I've been wanting to adjust the default target selection for a new spell, but a lot of this code is... not the most clear. And moveover, I'm not sure it currently has any concept of "Yes, we could aim at this monster safely, but we'd also probably prefer not to if there's any other choice." 13:53:42 wasn't kate- the one to talk to about targeters? 13:55:47 <04d​racoomega> This isn't really a targeter issue. Or rather, I've coded plenty of targeters by now, and they're essentially just functions that return valid aims and tiles that will be affected by those aims. The code that picks where the cursor starts when you're casting a spell operates inside a much older part of code that just accepts a targeter as an argument for what is valid/affected. 13:56:19 <04d​racoomega> And spirals around to essentially find the nearest monster that is valid to shoot at, as far as I can tell. (With some weirdness for explosions) 13:56:29 ah 13:56:47 <03s​emi_tonal> targeters are fun but yeah, i don't think i've ever done much work with that codepath that decides how to prioritise intial targets 13:58:20 <03s​emi_tonal> other than adding an option to disable the fancy targeting when you do aim an explosion and just fall back to the simple behaviour of aiming at the closest target, since the attempts to be clever often result in it being much harder to actually predict what the targeter is going to do in my experience 13:58:51 <03s​emi_tonal> (so my general thought on that sort of thing is that it should be as simple and predictable as possible) 14:01:33 <04d​racoomega> That is a generally fair point. I wasn't trying to do any especially 'clever' behaviour here, just prefer to aim at targets that aren't already debuffed by this non-stacking thing if any are available. 14:01:49 <04d​racoomega> Since it's essentially strictly worse not to 14:03:13 <04d​racoomega> But the UI code doesn't seem to really have any space between "This literally does nothing useful to a target" and "We definitely want to aim at this if it's the nearest thing" 14:04:24 <09h​ellmonk> How does the enfeeble targeter work? I think that would have a solution if there is one. 14:04:46 <09h​ellmonk> Assume it doesn't check though 14:05:21 meckryl, I assume that's a chest mimic 14:07:51 <04d​racoomega> It just keeps aiming at the last thing you were targeting. Though that's a spell you'd both want to spam less than what I'm working on here and also at least the antimagic does stack. 14:08:15 GenTooMan, ...I guess it kinda does look like one, but it's definitely a box of beasts, I double checked 14:08:45 <04d​racoomega> But the current working version of this is basically "Mark an enemy, then zap at all marked enemies." so you want to spread it around rather than just keep remarking the same thing. 14:09:15 <04d​racoomega> But you could just cast it at the same thing if nothing else was around, so it's not like it's invalid 14:09:17 <06r​egret-⸸nde※> (Inner Flame doesn't stack in any capacity and doesn't have smart targetting either.) 14:09:37 <09h​ellmonk> hmmm, is it bad to just prohibit re-marking a marked enemy altogether? Something to do with how you activate it? 14:10:01 <09h​ellmonk> (because then you can just have those enemies as not valid targets) 14:10:54 <04d​racoomega> Well, then that means if you have only one or two enemies in sight, then you can't zap them again until it wears off (which doesn't take very long, to be clear, but still feels kind of weird?) 14:11:17 <09h​ellmonk> Oh I see, it zaps every time 14:11:19 <04d​racoomega> Yes 14:11:47 <04d​racoomega> It's maybe not a big deal if you just hit + after each cast, but it does mean you can't autocast with it in a reasonable fashion unless it tries to pick a different enemy instead 14:19:32 <04d​racoomega> It feels like what I'm imagining maybe needs to do it in two passes. First, look for 'preferred target' and if it finds none, then fall back to 'any valid target'. Maybe at a preferred_aim method to targets (that by default just returns the same as valid_aim, but could be easily overridden in specific cases we have reason to think being more choosy by default makes sense, such as for Inner Flame as well) 14:27:58 <04d​racoomega> Although index seems to have been wrong about Inner Flame and it already doesn't let you cast it on something that has it 14:28:16 <04d​racoomega> (So the autotargeter does move on to something else) 14:30:45 <04d​racoomega> If that's the case, I wonder if there are any other comparable situations that would benefit or if this is just a magnavolt oddity >.>; 15:08:24 New branch created: pull/3762 (1 commit) 13https://github.com/crawl/crawl/pull/3762 15:08:24 03dolorous02 07https://github.com/crawl/crawl/pull/3762 * 0.32-a0-933-g9ecfe18a2e: Allow wanderers with shapeshifting skill. 10(20 minutes ago, 1 file, 24+ 3-) 13https://github.com/crawl/crawl/commit/9ecfe18a2e0c 15:38:04 Unstable branch on underhound.eu updated to: 0.32-a0-932-g546787307d (34) 20:33:10 03dolorous02 07* 0.32-a0-933-ga8fa3634e4: Fix wording. 10(2 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/a8fa3634e45e 22:35:45 Unstable branch on crawl.develz.org updated to: 0.32-a0-933-ga8fa3634e4 (34) 22:59:25 Windows builds of master branch on crawl.develz.org updated to: 0.32-a0-933-ga8fa3634e4 23:13:27 Unstable branch on cbro.berotato.org updated to: 0.32-a0-933-ga8fa3634e4 (34) 23:55:53 Monster database of master branch on crawl.develz.org updated to: 0.32-a0-933-ga8fa3634e4