Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - swampslug

#1
You can see the code if you open your Rimworld folder, if you have it installed via Steam the folder path you want is something like this: "D:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\Core\Defs\Bodies\Bodies_Humanlike.xml". You should be able to open this in Notepad or Notepad++.

This file defines how the individual bodyparts are connected into the body. From this you should see that there is a <BodyDef> with a <defName> of Human. It has a <corePart> with a <def> of Torso to which all other bodyparts are ultimately attached. Anything that is attached to the torso is included within its <parts> node. The shoulders then have their own <parts> node containing the clavicle and arm, which has a <parts> node and so on. Using your example the basic structure looks like this:

<BodyDef>
    <defName>Human</defName>
    <label>human</label>
    <corePart>
      <def>Torso</def>
      <parts>
        <li>
          <def>Shoulder</def>
          <parts>
            <li>
              <def>Arm</def>
              <parts>
                <li>
                  <def>Hand</def>
                  <parts>
                    <li>
                      <def>Finger</def>
                    </li>
                    <li>
                      <def>Finger</def>
                    </li>
                    <li>
                      <def>Finger</def>
                    </li>
                    <li>
                      <def>Finger</def>
                    </li>
                    <li>
                      <def>Finger</def>
                    </li>
                  </parts>
                </li>
              </parts>
            </li>
          </parts>
        </li>
      </parts>
    </corePart>
  </BodyDef>


Note: I have excluded a lot code just to show the basic structure, looking at the actual code shows that each element should have a coverage value assigned that determines how likely a bodypart is to hit (and the mass to deduct if that part is missing). A shoulder is 12% of the body, an arm is 77% of the shoulder (9.24% of the total body) and a hand is 14% of the arm (1.29% of the total body).
Bodyparts can also be assigned customLabels, groups and depth values.

It should also be noted that every bodypart has its own <BodyPartDef> defined in the various BodyParts files in the same folder. These define the hit points, and any relevant tags such as ManipulationLimbSegment or BreathingSource that the game uses to determine whether a pawn is capable of moving or even living.
#2
Help / Re: Patching Operation Failed
October 21, 2018, 06:20:27 PM
Firstly, you are using @Name when you should be using defName. @Name is used when refering to anything where Abstract="True" such as RockBase or BenchBase; defName is used to refer to anything else.

Also, from my experience when you use a replace operation, you should refer to the node you are replacing in the values so your first patch operation becomes:


  <Operation Class="PatchOperationReplace">
    <xpath>*/ThingDef[defName = "MineableSteel"]/building</xpath>
    <value>
      <building>
        <isResourceRock>true</isResourceRock>
        <mineableThing>ChunkIronOre</mineableThing>
        <mineableYield>1</mineableYield>
        <mineableScatterCommonality>1</mineableScatterCommonality>
        <mineableScatterLumpSizeRange>
          <min>1</min>
          <max>1</max>
        </mineableScatterLumpSizeRange>
      </building>
    </value>
  </Operation>


The second patch operation is also failing because of a spelling mistake (using ThingDefs rather than ThingDef) and so should look like:


  <Operation Class="PatchOperationAdd">
    <xpath>*/ThingDef[defName = "ElectricSmelter"]/recipes</xpath>
    <value>
      <li>SmeltIronOreChunk</li>
    </value>
  </Operation>


There are a few other errors your mod appears to be generating but these should address the two Patch operation errors.
#3
Help / Re: [1.0] Show bridge stilts?
September 09, 2018, 04:50:27 PM
I'm no expert but as far as I can see the bridge supports are inserted via C# code. There is a test to see whether the props should be inserted which looks specifically for TerrainDefOf.Bridge.
If you want to get your new bridge to work as the vanilla bridge you will need to replicate the C# for whatever defNames you have specified for your bridge TerrainDefs.
#5
Tynan, thank you for this. I haven't had much time to test this but a couple of things did jump out at me with regards to the new bridges.
I was building a little beach hut with decking over the water and discovered that
1) while you can build walls on top of bridges, you cannot place floors
2) the natural solution for a room partially on a bridge is to use the wooden floor to cover the sand/soil/whatever, however the wood patterns do not sync up.
3) bridges can only be built over water so you cannot just build a bridge under the entire structure for a consistent floor design.

While I realise that there may be very good reasons for not being able to place floors on bridges, would it at least be possible to align the artwork for bridges and wooden floors?
#6
Quote from: Canute on March 07, 2018, 05:28:29 AM
Not sure, but i didn't found any.

I would use a good text editor,
backup the safegame,
open the safegame,
Use the text editor search function to search for the pawn's name
and look for a number that's fit his age and change it,
safe the safegame
load it at Rimworld and check it it worked.

