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

Topics - cuproPanda

#1
Help / Patch Operation Error, Specific Defs
May 22, 2017, 05:04:04 PM
I'm trying to replace cost lists for a bunch of defs using new materials, but specific ones give an error, as seen below:



For the lamps I figure that's because the costList is defined in a base, but the other ones still have issues. I thought maybe it was because they have CostList instead of costList, but that change doesn't take, either. For reference, this is what I have for the electric tailoring bench:
<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="ElectricTailoringBench"]/costList</xpath>
<value>
<costList>
<Steel>20</Steel>
<EXP_Copper>30</EXP_Copper>
<Component>3</Component>
</costList>
</value>
</Operation>


I've checked that I don't have any spelling mistakes (everything was copy/paste), and removing those specific entries solves the problem, so it isn't an issue with having too many entries. Anyone have any ideas?

My entire patch file is here, be prepared to scroll:

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

<!-- ==================== Buildings_Ancient ==================== -->

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="AncientLamppost"]/costList</xpath>
<value>
<costList>
<Steel>10</Steel>
<EXP_Copper>5</EXP_Copper>
</costList>
</value>
</Operation>




<!-- ==================== Buildings_Exotic ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="CrashedPsychicEmanatorShipPart"]/killedLeavings</xpath>
<value>
<killedLeavings>
<AIPersonaCore>1</AIPersonaCore>
<Steel>200</Steel>
<EXP_Copper>60</EXP_Copper>
<EXP_Lead>20</EXP_Lead>
<Silver>140</Silver>
<ChunkSlagSteel>2</ChunkSlagSteel>
</killedLeavings>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="CrashedPoisonShipPart"]/killedLeavings</xpath>
<value>
<killedLeavings>
<Steel>180</Steel>
<EXP_Copper>30</EXP_Copper>
<EXP_Lead>50</EXP_Lead>
<Silver>120</Silver>
<ChunkSlagSteel>2</ChunkSlagSteel>
</killedLeavings>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="ShipChunk"]/costList</xpath>
<value>
<costList>
<Component>10</Component>
<Steel>30</Steel>
<EXP_Copper>15</EXP_Copper>
<EXP_Lead>5</EXP_Lead>
</costList>
</value>
</Operation>




<!-- ==================== Buildings_Furniture ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="HospitalBed"]/costList</xpath>
<value>
<costList>
<Steel>40</Steel>
<EXP_Copper>30</EXP_Copper>
<EXP_Rubber>20</EXP_Rubber>
<Medicine>5</Medicine>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="SunLamp"]/costList</xpath>
<value>
<costList>
<Steel>10</Steel>
<EXP_Copper>10</EXP_Copper>
<EXP_FusedQuartz>2</EXP_FusedQuartz>
</costList>
</value>
</Operation>




<!-- ==================== Buildings_Joy ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="TubeTelevision"]/costList</xpath>
<value>
<costList>
<Steel>65</Steel>
<EXP_Copper>35</EXP_Copper>
<Component>6</Component>
</costList>
</value>
</Operation>




