How can I customize furniture size in mods?

Started by Bedtime, October 17, 2022, 12:12:45 PM

Previous topic - Next topic

Bedtime

Well, first I would like to say that I am a curious guy and that some things in rimworld don't seem balanced to me or even that I would like new experiences that mods bring us.

Rimworld is an amazing game, but it needs some improvements.

That said, some things in Rimworld, in my view, are missing from the vanila structure. I'm currently using a mod to add more ways to stock my farmable and crafted items. In this case, I'm using a mod that adds cabinets to the game. The item organization in the game is pretty bad and creating layers to organize these items is a lot of work. I want a locker to store/organize my handmaiden weapons or combat grips.

The mod I chose for this is LWM's Deep Storage (https://steamcommunity.com/sharedfiles/filedetails/?id=1617282896). It turns out that the size of the closet is only <1,1>. And here's the first question. What would <1,1> be? can I say that it would refer to <row,column> or would it be <column,row>?

I changed the mod code, to change this size to <1,2> row and column respectively, but it didn't change anything.



<ThingDef Name="LWM_WeaponsLocker" ParentName="LWM_DeepStorage" ><!--TODO: make this non-quality based?-->
    <defName>LWM_WeaponsLocker</defName>
    <label>Weapons Locker</label>
    <description>A high-capacity metal locker for securely storing many weapons. Items stored in this will not deteriorate, even if outside.</description>
    <graphicData>
      <texPath>sumghai/weaponsLocker</texPath>
      <graphicClass>Graphic_Multi</graphicClass>
      <drawSize>(2,3)</drawSize>
      <drawRotated>false</drawRotated>
    </graphicData>
    <defaultPlacingRot>South</defaultPlacingRot>
    <uiIconPath>sumghai/weaponsLocker_UI</uiIconPath>
    <castEdgeShadows>true</castEdgeShadows>
    <size>(4,1)</size>
    <statBases>
[/pre]

So I changed that part of the code just to test.

But I didn't get any results, it's like the code is completely ignored and keeping a fixed 'setup'.

My question:

Why can't I change?

Is it a more complex change than I imagine, or in fact, is there still something missing that I don't understand so that this change can be validated?

I stay here carrying out small tests in search of a better balance of this storage/organization of items.

Thank you all.


Canute

There are 2 things with size.
<size> is how much space that item would take on the map.
<drawSize> is how big the grafic would be shown.
When you changed the size from 1,1 to 1,2 but don't change the drawsize too you wouldn't see any change. But the pawn wouldn't be able to enter the other tile.
That is what i am thinking, since i am not a real modder.

Bedtime

Thanks a lot for the answer @Canuto.

Really what you say makes sense. I did some tests and actually changing these values as said, the area that the furniture occupies is larger, and it is not possible to build in this area, however, the art of the furniture remains 1 square. In the tests I can even change the size, but the art remains the same. Would it be possible, through code, to change this size, or would it be something more complex?

LWM

Change the <size> attribute (you can use xpath and xml patch modding to change them) and then...well, if you want, you can change the entire <graphic> section!  You can certainly change any part of it to what you'd like. Most of the buildings are 2x1 (or 1x2, whatever's in the xml), so you can look at them as a guide. Hopefully you've already figured all this out, but thought I'd answer :)