Shelves (and all Building_Storage) don't show beauty if hiding beauty of content

Started by LWM, November 22, 2019, 06:36:35 PM

Previous topic - Next topic

LWM

Shelves - and all Buildings_Storage - cannot have a beauty value if ignoreStoredThingsBeauty is true.

This was referenced in "Shelves have no path cost" https://ludeon.com/forums/index.php?topic=36798.msg432895#msg432895, but only the path cost was changed.

In the CellBeauty() function of BeautyUtility, the loop checks the slotgroup (for each item?  It would be the same, yes?) and if it's in a building that has ignoreStoredThingsBeauty true, ALL beauty is ignored - including the beauty of the slotgroup's parent.

This would only affect the Shelf in vanilla, but it means I am getting complaints because I have modded storage buildings whose beauty doesn't show up.  Is this something that could be changed, so the slotgroup.parent's beauty is counted?  If not, I will use Harmony to get around it somehow, probably by adding a test at the beginning of the function:

If there is a slotgroup here, if it has a parent with ignoreStoredThingsBeauty, return the parent's beauty (if it has it) + the terrain modifier.

Thank you,

--LWM


LWM

Oh, but shelves don't have a beauty stat, do they?

So I suppose this thread should be [mods]...but I can't be the only person who has storage in objects that should have beauty?

Canute

But shelfs negate the negative beauty value of the object's inside.
That's the main function of this things compared to 1x1/1x2 stockpiles.

LWM

I always thought the main use was to keep things dry if you're storing armor in the fields.

Here is the Harmony patch I made, in case anyone else ever wants to do this:

https://github.com/lilwhitemouse/RimWorld-LWM.DeepStorage/blob/3994d0e6f629a44efc42f83d3d11dbbd0422bf4c/DeepStorage/Patch_BeautyUtility.cs

bugi

Quote from: LWM on November 22, 2019, 07:06:09 PM
Oh, but shelves don't have a beauty stat, do they?
(Vanilla) Jade shelf (masterwork) has beauty stat 50, and shown in its info. So yeah, unless I misunderstood something, they do have beauty stat. But indeed, in the room beauty display mode, it is not shown to have a value, and the room's beauty doesn't change when moving that (empty) shelf out of or back in to the room.  Room's space, wealth and impressiveness does still change, so it is only the beauty effect missing.  As tested by poor Mila hauling that "decorative" (but apparently not really) jade shelf in and out the recreation/living/dining room.

I'd consider that a bug, since most other furniture with non-zero beauty stat do work as expected, radiating their effect into the mood of the nearby pawns, especially ones that have material choices and quality.