<!-- ==================== Buildings_Misc ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="OrbitalTradeBeacon"]/costList</xpath>
<value>
<costList>
<Steel>25</Steel>
<EXP_Copper>20</EXP_Copper>
<Component>1</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="CommsConsole"]/costList</xpath>
<value>
<costList>
<Steel>80</Steel>
<EXP_Copper>40</EXP_Copper>
<Component>4</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="FirefoamPopper"]/costList</xpath>
<value>
<costList>
<EXP_Lead>25</EXP_Lead>
<EXP_Rubber>20</EXP_Rubber>
<Component>1</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="MoisturePump"]/costList</xpath>
<value>
<costList>
<Steel>50</Steel>
<EXP_Copper>15</EXP_Copper>
<EXP_Rubber>30</EXP_Rubber>
<Component>3</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="GroundPenetratingScanner"]/costList</xpath>
<value>
<costList>
<Steel>200</Steel>
<EXP_Copper>150</EXP_Copper>
<EXP_Lead>30</EXP_Lead>
<Component>5</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="LongRangeMineralScanner"]/costList</xpath>
<value>
<costList>
<Steel>150</Steel>
<EXP_Copper>50</EXP_Copper>
<EXP_Lead>50</EXP_Lead>
<Component>4</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="PodLauncher"]/costList</xpath>
<value>
<costList>
<Steel>60</Steel>
<EXP_InsulatedCable>10</EXP_InsulatedCable>
<Component>2</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="TransportPod"]/costList</xpath>
<value>
<costList>
<Steel>70</Steel>
<EXP_InsulatedCable>5</EXP_InsulatedCable>
<Component>1</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="MultiAnalyzer"]/costList</xpath>
<value>
<costList>
<Steel>50</Steel>
<EXP_Copper>50</EXP_Copper>
<Plasteel>50</Plasteel>
<Gold>20</Gold>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="VitalsMonitor"]/costList</xpath>
<value>
<costList>
<Steel>130</Steel>
<EXP_Copper>50</EXP_Copper>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="CryptosleepCasket"]/costList</xpath>
<value>
<costList>
<Steel>170</Steel>
<EXP_FusedQuartz>5</EXP_FusedQuartz>
<Uranium>5</Uranium>
<Component>8</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="AncientCryptosleepCasket"]/costList</xpath>
<value>
<costList>
<Steel>170</Steel>
<EXP_FusedQuartz>5</EXP_FusedQuartz>
<Uranium>5</Uranium>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="AncientCryptosleepCasket"]/killedLeavings</xpath>
<value>
<killedLeavings>
<ChunkSlagSteel>1</ChunkSlagSteel>
<Steel>25</Steel>
<Uranium>3</Uranium>
<EXP_FusedQuartz>3</EXP_FusedQuartz>
</killedLeavings>
</value>
</Operation>




<!-- ==================== Buildings_Natural ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="MineableComponents"]/building/mineableThing</xpath>
<value>
<mineableThing>EXP_MachinerySpawner</mineableThing>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="MineableComponents"]/building/mineableYield</xpath>
<value>
<mineableYield>1</mineableYield>
</value>
</Operation>




<!-- ==================== Buildings_Power ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="PowerConduit"]/graphicData/texPath</xpath>
<value>
<texPath>Cupro/Object/Linked/PowerConduit_Atlas</texPath>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="PowerConduit"]/description</xpath>
<value>
<description>A set of electrical cables for moving power around. Can be placed under walls and other buildings. The exposed copper oxidizes easily and looks ugly.</description>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="PowerConduit"]/uiIconPath</xpath>
<value>
<uiIconPath>Cupro/Object/Linked/PowerConduit_MenuIcon</uiIconPath>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="PowerConduit"]/costList</xpath>
<value>
<costList>
<EXP_Copper>1</EXP_Copper>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="PowerSwitch"]/costList</xpath>
<value>
<costList>
<Steel>10</Steel>
<EXP_Copper>2</EXP_Copper>
<EXP_Rubber>1</EXP_Rubber>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="SolarGenerator"]/costList</xpath>
<value>
<costList>
<Steel>75</Steel>
<EXP_Lead>25</EXP_Lead>
<Component>3</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="SolarGenerator"]/comps</xpath>
<value>
<comps>
<li>
<compClass>ExpandedPower.CompSunlight</compClass>
</li>
<li Class="ExpandedPower.CompProperties_VariableSolarPower">
<compClass>ExpandedPower.CompVariablePowerPlantSolar</compClass>
<basePowerConsumption>-1</basePowerConsumption>
<transmitsPower>true</transmitsPower>
<fullSunPower>1700</fullSunPower>
<nightPower>0</nightPower>
</li>
<li Class="CompProperties_Breakdownable"/>
</comps>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="GeothermalGenerator"]/costList</xpath>
<value>
<costList>
<Steel>300</Steel>
<EXP_Lead>50</EXP_Lead>
<EXP_InsulatedCable>20</EXP_InsulatedCable>
<Component>8</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Battery"]/costList</xpath>
<value>
<costList>
<EXP_Lead>30</EXP_Lead>
<EXP_Copper>20</EXP_Copper>
<Component>2</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="WindTurbine"]/costList</xpath>
<value>
<costList>
<Steel>80</Steel>
<EXP_Copper>20</EXP_Copper>
<EXP_Lead>20</EXP_Lead>
</costList>
</value>
</Operation>




