00:12:11 <11O​dds> I'm having a hell of a time fighting unrands/slots/melding etc 00:13:01 <11O​dds> Increasingly thinking that giving unrands their own slots is the wrong approach; doing things like shuffling between slots gets pretty tangled 03:33:56 Experimental (bcrawl) branch on underhound.eu updated to: 0.23-a0-5261-gd9800d219b 09:48:07 <09g​ammafunk> ??mongrel wurm 09:48:08 <04C​erebot> mongrel wurm[1/1]: A {Gulch} low-tier monster added in 0.35. These speed 12 draconic crossbreeds combine swamp worms (breathes {Harpoon Shot}s), sea snakes (has {strong poison} melee), and a very broken lindwurm (also breathes {Scorch} instead of regular flame breath). 09:48:44 <09g​ammafunk> ??roaming sludgefish 09:48:45 <04C​erebot> roaming sludgefish[1/1]: A common {Gulch} fish added in 0.35. These mutant psychic conjurer fish riding their own mobile floods have antimagic melee, cast {Hurl Sludge}, and also the ever-weird {Bolt of Antimagic}. 09:49:05 <09g​ammafunk> gotta learn the new gulch mobs to make a map for it 09:49:20 <09g​ammafunk> ??sewage sovereign 09:49:20 <04C​erebot> sewage sovereign[1/1]: A {Gulch} boss added in 0.35. These giant mutant pigs have the monster version of {Stampede}, which lets them keep moving in a compass direction at double speed with x1.5-damage trampling melee until they stampede past their original target. They also come in duos and have tons of health- try to stay away from their stampedes. 09:49:55 <09g​ammafunk> *??sewage sovereign 09:49:57 <04C​erebot> ansi sewage sovereign (a) | Spd: 10 | HD: 16 | HP: 139-184 | AC/EV: 9/3 | Dam: 46 | amphibious, regen | Res: will(120), poison, drown | Vul: silver | Corpse | XP: 1856 | Sp: stampede [!AM, !sil] | Sz: Large | Int: animal. 09:50:06 <09g​ammafunk> well that's pretty straightforward, at least 10:17:54 <04d​racoomega> That's unfortunate. (What alternative are you thinking about? Having a separate count for each slot of "Actually on you" or "From some item" and meld them differently? I imagine that has its own can of worms, too, though.) 10:34:37 <11O​dds> I'm currently thinking the main thing is that we have various places count melded and unmelded slots separately (we actually already have a whole bunch of minor bugs around this stuff, especially to do with multislot items and melded item granters). It's not generally so important whether the slots are from an item or innate. A helpful thing has been to make transforming/untransforming use a fairly different way of working out what gear 10:34:37 goes where, by just working it all out from scratch; basically going through all the slots, working out how many things can fit in them, and melding the ones that don't fit. 10:35:05 <11O​dds> (Should be able to push a branch with a version on this reasonably soon to make that more concrete) 10:37:54 <04d​racoomega> Sounds good 11:54:59 03Aliscans02 07https://github.com/crawl/crawl/pull/5348 * 0.35-a0-761-ga5ea06fde3: Fix save file compatibility. 10(30 seconds ago, 2 files, 15+ 0-) 13https://github.com/crawl/crawl/commit/a5ea06fde305 12:47:08 <11O​dds> (Current status: realising my new slot implementation fails for merfolk stepping out of water in medusa form wearing the Skull of Zonguldrok and Lear's Hauberk, and wondering if this will ever end) 12:48:33 <12g​e0ff> this and similar problems have a simple and obvious solution: 🧜 -> 🚮 12:49:38 <11O​dds> Nah, it's the multislot items that cause the most pain 12:50:18 <11O​dds> "Melded items can cover unmelded slots" is something I keep hitting 12:52:16 <02D​arby> we've found it: the most specific situation 12:53:48 <12g​e0ff> A bit more seriously: would it help if the slot granting unrands had slightly different rules? 12:54:20 <12g​e0ff> Like, if Lear's "Fills your body, head, gloves, and feet armour slots" was "Fills all your body, head, gloves, and feet armour slots, including slots granted by other items/forms"? 12:55:07 <12g​e0ff> so you couldn't put a hat on the skull if you were wearing Lear's 12:55:37 <11O​dds> No, I think it would unhelp... items having a list of slots they use is definitely a good thing 12:57:11 <11O​dds> (There are already some unnatural rules that help quite a lot, like the skull of zonguldrok sharing your ability to wear helmets...) 12:57:13 <04d​racoomega> Merfolk specifically were definitely a can of worms when I was implementing this system. A lot of complexity came from trying to 'stack' (and unstack) one set of melds on top of another. 12:57:36 <11O​dds> Yep. Every other transformation can just take complete responsibility for the final result, and that's mighty convenient 12:58:04 <11O​dds> But merfolk have to respect the existing meldedness of everything that isn't a boot 12:59:56 <04d​racoomega> I hate to say it, but this is one thing I also wanted to fix (which was part of the thrust of 'new slot type' here - it could be a SLOT_HELMET_EXTERNAL that didn't care about your ability to wear hard helmets or not) ...but I'm hardly going to fault you for not tackling that at the moment. 13:00:48 <11O​dds> Yeah, I haven't thought about how bad it is to fix. I suspect actually not very with something just mildly hatty 13:01:53 <11O​dds> ("New slot type" certainly seemed well motivated and I wish I had a cleaner expression of why it felt incredibly hard to do in practice... the basics were easy, but the gear shuffling on melding and unmelding was nightmarish) 13:04:31 <04d​racoomega> I'd afraid I hadn't dove into the weeds of implementing that deep end myself to give you more advice here, I suspect 13:05:04 <04d​racoomega> That gap between "this seems like it should be reasonably doable" and "oops, actually it's awful" that you only find by actually working on something 13:05:12 <04d​racoomega> (It keeps happening T.T) 13:50:32 New branch created: unrand-slots-melding (3 commits) 13https://github.com/crawl/crawl/tree/unrand-slots-melding 13:50:33 03CrawlOdds02 07[unrand-slots-melding] * 0.35-a0-763-g3a1fd68575: Fix melded slot accounting 10(7 hours ago, 8 files, 201+ 88-) 13https://github.com/crawl/crawl/commit/3a1fd685758c 13:50:33 03CrawlOdds02 07[unrand-slots-melding] * 0.35-a0-764-gf23d3a8119: Allow unrands to give slots in forms that meld them 10(8 hours ago, 12 files, 510+ 406-) 13https://github.com/crawl/crawl/commit/f23d3a8119c2 13:50:33 03CrawlOdds02 07[unrand-slots-melding] * 0.35-a0-765-g5447e82dd8: Make needs_chain_removal a non-class function 10(8 hours ago, 3 files, 13+ 15-) 13https://github.com/crawl/crawl/commit/5447e82dd8a2 13:50:53 <11O​dds> The first commit on that branch is just fixing existing stuff I found along the way, the second is the main change 14:05:55 04Build failed for 08unrand-slots-melding @ 5447e82d 06https://github.com/crawl/crawl/actions/runs/30580862099 15:15:35 <09g​ammafunk> if there's one thing I've learned from seeing DO's struggles, it's that I don't want to mess with item slot code unless I have to 15:17:47 <09g​ammafunk> to be honest, just the pain alone of generalizing qw to evaluate sets of items as opposed to only individually paired with making it consider the value of sets with 2h weapons vs 1h + shield has made me not want to touch things crawl-side 15:26:27 <04d​racoomega> I do feel I was fairly successful in making a bunch of item slot related things much easier to work with, code-wise, at least 15:27:40 <04d​racoomega> (The interaction of melding and slot-granting items present some unique problems, though) 15:29:57 <11O​dds> Yeah I think there’s just inherently a lot of complexity, rather than the code being poorly structured or anything 15:34:56 <04d​racoomega> (I will take a closer look at that branch a bit later. Still hammering away at my own problem at the moment ^^; ) 15:37:56 <11O​dds> No rush at all 15:41:25 [0.34.1] there is no mention that fortress form can hold 2h weapons. in every other instance offhand is melded 2handers are unavailable. weapon descriptions also still say two hands are needed 15:42:25 <04d​racoomega> Huh. Seems like it actually doesn't. 15:42:51 <04d​racoomega> Will make a note of it 22:29:07 <04d​racoomega> Well, another day, another "I was sure it was almost ready to push and then I found like 4 more hours worth of stuff to investigate/fix and now I'm out of juice." Tomorrow, perhaps ^^;