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 - Jackdawson

#1
Help / Is it possible to patch abstract defs?
October 04, 2021, 09:49:27 AM
Every time I try to directly patch one of those abstract defs that multiple defs use as a parent I get an error. Is there some technique for patching these or are they just unpatchable?
#2
Help / Changing ParentName with patch?
September 17, 2021, 05:41:28 AM
How is a patch that changes a def's parentname supposed to be formatted and is such an operation even possible?
#3
Help / Re: Anyplace I can find a full list of statDefs?
September 14, 2021, 06:33:06 PM
thanks, I assumed I needed a decompiled source code to find those
#4
Help / Anyplace I can find a full list of statDefs?
September 13, 2021, 02:36:20 PM
is there anyplace where I can see a list of statdefs such as negotiation ability, aiming time, etc. the way they are named in the code?
#5
Help / Increasing texture scale for wounds?
September 03, 2021, 01:46:49 AM
Is it possible to increase the texture scale of wounds like bandages or missing eyes with xml patches? Where exactly in the core folder are the defs of those stored, if at all?
#6
@RawCode
I have no idea how to apply this to rimworld's PatchOperationFindMod. It doesn't seem to be in the same format at all. I already found tutorials explaining that the PatchOperationFindMod operation is an "OR" operation, but there's not even a single mention of it being possible to override that and add two simultaneous conditions
#7
I don't really have any attempts to make. There's no info on this on google

Quote<Operation Class="PatchOperationFindMod">
      <mods>
         <li>Ideology</li>
                        <li>ExampleMod</li>
      </mods>
      
<match Class="PatchOperationSequence">

For example if I did it like above it will only mean that the operation is looking for either one of those mods, not that it REQUIRES both of them. That's the only thing I tried and I have no other ideas.
#8
Let's say I want to use the FindMod operation

Quote<Operation Class="PatchOperationFindMod">
      <mods>
         <li>Ideology</li>
      </mods>

How would I format this if I wanted to have it require both ideology and another mod to activate?
#9
After trying to add subcategories like <texpath> to a def with no graphicData category I realized that adding those categories is something I haven't done until now

I tried adding it like this but I'm guessing that this does nothing. What is the correct way to patch <graphicdata> into a def?

Quote<li Class="PatchOperationAdd">
                  <xpath>*/ThingDef[defName = "ExampleDef"]</xpath>
                     <value>
                    <graphicData>
                  </value>
             </li>
#10
thanks bro. Just what I needed
#11
Help / Re: Making patch for Deep Storage
August 04, 2021, 10:02:59 AM
Quotewhat was the problem if you don't mind me asking?

Honestly no idea. I just used a different formatting of the code block like this and it worked:

Quote<match Class="PatchOperationSequence">
      <operations>
         <li Class="PatchOperationReplace">
                 <xpath>/Defs/ThingDef[@Name="Exampledef"]/designationCategory</xpath>
                    <value>
                      <designationCategory>Misc</designationCategory>
                    </value>
         </li>
      </operations>
   </match>
#12
There's this mod called "Diseases+". The mod makes some changes to vanilla diseases including the following patch:

Quote<Operation Class="PatchOperationConditional">
      <xpath>*/HediffDef[defName="Malnutrition"]/comps</xpath>
      <nomatch Class="PatchOperationAdd">
         <xpath>*/HediffDef[defName="Malnutrition"]</xpath>
         <!-- comps нет -->
         <value>
            <hediffClass>HediffWithComps</hediffClass>
            <comps>
               <li Class="RimCore.DiseasesGeneratorA.HediffCompProperties_DiseasesGiver">
                  <minSeverity>0.4</minSeverity>
                  <needTicks>180000</needTicks>
                  <hediffDef>TP_Stomach_Ulcer</hediffDef>
                  <partsToAffect>
                     <li>Stomach</li>
                  </partsToAffect>
                  <countToAffect>1</countToAffect>
                  <letter>true</letter>
               </li>

I want to make a patch that changes that minSeverity value. That's all. Is that possible to do with a patch? What xpath do I have to set?
#13
Help / Re: Making patch for Deep Storage
July 30, 2021, 12:42:18 PM
Quote from: Shinzy on July 30, 2021, 11:26:40 AM
Just for clarity, is the defname of the thingdef you're trying to patch actually "ExampleDef"? cause that doesn't sound like something that would be in a mod :P

I'm only asking because the xpaths look okay to me at a glance, and that's the first thing that strikes a little odd to me
(It's also been a while since I've patched anything myself, so maybe I'm just missing something)

Also, since you're making this just for personal use. You'd have the option to just drag and plop the mod from steam workshop folder into the rimworld mods folder and use it locally, and then change the designation category directly in the mods' xml's without a patch
It's just a placeholder def name. I was trying to find a section of code that can work universally for as many defs as I want to use it. I already solved the problem myself.

Editing the xmls is a no go. I used to do that before and accumulated 16 mods that were custom edited and were a pain in the butt to update by hand every time I needed to do it. I'm making patches now so that I don't have to worry about updating them manually anymore
#14
Help / Re: Making patch for Deep Storage
July 30, 2021, 07:24:24 AM
Update: I figured out the two original problems. Now I only need to make a patch that replaces the designation category of a thingdef. This is what I've got so far, but it's throwing up a red error:

Quote<match Class="PatchOperationSequence">
      <operations>
         <li Class="PatchOperationReplace">
                     <xpath>/Defs/ThingDef[defName="ExampleDef"]/designationCategory</xpath>
                     <value>
                           <designationCategory>Misc</designationCategory>
                     </value>
                   </li>
      </operations>
   </match>
#15
Help / Making patch for Deep Storage
July 30, 2021, 02:19:53 AM
I am making an xml patch for LWM's deeps storage for personal use. So far most of the patching works, but I got to a part that got me stuck.

First thing is I'm trying to add a new ingredient to an existing deep storage def. I tried using the code below but it seems to be wrong. No idea why

                       
Quote<li Class="PatchOperationAdd">
                       <xpath>Defs/ThingDef[defName="ExampleDefName"]/costList</xpath>
                 <value>
                 <ComponentIndustrial>1</ComponentIndustrial>
            </value>
                      </li>

Second thing is I want to patch the storage capacity, but I have no idea how to go about it since it's a custom class and my best but still wrong guess would be something like

Quote
<li Class="PatchOperationReplace">
            <xpath>/Defs/ThingDef[defName="ExampleDefName"]/comps/maxNumberStacks</xpath>
            <value>
               <maxNumberStacks>6</maxNumberStacks>
            </value>
             </li>

any help is welcome