<!-- ==================== Buildings_Production ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="ElectricTailoringBench"]/costList</xpath>
<value>
<costList>
<Steel>20</Steel>
<EXP_Copper>30</EXP_Copper>
<Component>3</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="ElectricSmithy"]/costList</xpath>
<value>
<costList>
<Steel>60</Steel>
<EXP_Copper>40</EXP_Copper>
<Component>4</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="TableMachining"]/costList</xpath>
<value>
<costList>
<Steel>100</Steel>
<EXP_Copper>40</EXP_Copper>
<EXP_InsulatedCable>10</EXP_InsulatedCable>
<Component>5</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="ElectricStove"]/costList</xpath>
<value>
<costList>
<Steel>50</Steel>
<EXP_Copper>30</EXP_Copper>
<Component>2</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Brewery"]/costList</xpath>
<value>
<costList>
<WoodLog>120</WoodLog>
<EXP_Copper>20</EXP_Copper>
<EXP_Rubber>20</EXP_Rubber>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="DrugLab"]/costList</xpath>
<value>
<costList>
<Steel>50</Steel>
<EXP_Copper>30</EXP_Copper>
<EXP_Rubber>20</EXP_Rubber>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="ElectricSmelter"]/costList</xpath>
<value>
<costList>
<Steel>120</Steel>
<EXP_Copper>40</EXP_Copper>
<EXP_InsulatedCable>10</EXP_InsulatedCable>
<Component>2</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Refinery"]/costList</xpath>
<value>
<costList>
<Steel>100</Steel>
<EXP_Copper>30</EXP_Copper>
<EXP_Rubber>20</EXP_Rubber>
<Component>3</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="ComponentAssemblyBench"]/costList</xpath>
<value>
<costList>
<Steel>150</Steel>
<EXP_Copper>40</EXP_Copper>
<EXP_InsulatedCable>10</EXP_InsulatedCable>
<Component>8</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="HiTechResearchBench"]/costList</xpath>
<value>
<costList>
<Steel>80</Steel>
<EXP_InsulatedCable>20</EXP_InsulatedCable>
<Component>8</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="ElectricCrematorium"]/costList</xpath>
<value>
<costList>
<Steel>15</Steel>
<EXP_Copper>10</EXP_Copper>
<Component>2</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="HydroponicsBasin"]/costList</xpath>
<value>
<costList>
<Steel>90</Steel>
<EXP_Rubber>5</EXP_Rubber>
<Component>1</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="DeepDrill"]/costList</xpath>
<value>
<costList>
<Steel>90</Steel>
<EXP_Lead>30</EXP_Lead>
<EXP_InsulatedCable>10</EXP_InsulatedCable>
</costList>
</value>
</Operation>




<!-- ==================== Buildings_Ship ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Ship_Beam"]/costList</xpath>
<value>
<costList>
<Steel>150</Steel>
<Plasteel>150</Plasteel>
<EXP_InsulatedCable>20</EXP_InsulatedCable>
<EXP_Copper>30</EXP_Copper>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Ship_CryptosleepCasket"]/costList</xpath>
<value>
<costList>
<Steel>425</Steel>
<EXP_Copper>50</EXP_Copper>
<EXP_Rubber>30</EXP_Rubber>
<Component>4</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Ship_ComputerCore"]/costList</xpath>
<value>
<costList>
<Steel>600</Steel>
<EXP_InsulatedCable>50</EXP_InsulatedCable>
<Gold>100</Gold>
<AIPersonaCore>1</AIPersonaCore>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Ship_Reactor"]/costList</xpath>
<value>
<costList>
<EXP_Lead>350</EXP_Lead>
<Plasteel>500</Plasteel>
<Uranium>150</Uranium>
<Component>25</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Ship_Engine"]/costList</xpath>
<value>
<costList>
<EXP_Lead>150</EXP_Lead>
<Plasteel>300</Plasteel>
<Uranium>100</Uranium>
<Component>25</Component>
</costList>
</value>
</Operation>




