Questions regarding Rimworld Modding

So I’ve been thinking a little about creating a weight gain mod for Rimworld, but I am a complete newbie when it comes to modding it, so I’ve got some questions for the folks that might have some experience with it.

I quickly glanced through the core XML’s of the game, and it looks relatively straight forward and open ended if you know what you’re doing and where to look, but I wouldn’t want to leap into it blindly and suddenly hit a wall, so the things I’m curious about are:

  • More Body Types
    Is it possible to create new body types outside of the normal ones, without replacing any of the default ones?

  • Change Body Type Midgame
    Is it possible to have a pawns’ body type change through certain conditions being met? For example, if I made a weight gain counter, and when the counter reaches a certain number the body type changes to another one.

  • Make Food Add to a Stat
    Is it possible to make it so foods will add to a new stat/need/skill/health condition that I would make?

  • Making a Weight Gain Stat
    I’m sure there are a few different ways to go about this, but which way would be the best? Does it have to be a health condition/skill or a need, or could I just make a hidden stat that would increase in number?

Hopefully I didn’t make that needlessly complicated, like I said I have no experience in creating mods for Rimworld, but hopefully there is some of you kind people out there that knows some answers to the things that I am looking for!

9 Likes

Since this is a modding question this topic was moved to General Games

I have played Rimworld for a while, and have looked into the code a few times, but what I say may be wrong.

I think Changing Bodytype, making Food add to Stats, as well as Creating a Weight Gain Stat is possible. Adding Bodytypes should theoretically be easy too, but most of the mods I’ve seen on Nexus, that deal with bodytypes simply replace other bodytypes, so I’m not sure.

Hope I helped, and sorry for not being able to go into more detail.

Since I made the topic I decided to look closer on some other mods that might answer my questions, namely the FemaleBB BodyType Support and Surgical Body Shaping (SBS) mods.

The FemaleBB body type is it’s own thing seperate from all of the other body types, so it definitely looks like I’ll be able to make a whole bunch of custom body types to act as different weight gain stages, so that’s good!

And the Surgical Body Shaping mod makes it look as if it’s possible to change body types inside of the game without using a body selector, but it looks as if I’m gonna have to learn some C# programming to understand and make this work, so I’ve gone ahead and downloaded Visual Studio 2019.

And it’s good to hear that you think the whole weight gain stat thing might work! It’s fine if you don’t know exactly how the magic happens, but honestly just seeing people give support and kind words are just as important as proper tech talk to get me going!

2 Likes

I have looked a bit into rimworld modding, and from what i’ve tested, adding health conditions is relatively simple, so that would probably be the simplest way to implement weight gain to it.

I know of a mod that let’s you swap your colonists body type anytime you’d like, it’s called Change Dresser

1 Like

The “[SYR] Individuality” mod let’s you change a colonist’s weight, even allowing weights over 100 kg. Though I don’t think they’ll change dynamically, as in it’ll increase if a colonist eats a lot of food.

3 Likes

Thanks for pointing me in the right direction! I’ll save this for studying whenever I decide to start this up.

A good first step would possibly be adding more body types like so

<?xml version="1.0" encoding="utf-8" ?>

<Patch>

<Operation Class="PatchOperationAdd">

    <xpath>/Defs</xpath>

    <value>

        <BodyTypeDef>

            <defName>Obese</defName>

            <headOffset>(0.09, 0.34)</headOffset>

            <bodyNakedGraphicPath>Things/Pawn/Humanlike/Bodies/Naked_Fat</bodyNakedGraphicPath>

            <bodyDessicatedGraphicPath>Things/Pawn/Humanlike/Bodies/Dessicated/Dessicated_Male</bodyDessicatedGraphicPath>

        </BodyTypeDef>

    </value>

</Operation>

</Patch>

of course extra graphics will need to be created

also a harmony patch may be needed for the function WornGraphicData

if you want this to work with custom races that might be a bit tough

also in the same vein piggy backing off this mod might work GitHub - erdelf/AlienRaces: Rimworld mod alien race framework

Also if you want immobility mechanics you probably want to make your own HeadDef

2 Likes

Yo, thank you so much! This is super helpful!

thats not all i might try to make a base headdef to possibly handle immobility. but i must say the weight the individuality mod adds is not a standard property

1 Like

Wouldn’t immobility stuff be easiest done as an ailment?

thats what a Hediff is as far as i can tell its kind of the “sickness/buff” area

Just in case anyone starts to wonder, it’s prolly gonna be a while before I return to this. As I have a few projects I wanna go through first (Drawings, and the Visual Novel), but I am nevertheless very grateful for any and all pointers for when I eventually start this up!

1 Like

well we could just throw stuff here until we make any sort of actual git or the like

1 Like

heres what an immobility Hediff would possibly look like

<Defs>
  <HediffDef>
    <defName>Immobility</defName>
    <label>Immobility</label>
    <description>Immobility</description>
    <lethalSeverity>0</lethalSeverity>
    <stages>
      <li>
        <label>minor</label>
        <becomeVisible>true</becomeVisible>
      </li>
      <li>
        <minSeverity>0.15</minSeverity>
        <label>minor</label>
        <capMods>
          <li>
            <capacity>Moving</capacity>
            <offset>-0.9</offset>
          </li>
        </capMods>
      </li>
    </stages>
  </HediffDef>
  </Defs>
2 Likes