Cataclysm-DDA
Cataclysm-DDA copied to clipboard
various issues with rings
Describe the bug
So there are a couple of issues here, but it seemed easier to group them all together while I work out exactly what's going on.
A while ago, in https://github.com/CleverRaven/Cataclysm-DDA/pull/54313 changed rings so that they are actually worn on the hands. Specifically, they cover the fingers. This had a number of effects that were not discussed in the issue, and I've been unable to find any discussion about them:
- You are now limited to wearing a maximum of two rings, one on each hand. It seems on discord that a number of people believe this was done intentionally for magiclysm, but in fact was done separately. In the past I've enjoyed playing stylish characters who collect all the different rings to wear, and it's a shame this is no longer possible.
- Rings now conflict with gloves. This is the probably the more severe issue, as it basically means you just can't wear rings if you want to wear gloves since actual encumbrance is more important than roleplaying or the +1 mood for stylish.
- Rings are on the normal layer, when logically they should be close to skin. This would still cause them to conflict with gloves on that layer however, and I'd argue that you can still wear most rings under medical gloves, glove liners, etc. It would still be much better than conflicting with the normal layer however.
Magiclysm rings also suffer from similar issue, but they have a number of inconsistencies:
- They were never updated to cover just the fingers, instead they cover an entire hand. This means that right now you can't even get around the issue by using fingerless gloves.
- They use a special flag, ONE_PER_LAYER, which I believe is intended to prevent using more than one ring per hand. There are some issues with this however:
- The c++ logic is a bit buggy. It actually prevents wearing ANY other item on that layer, even non-rigid ones. But only if you put the ring items on first.
- The flag is actually not required. As seen with the vanilla rings, the fact that they're rigid already means that you can't wear more than one per hand, so the flag does nothing but cause the previous issue.
Steps to reproduce
Try to wear gloves and rings on the same layer.
Expected behavior
For vanilla rings, personally I think they should just be reverted to not covering anything. They don't provide any armor, so with the game in it's current state, there's really no reason to have them take part in the layering system, as they are more or less a role play item anyway. I understand if this undesirable however.
At the very least, we should look into changing vanilla rings from normal to close to skin, which would match both real life and magiclysm. Another option that has been suggested is changing the layer to strapped, which would fix the layering issues, but imo that's weirder than than just changing them back to not covering anything.
Magiclysm rings are a more complicated, because the limit of one ring per hand is actually intentional:
- They should be changed to cover just the fingers, like vanilla rings.
- The ONE_PER_LAYER flag is ONLY used for magiclysm rings and bracelets. I considered if it could be removed and bracelets made rigid, but it seems that rigidity is ignored for the strapped layer.
- Perhaps they could actually be moved close to skin as well, I feel like them needing skin contact would be flavourful enough and then we don't need the flag, since they'd be rigid.
- The intended behaviour of the flag needs clarification. I don't think it's meant to conflict with everything on the same layer, only other items with the flag. After clarification the bug in the code shouldn't be too hard to fix.
Screenshots
No response
Versions and configuration
latest experimental
Additional context
It should be noted that this is the first time I've played magiclysm, and I've barely used any magic yet. For all I know mages might be not meant to use any gloves at all, but I'm assuming that magical items at least should work even for non mages.