<!-- ==================== Buildings_Structure ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Autodoor"]/costList</xpath>
<value>
<costList>
<EXP_Copper>40</EXP_Copper>
<Component>1</Component>
</costList>
</value>
</Operation>




<!-- ==================== Buildings_Temperature ==================== -->




<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Heater"]/costList</xpath>
<value>
<costList>
<Steel>45</Steel>
<EXP_Copper>20</EXP_Copper>
<Component>1</Component>
</costList>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//ThingDef[defName="Cooler"]/costList</xpath>
<value>
<costList>
<Steel>70</Steel>
<EXP_Copper>20</EXP_Copper>
<EXP_Rubber>10</EXP_Rubber>
<Component>3</Component>
</costList>
</value>
</Operation>






<!-- ==================== Recipes_Production ==================== -->






<Operation Class="PatchOperationReplace">
<xpath>//RecipeDef[defName="MakeComponent"]/workAmount</xpath>
<value>
<workAmount>6000</workAmount>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//RecipeDef[defName="MakeComponent"]/ingredients</xpath>
<value>
<ingredients>
<li>
<filter>
<thingDefs>
<li>EXP_Copper</li>
</thingDefs>
</filter>
<count>10</count>
</li>
<li>
<filter>
<thingDefs>
<li>EXP_Rubber</li>
</thingDefs>
</filter>
<count>5</count>
</li>
<li>
<filter>
<thingDefs>
<li>Steel</li>
</thingDefs>
</filter>
<count>10</count>
</li>
</ingredients>
</value>
</Operation>

<Operation Class="PatchOperationReplace">
<xpath>//RecipeDef[defName="MakeComponent"]/fixedIngredientFilter</xpath>
<value>
<fixedIngredientFilter>
<thingDefs>
<li>EXP_Copper</li>
<li>EXP_Rubber</li>
<li>Steel</li>
</thingDefs>
</fixedIngredientFilter>
</value>
</Operation>

</Patch>
#2
Outdated / [B18] cuproPanda's (Outdated) Mods
May 06, 2017, 05:29:32 PM
cuproPanda's Mods

A10-A15 mods can be found here

Mods are now hosted on GitHub. Click on the mod's name to view its description post, or click on a version number below to download






















MOD NAME/POST
CALLSIGN 
VERSION 
LATEST UPDATE
 
BRIEF DESCRIPTION
 
 
 
 
 
 
 
 
MAIN MODS
 
 
 
SRV
21 Dec 17
 
Adds small features for a starting colony, or one without power.
EXP
20 Jun 17
 
Adds new power features and expands existing ones.
AJO
21 Dec 17
 
Adds new objects and activities that bring joy to colonists.
CPD
02 Jan 18
 
Adds required core features for other Cupro's Drinks modules.
CPD
20 Dec 17
 
Adds the ability to brew sodas.
CPD
21 Nov 17
 
Adds the ability to brew more alcoholic drinks.
CPD
02 Jan 18
 
Adds the ability to brew energy drinks.
 
 
 
 
 
 
 
 
MICRO MODS
 
 
 
QRY
09 Jan 18
 
Adds a quarry for collecting resources in flat terrain.
STN
09 Jan 18
 
Adds 10 new types of stone
ZEN
10 Jan 18
 
Adds decorative garden stuff
CAL
09 Jan 18
 
Adds new metals and alloys.
WIN
13 Jun 17
 
Adds windows to the game, allowing sunlight to pass through walls.
FZN
24 Nov 17
 
Adds eight new stockpile zones which are already filtered for storing various items.
FLG
24 Nov 17
 
Adds decorative flags for marking areas or displaying heraldry.
GLO
09 Jan 18
 
Adds mineable rocks which glow and can be used to provide light.




License:
All works that are not derivatives of RimWorld assets are licensed under a Creative Commons Public Domain 1.0 Universal License
All permissions granted
#3
I'm trying to make neurotrainers for traits, but I can't get past this one error. I think I may need the source for JobDriver_UseItem, then I'd be able to figure it out. Maybe someone else can spot the problem? I'm very new with working with toils and the like, so it may just be a stupid mistake I'm making.

This is the error I get,


This is the code for the BrainMod (Trait trainer), based off of the Neurotrainer source,
using System.Collections.Generic;

