00:01:31 <09h​ellmonk> sounds correct too me 02:27:49 03CrawlOdds02 07* 0.35-a0-987-gd83ff4acae: Don't create spectral weapons from dropped weapons 10(61 minutes ago, 1 file, 8+ 0-) 13https://github.com/crawl/crawl/commit/d83ff4acae8c 02:27:49 03CrawlOdds02 07* 0.35-a0-988-g95c4dbd529: Prevent orphaned spectral weapons 10(61 minutes ago, 3 files, 8+ 6-) 13https://github.com/crawl/crawl/commit/95c4dbd529e3 02:27:49 03CrawlOdds02 07* 0.35-a0-989-g4aa2ed9d3b: Remove spectral weapons when unequipping the Glaive of the Guard 10(32 minutes ago, 1 file, 3+ 7-) 13https://github.com/crawl/crawl/commit/4aa2ed9d3b32 02:31:40 <11O​dds> Those should fix that last crash (actually, either of the first two commits should fix it). There's a failure mode if I've missed a way a spectral weapon can end up orphaned, since I've removed the cleanup step that deals with that. But IMO it was a pretty scary cleanup step (I'm not surprised it led to a crash here), and I'd rather consistently enforce the invariant that spectral weapons have a valid, alive summoner 02:47:11 heya, i was thinking of changing "you.props[ICY_ARMOUR_KEY]" to hold the AC bonus instead of power that then is used to calculate AC. Would this cause save compatibility issues? 02:54:59 <11O​dds> Yes I think it would, you'd need to add some code in tags.cc to migrate it. (I've got no particular opinion on the change itself, is there some reason it would be more convenient that way or just a bit neater to have the calculation in the casting place?) 02:56:27 https://github.com/crawl/crawl/pull/5402 im working on displaying the stats in the spell description 02:57:13 and having the calculation in two places would be bad methinks 03:00:42 ah, nevermind, i thought player.cc wouldn't include spl-selfench.h but since it does it can just call the function in there 03:08:44 <04d​racoomega> There's actually at least 3 different comments that reference the ability of spectral weapons to cease existing at unexpected times (which is something I'd even looked into semi-recently, but ended up not doing anything with yet.) It definitely sounded a bit unsafe. (I'm not really worried about a rare failure state of 'orphaned spectral weapon just hangs around', though. It sounds fairly harmless. It's possibly not even the 03:08:45 weirdest spectral weapon behavior that currently exists. >.>) 03:09:10 <11O​dds> Yeah, it's also a failure state that will get reported to us promptly 🙂 03:09:41 <11O​dds> I should clean up those comments and any defensive code around them though 03:10:23 <04d​racoomega> I can't help but wonder if this on-death removal could be handled in remove_summons(), though 03:11:31 <04d​racoomega> (I suspect that one fairly harmless wrinkle is that a hostile spectral weapon might hang around after you charm a monster with a spectral weapon out, and it might even still attack without being replaced?) 03:11:54 <04d​racoomega> Which is another place that remove_summons() is called (upon charming something) 03:12:04 <11O​dds> Yeah just looking through those places 03:12:37 <04d​racoomega> Oh, it does get replaced when the monster attacks, I guess 03:12:58 <11O​dds> Death, charming, becoming a bound soul, attitude change 03:13:20 <11O​dds> These all seem like very reasonable times to dismiss a spectral weapon 03:13:33 <04d​racoomega> (One other spectral weapon issue I noticed the other day is that - if you have decent stealth - monster spectral weapons will spawn unaware of you and then often flee into the distance. This doesn't really matter, since the fineff just makes a new weapon every turn anyway, but looks deeply silly) 03:14:49 <04d​racoomega> At the time, I decided this handful of spectral issues was a rabbit hole I should avoid stepping into until my current projects are done >.>; 03:16:01 <11O​dds> Yeah spectral weapons stick around and stay hostile when you charm their owners which is not great (in a mostly cosmetic way) 03:16:20 <11O​dds> Heh, interesting 03:16:54 <11O​dds> I'll move the check into remove_summons, all those dismissal places seem like a good idea for exactly the same reasons they do for summons 03:23:20 <04d​racoomega> My own dev tasks for the day start with trying to deal with something that was marked XXX: suspect a decade ago. And would you believe is actually suspect? (And is actually causing a real problem now.) 03:25:28 <04d​racoomega> Beams that don't go anywhere - usually because they're aimed point-blank at a wall - claim that they travelled over their source tile to avoid some crashes that dislike an empty path_taken. But this is causing an issue with the wide-beam targeter, which is quite likely to have some beam in them stopped by a wall, which makes the targeter think aiming that way will hit you. In confined areas, this means autofire will refuse to 03:25:29 use it at all. 03:25:34 03CrawlOdds02 07* 0.35-a0-990-gbae276900f: Move spectral weapon removal into remove_summons (DracoOmega) 10(5 minutes ago, 2 files, 5+ 9-) 13https://github.com/crawl/crawl/commit/bae276900ff3 03:25:52 <04d​racoomega> Even though it is actually perfectly harmless 03:26:45 <11O​dds> I'd have thought starburst already suffered from this? 03:26:52 <11O​dds> And that does sound terribly suspect 🙂 03:27:07 <04d​racoomega> The visual overlay does show it 'hitting' you, but because that one is actually unaimed, the targeter can't object 03:27:38 <11O​dds> Ahhh 03:27:39 <04d​racoomega> It's actually easy to notice in-game if you aim basically any projectile at a wall you're next to 03:27:54 <04d​racoomega> Just harmless, since usually it's completely useless to do this 03:28:56 <11O​dds> Now you get to work out why someone resorted to this suspect hack 03:28:56 <04d​racoomega> (I tested that this was actually the problem with the new spell's targeter by hacking the targeter itself do never consider your tile hit by multibeams. Which does work, but is also very incorrect where crystal walls are involved, so I have to fix this properly ^^; ) 03:29:30 <04d​racoomega> I basically already know why - a few places where crashing due to querying path_taken directly, on the assumption that it always contained something. I just need to take a closer look to decide on the best way to fix this. 03:30:09 <04d​racoomega> Whether any specific places this is done could do something else or whether it's safe to toss a (0, 0) into path_taken instead 03:30:13 <04d​racoomega> As an 'empty' path 03:30:20 <04d​racoomega> That nothing could be in the way of 03:31:07 <04d​racoomega> The commit history has a few different fixes being done/reverted in sequence, a decade ago 03:33:54 <11O​dds> One would hope that the places that rely on path_taken could stop doing so, since an empty path is just the truth 03:34:45 <04d​racoomega> One would hope, yes 03:35:03 <04d​racoomega> Certainly our list of users is different than a decade ago, so I'll have to look over it carefully 03:35:56 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5261-gd9800d219b 03:38:28 <04d​racoomega> Really, reviewing this, I suspect the number of monster tracers that assume path_taken is non-empty are actually 100% correct, since they already picked their aim position in a way that ensure that is true 03:38:41 <04d​racoomega> (And it may have been an issue mostly for player-aimable things) 03:39:21 <04d​racoomega> I am not sure we have any of those left (but I'm still looking) 07:12:17 03CrawlOdds02 07* 0.35-a0-991-g94be9899a6: Remove stale comments about spectral weapons 10(15 minutes ago, 2 files, 10+ 9-) 13https://github.com/crawl/crawl/commit/94be9899a674 07:27:22 03CrawlOdds02 07* 0.35-a0-992-g00606f08a6: Remove an obsolete safety check 10(4 minutes ago, 1 file, 0+ 8-) 13https://github.com/crawl/crawl/commit/00606f08a699 10:11:27 03regret-index02 07* 0.35-a0-993-g0c79d51204: Display frenzy's increased melee damage on xv again 10(67 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/0c79d51204f5 10:32:53 03Hellmonk02 {GitHub} 07* 0.35-a0-994-g99d7c3def5: Improve magical staff description (Ix-risor) (#5403) 10(41 seconds ago, 1 file, 85+ 27-) 13https://github.com/crawl/crawl/commit/99d7c3def59f 14:00:10 03hellmonk02 {dolorous} 07* 0.35-a0-995-g32aa59703e: Fix a bug with penance titles 10(10 weeks ago, 1 file, 4+ 1-) 13https://github.com/crawl/crawl/commit/32aa59703eb6 14:06:51 <11O​dds> CAO's build is failing because it doesn't like std::map.emplace, because of an ancient compiler 14:07:50 <11O​dds> We've worked around this before in https://github.com/crawl/crawl/commit/12d9f381c8a4.... but this really is some very old tooling to be supporting 14:32:56 04Build failed for 08master @ f9866060 06https://github.com/crawl/crawl/actions/runs/31128282213 15:36:16 -!- ByronJohnson is now known as bairyn 15:44:24 Unstable branch on underhound.eu updated to: 0.35-a0-995-g32aa59703e (34) 20:49:53 -!- ByronJohnson is now known as bairyn 22:31:13 Unstable branch on crawl.develz.org updated to: 0.35-a0-995-g32aa59703e (34) 22:43:21 Windows builds of master branch on crawl.develz.org updated to: 0.35-a0-995-g32aa59703e 23:20:06 Unstable branch on cbro.berotato.org updated to: 0.35-a0-995-g32aa59703e (34) 23:46:31 Monster database of master branch on crawl.develz.org updated to: 0.35-a0-995-g32aa59703e