If you are editing the save files then the pawn's age is <ageBiologicalTicks> and to convert from ticks to years (and vice verse) divide (or multiply) by 3,600,000.
For the chronological age, you need to do <ticksGame> + <gameStartAbsTick> - <birthAbsTicks> then divide by 3,600,000 to get the age in years.
#7
I tend to build the spaceship only when a new alpha comes out, since until this latest release save games were incompatible across alphas.

I find the "build a spaceship and escape" goal a little odd. While the starting pawns may not be on the planet by choice, by the time you have progressed to the point where you can build the spaceship years have passed and you probably have a sizeable, sustainable settlement.

Maybe it's just me but by the time I can build a spaceship I'm thinking why would my colonists want to? Perhaps it's the lack of any true context in the setting. We start with three individuals who have two sentences of backstory and no understanding of where they came from, where they are going and why so there is little sense of urgency to get off world. This leads to a colonise and settle mentality since rushing to the AI ship would cut short the game.

I would like to see additional win conditions introduced focused on longer term colonisation.
#8
Of those 6 types, only WaterOceanShallow and WaterShallow have the <driesTo> tags. I haven't tested it but a patch to remove the node from WaterOceanShallow should prevent you from draining the ocean and adding it to WaterMovingShallow should enable the draining of river shallows.

Personally I prefer the use of bridge mods to build over water as draining a river/ocean without additional engineering to block off the area to be drained is unrealistic.
#9
General Discussion / Re: A16 interesting tips
January 14, 2017, 11:20:31 AM
Quote from: Sola on January 14, 2017, 10:14:09 AM
There should be a tech, or a fridge-like equipment rack that allows you to store food like this anyways.

Could you imagine having an actual, legit fridge next to your table?  Not a 10x10 structure, but a box with a door you can open and close?  Maybe that'd be the next tech level after spacer.

If you are not averse to using mods try this: https://ludeon.com/forums/index.php?topic=26893.0
These should be included in the base game. You still need a large walk-in freezer for animal corpses and raw ingredients but it is useful to not have the constraint of building your dining room and prison next to your freezer.
#10
Outdated / Re: [A16] Lockable Doors
January 14, 2017, 11:08:52 AM
One of my big issues with the game at the moment is that visitors and their animals ignore forbidden doors and eat your food and crops when they are hungry.
Does this mod prevent visitors using locked doors? 
#11
Outdated / Re: [A16] Solar Weather
January 11, 2017, 02:27:28 PM
Quote from: XeoNovaDan on January 11, 2017, 11:01:09 AM
Quote from: Senio on January 11, 2017, 09:42:47 AM
how can modify 3000w max? i think 3000w too much

My knowledge in C# is non-existent; I only know a limited amount of Python, Lua (from when I vainly tried to take up Scripting on ROBLOX donkey's years ago), and XML, but I think I can provide an answer to this.

You'll want to go to Source/ExampleMod/ExampleMod/CompPowerPlantSolarWeather.cs, and change the following:

private static readonly float MaxDayPower = 1f; on line 15

Change 1f to the variable of your suiting, assuming 1f is equivalent to 3000W. For example, 0.6f would be 1800W (if I'm not mistaken). I think a nice number would be 2100W or 0.7f

Wouldn't changing line 39 of Defs\ThingDefs_Buildings\Buildings_Power.xml from
<basePowerConsumption>-3000</basePowerConsumption>
to
<basePowerConsumption>-2100</basePowerConsumption>
achieve the same effect without having to recompile the dll?
#12
As far as I can tell failures still destroy prostheses. Furthermore the medical potency of medicine has been reduced so surgery failure is more likely with anything less than Glitterworld medicine.
To balance this, there is a 50% chance of a failure being minor (prosthesis lost and minor damage to target area or directly connected body part), a 40% chance of a failure being critical (as minor but more damaging) and a 10% chance of it being ridiculous (lots of damage and random body part affected).

#13
General Discussion / Re: How can I improve my Defense
December 27, 2016, 06:32:06 AM
I would recommend thicker walls in general. You will eventually face sappers or raiders with rocket launchers. These will avoid your killbox and breach a thin wall fairly easily. Try making your outer walls 3 squares thick (assuming you have the stone).

I would also recommend adding turrets. I put a switch between mine and my power grid so I can save power between raids. It is also advisable to spread your turrets out as they explode when destroyed. Keep at least 3 squares of space around each turret to prevent explosions damaging the rest of your defenses.
#14
General Discussion / Re: XML for item qualities?
December 27, 2016, 06:12:01 AM
The Static Quality mod (https://ludeon.com/forums/index.php?topic=24718.0) addresses this somewhat by allowing you to decide whether a crafter will always produce items of the same quality (based on skill level) or within +/- 1 or 2 quality levels.
With the +/- 2 option checked a level 15 crafter cannot produce anything below good quality and a level 20 crafter cannot produce anything below excellent quality.

The mod's author hasn't updated to A16 yet, but there is a link on page 2 of the thread to an unofficial update.