using RimWorld;
using Verse;
using Verse.AI;

namespace BrainMod {

  public interface IUsable {
    void UsedBy(Pawn pawn);
  }


  public class BrainMod : ThingWithComps, IUsable {
    //Config
    private Trait trait;
    private TraitDef traitDef;
    private JobDef UseBrainMod;


    //Properties
    public override string LabelBase {
      get {
        return trait.Label + " " + def.label;
      }
    }



    public override void ExposeData() {
      base.ExposeData();
      Scribe_Defs.LookDef(ref traitDef, "traitDef");
    }

    public override void PostMake() {
      base.PostMake();

      UseBrainMod = DefDatabase<JobDef>.GetNamed("UseBrainMod");
      traitDef = DefDatabase<TraitDef>.AllDefsListForReading.RandomElement();
      trait = new Trait(traitDef);
      trait.degree = PawnGenerator.RandomTraitDegree(traitDef);
    }


    public override IEnumerable<FloatMenuOption> GetFloatMenuOptions(Pawn myPawn) {
      foreach (var ch in base.GetFloatMenuOptions(myPawn)) {
        yield return ch;
      }

      FloatMenuOption useopt = new FloatMenuOption("UseBrainMod".Translate(trait.Label), () => {
        Job job = new Job(UseBrainMod, this);
        myPawn.drafter.TakeOrderedJob(job);
      });

      yield return useopt;
    }

    public void UsedBy(Pawn user) {

      user.story.traits.GainTrait(trait);
     

      if (PawnUtility.ShouldSendNotificationAbout(user))
        Messages.Message("BrainModUsed".Translate(user.LabelBaseShort, trait.Label), user, MessageSound.Standard);

      Destroy();
    }

    public override bool CanStackWith(Thing other) {
      if (!base.CanStackWith(other))
        return false;

      BrainMod on = other as BrainMod;
      if (on == null || on.traitDef != traitDef)
        return false;

      return true;
    }

    public override Thing SplitOff(int count) {

      BrainMod bm = (BrainMod)base.SplitOff(count);

      if (bm != null)
        bm.traitDef = traitDef;

      return bm;
    }
  }
}


... and the jobDef/thingDef,
<JobDef>
    <defName>UseBrainMod</defName>
    <driverClass>JobDriver_UseItem</driverClass>
    <reportString>Using BrainMod.</reportString>
  </JobDef>

<ThingDef ParentName="ResourceBase">
<defName>BrainMod</defName>
<thingClass>BrainMod.BrainMod</thingClass>
<label>BrainMod</label>
<description>A one-use nanotech device. The BrainMod is inserted through the orbit of the eye and releases nanomachines into the subject's brain, rewriting neural pathways and adding personality traits.</description>
<graphicData>
<texPath>Things/Item/Special/Neurotrainer</texPath>
<color>(255,224,128)</color>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<resourceReadoutPriority>Middle</resourceReadoutPriority>
<stackLimit>1</stackLimit>
<tradeNeverStack>true</tradeNeverStack>
<useHitPoints>true</useHitPoints>
<statBases>
<MarketValue>2000</MarketValue>
<MaxHitPoints>80</MaxHitPoints>
</statBases>
<thingCategories>
<li>Items</li>
</thingCategories>
<drawGUIOverlay>false</drawGUIOverlay>
<tradeTags>
<li>Exotic</li>
</tradeTags>
</ThingDef>


Any help would be greatly appreciated, as I have tried everything I can think of, to no avail.
#4
I recently made a quarry mod, allowing colonists to mine for resources from the ground. What I want to do for the next update is auto detect if an item is present (Coal from MD2 for example), then allow that item to be mined.

What are some mods that add mined resources? Currently I know of MD2 and Expanded Mining, but I'm sure there are some I'm forgetting, don't use, or don't know of.
#5
Mods / Balancing an Unpowered Cooler
April 03, 2016, 03:30:04 AM
I'm currently working on adding an unpowered cooler for my Powerless mod, based on the premise that deep underground temperatures are lower than surface temperatures. Basically, colonists could build a well-like vent to allow cooler air to circulate the base and passively cool it. How would you suggest I balance this, considering it is easy to abuse?

Current ideas:
-Make it expensive. The well from Soda Brewing costs 400 stone bricks. This seems like a fair number to start with.
-Make it big. A large hole in the ground would likely cause the surrounding ground to become at least a little unstable. Maybe surround the hole with a safety barrier, increasing the footprint to 3x3 or 5x5. This way, it wouldn't be the sort of thing to have in every bedroom, dining hall, and storage depot.
-Generate small 1x1 geysers at worldgen, which have cool air coming up from below. The vent can only be built on these, but there would either be not enough to make much of a difference, or the ground would be littered with them.

Also, this will be something that comes out with a13, and depending on the details of the underground insects, they might play a role in the vent. Increased insect spawn rates? Only buildable on a destroyed hive? I'll have to wait and see.
#6
Ideas / Medicine Priority
September 16, 2015, 01:26:06 PM
I'm tired of hunting down every colonist that was injured during a prison riot so I can limit them to herbal/no medicine, thereby not wasting my good medicine on healing bruises and scratches. In earlier versions I'd have to forbid my medicine to prevent it from being used, which may or may not be stored intelligently.

I'd like to see something similar to the outfits menu, where players can manually select what injuries -or injury severity types- they'd like the medicine used on. Want to have bruises healed with no meds or herbal, cuts/scratches healed with herbal, and stabs/gunshots healed with the best meds? All you'd need to do is define it. Maybe some colonists get better treatment based on their value to the player or whether they can feel/enjoy pain. Of course, the default setting would likely be glitterworld for all, since the game starts with medicine, not herbal medicine.

What does everyone think? This could be done with a mod, but I think it's something that belongs in the base game.
#7
Help / Delete poll / New poll for threads?
September 13, 2015, 03:55:28 PM
I've been stuck with an old poll at the top of my thread for a few weeks now. It hasn't gone away, and I can't find anything to remove it. I recently created a new poll by resetting the votes and renaming the options, but I didn't have the option to choose when it ends or to delete it. Does anyone know how I can delete this new poll once I'm done with it(in like a week or so)? I don't want to have to call it "Old poll, please ignore" and lock the voting again, that doesn't look very professional

EDIT: It also doesn't appear voting is currently allowed since voting closed a while ago, but that may be because I created the poll and am not allowed to vote on it.
#8
When I try to place a rotated painting, the blueprint shows the rotation I want, but then once installed the painting reverts to the unrotated graphic. Is this an issue with using Graphic_Random? I know there is currently an issue using Graphic_Random with mask info, but I don't know if this is something similar or not.

The code block, for reference
<ThingDef ParentName="PaintingBase">
<defName>Painting</defName>
<label>painting</label>
<description>A painting. Useful for covering up holes, and quite easy on the eyes.</description>
<graphicData>
<texPath>Things/Building/Furniture/Painting</texPath>
<graphicClass>Graphic_Random</graphicClass>
</graphicData>
<minifiedDef>MinifiedFurniture</minifiedDef>
<socialPropernessMatters>true</socialPropernessMatters>
<hasInteractionCell>true</hasInteractionCell>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<fillPercent>0.0</fillPercent>
<altitudeLayer>MoteOverhead</altitudeLayer>
<rotatable>true</rotatable>
<statBases>
<MarketValue>25</MarketValue>
<MaxHitPoints>10</MaxHitPoints>
<Flammability>1.0</Flammability>
<Beauty>30</Beauty>
</statBases>
</ThingDef>


In the image below:
The left painting is the install blueprint with the interaction cell facing north
The right painting is already installed, also with the interaction cell facing north, but the graphic is unrotated.

[attachment deleted due to age]
#9
Help / Unable to create unfinished object! (SOLVED)
June 10, 2015, 09:07:50 PM
I am attempting to create a painting using the defs surrounding sculptures, however I am hitting a wall when it comes to creating an unfinished painting. My colonists start making a painting, but if I tell them to stop or do something else, there are resources left behind instead of an unfinished project(meaning they have to start from the beginning). I feel like the solution is right in front of me, but I have been working on this for 4 hours and it's really getting frustrating.


My defs are below, if anyone can spot an error or let me know where I need to look.

-snip-

Any help would be much appreciated, and sorry for the wall of text.
(Tynan, we need spoiler tags!)
#10
I can't seem to get colonists to interact with a joy object on only one side. I tried adding an interaction cell, but that didn't work, and there aren't any joy objects for me to reference handling this behavior. Am I just missing some obvious thing here? Image below if it helps.





EDIT: a solution now exists in the form of JoyGiver_InteractBuildingInteractionCell!
#11
So, I'm getting this message and I have no idea where to start. I've created an arcade cabinet (XML), bought it (minified) from a trader, installed it, but nobody uses it. I have 4 joy deprived colonists locked in a room, but they have no interest. What am I doing wrong?

This message started getting spammed the second I confirmed the purchase from the trader:
#12
So, I have a small amount of free time, and I decided why not make a mod for RimWorld? So far all I have is the go table, a simple reskin of the chess table, seen below.



If anybody has any suggestions, I'm open to new ideas!
#13
Shouldn't colonists have buffs from seeing other people nude? Most people wouldn't care because there are more important things to worry about like the arm that was just shot off in a raid, or they just don't care. Similar to how some colonists like or hate prosthetics, I suggest a mechanic relating to nudist colonists.

Personality trait 1: colonist enjoys the sight of (random sex/opposite sex/any) nude colonists, and gets a slight positive buff from being around nudists, similar to being in a beautiful environment.

Trait2: colonist feels the human body is special/sacred and should remain hidden, not exposed for everyone to see. They get a slight negative debuff, similar to having a bad conversation

This just came to me as I have my nudist researcher working right by the front door, with everyone walking past her. Another one of my (useless noble) colonists seems to spend a lot of time "wandering" near her...
#14
Outdated / [A10-A15] cuproPanda's Mods (Old Thread)
April 23, 2015, 03:30:55 PM
cuproPanda's Mods

New mods can be found here




























MOD NAME
CALLSIGN 
VERSION 
LATEST UPDATE
 
BRIEF DESCRIPTION
 
 
 
 
 
 
 
 
CORE MOD
 
 
 
CP
14.04
8 Aug 16
 
Adds a few basic gameplay features and acts as a base for other cuproPanda mods
 
 
 
 
 
 
 
 
MAIN MODS
 
 
 
AJO
14.02
7 Aug 16
 
Adds new objects and activities that bring joy to colonists.
CPD
14.00
23 Jul 16
 
Adds the ability to brew a variety of drinks.
POW
14.00
23 Jul 16
 
Adds small features for a starting colony, or one without power.
RPH
NO 15
23 Jul 16
 
Adds new drugs to help with pain, focus, speed, and infections.
 
 
 
 
 
 
 
 
ADD-ONS
 
 
 
SOGA
A14
13 May 16
 
(CPD) Sodas can use fruit from Vegetable Garden.
UNI
14.00
26 Jul 16
 
Allows colonists to exchange modded resources of the same kind. Includes templates for custom recipes.
 
 
 
 
 
 
 
 
MICRO MODS
 
 
 
ZEN
14.00
23 Jul 16
 
Adds various zen and rock garden themed decorations.
AMU
14.00
23 Jul 16
 
Adds powerful amulets left over from an ancient civilization.
EXP
14.01
27 Jul 16
 
Adds new power features and expands existing ones.
CFG
NO 15
23 Jul 16
 
Allows burning of non-colonist corpses for fuel.
CAL
14.00
23 Jul 16
 
Adds new alloyed metals for creating buildings, weapons, and art.
 
 
 
 
 
 
EXF
14.00
23 Jul 16
 
Adds new floors.
QRY
14.20
28 Jul 16
 
Adds a quarry for collecting resources in flat terrain.
BRM
NO 15
23 May 16
 
Adds BrainMod devices for giving traits to colonists.
DWC
14.01
03 Aug 16
 
Adds small things to craft and sell to traders.



Source Images: A compilation of .XCFs (GIMP/Photoshop) that I use. Updated 19 Jun 16
Source Files: Constantly up-to-date source files on GitHub.





License:
All works that are not derivatives of RimWorld assets are licensed under a Creative Commons Public Domain 1.0 Universal License
All permissions granted