Difference between revisions of "Module:Test/data"

From RimWorld Wiki
Jump to navigation Jump to search
(restructure)
m
Line 5: Line 5:
 
   ["BiomeDef:BorealForest"] = {
 
   ["BiomeDef:BorealForest"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Cold.xml",
 
       FileName = "Biomes_Cold.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 54: Line 55:
 
   ["BiomeDef:Tundra"] = {
 
   ["BiomeDef:Tundra"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Cold.xml",
 
       FileName = "Biomes_Cold.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 95: Line 97:
 
   ["BiomeDef:ColdBog"] = {
 
   ["BiomeDef:ColdBog"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Cold.xml",
 
       FileName = "Biomes_Cold.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 146: Line 149:
 
   ["BiomeDef:IceSheet"] = {
 
   ["BiomeDef:IceSheet"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Cold.xml",
 
       FileName = "Biomes_Cold.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 168: Line 172:
 
   ["BiomeDef:SeaIce"] = {
 
   ["BiomeDef:SeaIce"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Cold.xml",
 
       FileName = "Biomes_Cold.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 188: Line 193:
 
   ["BiomeDef:TemperateForest"] = {
 
   ["BiomeDef:TemperateForest"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Temperate.xml",
 
       FileName = "Biomes_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 242: Line 248:
 
   ["BiomeDef:TemperateSwamp"] = {
 
   ["BiomeDef:TemperateSwamp"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Temperate.xml",
 
       FileName = "Biomes_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 292: Line 299:
 
   ["BiomeDef:TropicalRainforest"] = {
 
   ["BiomeDef:TropicalRainforest"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Warm.xml",
 
       FileName = "Biomes_Warm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 336: Line 344:
 
   ["BiomeDef:TropicalSwamp"] = {
 
   ["BiomeDef:TropicalSwamp"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Warm.xml",
 
       FileName = "Biomes_Warm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 379: Line 388:
 
   ["BiomeDef:AridShrubland"] = {
 
   ["BiomeDef:AridShrubland"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_WarmArid.xml",
 
       FileName = "Biomes_WarmArid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 423: Line 433:
 
   ["BiomeDef:Desert"] = {
 
   ["BiomeDef:Desert"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_WarmArid.xml",
 
       FileName = "Biomes_WarmArid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 458: Line 469:
 
   ["BiomeDef:ExtremeDesert"] = {
 
   ["BiomeDef:ExtremeDesert"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_WarmArid.xml",
 
       FileName = "Biomes_WarmArid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 483: Line 495:
 
   ["BiomeDef:Ocean"] = {
 
   ["BiomeDef:Ocean"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Water.xml",
 
       FileName = "Biomes_Water.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 493: Line 506:
 
   ["BiomeDef:Lake"] = {
 
   ["BiomeDef:Lake"] = {
 
     _ = {
 
     _ = {
 +
      DefCategory = "BiomeDef",
 
       FileName = "Biomes_Water.xml",
 
       FileName = "Biomes_Water.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 504: Line 518:
 
     _ = {
 
     _ = {
 
       ParentName = "DrugBase",
 
       ParentName = "DrugBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Alcohol_Beer.xml",
 
       FileName = "Alcohol_Beer.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 519: Line 534:
 
     },
 
     },
 
     ingestible = {
 
     ingestible = {
       foodType = "Fluid, Processed, Liquor",
+
       foodType = {
 +
        "Fluid",
 +
        "Processed",
 +
        "Liquor",
 +
      },
 
       joyKind = "Chemical",
 
       joyKind = "Chemical",
 
       joy = 0.17,
 
       joy = 0.17,
Line 526: Line 545:
 
       canAutoSelectAsFoodForCaravan = false,
 
       canAutoSelectAsFoodForCaravan = false,
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "AlcoholHigh",
 
           hediffDef = "AlcoholHigh",
 
           severity = 0.15,
 
           severity = 0.15,
 
           toleranceChemical = "Alcohol",
 
           toleranceChemical = "Alcohol",
 
         },
 
         },
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "AlcoholTolerance",
 
           hediffDef = "AlcoholTolerance",
 
           severity = 0.016,
 
           severity = 0.016,
Line 574: Line 599:
 
     _ = {
 
     _ = {
 
       ParentName = "ResourceBase",
 
       ParentName = "ResourceBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Alcohol_Beer.xml",
 
       FileName = "Alcohol_Beer.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 602: Line 628:
 
     _ = {
 
     _ = {
 
       ParentName = "DrugBase",
 
       ParentName = "DrugBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Ambrosia.xml",
 
       FileName = "Ambrosia.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 620: Line 647:
 
       preferability = "DesperateOnly",
 
       preferability = "DesperateOnly",
 
       tasteThought = {},
 
       tasteThought = {},
       foodType = "VegetableOrFruit",
+
       foodType = {
 +
        "VegetableOrFruit",
 +
      },
 
       joyKind = "Chemical",
 
       joyKind = "Chemical",
 
       joy = 0.5,
 
       joy = 0.5,
Line 626: Line 655:
 
       canAutoSelectAsFoodForCaravan = false,
 
       canAutoSelectAsFoodForCaravan = false,
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "AmbrosiaHigh",
 
           hediffDef = "AmbrosiaHigh",
 
           severity = 0.50,
 
           severity = 0.50,
 
           toleranceChemical = "Ambrosia",
 
           toleranceChemical = "Ambrosia",
 
         },
 
         },
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "AmbrosiaTolerance",
 
           hediffDef = "AmbrosiaTolerance",
 
           severity = 0.032,
 
           severity = 0.032,
Line 653: Line 688:
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:DrugBase"] = {
 
     _ = {
 
     _ = {
 
       Name = "DrugBase",
 
       Name = "DrugBase",
 
       Abstract = true,
 
       Abstract = true,
 +
      DefCategory = "ThingDef",
 
       FileName = "DrugBases.xml",
 
       FileName = "DrugBases.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 686: Line 723:
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:MakeableDrugBase"] = {
 
     _ = {
 
     _ = {
 
       Name = "MakeableDrugBase",
 
       Name = "MakeableDrugBase",
 
       ParentName = "DrugBase",
 
       ParentName = "DrugBase",
 
       Abstract = true,
 
       Abstract = true,
 +
      DefCategory = "ThingDef",
 
       FileName = "DrugBases.xml",
 
       FileName = "DrugBases.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 702: Line 741:
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:MakeableDrugPillBase"] = {
 
     _ = {
 
     _ = {
 
       Name = "MakeableDrugPillBase",
 
       Name = "MakeableDrugPillBase",
 
       ParentName = "MakeableDrugBase",
 
       ParentName = "MakeableDrugBase",
 
       Abstract = true,
 
       Abstract = true,
 +
      DefCategory = "ThingDef",
 
       FileName = "DrugBases.xml",
 
       FileName = "DrugBases.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 
     ingestible = {
 
     ingestible = {
       foodType = "Processed",
+
       foodType = {
 +
        "Processed",
 +
      },
 
       baseIngestTicks = 100,
 
       baseIngestTicks = 100,
 
       chairSearchRadius = 0,
 
       chairSearchRadius = 0,
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:DrugPillBase"] = {
 
     _ = {
 
     _ = {
 
       Name = "DrugPillBase",
 
       Name = "DrugPillBase",
 
       ParentName = "DrugBase",
 
       ParentName = "DrugBase",
 
       Abstract = true,
 
       Abstract = true,
 +
      DefCategory = "ThingDef",
 
       FileName = "DrugBases.xml",
 
       FileName = "DrugBases.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 
     ingestible = {
 
     ingestible = {
       foodType = "Processed",
+
       foodType = {
 +
        "Processed",
 +
      },
 
       baseIngestTicks = 100,
 
       baseIngestTicks = 100,
 
       chairSearchRadius = 0,
 
       chairSearchRadius = 0,
Line 734: Line 781:
 
     _ = {
 
     _ = {
 
       ParentName = "MakeableDrugBase",
 
       ParentName = "MakeableDrugBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "GoJuice.xml",
 
       FileName = "GoJuice.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 749: Line 797:
 
       joy = 0.40,
 
       joy = 0.40,
 
       drugCategory = "Hard",
 
       drugCategory = "Hard",
       foodType = "Processed, Fluid",
+
       foodType = {
 +
        "Processed",
 +
        "Fluid",
 +
      },
 
       baseIngestTicks = 80,
 
       baseIngestTicks = 80,
 
       chairSearchRadius = 0,
 
       chairSearchRadius = 0,
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "GoJuiceHigh",
 
           hediffDef = "GoJuiceHigh",
 
           severity = 0.5,
 
           severity = 0.5,
 
           toleranceChemical = "GoJuice",
 
           toleranceChemical = "GoJuice",
 
         },
 
         },
         IngestionOutcomeDoer_OffsetNeed = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_OffsetNeed",
 +
          },
 
           need = "Rest",
 
           need = "Rest",
 
           offset = 0.4,
 
           offset = 0.4,
 
           toleranceChemical = "GoJuice",
 
           toleranceChemical = "GoJuice",
 
         },
 
         },
         IngestionOutcomeDoer_OffsetPsyfocus = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_OffsetPsyfocus",
 +
          },
 
           offset = 0.15,
 
           offset = 0.15,
 
         },
 
         },
Line 796: Line 856:
 
     _ = {
 
     _ = {
 
       ParentName = "DrugPillBase",
 
       ParentName = "DrugPillBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Luciferium.xml",
 
       FileName = "Luciferium.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 809: Line 870:
 
       drugCategory = "Medical",
 
       drugCategory = "Medical",
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "LuciferiumHigh",
 
           hediffDef = "LuciferiumHigh",
 
           severity = 1.00,
 
           severity = 1.00,
Line 832: Line 896:
 
     _ = {
 
     _ = {
 
       ParentName = "MakeableDrugPillBase",
 
       ParentName = "MakeableDrugPillBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Penoxycyline.xml",
 
       FileName = "Penoxycyline.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 847: Line 912:
 
       drugCategory = "Medical",
 
       drugCategory = "Medical",
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "PenoxycylineHigh",
 
           hediffDef = "PenoxycylineHigh",
 
           severity = 1.0,
 
           severity = 1.0,
Line 873: Line 941:
 
     _ = {
 
     _ = {
 
       ParentName = "MakeableDrugBase",
 
       ParentName = "MakeableDrugBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Psychite_Flake.xml",
 
       FileName = "Psychite_Flake.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 885: Line 954:
 
     },
 
     },
 
     ingestible = {
 
     ingestible = {
       foodType = "Processed",
+
       foodType = {
 +
        "Processed",
 +
      },
 
       joyKind = "Chemical",
 
       joyKind = "Chemical",
 
       joy = 0.70,
 
       joy = 0.70,
Line 891: Line 962:
 
       drugCategory = "Hard",
 
       drugCategory = "Hard",
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "FlakeHigh",
 
           hediffDef = "FlakeHigh",
 
           severity = 0.75,
 
           severity = 0.75,
 
           toleranceChemical = "Psychite",
 
           toleranceChemical = "Psychite",
 
         },
 
         },
         IngestionOutcomeDoer_OffsetNeed = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_OffsetNeed",
 +
          },
 
           need = "Rest",
 
           need = "Rest",
 
           offset = 0.2,
 
           offset = 0.2,
 
           toleranceChemical = "Psychite",
 
           toleranceChemical = "Psychite",
 
         },
 
         },
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "PsychiteTolerance",
 
           hediffDef = "PsychiteTolerance",
 
           severity = 0.04,
 
           severity = 0.04,
Line 934: Line 1,014:
 
     _ = {
 
     _ = {
 
       ParentName = "MakeableDrugBase",
 
       ParentName = "MakeableDrugBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Psychite_Tea.xml",
 
       FileName = "Psychite_Tea.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 947: Line 1,028:
 
     },
 
     },
 
     ingestible = {
 
     ingestible = {
       foodType = "Fluid, Processed",
+
       foodType = {
 +
        "Fluid",
 +
        "Processed",
 +
      },
 
       joyKind = "Chemical",
 
       joyKind = "Chemical",
 
       joy = 0.40,
 
       joy = 0.40,
Line 953: Line 1,037:
 
       drugCategory = "Social",
 
       drugCategory = "Social",
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "PsychiteTeaHigh",
 
           hediffDef = "PsychiteTeaHigh",
 
           severity = 0.75,
 
           severity = 0.75,
 
           toleranceChemical = "Psychite",
 
           toleranceChemical = "Psychite",
 
         },
 
         },
         IngestionOutcomeDoer_OffsetNeed = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_OffsetNeed",
 +
          },
 
           need = "Rest",
 
           need = "Rest",
 
           offset = 0.1,
 
           offset = 0.1,
 
           toleranceChemical = "Psychite",
 
           toleranceChemical = "Psychite",
 
         },
 
         },
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "PsychiteTolerance",
 
           hediffDef = "PsychiteTolerance",
 
           severity = 0.03,
 
           severity = 0.03,
Line 1,002: Line 1,095:
 
     _ = {
 
     _ = {
 
       ParentName = "MakeableDrugBase",
 
       ParentName = "MakeableDrugBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Psychite_Yayo.xml",
 
       FileName = "Psychite_Yayo.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,014: Line 1,108:
 
     },
 
     },
 
     ingestible = {
 
     ingestible = {
       foodType = "Processed",
+
       foodType = {
 +
        "Processed",
 +
      },
 
       joyKind = "Chemical",
 
       joyKind = "Chemical",
 
       joy = 0.80,
 
       joy = 0.80,
Line 1,020: Line 1,116:
 
       baseIngestTicks = 150,
 
       baseIngestTicks = 150,
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "YayoHigh",
 
           hediffDef = "YayoHigh",
 
           severity = 0.75,
 
           severity = 0.75,
 
           toleranceChemical = "Psychite",
 
           toleranceChemical = "Psychite",
 
         },
 
         },
         IngestionOutcomeDoer_OffsetNeed = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_OffsetNeed",
 +
          },
 
           need = "Rest",
 
           need = "Rest",
 
           offset = 0.4,
 
           offset = 0.4,
 
           toleranceChemical = "Psychite",
 
           toleranceChemical = "Psychite",
 
         },
 
         },
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "PsychiteTolerance",
 
           hediffDef = "PsychiteTolerance",
 
           severity = 0.040,
 
           severity = 0.040,
Line 1,064: Line 1,169:
 
     _ = {
 
     _ = {
 
       ParentName = "MakeableDrugBase",
 
       ParentName = "MakeableDrugBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Smokeleaf.xml",
 
       FileName = "Smokeleaf.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,078: Line 1,184:
 
     },
 
     },
 
     ingestible = {
 
     ingestible = {
       foodType = "Plant, Processed",
+
       foodType = {
 +
        "Plant",
 +
        "Processed",
 +
      },
 
       joyKind = "Chemical",
 
       joyKind = "Chemical",
 
       joy = 0.80,
 
       joy = 0.80,
Line 1,084: Line 1,193:
 
       drugCategory = "Social",
 
       drugCategory = "Social",
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "SmokeleafHigh",
 
           hediffDef = "SmokeleafHigh",
 
           severity = 0.5,
 
           severity = 0.5,
 
           toleranceChemical = "Smokeleaf",
 
           toleranceChemical = "Smokeleaf",
 
         },
 
         },
         IngestionOutcomeDoer_OffsetNeed = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_OffsetNeed",
 +
          },
 
           need = "Rest",
 
           need = "Rest",
 
           offset = -0.1,
 
           offset = -0.1,
 
         },
 
         },
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "SmokeleafTolerance",
 
           hediffDef = "SmokeleafTolerance",
 
           severity = 0.030,
 
           severity = 0.030,
Line 1,126: Line 1,244:
 
     _ = {
 
     _ = {
 
       ParentName = "MakeableDrugPillBase",
 
       ParentName = "MakeableDrugPillBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "WakeUp.xml",
 
       FileName = "WakeUp.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,142: Line 1,261:
 
       drugCategory = "Hard",
 
       drugCategory = "Hard",
 
       outcomeDoers = {
 
       outcomeDoers = {
         IngestionOutcomeDoer_GiveHediff = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_GiveHediff",
 +
          },
 
           hediffDef = "WakeUpHigh",
 
           hediffDef = "WakeUpHigh",
 
           severity = 0.75,
 
           severity = 0.75,
 
           toleranceChemical = "WakeUp",
 
           toleranceChemical = "WakeUp",
 
         },
 
         },
         IngestionOutcomeDoer_OffsetNeed = {
+
         {
 +
          _ = {
 +
            Class = "IngestionOutcomeDoer_OffsetNeed",
 +
          },
 
           need = "Rest",
 
           need = "Rest",
 
           offset = 1.0,
 
           offset = 1.0,
Line 1,179: Line 1,304:
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Effecter_Construction.xml",
 
       FileName = "Effecter_Construction.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,189: Line 1,315:
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Effecter_Damage.xml",
 
       FileName = "Effecter_Damage.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,199: Line 1,326:
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Effecter_Damage.xml",
 
       FileName = "Effecter_Damage.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,209: Line 1,337:
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Effecter_Damage.xml",
 
       FileName = "Effecter_Damage.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,219: Line 1,348:
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Effecter_Damage.xml",
 
       FileName = "Effecter_Damage.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,229: Line 1,359:
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Effecter_Damage.xml",
 
       FileName = "Effecter_Damage.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,239: Line 1,370:
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Effecter_Ingest.xml",
 
       FileName = "Effecter_Ingest.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,250: Line 1,382:
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Effecter_Ingest.xml",
 
       FileName = "Effecter_Ingest.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,261: Line 1,394:
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
 +
      DefCategory = "ThingDef",
 
       FileName = "Effecter_Misc.xml",
 
       FileName = "Effecter_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
Line 1,267: Line 1,401:
 
     altitudeLayer = "MoteOverhead",
 
     altitudeLayer = "MoteOverhead",
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:BodyPartArchotechBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       Name = "BodyPartArchotechBase",
       Name = "MoteFeedbackBase",
+
       ParentName = "BodyPartBase",
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Mote_Meta.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Archotech.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     altitudeLayer = "MetaOverlays",
+
     thingCategories = {
 +
      "BodyPartsArchotech",
 +
    },
 +
    statBases = {
 +
      DeteriorationRate = 0,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_FeedbackGoto"] = {
+
   ["ThingDef:ArchotechEye"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteFeedbackBase",
+
       ParentName = "BodyPartArchotechBase",
       FileName = "Mote_Meta.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Archotech.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_FeedbackGoto",
+
     defName = "ArchotechEye",
 +
    label = "archotech eye",
 +
    description = [[An artifical eye built by an archotech. It perceives every type of electromagnetic radiation, including radio waves, infrared, light, x-rays, and gamma rays. Its visual acuity is precise enough to read handwriting from twenty meters away. It can emit various wavelengths of radiation like a flashlight, and has an internal subpersona AI which helps highlight useful visual information. Externally, it looks like a natural human eye, except it can change color at will. Its internal workings are a mystery to all human minds.]],
 +
    statBases = {
 +
      MarketValue = 2800,
 +
      Mass = 0.3,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_FeedbackShoot"] = {
+
   ["ThingDef:ArchotechArm"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteFeedbackBase",
+
       ParentName = "BodyPartArchotechBase",
       FileName = "Mote_Meta.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Archotech.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_FeedbackShoot",
+
     defName = "ArchotechArm",
  },
+
    label = "archotech arm",
 
+
    description = [[An artifical arm built by an archotech. It's strong enough to crush a thick hardwood branch in its hand, and precise enough to write a sonnet on a grain of rice. It looks and feels like natural flesh, but it's harder to damage than plasteel. Even if it is harmed, it repairs itself over time. Its internal workings are a mystery to all human minds.]],
  ["ThingDef:Mote_FeedbackMelee"] = {
+
     statBases = {
     _ = {
+
       MarketValue = 2800,
       ParentName = "MoteFeedbackBase",
+
       Mass = 4,
      FileName = "Mote_Meta.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_FeedbackMelee",
 
 
   },
 
   },
  
   ["ThingDef:Mote_FeedbackEquip"] = {
+
   ["ThingDef:ArchotechLeg"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteFeedbackBase",
+
       ParentName = "BodyPartArchotechBase",
       FileName = "Mote_Meta.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Archotech.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_FeedbackEquip",
+
     defName = "ArchotechLeg",
  },
+
    label = "archotech leg",
 
+
    description = [[An artifical leg built by an archotech. It looks and feels like natural flesh, but a pair of these can move the user as fast as a decent car, and it's harder to damage than plasteel. Even if it is harmed, it repairs itself over time. Its internal workings are a mystery to all human minds.]],
  ["ThingDef:Mote_FeedbackExtinguish"] = {
+
     statBases = {
     _ = {
+
       MarketValue = 2800,
       ParentName = "MoteFeedbackBase",
+
       Mass = 7,
      FileName = "Mote_Meta.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_FeedbackExtinguish",
 
 
   },
 
   },
  
   ["ThingDef:Mote_Clean"] = {
+
   ["ThingDef:BodyPartBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       Name = "BodyPartBase",
       FileName = "Mote_Meta.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Base.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Clean",
+
     thingClass = "ThingWithComps",
     thingClass = "MoteDualAttached",
+
     category = "Item",
     altitudeLayer = "MetaOverlays",
+
    useHitPoints = true,
 +
     altitudeLayer = "Item",
 +
    pathCost = 14,
 +
    statBases = {
 +
      MaxHitPoints = 50,
 +
      Flammability = 0.7,
 +
      Beauty = -4,
 +
      DeteriorationRate = 2.0,
 +
      Mass = 1,
 +
    },
 +
    tradeTags = {
 +
      "TechHediff",
 +
    },
 +
    comps = {
 +
      CompProperties_Forbiddable = {},
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_Sow"] = {
+
   ["ThingDef:BodyPartBionicBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
      Name = "BodyPartBionicBase",
       FileName = "Mote_Meta.xml",
+
       ParentName = "BodyPartBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Sow",
+
     thingCategories = {
     thingClass = "MoteDualAttached",
+
      "BodyPartsBionic",
     altitudeLayer = "MetaOverlays",
+
     },
 +
    tradeTags = {
 +
      "Bionic",
 +
     },
 +
    statBases = {
 +
      WorkToMake = 26000,
 +
    },
 +
    recipeMaker = {
 +
      workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
      effectWorking = "Smith",
 +
      soundWorking = "Recipe_Smith",
 +
      unfinishedThingDef = "UnfinishedHealthItemBionic",
 +
      skillRequirements = {
 +
        Crafting = 8,
 +
      },
 +
      researchPrerequisite = "Bionics",
 +
      recipeUsers = {
 +
        "FabricationBench",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_Harvest"] = {
+
   ["ThingDef:BionicEye"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartBionicBase",
       FileName = "Mote_Meta.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Harvest",
+
     defName = "BionicEye",
     thingClass = "MoteDualAttached",
+
     label = "bionic eye",
     altitudeLayer = "MetaOverlays",
+
     description = [[An advanced artifical eye. With its biogel nerve-link, internal signal pre-processor, and wide-spectrum sensors, it is better than a biological eye in almost every way. A lattice-dust healing system allows it to recover from damage.]],
 +
    costList = {
 +
      Plasteel = 15,
 +
      ComponentSpacer = 4,
 +
    },
 +
    statBases = {
 +
      Mass = 0.3,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_ClearSnow"] = {
+
   ["ThingDef:BionicArm"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartBionicBase",
       FileName = "Mote_Meta.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ClearSnow",
+
     defName = "BionicArm",
     thingClass = "MoteDualAttached",
+
     label = "bionic arm",
     altitudeLayer = "MetaOverlays",
+
     description = [[An advanced artificial arm. Silenced mini-servos give great strength, while the biogel nerve-link gives exquisite control. A lattice-dust healing system allows it to recover from damage. It is better than a biological arm in almost every way.]],
  },
+
     costList = {
 
+
       Plasteel = 15,
  ["ThingDef:Mote_Cards"] = {
+
       ComponentSpacer = 4,
     _ = {
 
       ParentName = "MoteBase",
 
       FileName = "Mote_Meta.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "Mote_Cards",
+
     statBases = {
    thingClass = "MoteDualAttached",
+
       Mass = 5,
    altitudeLayer = "MetaOverlays",
 
  },
 
 
 
  ["ThingDef:Mote_HealingCross"] = {
 
    _ = {
 
      ParentName = "MoteBase",
 
      FileName = "Mote_MetaStatus.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_HealingCross",
 
    altitudeLayer = "MetaOverlays",
 
 
   },
 
   },
  
   ["ThingDef:Mote_SleepZ"] = {
+
   ["ThingDef:BionicLeg"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartBionicBase",
       FileName = "Mote_MetaStatus.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_SleepZ",
+
     defName = "BionicLeg",
     altitudeLayer = "MetaOverlays",
+
     label = "bionic leg",
 +
    description = [[An advanced artificial leg. With its biogel nerve-link, powerful mini-servos, and lattice-dust healing system, it is better than a biological leg in almost every way.]],
 +
    costList = {
 +
      Plasteel = 15,
 +
      ComponentSpacer = 4,
 +
    },
 +
    statBases = {
 +
      Mass = 8,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_Heart"] = {
+
   ["ThingDef:BionicSpine"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartBionicBase",
       FileName = "Mote_MetaStatus.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Heart",
+
     defName = "BionicSpine",
     altitudeLayer = "MetaOverlays",
+
     label = "bionic spine",
 +
    description = [[An advanced artificial spine. A biogel nerve bundle runs down an articulated plasteel core, surrounded by a lattice-dust healing system. It matches the performance of a biological spine.]],
 +
    costList = {
 +
      Plasteel = 15,
 +
      ComponentSpacer = 4,
 +
    },
 +
    statBases = {
 +
      Mass = 2,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_IncapIcon"] = {
+
   ["ThingDef:BionicHeart"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartBionicBase",
       FileName = "Mote_MetaStatus.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_IncapIcon",
+
     defName = "BionicHeart",
     altitudeLayer = "MetaOverlays",
+
     label = "bionic heart",
 +
    description = [[An advanced artificial heart. It has synthetic muscle fibers for a realistic heartbeat, plus a high-flow pump for rapid circulation during high stress. It is better than a biological heart in almost every way.]],
 +
    costList = {
 +
      Plasteel = 15,
 +
      ComponentSpacer = 4,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_Stun"] = {
+
   ["ThingDef:BionicStomach"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartBionicBase",
       FileName = "Mote_MetaStatus.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Stun",
+
     defName = "BionicStomach",
     thingClass = "MoteDualAttached",
+
     label = "bionic stomach",
     altitudeLayer = "MetaOverlays",
+
     description = [[An advanced artificial stomach. A set of sensors and chemical synthesizers efficiently digest nearly any energy-bearing foodstuff. An integrated lattice-dust healing system automatically repairs any damage caused by the powerful acids. It is better than a biological stomach in almost every way.]],
 +
    costList = {
 +
      Plasteel = 10,
 +
      ComponentSpacer = 3,
 +
    },
 +
    statBases = {
 +
      Mass = 2,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_ColonistFleeing"] = {
+
   ["ThingDef:DeathAcidifier"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartBase",
       FileName = "Mote_MetaStatus.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ColonistFleeing",
+
     defName = "DeathAcidifier",
     thingClass = "MoteThrownAttached",
+
     label = "death acidifier",
     altitudeLayer = "MetaOverlays",
+
     description = [[A chest implant for preventing enemy use of captured equipment. Upon the user's death, it releases powerful chemicals that dissolve gear in contact with the user's body. It doesn't damage others.]],
 +
    statBases = {
 +
      MarketValue = 400,
 +
    },
 +
    thingCategories = {
 +
      "BodyPartsBionic",
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_ColonistAttacking"] = {
+
   ["ThingDef:Mote_AcidCloud"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       ParentName = "MoteBase",
       FileName = "Mote_MetaStatus.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ColonistAttacking",
+
     defName = "Mote_AcidCloud",
    thingClass = "MoteThrownAttached",
+
     altitudeLayer = "MoteOverhead",
     altitudeLayer = "MetaOverlays",
 
 
   },
 
   },
  
   ["ThingDef:Mote_Meditating"] = {
+
   ["ThingDef:BionicEar"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartBionicBase",
       FileName = "Mote_MetaStatus.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Meditating",
+
     defName = "BionicEar",
     altitudeLayer = "MetaOverlays",
+
     label = "bionic ear",
 +
    description = [[An advanced artificial ear implant. A collection of invisible subdermal microphones capture sound and transmit it to a biogel nerve interface that links directly with the auditory nerve. It's sensitive enough to hear a cat before you see it, can't be damaged by loud noise, and automatically tunes itself to pick out meaningful sounds in noisy environments.]],
 +
    costList = {
 +
      Plasteel = 10,
 +
      ComponentSpacer = 3,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_DrunkBubble"] = {
+
   ["ThingDef:BodyPartNaturalBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
      Name = "BodyPartNaturalBase",
       FileName = "Mote_MetaStatus.xml",
+
       ParentName = "BodyPartBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_DrunkBubble",
+
     thingCategories = {
     thingClass = "MoteThrownAttached",
+
      "BodyPartsNatural",
     altitudeLayer = "MetaOverlays",
+
     },
 +
    statBases = {
 +
      DeteriorationRate = 4.0,
 +
     },
 
   },
 
   },
  
   ["ThingDef:Mote_BerserkBit"] = {
+
   ["ThingDef:Heart"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartNaturalBase",
       FileName = "Mote_MetaStatus.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_BerserkBit",
+
     defName = "Heart",
     thingClass = "MoteThrownAttached",
+
     label = "heart",
     altitudeLayer = "MetaOverlays",
+
     description = [[A biological human heart. Pumps blood around the body.]],
  },
+
     statBases = {
  ThingDef = {
+
       MarketValue = 500,
     _ = {
+
       Mass = 1,
       Name = "InteractionMoteBase",
 
      ParentName = "MoteBase",
 
      Abstract = true,
 
       FileName = "Mote_Special.xml",
 
      DLC = "Core",
 
 
     },
 
     },
    thingClass = "MoteBubble",
 
    altitudeLayer = "MetaOverlays",
 
 
   },
 
   },
  
   ["ThingDef:Mote_Speech"] = {
+
   ["ThingDef:Lung"] = {
 
     _ = {
 
     _ = {
       ParentName = "InteractionMoteBase",
+
       ParentName = "BodyPartNaturalBase",
       FileName = "Mote_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Speech",
+
     defName = "Lung",
 +
    label = "lung",
 +
    description = [[A biological human lung. A pair of these form the core of the human respiratory system.]],
 +
    statBases = {
 +
      MarketValue = 400,
 +
      Mass = 1,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_Thought"] = {
+
   ["ThingDef:Kidney"] = {
 
     _ = {
 
     _ = {
       ParentName = "InteractionMoteBase",
+
       ParentName = "BodyPartNaturalBase",
       FileName = "Mote_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Thought",
+
     defName = "Kidney",
 +
    label = "kidney",
 +
    description = [[A biological human kidney. Filters and removes waste products from the blood.]],
 +
    statBases = {
 +
      MarketValue = 250,
 +
      Mass = 1,
 +
    },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Liver"] = {
 
     _ = {
 
     _ = {
       Name = "MoodMoteBase",
+
       ParentName = "BodyPartNaturalBase",
       ParentName = "MoteBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Hediffs_BodyParts_Natural.xml",
       FileName = "Mote_Special.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "MoteBubble",
+
     defName = "Liver",
     altitudeLayer = "MetaOverlays",
+
     label = "liver",
 +
    description = [[A biological human liver. Plays an important role in metabolism.]],
 +
    statBases = {
 +
      MarketValue = 500,
 +
      Mass = 2,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_ThoughtGood"] = {
+
   ["ThingDef:BodyPartProstheticBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoodMoteBase",
+
      Name = "BodyPartProstheticBase",
       FileName = "Mote_Special.xml",
+
       ParentName = "BodyPartBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ThoughtGood",
+
     thingCategories = {
 +
      "BodyPartsProsthetic",
 +
    },
 +
    statBases = {
 +
      WorkToMake = 15000,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_ThoughtBad"] = {
+
   ["ThingDef:BodyPartProstheticMakeableBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoodMoteBase",
+
      Name = "BodyPartProstheticMakeableBase",
       FileName = "Mote_Special.xml",
+
       ParentName = "BodyPartProstheticBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ThoughtBad",
+
     recipeMaker = {
 +
      workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
      effectWorking = "Smith",
 +
      soundWorking = "Recipe_Smith",
 +
      recipeUsers = {
 +
        "TableMachining",
 +
      },
 +
      skillRequirements = {
 +
        Crafting = 5,
 +
      },
 +
      unfinishedThingDef = "UnfinishedHealthItemProsthetic",
 +
      researchPrerequisite = "Prosthetics",
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_Text"] = {
+
   ["ThingDef:SimpleProstheticLeg"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartProstheticMakeableBase",
       FileName = "Mote_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Text",
+
     defName = "SimpleProstheticLeg",
     thingClass = "MoteText",
+
     label = "prosthetic leg",
     altitudeLayer = "MetaOverlays",
+
     description = [[A leg prosthesis. While it lacks a neural interface, its complex arrangement of internal joints allows it to mimic natural movement quite convincingly. Still, it is inferior to a real leg.]],
 +
    costList = {
 +
      Steel = 40,
 +
      ComponentIndustrial = 4,
 +
    },
 +
    statBases = {
 +
      Mass = 8,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_ProgressBar"] = {
+
   ["ThingDef:SimpleProstheticArm"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartProstheticMakeableBase",
       FileName = "Mote_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ProgressBar",
+
     defName = "SimpleProstheticArm",
     thingClass = "MoteProgressBar",
+
     label = "prosthetic arm",
     altitudeLayer = "MetaOverlays",
+
     description = [[An arm prosthesis. While it lacks a neural interface, its complex arrangement of internal joints allows it to mimic natural movement quite convincingly. Still, it is inferior to a real arm.]],
 +
    costList = {
 +
      Steel = 40,
 +
      ComponentIndustrial = 4,
 +
    },
 +
    statBases = {
 +
      Mass = 5,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_Footprint"] = {
+
   ["ThingDef:SimpleProstheticHeart"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartProstheticMakeableBase",
       FileName = "Mote_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Footprint",
+
     defName = "SimpleProstheticHeart",
     altitudeLayer = "MoteLow",
+
     label = "prosthetic heart",
  },
+
    description = [[A heart prosthesis. It contains an electric motor that pumps blood smoothly around the body. Users often report feeling tired, but it's better than the alternative.]],
 
+
     costList = {
  ["ThingDef:Mote_Horseshoe"] = {
+
       Steel = 25,
     _ = {
+
       ComponentIndustrial = 4,
       ParentName = "MoteBase",
+
    },
       FileName = "Mote_Special.xml",
+
    statBases = {
       DLC = "Core",
+
       Mass = 2,
 
     },
 
     },
    defName = "Mote_Horseshoe",
 
    altitudeLayer = "MoteLow",
 
 
   },
 
   },
  
   ["ThingDef:Mote_Stone"] = {
+
   ["ThingDef:CochlearImplant"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartProstheticMakeableBase",
       FileName = "Mote_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Stone",
+
     defName = "CochlearImplant",
     altitudeLayer = "MoteLow",
+
     label = "cochlear implant",
  },
+
    description = [[An implant which replaces normal hearing. An external microphone transmits a sound signal to electrodes wrapped around the inner ear's auditory sensing nerves. The electrodes stimulate the nerves according to the sound, creating a sensation of hearing. It's not as good as a natural ear, but it's a lot better than being deaf.]],
 
+
     costList = {
  ["ThingDef:Mote_TempRoof"] = {
+
       Steel = 20,
     _ = {
+
       ComponentIndustrial = 4,
       ParentName = "MoteBase",
 
      FileName = "Mote_Special.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_TempRoof",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_Danger"] = {
+
   ["ThingDef:PowerClaw"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartProstheticBase",
       FileName = "Mote_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Danger",
+
     defName = "PowerClaw",
     thingClass = "MoteThrownAttached",
+
     label = "power claw",
     altitudeLayer = "MetaOverlays",
+
     description = [[A combat-oriented hand replacement consisting of a mechanical hand with a hooked claw on each finger. It cuts deep, and it is strong enough to crush a skull like a hand crushes an egg. The claws can be retracted, making it as useful as a natural hand for non-combat tasks, however its overall ungainlyness slows down movement slightly.]],
  },
+
     costList = {
  ThingDef = {
+
       Steel = 40,
     _ = {
+
       ComponentIndustrial = 8,
       Name = "MoteBase",
 
      Abstract = true,
 
       FileName = "Mote_Visual.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     thingClass = "MoteThrown",
+
     statBases = {
    label = "Mote",
+
       Mass = 4,
    category = "Mote",
 
    altitudeLayer = "MoteLow",
 
    useHitPoints = false,
 
  },
 
 
 
  ["ThingDef:Mote_ShotFlash"] = {
 
    _ = {
 
      ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_ShotFlash",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_SparkFlash"] = {
+
   ["ThingDef:Joywire"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartProstheticBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_SparkFlash",
+
     defName = "Joywire",
     altitudeLayer = "MoteOverhead",
+
     label = "joywire",
  },
+
    description = [[A brain implant that stimulates the brain's pleasure centers. While it dramatically improves a user's mood, the blanket of happiness makes it hard to concentrate on anything real. Joywires are illegal on many worlds, and are known for destroying whole cultures.]],
 
+
     costList = {
  ["ThingDef:Mote_YellowSparkFlash"] = {
+
       Steel = 20,
     _ = {
+
       ComponentIndustrial = 4,
       ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_YellowSparkFlash",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_ExplosionFlash"] = {
+
   ["ThingDef:Painstopper"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BodyPartProstheticBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ExplosionFlash",
+
     defName = "Painstopper",
     altitudeLayer = "MoteOverhead",
+
     label = "painstopper",
  },
+
    description = [[A brain implant which inhibits nociception, or pain sensation. While it does allow the user to accomplish more, it turns out pain has a purpose. When you don't feel it, you can get hurt really bad really easily.]],
 
+
     costList = {
  ["ThingDef:Mote_BloodSplash"] = {
+
       Steel = 20,
     _ = {
+
       ComponentIndustrial = 4,
       ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_BloodSplash",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_BodyImpact"] = {
+
   ["ThingDef:AncientConcreteBarrier"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Ancient.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_BodyImpact",
+
     defName = "AncientConcreteBarrier",
     altitudeLayer = "MoteOverhead",
+
    label = "ancient concrete barrier",
  },
+
    thingClass = "Building",
 
+
    category = "Building",
  ["ThingDef:Mote_GrowingFlash"] = {
+
    description = [[A traffic management solution from long ago.]],
     _ = {
+
     altitudeLayer = "Building",
       ParentName = "MoteBase",
+
    pathCost = 42,
       FileName = "Mote_Visual.xml",
+
    pathCostIgnoreRepeat = true,
       DLC = "Core",
+
    passability = "PassThroughOnly",
 +
    fillPercent = 0.5,
 +
     statBases = {
 +
       MaxHitPoints = 500,
 +
      Beauty = -10,
 +
      Flammability = 0,
 +
       WorkToBuild = 600,
 +
    },
 +
    building = {
 +
       isInert = true,
 
     },
 
     },
     defName = "Mote_GrowingFlash",
+
     costList = {
    altitudeLayer = "MoteOverhead",
+
       Steel = 15,
  },
 
 
 
  ["ThingDef:Mote_PlainFlash"] = {
 
    _ = {
 
      ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_PlainFlash",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_ActivatorCountdownFlash"] = {
+
   ["ThingDef:AncientLamppost"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Ancient.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     altitudeLayer = "MoteOverhead",
+
     defName = "AncientLamppost",
     defName = "Mote_ActivatorCountdownFlash",
+
     label = "ancient lamppost",
  },
+
    thingClass = "Building",
 
+
    category = "Building",
  ["ThingDef:Mote_ActivatorCountdownGlow"] = {
+
    description = [[Road lighting from long ago. No longer functional.]],
     _ = {
+
     statBases = {
       ParentName = "MoteBase",
+
       MaxHitPoints = 300,
      FileName = "Mote_Visual.xml",
+
       WorkToBuild = 400,
       DLC = "Core",
 
 
     },
 
     },
     altitudeLayer = "MoteOverhead",
+
     fillPercent = 0.25,
     defName = "Mote_ActivatorCountdownGlow",
+
     passability = "PassThroughOnly",
  },
+
    pathCost = 42,
 
+
     costList = {
  ["ThingDef:Mote_ActivatorProximityGlow"] = {
+
       Steel = 15,
     _ = {
 
       ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     altitudeLayer = "MoteOverhead",
+
     building = {
    defName = "Mote_ActivatorProximityGlow",
+
       isInert = true,
  },
 
 
 
  ["ThingDef:Mote_ShotHit_Spark"] = {
 
    _ = {
 
      ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_ShotHit_Spark",
 
    altitudeLayer = "MoteLow",
 
 
   },
 
   },
  
   ["ThingDef:Mote_ShotHit_Dirt"] = {
+
   ["ThingDef:Urn"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Ancient.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ShotHit_Dirt",
+
     defName = "Urn",
     altitudeLayer = "MoteLow",
+
     label = "urn",
  },
+
    description = [[An ancient-style decorative container.]],
 
+
     minifiedDef = "MinifiedThing",
  ["ThingDef:Mote_Leaf"] = {
+
    thingCategories = {
     _ = {
+
       "BuildingsFurniture",
      ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "Mote_Leaf",
 
    thingClass = "MoteLeaf",
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.40,
 +
    statBases = {
 +
      MaxHitPoints = 40,
 +
      WorkToBuild = 500,
 +
      Mass = 5,
 +
      Flammability = 1.0,
 +
      Beauty = 5,
 +
    },
 +
    pathCost = 30,
 +
    building = {
 +
      isInert = true,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_SandInEyes"] = {
+
   ["ThingDef:SculptureBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      Name = "SculptureBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Art.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_SandInEyes",
+
     thingClass = "Building_Art",
     altitudeLayer = "MoteOverhead",
+
     altitudeLayer = "Building",
  },
+
    passability = "PassThroughOnly",
 
+
    pathCost = 50,
  ["ThingDef:Mote_BlastDry"] = {
+
     useHitPoints = true,
     _ = {
+
    minifiedDef = "MinifiedThing",
      ParentName = "MoteBase",
+
    thingCategories = {
      FileName = "Mote_Visual.xml",
+
       "BuildingsArt",
       DLC = "Core",
 
 
     },
 
     },
     defName = "Mote_BlastDry",
+
     statBases = {
    altitudeLayer = "MoteOverhead",
+
       Flammability = 1.0,
  },
+
       SellPriceFactor = 1.10,
 
+
       MeditationFocusStrength = 0.0,
  ["ThingDef:Mote_BlastEMP"] = {
 
    _ = {
 
       ParentName = "MoteBase",
 
       FileName = "Mote_Visual.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "Mote_BlastEMP",
+
     comps = {
    altitudeLayer = "MoteOverhead",
+
      {
  },
+
        compClass = "CompQuality",
 
+
      },
  ["ThingDef:Mote_LineEMP"] = {
+
      CompProperties_Art = {
    _ = {
+
        nameMaker = "NamerArtSculpture",
      ParentName = "MoteBase",
+
        descriptionMaker = "ArtDescription_Sculpture",
      FileName = "Mote_Visual.xml",
+
        canBeEnjoyedAsArt = true,
      DLC = "Core",
+
      },
 +
      CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Artistic",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_Quality",
 +
            },
 +
            curve = {
 +
              points = {
 +
                {0, 0.12},
 +
                {1, 0.16},
 +
                {2, 0.20},
 +
                {3, 0.22},
 +
                {4, 0.24},
 +
                {5, 0.26},
 +
                {6, 0.28},
 +
              },
 +
            },
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_BuildingDefsWithQuality",
 +
            },
 +
            defs = {
 +
              "SculptureSmall",
 +
              "SculptureLarge",
 +
              "SculptureGrand",
 +
            },
 +
            radius = 9.9,
 +
            maxBuildings = 8,
 +
            focusPerQuality = {
 +
              points = {
 +
                {0, 0.0},
 +
                {1, 0.0},
 +
                {2, 0.01},
 +
                {3, 0.01},
 +
                {4, 0.01},
 +
                {5, 0.02},
 +
                {6, 0.02},
 +
              },
 +
            },
 +
            explanationKey = "MeditationFocusPerSculpture",
 +
            explanationKeyAbstract = "MeditationFocusPerSculptureAbstract",
 +
          },
 +
        },
 +
      },
 
     },
 
     },
     defName = "Mote_LineEMP",
+
     tradeTags = {
    altitudeLayer = "MoteOverhead",
+
       "Art",
  },
 
 
 
  ["ThingDef:Mote_BlastFlame"] = {
 
    _ = {
 
       ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "Mote_BlastFlame",
+
     recipeMaker = {
    altitudeLayer = "MoteOverhead",
+
      workSpeedStat = "GeneralLaborSpeed",
  },
+
      workSkill = "Artistic",
 
+
      unfinishedThingDef = "UnfinishedSculpture",
  ["ThingDef:Mote_ElectricalSpark"] = {
+
      effectWorking = "Sculpt",
    _ = {
+
      soundWorking = "Recipe_Sculpt",
      ParentName = "MoteBase",
+
      recipeUsers = {
      FileName = "Mote_Visual.xml",
+
        "TableSculpting",
      DLC = "Core",
+
      },
 +
      defaultIngredientFilter = {
 +
        categories = {
 +
          "Root",
 +
        },
 +
        disallowedThingDefs = {
 +
          "Gold",
 +
          "Silver",
 +
          "Plasteel",
 +
          "Jade",
 +
          "Uranium",
 +
        },
 +
      },
 
     },
 
     },
    defName = "Mote_ElectricalSpark",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_BlastExtinguisher"] = {
+
   ["ThingDef:SculptureSmall"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "SculptureBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Art.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_BlastExtinguisher",
+
     defName = "SculptureSmall",
     altitudeLayer = "MoteOverhead",
+
     label = "small sculpture",
  },
+
    description = [[A torso-sized piece of material sculpted into an artistic form.]],
 
+
    fillPercent = 0.35,
  ["ThingDef:Mote_FireGlow"] = {
+
    statBases = {
    _ = {
+
      MaxHitPoints = 90,
       ParentName = "MoteBase",
+
       Mass = 3,
       FileName = "Mote_Visual.xml",
+
       Beauty = 50,
       DLC = "Core",
+
       WorkToMake = 18000,
 
     },
 
     },
    defName = "Mote_FireGlow",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_MicroSparks"] = {
+
   ["ThingDef:SculptureLarge"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "SculptureBase",
       Name = "Mote_MicroSparks",
+
       DefCategory = "ThingDef",
       FileName = "Mote_Visual.xml",
+
       FileName = "Buildings_Art.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_MicroSparks",
+
     defName = "SculptureLarge",
     altitudeLayer = "MoteOverhead",
+
     label = "large sculpture",
  },
+
    description = [[A person-sized piece of material sculpted into an artistic form.]],
 
+
    fillPercent = 0.5,
  ["ThingDef:Mote_MicroSparksFast"] = {
+
    statBases = {
    _ = {
+
      MaxHitPoints = 150,
       ParentName = "Mote_MicroSparks",
+
       Mass = 7,
       FileName = "Mote_Visual.xml",
+
       Beauty = 100,
       DLC = "Core",
+
       WorkToMake = 30000,
 
     },
 
     },
    defName = "Mote_MicroSparksFast",
 
 
   },
 
   },
  
   ["ThingDef:Mote_HeatGlow"] = {
+
   ["ThingDef:SculptureGrand"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "SculptureBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Art.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_HeatGlow",
+
     defName = "SculptureGrand",
     altitudeLayer = "MoteOverhead",
+
     label = "grand sculpture",
  },
+
     description = [[A huge sculpture sized to dominate a room.]],
 
+
     fillPercent = 0.5,
  ["ThingDef:Mote_LightningGlow"] = {
+
     size = {2, 2},
     _ = {
+
     statBases = {
      ParentName = "MoteBase",
+
       MaxHitPoints = 300,
      FileName = "Mote_Visual.xml",
+
       Beauty = 400,
      DLC = "Core",
+
       Mass = 28,
    },
+
       WorkToMake = 105000,
     defName = "Mote_LightningGlow",
 
     altitudeLayer = "MoteOverhead",
 
  },
 
  ThingDef = {
 
     _ = {
 
       ParentName = "MoteBase",
 
       Name = "FoodBitBase",
 
       Abstract = true,
 
       FileName = "Mote_Visual.xml",
 
      DLC = "Core",
 
 
     },
 
     },
    altitudeLayer = "Projectile",
 
 
   },
 
   },
  
   ["ThingDef:Mote_FoodBitVegetarian"] = {
+
   ["ThingDef:Snowman"] = {
 
     _ = {
 
     _ = {
       ParentName = "FoodBitBase",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Art.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_FoodBitVegetarian",
+
     defName = "Snowman",
  },
+
    label = "snowman",
 
+
    description = [[A set of large snowballs piled and shaped to resemble a person. People make these for the fun of it.]],
  ["ThingDef:Mote_FoodBitMeat"] = {
+
    thingClass = "Building",
     _ = {
+
    altitudeLayer = "Building",
       ParentName = "FoodBitBase",
+
    passability = "PassThroughOnly",
       FileName = "Mote_Visual.xml",
+
    pathCost = 30,
       DLC = "Core",
+
    pathCostIgnoreRepeat = false,
 +
    useHitPoints = true,
 +
    fillPercent = 0.35,
 +
    statBases = {
 +
      MaxHitPoints = 50,
 +
      Beauty = 4,
 +
      WorkToBuild = 1000,
 +
      MarketValue = 0,
 +
    },
 +
     comps = {
 +
       {
 +
        compClass = "CompMelter",
 +
       },
 +
    },
 +
    building = {
 +
      repairable = false,
 +
      isInert = true,
 +
       artificialForMeditationPurposes = false,
 
     },
 
     },
    defName = "Mote_FoodBitMeat",
 
 
   },
 
   },
  
   ["ThingDef:Mote_StoneBit"] = {
+
   ["ThingDef:BuildingBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "FoodBitBase",
+
       Name = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Base.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_StoneBit",
+
     category = "Building",
 +
    thingClass = "Building",
 +
    terrainAffordanceNeeded = "Light",
 +
    leaveResourcesWhenKilled = true,
 +
    statBases = {
 +
      SellPriceFactor = 0.70,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_CookBit"] = {
+
   ["ThingDef:CrashedShipPartBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "FoodBitBase",
+
      Abstract = true,
       FileName = "Mote_Visual.xml",
+
      Name = "CrashedShipPartBase",
 +
       ParentName = "BuildingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_CookBit",
+
     size = {6, 3},
  },
+
    passability = "Impassable",
 
+
    fillPercent = 1,
  ["ThingDef:Mote_VomitBit"] = {
+
    altitudeLayer = "Building",
     _ = {
+
    terrainAffordanceNeeded = "Light",
       ParentName = "FoodBitBase",
+
    leaveResourcesWhenKilled = false,
       FileName = "Mote_Visual.xml",
+
    statBases = {
       DLC = "Core",
+
      MaxHitPoints = 1200,
 +
      Flammability = 0,
 +
      Beauty = -200,
 +
    },
 +
     killedLeavings = {
 +
       ChunkSlagSteel = 4,
 +
      Steel = 60,
 +
      ComponentIndustrial = 1,
 +
      Plasteel = 10,
 +
      ComponentSpacer = 1,
 +
    },
 +
    building = {
 +
       combatPower = 250,
 +
    },
 +
    comps = {
 +
       CompProperties_WakeUpDormant = {},
 
     },
 
     },
    defName = "Mote_VomitBit",
 
 
   },
 
   },
  
   ["ThingDef:Mote_AirPuff"] = {
+
   ["ThingDef:PsychicDronerShipPart"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "CrashedShipPartBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_AirPuff",
+
     defName = "PsychicDronerShipPart",
     altitudeLayer = "MoteOverhead",
+
     label = "ship part (psychic droner)",
  },
+
    description = [[An ancient ship part, torn off of a craft of unknown origin. It might be thousands of years old.\n\nThis one contains a psychic disturbance device. Using incomprehensible archotechnologies, it generates a psychic signal that drives people and animals mad within a wide radius around itself.]],
 
+
    comps = {
  ["ThingDef:Mote_DustPuff"] = {
+
      CompProperties_CausesGameCondition_PsychicEmanation = {
    _ = {
+
        conditionDef = "PsychicDroner",
      ParentName = "MoteBase",
+
        compClass = "CompCauseGameCondition_PsychicEmanation",
      FileName = "Mote_Visual.xml",
+
        worldRange = 1,
       DLC = "Core",
+
        droneLevelIncreaseInterval = 150000,
 +
        droneLevel = 2,
 +
      },
 +
       CompProperties_AnimalInsanityPulser = {},
 
     },
 
     },
    defName = "Mote_DustPuff",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_DustPuffThick"] = {
+
   ["ThingDef:DefoliatorShipPart"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "CrashedShipPartBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_DustPuffThick",
+
     defName = "DefoliatorShipPart",
     altitudeLayer = "MoteOverhead",
+
     label = "ship part (defoliator)",
 +
    description = [[An ancient ship part, torn off of a craft of unknown origin. It might be thousands of years old.\n\nThis one contains a device which annihilates plant life near itself without directly affecting flesh creatures. These kinds of weapons are sometimes scattered across farmlands or forests to remove the enemy's food supply and hiding places without permanently ruining the territory. They're usually associated with orbital-drop mechanoid armies.]],
 +
    comps = {
 +
      CompProperties_PlantHarmRadius = {
 +
        radiusPerDayCurve = {
 +
          points = {
 +
            "0  , 5",
 +
            "1.5, 18",
 +
            "6  , 40",
 +
            "20 , 100",
 +
          },
 +
        },
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_MetaPuff"] = {
+
   ["ThingDef:ShipChunk"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_MetaPuff",
+
     defName = "ShipChunk",
     altitudeLayer = "MoteOverhead",
+
    label = "ship chunk",
 +
    description = [[A chunk of a spacecraft. Can be deconstructed to yield useful resources.]],
 +
    category = "Building",
 +
     altitudeLayer = "Building",
 +
    pathCost = 42,
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.50,
 +
    size = {2, 2},
 +
    statBases = {
 +
      MaxHitPoints = 300,
 +
      Flammability = 0,
 +
      Beauty = -20,
 +
      WorkToBuild = 12000,
 +
    },
 +
    leaveResourcesWhenKilled = false,
 +
    killedLeavings = {
 +
      ChunkSlagSteel = 2,
 +
      ComponentIndustrial = 1,
 +
    },
 +
    costList = {
 +
      ComponentIndustrial = 11,
 +
      Steel = 40,
 +
    },
 +
    building = {
 +
      alwaysDeconstructible = true,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_TornadoDustPuff"] = {
+
   ["ThingDef:FurnitureBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
      Name = "FurnitureBase",
       FileName = "Mote_Visual.xml",
+
       ParentName = "BuildingBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_TornadoDustPuff",
+
     minifiedDef = "MinifiedThing",
     altitudeLayer = "MoteOverhead",
+
     thingCategories = {
 +
      "BuildingsFurniture",
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_Smoke"] = {
+
   ["ThingDef:FurnitureWithQualityBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
      Name = "FurnitureWithQualityBase",
       FileName = "Mote_Visual.xml",
+
       ParentName = "FurnitureBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Smoke",
+
     comps = {
     altitudeLayer = "MoteOverhead",
+
      {
 +
        compClass = "CompQuality",
 +
      },
 +
     },
 
   },
 
   },
  
   ["ThingDef:Mote_DustSlow"] = {
+
   ["ThingDef:ArtableFurnitureBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
      Name = "ArtableFurnitureBase",
       FileName = "Mote_Visual.xml",
+
       ParentName = "FurnitureWithQualityBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_DustSlow",
+
     comps = {
    altitudeLayer = "MoteOverhead",
+
      CompProperties_Art = {
 +
        nameMaker = "NamerArtFurniture",
 +
        descriptionMaker = "ArtDescription_Furniture",
 +
        minQualityForArtistic = "Excellent",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_Bombardment"] = {
+
   ["ThingDef:ArtableFurnitureRegardlessOfQualityBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
      Name = "ArtableFurnitureRegardlessOfQualityBase",
       FileName = "Mote_Visual.xml",
+
       ParentName = "FurnitureWithQualityBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Bombardment",
+
     comps = {
    altitudeLayer = "MoteOverhead",
+
      CompProperties_Art = {
 +
        nameMaker = "NamerArtFurniture",
 +
        descriptionMaker = "ArtDescription_Furniture",
 +
        minQualityForArtistic = "Awful",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_PowerBeam"] = {
+
   ["ThingDef:SleepingSpot"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_PowerBeam",
+
     defName = "SleepingSpot",
     altitudeLayer = "MoteOverhead",
+
    label = "sleeping spot",
 +
    description = [[Designates a spot on the ground where people should sleep. Not comfortable.]],
 +
    thingClass = "Building_Bed",
 +
     altitudeLayer = "FloorEmplacement",
 +
    statBases = {
 +
      WorkToBuild = 0,
 +
      Comfort = 0.4,
 +
      SurgerySuccessChanceFactor = 0.7,
 +
    },
 +
    useHitPoints = false,
 +
    size = {1, 2},
 +
    passability = "Standable",
 +
    building = {
 +
      sowTag = "SupportPlantsOnly",
 +
      artificialForMeditationPurposes = false,
 +
      buildingTags = {
 +
        "Bed",
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_AssignableToPawn = {
 +
        drawAssignmentOverlay = false,
 +
        compClass = "CompAssignableToPawn_Bed",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_GiantExplosion"] = {
+
   ["ThingDef:DoubleSleepingSpot"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_GiantExplosion",
+
     defName = "DoubleSleepingSpot",
     altitudeLayer = "MoteOverhead",
+
    label = "double sleeping spot",
 +
    description = [[Designates a spot on the ground where two people should sleep together. Not comfortable.]],
 +
    thingClass = "Building_Bed",
 +
     altitudeLayer = "FloorEmplacement",
 +
    statBases = {
 +
      WorkToBuild = 0,
 +
      Comfort = 0.4,
 +
      SurgerySuccessChanceFactor = 0.7,
 +
    },
 +
    useHitPoints = false,
 +
    size = {2, 2},
 +
    passability = "Standable",
 +
    building = {
 +
      sowTag = "SupportPlantsOnly",
 +
      artificialForMeditationPurposes = false,
 +
      buildingTags = {
 +
        "Bed",
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_AssignableToPawn = {
 +
        drawAssignmentOverlay = false,
 +
        compClass = "CompAssignableToPawn_Bed",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_GiantExplosionInner"] = {
+
   ["ThingDef:BedBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "FurnitureBase",
       FileName = "Mote_Visual.xml",
+
      Name = "BedBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_GiantExplosionInner",
+
     thingClass = "Building_Bed",
     altitudeLayer = "MoteOverhead",
+
     altitudeLayer = "Building",
 +
    comps = {
 +
      CompProperties_AssignableToPawn = {
 +
        drawAssignmentOverlay = false,
 +
        compClass = "CompAssignableToPawn_Bed",
 +
      },
 +
    },
 +
    passability = "PassThroughOnly",
 +
    building = {
 +
      buildingTags = {
 +
        "Bed",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_PsychicConditionCauserEffect"] = {
+
   ["ThingDef:BedWithQualityBase"] = {
 
     _ = {
 
     _ = {
       Name = "Mote_PsychicConditionCauserEffect",
+
       Name = "BedWithQualityBase",
       ParentName = "MoteBase",
+
       ParentName = "BedBase",
       FileName = "Mote_Visual.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_PsychicConditionCauserEffect",
+
     comps = {
 +
      {
 +
        compClass = "CompQuality",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_PsychicEmanatorEffect"] = {
+
   ["ThingDef:ArtableBedBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "Mote_PsychicConditionCauserEffect",
+
      Name = "ArtableBedBase",
       FileName = "Mote_Visual.xml",
+
       ParentName = "BedWithQualityBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_PsychicEmanatorEffect",
+
     comps = {
 +
      CompProperties_Art = {
 +
        nameMaker = "NamerArtFurniture",
 +
        descriptionMaker = "ArtDescription_Furniture",
 +
        minQualityForArtistic = "Excellent",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_ForceJob"] = {
+
   ["ThingDef:Bed"] = {
 
     _ = {
 
     _ = {
       Name = "ForceJob",
+
       ParentName = "BedWithQualityBase",
       ParentName = "MoteBase",
+
       DefCategory = "ThingDef",
       FileName = "Mote_Visual.xml",
+
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ForceJob",
+
     defName = "Bed",
     thingClass = "MoteBubble",
+
     label = "bed",
     altitudeLayer = "MetaOverlays",
+
     description = [[A cozy mattress and sheets on a frame for resting.]],
 +
    comps = {
 +
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
          "EndTable",
 +
          "Dresser",
 +
        },
 +
      },
 +
    },
 +
    statBases = {
 +
      MaxHitPoints = 140,
 +
      Flammability = 1.0,
 +
      Beauty = 1,
 +
      WorkToBuild = 800,
 +
      Mass = 30,
 +
      BedRestEffectiveness = 1,
 +
      Comfort = 0.75,
 +
      ImmunityGainSpeedFactor = 1.07,
 +
      SurgerySuccessChanceFactor = 1,
 +
    },
 +
    size = {1, 2},
 +
    building = {
 +
      bed_healPerDay = 4,
 +
    },
 +
    fillPercent = 0.4,
 +
    pathCost = 42,
 +
    researchPrerequisites = {
 +
      "ComplexFurniture",
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_ForceJobMaintained"] = {
+
   ["ThingDef:DoubleBed"] = {
 
     _ = {
 
     _ = {
       ParentName = "ForceJob",
+
       ParentName = "ArtableBedBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_ForceJobMaintained",
+
     defName = "DoubleBed",
  },
+
    label = "double bed",
 
+
    description = [[A simple double-wide bed that fits two people.]],
  ["ThingDef:Mote_PsycastPsychicEffect"] = {
+
    comps = {
    _ = {
+
      CompProperties_AffectedByFacilities = {
      ParentName = "MoteGlowDistortBackground",
+
        linkableFacilities = {
      FileName = "Mote_Visual.xml",
+
          "EndTable",
       DLC = "Core",
+
          "Dresser",
 +
        },
 +
       },
 
     },
 
     },
     defName = "Mote_PsycastPsychicEffect",
+
     statBases = {
    thingClass = "MoteThrownAttached",
+
      MaxHitPoints = 200,
    altitudeLayer = "MoteOverhead",
+
      Flammability = 1.0,
  },
+
      WorkToBuild = 1500,
 
+
      Mass = 50,
  ["ThingDef:Mote_PsycastPsychicLine"] = {
+
      Comfort = 0.75,
    _ = {
+
      Beauty = 2,
       ParentName = "MoteGlowDistortBackground",
+
       BedRestEffectiveness = 1,
       FileName = "Mote_Visual.xml",
+
       ImmunityGainSpeedFactor = 1.07,
       DLC = "Core",
+
       SurgerySuccessChanceFactor = 1,
 
     },
 
     },
     defName = "Mote_PsycastPsychicLine",
+
     size = {2, 2},
    altitudeLayer = "MoteOverhead",
+
     building = {
  },
+
       bed_healPerDay = 4,
 
 
  ["ThingDef:Mote_PsycastAreaEffect"] = {
 
     _ = {
 
       ParentName = "MoteGlowDistortBackground",
 
      Name = "PsycastAreaEffect",
 
      FileName = "Mote_Visual.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "Mote_PsycastAreaEffect",
+
     terrainAffordanceNeeded = "Light",
     altitudeLayer = "MoteLow",
+
     fillPercent = 0.4,
  },
+
     pathCost = 42,
  ThingDef = {
+
    leaveResourcesWhenKilled = true,
     _ = {
+
    researchPrerequisites = {
      Name = "MoteWaterBase",
+
       "ComplexFurniture",
      ParentName = "MoteBase",
 
      Abstract = true,
 
      FileName = "Mote_Water.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    thingClass = "MoteSplash",
 
 
   },
 
   },
  
   ["ThingDef:Mote_WaterSplash"] = {
+
   ["ThingDef:RoyalBed"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteWaterBase",
+
       ParentName = "ArtableBedBase",
       FileName = "Mote_Water.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_WaterSplash",
+
     defName = "RoyalBed",
  },
+
    label = "royal bed",
  ThingDef = {
+
    description = [[A luxurious gold-inlaid bed fit for the highborn. Very comfy and beautiful, it is a work of art in itself. Fits two.]],
     _ = {
+
     comps = {
       Name = "BodyPartArchotechBase",
+
       CompProperties_AffectedByFacilities = {
       ParentName = "BodyPartBase",
+
        linkableFacilities = {
       Abstract = true,
+
          "EndTable",
       FileName = "Hediffs_BodyParts_Archotech.xml",
+
          "Dresser",
       DLC = "Core",
+
        },
 +
      },
 +
    },
 +
    statBases = {
 +
      MaxHitPoints = 200,
 +
      Flammability = 1.0,
 +
       WorkToBuild = 50000,
 +
      Mass = 60,
 +
      Beauty = 75,
 +
      BedRestEffectiveness = 1.05,
 +
       Comfort = 0.90,
 +
       ImmunityGainSpeedFactor = 1.07,
 +
      SurgerySuccessChanceFactor = 1,
 +
    },
 +
    size = {2, 2},
 +
    costList = {
 +
       Gold = 50,
 
     },
 
     },
     thingCategories = {
+
     building = {
       "BodyPartsArchotech",
+
       bed_healPerDay = 4,
 
     },
 
     },
     statBases = {
+
     terrainAffordanceNeeded = "Light",
       DeteriorationRate = 0,
+
    fillPercent = 0.4,
 +
    pathCost = 42,
 +
    leaveResourcesWhenKilled = true,
 +
    researchPrerequisites = {
 +
       "ComplexFurniture",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ArchotechEye"] = {
+
   ["ThingDef:HospitalBed"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartArchotechBase",
+
       ParentName = "BedWithQualityBase",
       FileName = "Hediffs_BodyParts_Archotech.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ArchotechEye",
+
     defName = "HospitalBed",
     label = "archotech eye",
+
     label = "hospital bed",
     description = [[An artifical eye built by an archotech. It perceives every type of electromagnetic radiation, including radio waves, infrared, light, x-rays, and gamma rays. Its visual acuity is precise enough to read handwriting from twenty meters away. It can emit various wavelengths of radiation like a flashlight, and has an internal subpersona AI which helps highlight useful visual information. Externally, it looks like a natural human eye, except it can change color at will. Its internal workings are a mystery to all human minds.]],
+
     description = [[A bed specially designed for use in hospitals. Adjustable for a patient and festooned with built-in equipment, it improves medical outcomes over normal beds.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 2800,
+
       MaxHitPoints = 150,
       Mass = 0.3,
+
      WorkToBuild = 2800,
 +
       Mass = 35,
 +
      Flammability = 1.0,
 +
      BedRestEffectiveness = 1,
 +
      Comfort = 0.80,
 +
      ImmunityGainSpeedFactor = 1.11,
 +
      MedicalTendQualityOffset = 0.10,
 +
      SurgerySuccessChanceFactor = 1.1,
 +
    },
 +
    comps = {
 +
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
          "VitalsMonitor",
 +
          "EndTable",
 +
          "Dresser",
 +
        },
 +
      },
 +
    },
 +
    size = {1, 2},
 +
    costList = {
 +
      Steel = 80,
 +
      ComponentIndustrial = 5,
 +
    },
 +
    building = {
 +
      bed_healPerDay = 10,
 +
      bed_defaultMedical = true,
 +
      buildingSizeCategory = "Small",
 +
    },
 +
    fillPercent = 0.4,
 +
    pathCost = 42,
 +
    leaveResourcesWhenKilled = true,
 +
    researchPrerequisites = {
 +
      "HospitalBed",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ArchotechArm"] = {
+
   ["ThingDef:Bedroll"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartArchotechBase",
+
       ParentName = "BedWithQualityBase",
       FileName = "Hediffs_BodyParts_Archotech.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ArchotechArm",
+
     defName = "Bedroll",
     label = "archotech arm",
+
     label = "bedroll",
     description = [[An artifical arm built by an archotech. It's strong enough to crush a thick hardwood branch in its hand, and precise enough to write a sonnet on a grain of rice. It looks and feels like natural flesh, but it's harder to damage than plasteel. Even if it is harmed, it repairs itself over time. Its internal workings are a mystery to all human minds.]],
+
     description = [[A simple bed that lays on the floor, usually made of cloth or leather, often lined with fur. It is lightweight and can be rolled up for easy transport, but it is not quite as comfortable as a typical bed. Caravans can use bedrolls while traveling for better sleep.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 2800,
+
       MaxHitPoints = 75,
       Mass = 4,
+
      Flammability = 1.0,
 +
       Mass = 2.5,
 +
      BedRestEffectiveness = 0.95,
 +
      ImmunityGainSpeedFactor = 1.05,
 +
      Comfort = 0.68,
 +
      WorkToBuild = 600,
 +
    },
 +
    comps = {
 +
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
          "Dresser",
 +
          "EndTable",
 +
        },
 +
      },
 +
    },
 +
    size = {1, 2},
 +
    building = {
 +
      bed_healPerDay = 4,
 +
      bed_caravansCanUse = true,
 
     },
 
     },
 +
    pathCost = 14,
 +
    passability = "Standable",
 
   },
 
   },
  
   ["ThingDef:ArchotechLeg"] = {
+
   ["ThingDef:BedrollDouble"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartArchotechBase",
+
       ParentName = "BedWithQualityBase",
       FileName = "Hediffs_BodyParts_Archotech.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ArchotechLeg",
+
     defName = "BedrollDouble",
     label = "archotech leg",
+
     label = "double bedroll",
     description = [[An artifical leg built by an archotech. It looks and feels like natural flesh, but a pair of these can move the user as fast as a decent car, and it's harder to damage than plasteel. Even if it is harmed, it repairs itself over time. Its internal workings are a mystery to all human minds.]],
+
     description = [[A simple double-wide bed that lays on the floor, usually made of cloth or leather, often lined with fur. It is lightweight and can be rolled up for easy transport, but it is not quite as comfortable as a typical bed. Caravans can use bedrolls while traveling for better sleep.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 2800,
+
       Flammability = 1.0,
       Mass = 7,
+
       Mass = 4.5,
 +
      BedRestEffectiveness = 0.95,
 +
      ImmunityGainSpeedFactor = 1.05,
 +
      Comfort = 0.68,
 +
      WorkToBuild = 1100,
 +
    },
 +
    comps = {
 +
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
          "Dresser",
 +
          "EndTable",
 +
        },
 +
      },
 +
    },
 +
    size = {2, 2},
 +
    building = {
 +
      bed_healPerDay = 4,
 +
      bed_caravansCanUse = true,
 
     },
 
     },
 +
    pathCost = 14,
 +
    passability = "Standable",
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:AnimalSleepingSpot"] = {
 
     _ = {
 
     _ = {
       Name = "BodyPartBase",
+
       ParentName = "BuildingBase",
       Abstract = true,
+
       DefCategory = "ThingDef",
       FileName = "Hediffs_BodyParts_Base.xml",
+
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "ThingWithComps",
+
    defName = "AnimalSleepingSpot",
     category = "Item",
+
     thingClass = "Building_Bed",
     useHitPoints = true,
+
     label = "animal sleeping spot",
     altitudeLayer = "Item",
+
     description = [[Designates a spot on the ground where animals should sleep.]],
     pathCost = 14,
+
     size = {1, 1},
 +
    passability = "Standable",
 +
     useHitPoints = false,
 +
    altitudeLayer = "FloorEmplacement",
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 50,
+
       WorkToBuild = 0,
       Flammability = 0.7,
+
       SurgerySuccessChanceFactor = 0.7,
      Beauty = -4,
 
      DeteriorationRate = 2.0,
 
      Mass = 1,
 
 
     },
 
     },
     tradeTags = {
+
     building = {
       "TechHediff",
+
       bed_humanlike = false,
 +
      sowTag = "SupportPlantsOnly",
 +
      artificialForMeditationPurposes = false,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Forbiddable = {},
+
       CompProperties_AssignableToPawn = {
 +
        drawAssignmentOverlay = false,
 +
        compClass = "CompAssignableToPawn_Bed",
 +
      },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:AnimalSleepingBox"] = {
 
     _ = {
 
     _ = {
       Name = "BodyPartBionicBase",
+
       ParentName = "FurnitureWithQualityBase",
       ParentName = "BodyPartBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Furniture.xml",
       FileName = "Hediffs_BodyParts_Bionic.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingCategories = {
+
     defName = "AnimalSleepingBox",
      "BodyPartsBionic",
+
    thingClass = "Building_Bed",
     },
+
    label = "animal sleeping box",
     tradeTags = {
+
     description = [[A small box for animals to sleep in. Fits smaller animals like chickens, cats, or small dogs.]],
       "Bionic",
+
    fillPercent = 0.15,
 +
     pathCost = 14,
 +
    passability = "PassThroughOnly",
 +
    building = {
 +
       bed_humanlike = false,
 +
      bed_maxBodySize = 0.55,
 +
      bed_healPerDay = 4,
 
     },
 
     },
 +
    altitudeLayer = "Building",
 
     statBases = {
 
     statBases = {
       WorkToMake = 26000,
+
       MaxHitPoints = 75,
 +
      Flammability = 1.0,
 +
      WorkToBuild = 180,
 +
      Mass = 3,
 +
      BedRestEffectiveness = 0.93,
 +
      Comfort = 0.60,
 +
      ImmunityGainSpeedFactor = 1.05,
 +
      SurgerySuccessChanceFactor = 1,
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       workSpeedStat = "GeneralLaborSpeed",
+
       CompProperties_AssignableToPawn = {
      workSkill = "Crafting",
+
         drawAssignmentOverlay = false,
      effectWorking = "Smith",
+
        compClass = "CompAssignableToPawn_Bed",
      soundWorking = "Recipe_Smith",
 
      unfinishedThingDef = "UnfinishedHealthItemBionic",
 
      skillRequirements = {
 
         Crafting = 8,
 
      },
 
      researchPrerequisite = "Bionics",
 
      recipeUsers = {
 
        "FabricationBench",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:BionicEye"] = {
+
   ["ThingDef:AnimalBed"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicBase",
+
       ParentName = "FurnitureWithQualityBase",
       FileName = "Hediffs_BodyParts_Bionic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BionicEye",
+
     defName = "AnimalBed",
     label = "bionic eye",
+
    thingClass = "Building_Bed",
     description = [[An advanced artifical eye. With its biogel nerve-link, internal signal pre-processor, and wide-spectrum sensors, it is better than a biological eye in almost every way. A lattice-dust healing system allows it to recover from damage.]],
+
     label = "animal bed",
     costList = {
+
     description = [[A soft bed for animals to sleep on. Fits any animal.]],
       Plasteel = 15,
+
     fillPercent = 0.15,
       ComponentSpacer = 4,
+
    pathCost = 14,
 +
    passability = "PassThroughOnly",
 +
    building = {
 +
       bed_humanlike = false,
 +
       bed_healPerDay = 4,
 
     },
 
     },
 +
    altitudeLayer = "Building",
 
     statBases = {
 
     statBases = {
       Mass = 0.3,
+
      MaxHitPoints = 140,
 +
      Flammability = 1.0,
 +
      WorkToBuild = 400,
 +
       Mass = 5,
 +
      BedRestEffectiveness = 1,
 +
      Comfort = 0.75,
 +
      ImmunityGainSpeedFactor = 1.07,
 +
      SurgerySuccessChanceFactor = 1,
 +
    },
 +
    comps = {
 +
      CompProperties_AssignableToPawn = {
 +
        drawAssignmentOverlay = false,
 +
        compClass = "CompAssignableToPawn_Bed",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:BionicArm"] = {
+
   ["ThingDef:Stool"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicBase",
+
       ParentName = "FurnitureWithQualityBase",
       FileName = "Hediffs_BodyParts_Bionic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BionicArm",
+
     defName = "Stool",
     label = "bionic arm",
+
     label = "stool",
     description = [[An advanced artificial arm. Silenced mini-servos give great strength, while the biogel nerve-link gives exquisite control. A lattice-dust healing system allows it to recover from damage. It is better than a biological arm in almost every way.]],
+
     description = [[A simple platform on which to sit. Not very comfortable, but much better than nothing. Can be used at tables, work stations, and elsewhere.]],
     costList = {
+
     altitudeLayer = "Building",
       Plasteel = 15,
+
    statBases = {
       ComponentSpacer = 4,
+
       MaxHitPoints = 75,
 +
       WorkToBuild = 450,
 +
      Mass = 3,
 +
      Flammability = 1.0,
 +
      Beauty = 0,
 +
      Comfort = 0.5,
 
     },
 
     },
     statBases = {
+
     pathCost = 30,
       Mass = 5,
+
    fillPercent = 0.20,
 +
    building = {
 +
       isSittable = true,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:BionicLeg"] = {
+
   ["ThingDef:DiningChair"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicBase",
+
       ParentName = "ArtableFurnitureBase",
       FileName = "Hediffs_BodyParts_Bionic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BionicLeg",
+
     defName = "DiningChair",
     label = "bionic leg",
+
     label = "dining chair",
     description = [[An advanced artificial leg. With its biogel nerve-link, powerful mini-servos, and lattice-dust healing system, it is better than a biological leg in almost every way.]],
+
     description = [[A comfortable and attractive chair. Can be used at tables, work stations, and elsewhere.]],
     costList = {
+
     altitudeLayer = "Building",
       Plasteel = 15,
+
    statBases = {
       ComponentSpacer = 4,
+
       MaxHitPoints = 100,
 +
      WorkToBuild = 8000,
 +
      Mass = 5,
 +
      Flammability = 1.0,
 +
      Beauty = 8,
 +
      Comfort = 0.70,
 +
    },
 +
    pathCost = 30,
 +
    fillPercent = 0.35,
 +
    building = {
 +
       isSittable = true,
 
     },
 
     },
     statBases = {
+
     researchPrerequisites = {
       Mass = 8,
+
       "ComplexFurniture",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:BionicSpine"] = {
+
   ["ThingDef:Armchair"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicBase",
+
       ParentName = "FurnitureWithQualityBase",
       FileName = "Hediffs_BodyParts_Bionic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BionicSpine",
+
     defName = "Armchair",
     label = "bionic spine",
+
     label = "armchair",
     description = [[An advanced artificial spine. A biogel nerve bundle runs down an articulated plasteel core, surrounded by a lattice-dust healing system. It matches the performance of a biological spine.]],
+
     description = [[A large, soft, comfy seat. Great for relaxation. Can be used at tables, work stations, and elsewhere.]],
     costList = {
+
     altitudeLayer = "Building",
      Plasteel = 15,
 
      ComponentSpacer = 4,
 
    },
 
 
     statBases = {
 
     statBases = {
       Mass = 2,
+
      MaxHitPoints = 120,
 +
      WorkToBuild = 14000,
 +
       Mass = 18,
 +
      Flammability = 1.0,
 +
      Beauty = 4,
 +
      Comfort = 0.8,
 
     },
 
     },
  },
+
     researchPrerequisites = {
 
+
       "ComplexFurniture",
  ["ThingDef:BionicHeart"] = {
 
     _ = {
 
       ParentName = "BodyPartBionicBase",
 
      FileName = "Hediffs_BodyParts_Bionic.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "BionicHeart",
+
     pathCost = 30,
     label = "bionic heart",
+
     fillPercent = 0.40,
    description = [[An advanced artificial heart. It has synthetic muscle fibers for a realistic heartbeat, plus a high-flow pump for rapid circulation during high stress. It is better than a biological heart in almost every way.]],
+
     building = {
     costList = {
+
       isSittable = true,
       Plasteel = 15,
 
      ComponentSpacer = 4,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:BionicStomach"] = {
+
   ["ThingDef:TableBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicBase",
+
      Abstract = true,
       FileName = "Hediffs_BodyParts_Bionic.xml",
+
       ParentName = "FurnitureWithQualityBase",
 +
      Name = "TableBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BionicStomach",
+
     description = [[People eat off tables when chairs are placed facing them.]],
     label = "bionic stomach",
+
    thingClass = "Building",
     description = [[An advanced artificial stomach. A set of sensors and chemical synthesizers efficiently digest nearly any energy-bearing foodstuff. An integrated lattice-dust healing system automatically repairs any damage caused by the powerful acids. It is better than a biological stomach in almost every way.]],
+
     altitudeLayer = "Building",
     costList = {
+
     passability = "PassThroughOnly",
       Plasteel = 10,
+
    pathCost = 42,
       ComponentSpacer = 3,
+
    fillPercent = 0.4,
 +
    leaveResourcesWhenKilled = true,
 +
  },
 +
 
 +
  ["ThingDef:TableGatherSpotBase"] = {
 +
     _ = {
 +
       Abstract = true,
 +
      ParentName = "TableBase",
 +
      Name = "TableGatherSpotBase",
 +
       DefCategory = "ThingDef",
 +
      FileName = "Buildings_Furniture.xml",
 +
      DLC = "Core",
 
     },
 
     },
     statBases = {
+
     comps = {
       Mass = 2,
+
       {
 +
        compClass = "CompGatherSpot",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:DeathAcidifier"] = {
+
   ["ThingDef:EndTable"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBase",
+
       ParentName = "TableBase",
       FileName = "Hediffs_BodyParts_Bionic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "DeathAcidifier",
+
     defName = "EndTable",
     label = "death acidifier",
+
     label = "end table",
     description = [[A chest implant for preventing enemy use of captured equipment. Upon the user's death, it releases powerful chemicals that dissolve gear in contact with the user's body. It doesn't damage others.]],
+
     description = [[A small bedside table which makes nearby beds a little bit more comfortable. Must be placed directly adjacent to the head of the bed. Placing more than one end table near the same bed has no effect.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 400,
+
       MaxHitPoints = 75,
 +
      WorkToBuild = 1000,
 +
      Mass = 5,
 +
      Flammability = 1.0,
 +
      Beauty = 3,
 +
    },
 +
    pathCost = 30,
 +
    researchPrerequisites = {
 +
      "ComplexFurniture",
 
     },
 
     },
     thingCategories = {
+
     comps = {
       "BodyPartsBionic",
+
       CompProperties_Facility = {
 +
        statOffsets = {
 +
          Comfort = 0.05,
 +
        },
 +
        maxSimultaneous = 1,
 +
        mustBePlacedAdjacentCardinalToBedHead = true,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Mote_AcidCloud"] = {
+
   ["ThingDef:Table1x2c"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "TableGatherSpotBase",
       FileName = "Hediffs_BodyParts_Bionic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_AcidCloud",
+
     defName = "Table1x2c",
     altitudeLayer = "MoteOverhead",
+
     label = "table (1x2)",
 +
    statBases = {
 +
      MaxHitPoints = 75,
 +
      WorkToBuild = 750,
 +
      Mass = 5,
 +
      Flammability = 1.0,
 +
      Beauty = 0.5,
 +
    },
 +
    size = {1, 2},
 
   },
 
   },
  
   ["ThingDef:BionicEar"] = {
+
   ["ThingDef:Table2x2c"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicBase",
+
       ParentName = "TableGatherSpotBase",
       FileName = "Hediffs_BodyParts_Bionic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BionicEar",
+
     defName = "Table2x2c",
     label = "bionic ear",
+
     label = "table (2x2)",
     description = [[An advanced artificial ear implant. A collection of invisible subdermal microphones capture sound and transmit it to a biogel nerve interface that links directly with the auditory nerve. It's sensitive enough to hear a cat before you see it, can't be damaged by loud noise, and automatically tunes itself to pick out meaningful sounds in noisy environments.]],
+
     statBases = {
    costList = {
+
      MaxHitPoints = 100,
       Plasteel = 10,
+
      WorkToBuild = 1500,
       ComponentSpacer = 3,
+
      Mass = 10,
 +
       Flammability = 1.0,
 +
       Beauty = 1,
 
     },
 
     },
 +
    size = {2, 2},
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Table2x4c"] = {
 
     _ = {
 
     _ = {
       Name = "BodyPartNaturalBase",
+
       ParentName = "TableGatherSpotBase",
       ParentName = "BodyPartBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Furniture.xml",
       FileName = "Hediffs_BodyParts_Natural.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingCategories = {
+
     defName = "Table2x4c",
       "BodyPartsNatural",
+
    label = "table (2x4)",
 +
    statBases = {
 +
       MaxHitPoints = 150,
 +
      WorkToBuild = 3000,
 +
      Mass = 20,
 +
      Flammability = 1.0,
 +
      Beauty = 2,
 
     },
 
     },
     statBases = {
+
     size = {2, 4},
       DeteriorationRate = 4.0,
+
    building = {
 +
       buildingSizeCategory = "Medium",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Heart"] = {
+
   ["ThingDef:Table3x3c"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartNaturalBase",
+
       ParentName = "TableGatherSpotBase",
       FileName = "Hediffs_BodyParts_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Heart",
+
     defName = "Table3x3c",
     label = "heart",
+
     label = "table (3x3)",
    description = [[A biological human heart. Pumps blood around the body.]],
 
 
     statBases = {
 
     statBases = {
       MarketValue = 500,
+
       MaxHitPoints = 175,
       Mass = 1,
+
      WorkToBuild = 3300,
 +
       Mass = 22,
 +
      Flammability = 1.0,
 +
      Beauty = 2,
 +
    },
 +
    size = {3, 3},
 +
    building = {
 +
      buildingSizeCategory = "Medium",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Lung"] = {
+
   ["ThingDef:PlantPot"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartNaturalBase",
+
       ParentName = "FurnitureWithQualityBase",
       FileName = "Hediffs_BodyParts_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Lung",
+
     defName = "PlantPot",
     label = "lung",
+
     label = "plant pot",
     description = [[A biological human lung. A pair of these form the core of the human respiratory system.]],
+
     description = [[Plant decorative flowers here to improve the mood of people nearby.]],
 +
    thingClass = "Building_PlantGrower",
 +
    altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.20,
 
     statBases = {
 
     statBases = {
       MarketValue = 400,
+
       MaxHitPoints = 75,
       Mass = 1,
+
      WorkToBuild = 250,
 +
       Mass = 2,
 +
      Flammability = 1.0,
 
     },
 
     },
  },
+
     comps = {
 
+
       CompProperties_Forbiddable = {},
  ["ThingDef:Kidney"] = {
 
     _ = {
 
       ParentName = "BodyPartNaturalBase",
 
      FileName = "Hediffs_BodyParts_Natural.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "Kidney",
+
     leaveResourcesWhenKilled = false,
    label = "kidney",
+
     building = {
    description = [[A biological human kidney. Filters and removes waste products from the blood.]],
+
       defaultPlantToGrow = "Plant_Daylily",
     statBases = {
+
       sowTag = "Decorative",
       MarketValue = 250,
 
       Mass = 1,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Liver"] = {
+
   ["ThingDef:TorchLamp"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartNaturalBase",
+
       ParentName = "BuildingBase",
       FileName = "Hediffs_BodyParts_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Liver",
+
     defName = "TorchLamp",
     label = "liver",
+
     label = "torch lamp",
     description = [[A biological human liver. Plays an important role in metabolism.]],
+
     description = [[A wooden torch for lighting an area. People need light to move and work at full speed. Can be automatically refueled with wood. Produces a small amount of heat.]],
 +
    category = "Building",
 +
    altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    pathCost = 14,
 +
    fillPercent = 0.15,
 
     statBases = {
 
     statBases = {
       MarketValue = 500,
+
       MaxHitPoints = 75,
       Mass = 2,
+
       WorkToBuild = 100,
 +
      Flammability = 0,
 +
      MeditationFocusStrength = 0.0,
 +
    },
 +
    costList = {
 +
      WoodLog = 20,
 +
    },
 +
    building = {
 +
      artificialForMeditationPurposes = false,
 +
    },
 +
    leaveResourcesWhenKilled = false,
 +
    comps = {
 +
      CompProperties_Refuelable = {
 +
        fuelConsumptionRate = 2.0,
 +
        fuelCapacity = 20.0,
 +
        fuelConsumptionPerTickInRain = 0.0006,
 +
        fuelFilter = {
 +
          thingDefs = {
 +
            "WoodLog",
 +
          },
 +
        },
 +
        initialFuelPercent = 1,
 +
        showAllowAutoRefuelToggle = true,
 +
      },
 +
      CompProperties_Glower = {
 +
        glowRadius = 10,
 +
        glowColor = {252, 187, 113, 0},
 +
      },
 +
      CompProperties_HeatPusher = {
 +
        compClass = "CompHeatPusherPowered",
 +
        heatPerSecond = 3.5,
 +
        heatPushMaxTemperature = 23,
 +
      },
 +
      CompProperties_FireOverlay = {
 +
        fireSize = 0.4,
 +
        offset = {0, 0, 0.2},
 +
      },
 +
      CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Flame",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_Lit",
 +
            },
 +
            offset = 0.1,
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_BuildingDefsLit",
 +
            },
 +
            defs = {
 +
              "Campfire",
 +
              "TorchLamp",
 +
              "Brazier",
 +
            },
 +
            offsetPerBuilding = 0.01,
 +
            radius = 9.9,
 +
            maxBuildings = 8,
 +
            explanationKey = "MeditationFocusPerFlame",
 +
            explanationKeyAbstract = "MeditationFocusPerFlameAbstract",
 +
          },
 +
        },
 +
      },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:LampBase"] = {
 
     _ = {
 
     _ = {
      Name = "BodyPartProstheticBase",
 
      ParentName = "BodyPartBase",
 
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
+
      Name = "LampBase",
 +
      ParentName = "BuildingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    thingClass = "Building",
 +
    category = "Building",
 +
    minifiedDef = "MinifiedThing",
 +
    altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.20,
 +
    pathCost = 14,
 +
    leaveResourcesWhenKilled = false,
 
     thingCategories = {
 
     thingCategories = {
       "BodyPartsProsthetic",
+
       "BuildingsFurniture",
 +
    },
 +
    comps = {
 +
      CompProperties_Flickable = {},
 
     },
 
     },
 
     statBases = {
 
     statBases = {
       WorkToMake = 15000,
+
       MaxHitPoints = 50,
 +
      WorkToBuild = 300,
 +
      Flammability = 1.0,
 +
    },
 +
    researchPrerequisites = {
 +
      "Electricity",
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:StandingLampBase"] = {
 
     _ = {
 
     _ = {
       Name = "BodyPartProstheticMakeableBase",
+
      Abstract = true,
       ParentName = "BodyPartProstheticBase",
+
       Name = "StandingLampBase",
       Abstract = true,
+
       ParentName = "LampBase",
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
+
       DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     costList = {
       workSpeedStat = "GeneralLaborSpeed",
+
       Steel = 20,
       workSkill = "Crafting",
+
    },
      effectWorking = "Smith",
+
    statBases = {
      soundWorking = "Recipe_Smith",
+
       Mass = 4,
       recipeUsers = {
+
    },
         "TableMachining",
+
    comps = {
 +
       CompProperties_Power = {
 +
         compClass = "CompPowerTrader",
 +
        basePowerConsumption = 30,
 
       },
 
       },
      skillRequirements = {
 
        Crafting = 5,
 
      },
 
      unfinishedThingDef = "UnfinishedHealthItemProsthetic",
 
      researchPrerequisite = "Prosthetics",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SimpleProstheticLeg"] = {
+
   ["ThingDef:StandingLamp"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticMakeableBase",
+
       ParentName = "StandingLampBase",
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SimpleProstheticLeg",
+
     defName = "StandingLamp",
     label = "prosthetic leg",
+
     label = "standing lamp",
     description = [[A leg prosthesis. While it lacks a neural interface, its complex arrangement of internal joints allows it to mimic natural movement quite convincingly. Still, it is inferior to a real leg.]],
+
     description = [[An electrical standing lamp that lights an area. People need light to move and work at full speed.]],
     costList = {
+
     comps = {
       Steel = 40,
+
       CompProperties_Glower = {
      ComponentIndustrial = 4,
+
        glowRadius = 12,
    },
+
        glowColor = {217, 217, 208, 0},
    statBases = {
+
       },
       Mass = 8,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SimpleProstheticArm"] = {
+
   ["ThingDef:StandingLamp_Red"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticMakeableBase",
+
       ParentName = "StandingLampBase",
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SimpleProstheticArm",
+
     defName = "StandingLamp_Red",
     label = "prosthetic arm",
+
     label = "standing lamp (red)",
     description = [[An arm prosthesis. While it lacks a neural interface, its complex arrangement of internal joints allows it to mimic natural movement quite convincingly. Still, it is inferior to a real arm.]],
+
     description = [[A standing lamp that lights an area in red.]],
     costList = {
+
     comps = {
       Steel = 40,
+
       CompProperties_Glower = {
       ComponentIndustrial = 4,
+
        glowRadius = 12,
 +
        glowColor = {217, 80, 80, 0},
 +
       },
 
     },
 
     },
     statBases = {
+
     researchPrerequisites = {
       Mass = 5,
+
       _ = {
 +
        Inherit = false,
 +
      },
 +
      "ColoredLights",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SimpleProstheticHeart"] = {
+
   ["ThingDef:StandingLamp_Green"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticMakeableBase",
+
       ParentName = "StandingLampBase",
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SimpleProstheticHeart",
+
     defName = "StandingLamp_Green",
     label = "prosthetic heart",
+
     label = "standing lamp (green)",
     description = [[A heart prosthesis. It contains an electric motor that pumps blood smoothly around the body. Users often report feeling tired, but it's better than the alternative.]],
+
     description = [[A standing lamp that lights an area in green.]],
     costList = {
+
     comps = {
       Steel = 25,
+
       CompProperties_Glower = {
       ComponentIndustrial = 4,
+
        glowRadius = 12,
     },
+
        glowColor = {80, 217, 80, 0},
     statBases = {
+
       },
       Mass = 2,
+
     },
 +
     researchPrerequisites = {
 +
       _ = {
 +
        Inherit = false,
 +
      },
 +
      "ColoredLights",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:CochlearImplant"] = {
+
   ["ThingDef:StandingLamp_Blue"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticMakeableBase",
+
       ParentName = "StandingLampBase",
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "CochlearImplant",
+
     defName = "StandingLamp_Blue",
     label = "cochlear implant",
+
     label = "standing lamp (blue)",
     description = [[An implant which replaces normal hearing. An external microphone transmits a sound signal to electrodes wrapped around the inner ear's auditory sensing nerves. The electrodes stimulate the nerves according to the sound, creating a sensation of hearing. It's not as good as a natural ear, but it's a lot better than being deaf.]],
+
     description = [[A standing lamp that lights an area in blue.]],
     costList = {
+
     comps = {
       Steel = 20,
+
       CompProperties_Glower = {
       ComponentIndustrial = 4,
+
        glowRadius = 12,
 +
        glowColor = {80, 80, 217, 0},
 +
      },
 +
    },
 +
    researchPrerequisites = {
 +
       _ = {
 +
        Inherit = false,
 +
      },
 +
      "ColoredLights",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PowerClaw"] = {
+
   ["ThingDef:SunLamp"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticBase",
+
       ParentName = "LampBase",
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PowerClaw",
+
     defName = "SunLamp",
     label = "power claw",
+
     label = "sun lamp",
     description = [[A combat-oriented hand replacement consisting of a mechanical hand with a hooked claw on each finger. It cuts deep, and it is strong enough to crush a skull like a hand crushes an egg. The claws can be retracted, making it as useful as a natural hand for non-combat tasks, however its overall ungainlyness slows down movement slightly.]],
+
     description = [[An industrial lamp which lights an area brightly enough to grow crops, but consumes a huge amount of power. Automatically turns itself off at night.]],
 +
    thingClass = "Building_SunLamp",
 +
    statBases = {
 +
      WorkToBuild = 330,
 +
      Mass = 4.5,
 +
    },
 
     costList = {
 
     costList = {
 
       Steel = 40,
 
       Steel = 40,
      ComponentIndustrial = 8,
 
 
     },
 
     },
     statBases = {
+
     comps = {
       Mass = 4,
+
       CompProperties_Glower = {
 +
        overlightRadius = 7.0,
 +
        glowRadius = 14,
 +
        glowColor = {370, 370, 370, 0},
 +
      },
 +
      CompProperties_Power = {
 +
        compClass = "CompPowerTrader",
 +
        shortCircuitInRain = true,
 +
        basePowerConsumption = 2900,
 +
      },
 +
      CompProperties_Schedule = {
 +
        startTime = 0.25,
 +
        endTime = 0.8,
 +
        offMessage = "Off for plant resting period",
 +
      },
 +
      CompProperties_HeatPusher = {
 +
        compClass = "CompHeatPusherPowered",
 +
        heatPerSecond = 3,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Joywire"] = {
+
   ["ThingDef:Shelf"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticBase",
+
       ParentName = "FurnitureWithQualityBase",
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Joywire",
+
     defName = "Shelf",
     label = "joywire",
+
     label = "shelf",
     description = [[A brain implant that stimulates the brain's pleasure centers. While it dramatically improves a user's mood, the blanket of happiness makes it hard to concentrate on anything real. Joywires are illegal on many worlds, and are known for destroying whole cultures.]],
+
     description = [[A shelf for storing miscellaneous items. Items stored in this will not affect room beauty and they won't deteriorate, even if outside.]],
     costList = {
+
    thingClass = "Building_Storage",
       Steel = 20,
+
    altitudeLayer = "Building",
       ComponentIndustrial = 4,
+
    passability = "PassThroughOnly",
     },
+
    fillPercent = 0.4,
  },
+
    pathCost = 50,
 
+
     statBases = {
  ["ThingDef:Painstopper"] = {
+
       MaxHitPoints = 100,
    _ = {
+
      Mass = 8,
       ParentName = "BodyPartProstheticBase",
+
      WorkToBuild = 600,
       FileName = "Hediffs_BodyParts_Prosthetic.xml",
+
      Flammability = 1.0,
      DLC = "Core",
+
       Beauty = 0.5,
 +
     },
 +
    size = {2, 1},
 +
    building = {
 +
      preventDeteriorationOnTop = true,
 +
       ignoreStoredThingsBeauty = true,
 +
       defaultStorageSettings = {
 +
        priority = "Important",
 +
        filter = {
 +
          categories = {
 +
            "Weapons",
 +
          },
 +
        },
 +
      },
 
     },
 
     },
     defName = "Painstopper",
+
     researchPrerequisites = {
    label = "painstopper",
+
      "ComplexFurniture",
    description = [[A brain implant which inhibits nociception, or pain sensation. While it does allow the user to accomplish more, it turns out pain has a purpose. When you don't feel it, you can get hurt really bad really easily.]],
 
    costList = {
 
      Steel = 20,
 
      ComponentIndustrial = 4,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:AncientConcreteBarrier"] = {
+
   ["ThingDef:Dresser"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ArtableFurnitureBase",
       FileName = "Buildings_Ancient.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "AncientConcreteBarrier",
+
     defName = "Dresser",
     label = "ancient concrete barrier",
+
     label = "dresser",
    thingClass = "Building",
+
     description = [[A dresser. Gives a small comfort bonus to all nearby beds. Placing more than one dresser near the same bed has no effect.]],
    category = "Building",
 
     description = [[A traffic management solution from long ago.]],
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.4,
 
     pathCost = 42,
 
     pathCost = 42,
    pathCostIgnoreRepeat = true,
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.5,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 500,
+
       MaxHitPoints = 120,
       Beauty = -10,
+
       Mass = 15,
       Flammability = 0,
+
      WorkToBuild = 2000,
       WorkToBuild = 600,
+
       Flammability = 1.0,
 +
       Beauty = 5,
 
     },
 
     },
     building = {
+
     size = {2, 1},
       isInert = true,
+
    researchPrerequisites = {
 +
       "ComplexFurniture",
 
     },
 
     },
     costList = {
+
     comps = {
       Steel = 15,
+
       CompProperties_Facility = {
 +
        statOffsets = {
 +
          Comfort = 0.05,
 +
        },
 +
        maxSimultaneous = 1,
 +
        maxDistance = 6,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:AncientLamppost"] = {
+
   ["ThingDef:HorseshoesPin"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Ancient.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Joy.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "AncientLamppost",
+
     defName = "HorseshoesPin",
     label = "ancient lamppost",
+
     label = "horseshoes pin",
     thingClass = "Building",
+
    description = [[A simple ancient game played with a horseshoes and a large pin in the ground. Players toss horseshoes to try to get them to land on the pin. It's relaxing, and trains shooting skills.]],
     category = "Building",
+
    minifiedDef = "MinifiedThing",
     description = [[Road lighting from long ago. No longer functional.]],
+
     altitudeLayer = "Building",
 +
     thingCategories = {
 +
      "BuildingsJoy",
 +
     },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 300,
+
       MaxHitPoints = 75,
       WorkToBuild = 400,
+
       WorkToBuild = 100,
    },
+
      Mass = 3,
    fillPercent = 0.25,
+
      Flammability = 1.0,
    passability = "PassThroughOnly",
+
       JoyGainFactor = 1,
    pathCost = 42,
 
    costList = {
 
       Steel = 15,
 
 
     },
 
     },
 
     building = {
 
     building = {
       isInert = true,
+
       joyKind = "Gaming_Dexterity",
 +
      artificialForMeditationPurposes = false,
 
     },
 
     },
 +
    pathCost = 14,
 
   },
 
   },
  
   ["ThingDef:Urn"] = {
+
   ["ThingDef:HoopstoneRing"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Ancient.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Joy.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Urn",
+
     defName = "HoopstoneRing",
     label = "urn",
+
     label = "hoopstone ring",
     description = [[An ancient-style decorative container.]],
+
     description = [[A simple ancient game played with stones and a large ring in the ground. Players try to toss stones through the ring from a distance. It's relaxing, and trains shooting skills.]],
 
     minifiedDef = "MinifiedThing",
 
     minifiedDef = "MinifiedThing",
 +
    altitudeLayer = "Building",
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsFurniture",
+
       "BuildingsJoy",
 
     },
 
     },
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.40,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 40,
+
       MaxHitPoints = 100,
       WorkToBuild = 500,
+
       WorkToBuild = 100,
       Mass = 5,
+
       Mass = 4,
 
       Flammability = 1.0,
 
       Flammability = 1.0,
       Beauty = 5,
+
       JoyGainFactor = 1,
 
     },
 
     },
    pathCost = 30,
 
 
     building = {
 
     building = {
       isInert = true,
+
       joyKind = "Gaming_Dexterity",
 +
      artificialForMeditationPurposes = false,
 
     },
 
     },
 +
    pathCost = 14,
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:GameOfUrBoard"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "FurnitureWithQualityBase",
       Name = "SculptureBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Joy.xml",
       FileName = "Buildings_Art.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Building_Art",
+
     defName = "GameOfUrBoard",
 +
    label = "Game-of-Ur board",
 +
    description = [[Dating from 2500BC, this exciting yet infuriating board game can be played by one or two people. It trains intellectual skills.]],
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    fillPercent = 0.20,
 +
    building = {
 +
      joyKind = "Gaming_Cerebral",
 +
    },
 +
    statBases = {
 +
      MaxHitPoints = 90,
 +
      WorkToBuild = 6000,
 +
      Mass = 2,
 +
      Flammability = 1.0,
 +
      Beauty = 2,
 +
      JoyGainFactor = 0.8,
 +
    },
 +
    pathCost = 14,
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
     pathCost = 50,
+
  },
     useHitPoints = true,
+
 
     minifiedDef = "MinifiedThing",
+
  ["ThingDef:ChessTable"] = {
     thingCategories = {
+
     _ = {
       "BuildingsArt",
+
      ParentName = "FurnitureWithQualityBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_Joy.xml",
 +
      DLC = "Core",
 +
     },
 +
    defName = "ChessTable",
 +
    label = "chess table",
 +
    description = [[The ancient game of kings. Fun for a few hours here and there, even playing alone. It trains intellectual skills.]],
 +
    altitudeLayer = "Building",
 +
    fillPercent = 0.40,
 +
     building = {
 +
      joyKind = "Gaming_Cerebral",
 +
     },
 +
    researchPrerequisites = {
 +
       "ComplexFurniture",
 
     },
 
     },
 
     statBases = {
 
     statBases = {
 +
      MaxHitPoints = 100,
 +
      WorkToBuild = 8000,
 +
      Mass = 5,
 
       Flammability = 1.0,
 
       Flammability = 1.0,
       SellPriceFactor = 1.10,
+
       Beauty = 4,
      MeditationFocusStrength = 0.0,
+
       JoyGainFactor = 1,
    },
 
    comps = {
 
      {
 
        compClass = "CompQuality",
 
       },
 
      CompProperties_Art = {
 
        nameMaker = "NamerArtSculpture",
 
        descriptionMaker = "ArtDescription_Sculpture",
 
        canBeEnjoyedAsArt = true,
 
      },
 
      CompProperties_MeditationFocus = {
 
        statDef = "MeditationFocusStrength",
 
        focusTypes = {
 
          "Artistic",
 
        },
 
        offsets = {
 
          FocusStrengthOffset_Quality = {
 
            curve = {
 
              points = {
 
                {0, 0.12},
 
                {1, 0.16},
 
                {2, 0.20},
 
                {3, 0.22},
 
                {4, 0.24},
 
                {5, 0.26},
 
                {6, 0.28},
 
              },
 
            },
 
          },
 
          FocusStrengthOffset_BuildingDefsWithQuality = {
 
            defs = {
 
              "SculptureSmall",
 
              "SculptureLarge",
 
              "SculptureGrand",
 
            },
 
            radius = 9.9,
 
            maxBuildings = 8,
 
            focusPerQuality = {
 
              points = {
 
                {0, 0.0},
 
                {1, 0.0},
 
                {2, 0.01},
 
                {3, 0.01},
 
                {4, 0.01},
 
                {5, 0.02},
 
                {6, 0.02},
 
              },
 
            },
 
            explanationKey = "MeditationFocusPerSculpture",
 
            explanationKeyAbstract = "MeditationFocusPerSculptureAbstract",
 
          },
 
        },
 
      },
 
    },
 
    tradeTags = {
 
      "Art",
 
    },
 
    recipeMaker = {
 
      workSpeedStat = "GeneralLaborSpeed",
 
      workSkill = "Artistic",
 
      unfinishedThingDef = "UnfinishedSculpture",
 
      effectWorking = "Sculpt",
 
      soundWorking = "Recipe_Sculpt",
 
      recipeUsers = {
 
        "TableSculpting",
 
      },
 
      defaultIngredientFilter = {
 
        categories = {
 
          "Root",
 
        },
 
        disallowedThingDefs = {
 
          "Gold",
 
          "Silver",
 
          "Plasteel",
 
          "Jade",
 
          "Uranium",
 
        },
 
      },
 
 
     },
 
     },
 +
    pathCost = 30,
 +
    passability = "PassThroughOnly",
 
   },
 
   },
  
   ["ThingDef:SculptureSmall"] = {
+
   ["ThingDef:PokerTable"] = {
 
     _ = {
 
     _ = {
       ParentName = "SculptureBase",
+
       ParentName = "FurnitureWithQualityBase",
       FileName = "Buildings_Art.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Joy.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SculptureSmall",
+
     defName = "PokerTable",
     label = "small sculpture",
+
     label = "poker table",
     description = [[A torso-sized piece of material sculpted into an artistic form.]],
+
     description = [[A table designed for playing gambling card games like poker. A great way to test your strategic skills and a bit of luck.]],
     fillPercent = 0.35,
+
    altitudeLayer = "Building",
 +
     fillPercent = 0.40,
 +
    building = {
 +
      joyKind = "Gaming_Cerebral",
 +
      buildingSizeCategory = "Medium",
 +
    },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 90,
+
       MaxHitPoints = 250,
       Mass = 3,
+
      WorkToBuild = 10000,
       Beauty = 50,
+
       Mass = 30,
       WorkToMake = 18000,
+
      Flammability = 1.0,
 +
      Beauty = 0,
 +
      JoyGainFactor = 1.3,
 +
    },
 +
    size = {2, 2},
 +
    costList = {
 +
       Cloth = 50,
 +
       WoodLog = 25,
 +
    },
 +
    pathCost = 42,
 +
    passability = "PassThroughOnly",
 +
    researchPrerequisites = {
 +
      "ComplexFurniture",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SculptureLarge"] = {
+
   ["ThingDef:BilliardsTable"] = {
 
     _ = {
 
     _ = {
       ParentName = "SculptureBase",
+
       ParentName = "FurnitureWithQualityBase",
       FileName = "Buildings_Art.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Joy.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SculptureLarge",
+
     defName = "BilliardsTable",
     label = "large sculpture",
+
     label = "billiards table",
     description = [[A person-sized piece of material sculpted into an artistic form.]],
+
     description = [[A soft-topped bounded table for playing a variety of billiards-type games. It trains shooting ability.]],
     fillPercent = 0.5,
+
    altitudeLayer = "Building",
 +
     fillPercent = 0.40,
 +
    terrainAffordanceNeeded = "Medium",
 +
    building = {
 +
      joyKind = "Gaming_Dexterity",
 +
      buildingSizeCategory = "Medium",
 +
    },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 150,
+
       MaxHitPoints = 250,
       Mass = 7,
+
      WorkToBuild = 12000,
       Beauty = 100,
+
       Mass = 60,
       WorkToMake = 30000,
+
      Flammability = 1.0,
 +
       Beauty = 0,
 +
       JoyGainFactor = 1.3,
 
     },
 
     },
  },
+
    size = {2, 3},
 
+
     costList = {
  ["ThingDef:SculptureGrand"] = {
+
       Cloth = 80,
     _ = {
+
       WoodLog = 30,
       ParentName = "SculptureBase",
 
      FileName = "Buildings_Art.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "SculptureGrand",
+
     pathCost = 42,
     label = "grand sculpture",
+
     passability = "PassThroughOnly",
     description = [[A huge sculpture sized to dominate a room.]],
+
     researchPrerequisites = {
    fillPercent = 0.5,
+
       "ComplexFurniture",
    size = {2, 2},
 
    statBases = {
 
       MaxHitPoints = 300,
 
      Beauty = 400,
 
      Mass = 28,
 
      WorkToMake = 105000,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Snowman"] = {
+
   ["ThingDef:TubeTelevision"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Art.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Joy.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Snowman",
+
     defName = "TubeTelevision",
     label = "snowman",
+
     label = "tube television",
     description = [[A set of large snowballs piled and shaped to resemble a person. People make these for the fun of it.]],
+
     description = [[A cathode ray tube display for showing moving pictures with sound. Even on the rimworlds, there is often an old transmitter running something at least marginally interesting.]],
    thingClass = "Building",
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     passability = "PassThroughOnly",
+
     minifiedDef = "MinifiedThing",
     pathCost = 30,
+
     fillPercent = 0.40,
     pathCostIgnoreRepeat = false,
+
     thingCategories = {
    useHitPoints = true,
+
      "BuildingsJoy",
     fillPercent = 0.35,
+
     },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 50,
+
      WorkToBuild = 10000,
       Beauty = 4,
+
       MaxHitPoints = 100,
      WorkToBuild = 1000,
+
      Mass = 14,
       MarketValue = 0,
+
      Flammability = 1.0,
 +
      JoyGainFactor = 1.2,
 +
    },
 +
    costList = {
 +
       Steel = 80,
 +
      ComponentIndustrial = 4,
 +
    },
 +
    pathCost = 42,
 +
    passability = "PassThroughOnly",
 +
    building = {
 +
       joyKind = "Television",
 
     },
 
     },
 
     comps = {
 
     comps = {
       {
+
       CompProperties_Power = {
         compClass = "CompMelter",
+
         compClass = "CompPowerTrader",
 +
        shortCircuitInRain = true,
 +
        basePowerConsumption = 200,
 
       },
 
       },
 +
      CompProperties_Flickable = {},
 
     },
 
     },
     building = {
+
     tradeTags = {
       repairable = false,
+
       "Television",
      isInert = true,
 
      artificialForMeditationPurposes = false,
 
 
     },
 
     },
  },
+
     researchPrerequisites = {
  ThingDef = {
+
       "TubeTelevision",
     _ = {
 
       Name = "BuildingBase",
 
      Abstract = true,
 
      FileName = "Buildings_Base.xml",
 
      DLC = "Core",
 
    },
 
    category = "Building",
 
    thingClass = "Building",
 
    terrainAffordanceNeeded = "Light",
 
    leaveResourcesWhenKilled = true,
 
    statBases = {
 
      SellPriceFactor = 0.70,
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:FlatscreenTelevision"] = {
 
     _ = {
 
     _ = {
      Abstract = true,
 
      Name = "CrashedShipPartBase",
 
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Exotic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Joy.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     size = {6, 3},
+
     defName = "FlatscreenTelevision",
     passability = "Impassable",
+
     label = "flatscreen television",
     fillPercent = 1,
+
     description = [[A high-tech flat-screen television with crystal-clear image and rich color. Picks up transmissions from ancient satellites and ubiquitous data cards.]],
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     terrainAffordanceNeeded = "Light",
+
     minifiedDef = "MinifiedThing",
     leaveResourcesWhenKilled = false,
+
     fillPercent = 0.35,
 +
    thingCategories = {
 +
      "BuildingsJoy",
 +
    },
 +
    costList = {
 +
      Steel = 140,
 +
      ComponentIndustrial = 16,
 +
    },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 1200,
+
      WorkToBuild = 40000,
       Flammability = 0,
+
       MaxHitPoints = 80,
       Beauty = -200,
+
       Flammability = 1.0,
 +
       Mass = 8,
 +
      JoyGainFactor = 1.4,
 
     },
 
     },
     killedLeavings = {
+
     pathCost = 50,
      ChunkSlagSteel = 4,
+
    passability = "PassThroughOnly",
      Steel = 60,
+
    size = {2, 1},
      ComponentIndustrial = 1,
+
    researchPrerequisites = {
      Plasteel = 10,
+
       "FlatscreenTelevision",
       ComponentSpacer = 1,
 
 
     },
 
     },
 
     building = {
 
     building = {
       combatPower = 250,
+
       joyKind = "Television",
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_WakeUpDormant = {},
+
       CompProperties_Power = {
 +
        compClass = "CompPowerTrader",
 +
        shortCircuitInRain = true,
 +
        basePowerConsumption = 330,
 +
      },
 +
      CompProperties_Flickable = {},
 +
    },
 +
    tradeTags = {
 +
      "Television",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PsychicDronerShipPart"] = {
+
   ["ThingDef:MegascreenTelevision"] = {
 
     _ = {
 
     _ = {
       ParentName = "CrashedShipPartBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Exotic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Joy.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PsychicDronerShipPart",
+
     defName = "MegascreenTelevision",
     label = "ship part (psychic droner)",
+
     label = "megascreen television",
     description = [[An ancient ship part, torn off of a craft of unknown origin. It might be thousands of years old.\n\nThis one contains a psychic disturbance device. Using incomprehensible archotechnologies, it generates a psychic signal that drives people and animals mad within a wide radius around itself.]],
+
     description = [[A huge, high-tech television. Gigantic, hyper-vibrant images almost leap out of the screen. Very entertaining. Picks up transmissions from ancient satellites and ubiquitous data cards.]],
     comps = {
+
     altitudeLayer = "Building",
       CompProperties_CausesGameCondition_PsychicEmanation = {
+
    minifiedDef = "MinifiedThing",
        conditionDef = "PsychicDroner",
+
    fillPercent = 0.35,
        compClass = "CompCauseGameCondition_PsychicEmanation",
+
    thingCategories = {
        worldRange = 1,
+
       "BuildingsJoy",
        droneLevelIncreaseInterval = 150000,
+
    },
        droneLevel = 2,
+
    costList = {
       },
+
      Steel = 260,
       CompProperties_AnimalInsanityPulser = {},
+
      ComponentIndustrial = 22,
 +
    },
 +
    statBases = {
 +
      WorkToBuild = 80000,
 +
      MaxHitPoints = 85,
 +
      Flammability = 1.0,
 +
       Mass = 10,
 +
       JoyGainFactor = 1.6,
 
     },
 
     },
  },
+
    pathCost = 50,
 
+
    passability = "PassThroughOnly",
  ["ThingDef:DefoliatorShipPart"] = {
+
     size = {3, 1},
     _ = {
+
    building = {
      ParentName = "CrashedShipPartBase",
+
       joyKind = "Television",
      FileName = "Buildings_Exotic.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "DefoliatorShipPart",
 
    label = "ship part (defoliator)",
 
    description = [[An ancient ship part, torn off of a craft of unknown origin. It might be thousands of years old.\n\nThis one contains a device which annihilates plant life near itself without directly affecting flesh creatures. These kinds of weapons are sometimes scattered across farmlands or forests to remove the enemy's food supply and hiding places without permanently ruining the territory. They're usually associated with orbital-drop mechanoid armies.]],
 
 
     comps = {
 
     comps = {
       CompProperties_PlantHarmRadius = {
+
       CompProperties_Power = {
         radiusPerDayCurve = {
+
         compClass = "CompPowerTrader",
          points = {
+
        shortCircuitInRain = true,
            "0  , 5",
+
         basePowerConsumption = 450,
            "1.5, 18",
 
            "6  , 40",
 
            "20 , 100",
 
          },
 
         },
 
 
       },
 
       },
 +
      CompProperties_Flickable = {},
 +
    },
 +
    tradeTags = {
 +
      "Television",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ShipChunk"] = {
+
   ["ThingDef:Telescope"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Exotic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Joy.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ShipChunk",
+
     defName = "Telescope",
     label = "ship chunk",
+
     label = "telescope",
     description = [[A chunk of a spacecraft. Can be deconstructed to yield useful resources.]],
+
     description = [[A telescope for doing amateur astronomy. It's a relaxing hobby for a certain kind of person. Can only be used outdoors.]],
     category = "Building",
+
     fillPercent = 0.15,
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     pathCost = 42,
+
     hasInteractionCell = true,
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
     fillPercent = 0.50,
+
     pathCost = 30,
     size = {2, 2},
+
     minifiedDef = "MinifiedThing",
     statBases = {
+
     thingCategories = {
       MaxHitPoints = 300,
+
       "BuildingsJoy",
      Flammability = 0,
 
      Beauty = -20,
 
      WorkToBuild = 12000,
 
 
     },
 
     },
     leaveResourcesWhenKilled = false,
+
     building = {
    killedLeavings = {
+
       joyKind = "Telescope",
       ChunkSlagSteel = 2,
 
      ComponentIndustrial = 1,
 
 
     },
 
     },
 
     costList = {
 
     costList = {
       ComponentIndustrial = 11,
+
       Steel = 50,
       Steel = 40,
+
       ComponentIndustrial = 1,
 
     },
 
     },
     building = {
+
     statBases = {
       alwaysDeconstructible = true,
+
       MaxHitPoints = 75,
 +
      Flammability = 1.0,
 +
      MarketValue = 350,
 +
      Mass = 7.5,
 +
      JoyGainFactor = 1.2,
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:OrbitalTradeBeacon"] = {
 
     _ = {
 
     _ = {
      Name = "FurnitureBase",
 
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       Abstract = true,
+
       DefCategory = "ThingDef",
       FileName = "Buildings_Furniture.xml",
+
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "OrbitalTradeBeacon",
 +
    label = "orbital trade beacon",
 +
    thingClass = "Building_OrbitalTradeBeacon",
 +
    altitudeLayer = "Building",
 
     minifiedDef = "MinifiedThing",
 
     minifiedDef = "MinifiedThing",
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsFurniture",
+
       "BuildingsMisc",
 +
    },
 +
    statBases = {
 +
      MaxHitPoints = 75,
 +
      WorkToBuild = 800,
 +
      Flammability = 0.5,
 +
      Mass = 5,
 
     },
 
     },
  },
+
     description = [[Required for orbital trading. You can only sell goods to orbital traders if they're near an orbital trade beacon. Can be placed indoors.]],
  ThingDef = {
+
    fillPercent = 0.15,
     _ = {
+
    costList = {
      Name = "FurnitureWithQualityBase",
+
       Steel = 40,
      ParentName = "FurnitureBase",
+
       ComponentIndustrial = 1,
      Abstract = true,
 
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       {
+
       CompProperties_Power = {
         compClass = "CompQuality",
+
         compClass = "CompPowerTrader",
 +
        basePowerConsumption = 40,
 
       },
 
       },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_Breakdownable = {},
 +
    },
 +
    leaveResourcesWhenKilled = false,
 +
    pathCost = 14,
 +
    researchPrerequisites = {
 +
      "MicroelectronicsBasics",
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:CommsConsole"] = {
 
     _ = {
 
     _ = {
       Name = "ArtableFurnitureBase",
+
       ParentName = "BuildingBase",
       ParentName = "FurnitureWithQualityBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Misc.xml",
       FileName = "Buildings_Furniture.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "CommsConsole",
 +
    label = "comms console",
 +
    description = [[Allows radio contact with other factions and orbital traders.]],
 +
    thingClass = "Building_CommsConsole",
 +
    altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    fillPercent = 0.5,
 +
    statBases = {
 +
      MaxHitPoints = 250,
 +
      WorkToBuild = 2200,
 +
      Flammability = 0.6,
 +
    },
 +
    size = {3, 2},
 +
    costList = {
 +
      Steel = 120,
 +
      ComponentIndustrial = 4,
 +
    },
 +
    hasInteractionCell = true,
 +
    terrainAffordanceNeeded = "Medium",
 
     comps = {
 
     comps = {
       CompProperties_Art = {
+
       CompProperties_Power = {
         nameMaker = "NamerArtFurniture",
+
         compClass = "CompPowerTrader",
         descriptionMaker = "ArtDescription_Furniture",
+
         shortCircuitInRain = true,
         minQualityForArtistic = "Excellent",
+
         basePowerConsumption = 200,
 
       },
 
       },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_Breakdownable = {},
 +
    },
 +
    researchPrerequisites = {
 +
      "MicroelectronicsBasics",
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:FirefoamPopper"] = {
 
     _ = {
 
     _ = {
       Name = "ArtableFurnitureRegardlessOfQualityBase",
+
       ParentName = "BuildingBase",
       ParentName = "FurnitureWithQualityBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Misc.xml",
       FileName = "Buildings_Furniture.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "FirefoamPopper",
 +
    label = "firefoam popper",
 +
    description = [[When it detects fire, this safety device pops and sprays a fire-retardant foam in a circular field around itself. Can also be triggered manually.]],
 
     comps = {
 
     comps = {
       CompProperties_Art = {
+
       CompProperties_Explosive = {
         nameMaker = "NamerArtFurniture",
+
         explosiveRadius = 9.9,
         descriptionMaker = "ArtDescription_Furniture",
+
        explosiveDamageType = "Extinguish",
         minQualityForArtistic = "Awful",
+
        startWickHitPointsPercent = -1,
 +
        startWickOnDamageTaken = {
 +
          "Flame",
 +
        },
 +
        postExplosionSpawnThingDef = "Filth_FireFoam",
 +
        postExplosionSpawnChance = 1,
 +
        postExplosionSpawnThingCount = 1,
 +
        applyDamageToExplosionCellsNeighbors = true,
 +
        explosionEffect = "ExtinguisherExplosion",
 +
      },
 +
      CompProperties_Usable = {
 +
         useJob = "TriggerFirefoamPopper",
 +
         useLabel = "Trigger firefoam popper",
 +
      },
 +
      CompProperties_UseEffect = {
 +
        compClass = "CompUseEffect_StartWick",
 +
      },
 +
      CompProperties_ProximityFuse = {
 +
        target = "Fire",
 +
        radius = 3,
 
       },
 
       },
 
     },
 
     },
  },
+
    altitudeLayer = "Building",
 
+
     minifiedDef = "MinifiedThing",
  ["ThingDef:SleepingSpot"] = {
+
    thingCategories = {
     _ = {
+
       "BuildingsMisc",
      ParentName = "BuildingBase",
 
      FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    defName = "SleepingSpot",
 
    label = "sleeping spot",
 
    description = [[Designates a spot on the ground where people should sleep. Not comfortable.]],
 
    thingClass = "Building_Bed",
 
    altitudeLayer = "FloorEmplacement",
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 0,
+
      MaxHitPoints = 50,
       Comfort = 0.4,
+
       WorkToBuild = 1500,
       SurgerySuccessChanceFactor = 0.7,
+
      Mass = 10,
 +
       Flammability = 1.0,
 +
       Beauty = -8,
 
     },
 
     },
     useHitPoints = false,
+
     fillPercent = 0.30,
     size = {1, 2},
+
     costList = {
    passability = "Standable",
+
       Steel = 75,
    building = {
+
       ComponentIndustrial = 1,
       sowTag = "SupportPlantsOnly",
 
       artificialForMeditationPurposes = false,
 
      buildingTags = {
 
        "Bed",
 
      },
 
 
     },
 
     },
     comps = {
+
     leaveResourcesWhenKilled = false,
      CompProperties_AssignableToPawn = {
+
    pathCost = 30,
        drawAssignmentOverlay = false,
+
    passability = "PassThroughOnly",
        compClass = "CompAssignableToPawn_Bed",
+
    researchPrerequisites = {
       },
+
       "Firefoam",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:DoubleSleepingSpot"] = {
+
   ["ThingDef:MoisturePump"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "DoubleSleepingSpot",
+
     defName = "MoisturePump",
     label = "double sleeping spot",
+
     label = "moisture pump",
     description = [[Designates a spot on the ground where two people should sleep together. Not comfortable.]],
+
     description = [[Very slowly equalizes moisture in nearby terrain, converting marshes or shallow water into dry ground, and soft sand into normal sand. Does not affect deep water.]],
     thingClass = "Building_Bed",
+
     comps = {
    altitudeLayer = "FloorEmplacement",
+
       CompProperties_Forbiddable = {},
    statBases = {
+
      CompProperties_Power = {
       WorkToBuild = 0,
+
        compClass = "CompPowerTrader",
      Comfort = 0.4,
+
        basePowerConsumption = 150,
      SurgerySuccessChanceFactor = 0.7,
 
    },
 
    useHitPoints = false,
 
    size = {2, 2},
 
    passability = "Standable",
 
    building = {
 
      sowTag = "SupportPlantsOnly",
 
      artificialForMeditationPurposes = false,
 
      buildingTags = {
 
        "Bed",
 
 
       },
 
       },
    },
+
      CompProperties_TerrainPumpDry = {
    comps = {
+
        soundWorking = "MoisturePump_Ambience",
      CompProperties_AssignableToPawn = {
+
         radius = 6.9,
         drawAssignmentOverlay = false,
+
         daysToRadius = 60,
         compClass = "CompAssignableToPawn_Bed",
 
 
       },
 
       },
 
     },
 
     },
  },
+
    altitudeLayer = "Building",
  ThingDef = {
+
     statBases = {
     _ = {
+
       MaxHitPoints = 50,
       ParentName = "FurnitureBase",
+
       WorkToBuild = 1500,
       Name = "BedBase",
+
       Flammability = 1.0,
       Abstract = true,
+
       Beauty = -8,
      FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     thingClass = "Building_Bed",
+
     fillPercent = 0.15,
     altitudeLayer = "Building",
+
     costList = {
    comps = {
+
       Steel = 75,
       CompProperties_AssignableToPawn = {
+
      ComponentIndustrial = 4,
        drawAssignmentOverlay = false,
 
        compClass = "CompAssignableToPawn_Bed",
 
      },
 
 
     },
 
     },
 +
    pathCost = 30,
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
     building = {
+
     researchPrerequisites = {
       buildingTags = {
+
       "MoisturePump",
        "Bed",
 
      },
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:GroundPenetratingScanner"] = {
 
     _ = {
 
     _ = {
       Name = "BedWithQualityBase",
+
       ParentName = "BuildingBase",
       ParentName = "BedBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Misc.xml",
       FileName = "Buildings_Furniture.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 +
    },
 +
    defName = "GroundPenetratingScanner",
 +
    label = "ground-penetrating scanner",
 +
    description = [[A sensor unit used by researchers to search for buried resources. The chance to find a resource depends on the operator's research ability. It consumes a lot of electricity. If you find a buried resource, you'll need to use deep drills to extract it. It doesn't work under a roof.]],
 +
    costList = {
 +
      Steel = 150,
 +
      ComponentIndustrial = 4,
 +
      ComponentSpacer = 1,
 
     },
 
     },
 
     comps = {
 
     comps = {
       {
+
       CompProperties_Forbiddable = {},
         compClass = "CompQuality",
+
      CompProperties_Power = {
 +
         compClass = "CompPowerTrader",
 +
        basePowerConsumption = 700,
 +
      },
 +
      CompProperties_Breakdownable = {},
 +
      CompProperties_Flickable = {},
 +
      CompProperties_ScannerMineralsDeep = {
 +
        scanSpeedStat = "ResearchSpeed",
 +
        scanFindMtbDays = 3,
 +
        scanFindGuaranteedDays = 6,
 +
        soundWorking = "ScannerGroundPenetrating_Ambience",
 
       },
 
       },
 
     },
 
     },
  },
+
    altitudeLayer = "Building",
  ThingDef = {
+
     statBases = {
     _ = {
+
       MaxHitPoints = 200,
       Name = "ArtableBedBase",
+
       WorkToBuild = 12000,
       ParentName = "BedWithQualityBase",
+
       Flammability = 0.5,
       Abstract = true,
+
       Beauty = -8,
      FileName = "Buildings_Furniture.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     comps = {
+
     hasInteractionCell = true,
      CompProperties_Art = {
+
    fillPercent = 0.40,
        nameMaker = "NamerArtFurniture",
+
    leaveResourcesWhenKilled = false,
        descriptionMaker = "ArtDescription_Furniture",
+
    passability = "PassThroughOnly",
        minQualityForArtistic = "Excellent",
+
    pathCost = 50,
       },
+
    size = {3, 3},
 +
    terrainAffordanceNeeded = "Heavy",
 +
    researchPrerequisites = {
 +
       "GroundPenetratingScanner",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bed"] = {
+
   ["ThingDef:LongRangeMineralScanner"] = {
 
     _ = {
 
     _ = {
       ParentName = "BedWithQualityBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bed",
+
     defName = "LongRangeMineralScanner",
     label = "bed",
+
     label = "long-range mineral scanner",
     description = [[A cozy mattress and sheets on a frame for resting.]],
+
     description = [[A lateral sensor unit used by researchers to detect a specific type of mineral across the planet. The chance to find a resource depends on the operator's research ability. This sensor can be tuned to target a specific resource type. It consumes a lot of electricity. If you find a resource, you'll need to travel to collect it.]],
 +
    costList = {
 +
      Steel = 200,
 +
      ComponentIndustrial = 6,
 +
      ComponentSpacer = 2,
 +
    },
 
     comps = {
 
     comps = {
       CompProperties_AffectedByFacilities = {
+
       CompProperties_Forbiddable = {},
        linkableFacilities = {
+
      CompProperties_Power = {
          "EndTable",
+
        compClass = "CompPowerTrader",
          "Dresser",
+
        basePowerConsumption = 700,
         },
+
      },
 +
      CompProperties_Breakdownable = {},
 +
      CompProperties_Flickable = {},
 +
      CompProperties_LongRangeMineralScanner = {
 +
        scanSpeedStat = "ResearchSpeed",
 +
         scanFindMtbDays = 4,
 +
        scanFindGuaranteedDays = 8,
 +
        soundWorking = "ScannerLongRangeMineral_Ambience",
 
       },
 
       },
 
     },
 
     },
 +
    altitudeLayer = "Building",
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 140,
+
       MaxHitPoints = 250,
      Flammability = 1.0,
+
       WorkToBuild = 1000,
      Beauty = 1,
+
       Flammability = 0.5,
       WorkToBuild = 800,
+
       Beauty = -8,
       Mass = 30,
 
      BedRestEffectiveness = 1,
 
      Comfort = 0.75,
 
       ImmunityGainSpeedFactor = 1.07,
 
      SurgerySuccessChanceFactor = 1,
 
 
     },
 
     },
     size = {1, 2},
+
     fillPercent = 0.40,
     building = {
+
    leaveResourcesWhenKilled = false,
      bed_healPerDay = 4,
+
     passability = "PassThroughOnly",
     },
+
    pathCost = 50,
     fillPercent = 0.4,
+
     hasInteractionCell = true,
     pathCost = 42,
+
     size = {3, 3},
 +
     terrainAffordanceNeeded = "Heavy",
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "ComplexFurniture",
+
       "LongRangeMineralScanner",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:DoubleBed"] = {
+
   ["ThingDef:PodLauncher"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArtableBedBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "DoubleBed",
+
     defName = "PodLauncher",
     label = "double bed",
+
     label = "pod launcher",
     description = [[A simple double-wide bed that fits two people.]],
+
     description = [[A fueling port for launching one transport pod. Pod launchers can launch as a group - but the launchers must be placed adjacent to each other.]],
     comps = {
+
     size = {1, 2},
      CompProperties_AffectedByFacilities = {
+
    altitudeLayer = "Building",
        linkableFacilities = {
+
    passability = "Impassable",
          "EndTable",
+
    fillPercent = 1.0,
          "Dresser",
+
     terrainAffordanceNeeded = "Medium",
        },
 
      },
 
     },
 
 
     statBases = {
 
     statBases = {
 
       MaxHitPoints = 200,
 
       MaxHitPoints = 200,
      Flammability = 1.0,
+
       WorkToBuild = 3000,
       WorkToBuild = 1500,
+
       Flammability = 0.5,
       Mass = 50,
+
    },
      Comfort = 0.75,
+
    costList = {
      Beauty = 2,
+
       Steel = 50,
      BedRestEffectiveness = 1,
+
       ComponentIndustrial = 1,
       ImmunityGainSpeedFactor = 1.07,
 
       SurgerySuccessChanceFactor = 1,
 
 
     },
 
     },
     size = {2, 2},
+
     comps = {
    building = {
+
      CompProperties_Refuelable = {
       bed_healPerDay = 4,
+
        fuelCapacity = 150.0,
 +
        targetFuelLevelConfigurable = true,
 +
        initialConfigurableTargetFuelLevel = 75,
 +
        fuelFilter = {
 +
          thingDefs = {
 +
            "Chemfuel",
 +
          },
 +
        },
 +
        consumeFuelOnlyWhenUsed = true,
 +
        autoRefuelPercent = 1,
 +
        showFuelGizmo = true,
 +
        drawOutOfFuelOverlay = false,
 +
        drawFuelGaugeInMap = true,
 +
        showAllowAutoRefuelToggle = true,
 +
       },
 
     },
 
     },
    terrainAffordanceNeeded = "Light",
 
    fillPercent = 0.4,
 
    pathCost = 42,
 
    leaveResourcesWhenKilled = true,
 
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "ComplexFurniture",
+
       "TransportPod",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:RoyalBed"] = {
+
   ["ThingDef:TransportPod"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArtableBedBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RoyalBed",
+
     defName = "TransportPod",
     label = "royal bed",
+
     label = "transport pod",
     description = [[A luxurious gold-inlaid bed fit for the highborn. Very comfy and beautiful, it is a work of art in itself. Fits two.]],
+
     description = [[A launchable sub-orbital cargo pod capable of carrying people, items, or animals. Can be used for sending gifts, transporting people or supplies, surprise attacks, or reinforcing battles.]],
     comps = {
+
     size = {1, 1},
      CompProperties_AffectedByFacilities = {
+
    altitudeLayer = "BuildingOnTop",
        linkableFacilities = {
+
    passability = "PassThroughOnly",
          "EndTable",
+
    fillPercent = 0.5,
          "Dresser",
+
     terrainAffordanceNeeded = "Medium",
        },
 
      },
 
     },
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 200,
+
       MaxHitPoints = 250,
      Flammability = 1.0,
+
       WorkToBuild = 1600,
       WorkToBuild = 50000,
+
       Flammability = 0.5,
       Mass = 60,
 
      Beauty = 75,
 
      BedRestEffectiveness = 1.05,
 
      Comfort = 0.90,
 
      ImmunityGainSpeedFactor = 1.07,
 
      SurgerySuccessChanceFactor = 1,
 
 
     },
 
     },
    size = {2, 2},
 
 
     costList = {
 
     costList = {
       Gold = 50,
+
       Steel = 60,
 +
      ComponentIndustrial = 1,
 
     },
 
     },
     building = {
+
     comps = {
       bed_healPerDay = 4,
+
       CompProperties_Transporter = {
 +
        restEffectiveness = 0.8,
 +
      },
 +
      CompProperties_Launchable = {
 +
        skyfallerLeaving = "DropPodLeaving",
 +
      },
 
     },
 
     },
    terrainAffordanceNeeded = "Light",
 
    fillPercent = 0.4,
 
    pathCost = 42,
 
    leaveResourcesWhenKilled = true,
 
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "ComplexFurniture",
+
       "TransportPod",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:HospitalBed"] = {
+
   ["ThingDef:MultiAnalyzer"] = {
 
     _ = {
 
     _ = {
       ParentName = "BedWithQualityBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "HospitalBed",
+
     defName = "MultiAnalyzer",
     label = "hospital bed",
+
     label = "multi-analyzer",
     description = [[A bed specially designed for use in hospitals. Adjustable for a patient and festooned with built-in equipment, it improves medical outcomes over normal beds.]],
+
     description = [[Increases research speed when placed near hi-tech research bench and unlocks new research projects. Each research bench can only use one multi-analyzer.]],
 +
    researchPrerequisites = {
 +
      "MultiAnalyzer",
 +
    },
 +
    size = {2, 2},
 +
    altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.5,
 +
    minifiedDef = "MinifiedThing",
 +
    terrainAffordanceNeeded = "Medium",
 +
    thingCategories = {
 +
      "BuildingsMisc",
 +
    },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 150,
+
       MaxHitPoints = 200,
       WorkToBuild = 2800,
+
       WorkToBuild = 10000,
       Mass = 35,
+
       Mass = 60,
 
       Flammability = 1.0,
 
       Flammability = 1.0,
      BedRestEffectiveness = 1,
+
    },
       Comfort = 0.80,
+
    costList = {
       ImmunityGainSpeedFactor = 1.11,
+
       Steel = 40,
       MedicalTendQualityOffset = 0.10,
+
       Plasteel = 50,
       SurgerySuccessChanceFactor = 1.1,
+
       Gold = 20,
 +
       ComponentIndustrial = 8,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_AffectedByFacilities = {
+
       CompProperties_Power = {
         linkableFacilities = {
+
         compClass = "CompPowerTrader",
          "VitalsMonitor",
+
        shortCircuitInRain = true,
          "EndTable",
+
        basePowerConsumption = 200,
           "Dresser",
+
      },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_Facility = {
 +
        statOffsets = {
 +
           ResearchSpeedFactor = 0.1,
 
         },
 
         },
 +
        maxSimultaneous = 1,
 
       },
 
       },
    },
 
    size = {1, 2},
 
    costList = {
 
      Steel = 80,
 
      ComponentIndustrial = 5,
 
    },
 
    building = {
 
      bed_healPerDay = 10,
 
      bed_defaultMedical = true,
 
      buildingSizeCategory = "Small",
 
    },
 
    fillPercent = 0.4,
 
    pathCost = 42,
 
    leaveResourcesWhenKilled = true,
 
    researchPrerequisites = {
 
      "HospitalBed",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bedroll"] = {
+
   ["ThingDef:VitalsMonitor"] = {
 
     _ = {
 
     _ = {
       ParentName = "BedWithQualityBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bedroll",
+
     defName = "VitalsMonitor",
     label = "bedroll",
+
     label = "vitals monitor",
     description = [[A simple bed that lays on the floor, usually made of cloth or leather, often lined with fur. It is lightweight and can be rolled up for easy transport, but it is not quite as comfortable as a typical bed. Caravans can use bedrolls while traveling for better sleep.]],
+
     description = [[Increases medical tend quality, surgery success chance, and immunity gain speed when placed directly adjacent to a hospital bed. Only works for hospital beds - normal beds will not benefit. Attaching more than one vitals monitor to the same bed will have no effect.]],
 +
    researchPrerequisites = {
 +
      "VitalsMonitor",
 +
    },
 +
    altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.2,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 75,
+
       MaxHitPoints = 100,
       Flammability = 1.0,
+
       WorkToBuild = 6000,
       Mass = 2.5,
+
       Mass = 20,
       BedRestEffectiveness = 0.95,
+
       Flammability = 0.7,
      ImmunityGainSpeedFactor = 1.05,
+
    },
       Comfort = 0.68,
+
    size = {1, 1},
       WorkToBuild = 600,
+
    costList = {
 +
       Steel = 50,
 +
       ComponentIndustrial = 3,
 +
    },
 +
    minifiedDef = "MinifiedThing",
 +
    thingCategories = {
 +
      "BuildingsMisc",
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_AffectedByFacilities = {
+
       CompProperties_Power = {
         linkableFacilities = {
+
         compClass = "CompPowerTrader",
           "Dresser",
+
        shortCircuitInRain = true,
           "EndTable",
+
        basePowerConsumption = 80,
 +
      },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_Facility = {
 +
        statOffsets = {
 +
          MedicalTendQualityOffset = 0.07,
 +
           ImmunityGainSpeedFactor = 0.02,
 +
           SurgerySuccessChanceFactor = 0.05,
 
         },
 
         },
 +
        maxSimultaneous = 1,
 +
        mustBePlacedAdjacent = true,
 
       },
 
       },
 
     },
 
     },
    size = {1, 2},
 
    building = {
 
      bed_healPerDay = 4,
 
      bed_caravansCanUse = true,
 
    },
 
    pathCost = 14,
 
    passability = "Standable",
 
 
   },
 
   },
  
   ["ThingDef:BedrollDouble"] = {
+
   ["ThingDef:ToolCabinet"] = {
 
     _ = {
 
     _ = {
       ParentName = "BedWithQualityBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BedrollDouble",
+
     defName = "ToolCabinet",
     label = "double bedroll",
+
     label = "tool cabinet",
     description = [[A simple double-wide bed that lays on the floor, usually made of cloth or leather, often lined with fur. It is lightweight and can be rolled up for easy transport, but it is not quite as comfortable as a typical bed. Caravans can use bedrolls while traveling for better sleep.]],
+
     description = [[Increases work speed when placed near a workbench. One workbench use to up to two tool cabinets.]],
 +
    altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.5,
 +
    pathCost = 42,
 
     statBases = {
 
     statBases = {
       Flammability = 1.0,
+
       MaxHitPoints = 100,
       Mass = 4.5,
+
      WorkToBuild = 1800,
       BedRestEffectiveness = 0.95,
+
       Mass = 20,
      ImmunityGainSpeedFactor = 1.05,
+
       Flammability = 0.5,
       Comfort = 0.68,
+
    },
       WorkToBuild = 1100,
+
    size = {2, 1},
 +
    costList = {
 +
       Steel = 200,
 +
    },
 +
    researchPrerequisites = {
 +
       "ComplexFurniture",
 +
    },
 +
    minifiedDef = "MinifiedThing",
 +
    thingCategories = {
 +
      "BuildingsMisc",
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_AffectedByFacilities = {
+
       CompProperties_Facility = {
         linkableFacilities = {
+
         statOffsets = {
           "Dresser",
+
           WorkTableWorkSpeedFactor = 0.06,
          "EndTable",
 
 
         },
 
         },
 +
        maxSimultaneous = 2,
 
       },
 
       },
 
     },
 
     },
    size = {2, 2},
 
    building = {
 
      bed_healPerDay = 4,
 
      bed_caravansCanUse = true,
 
    },
 
    pathCost = 14,
 
    passability = "Standable",
 
 
   },
 
   },
  
   ["ThingDef:AnimalSleepingSpot"] = {
+
   ["ThingDef:Grave"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "AnimalSleepingSpot",
+
     defName = "Grave",
    thingClass = "Building_Bed",
+
     label = "grave",
     label = "animal sleeping spot",
+
     description = [[A decent final resting place. Colonists will visit full graves to gain meditative joy.]],
     description = [[Designates a spot on the ground where animals should sleep.]],
+
     thingClass = "Building_Grave",
     size = {1, 1},
+
     altitudeLayer = "FloorEmplacement",
     passability = "Standable",
 
 
     useHitPoints = false,
 
     useHitPoints = false,
     altitudeLayer = "FloorEmplacement",
+
     size = {1, 2},
 
     statBases = {
 
     statBases = {
       WorkToBuild = 0,
+
       WorkToBuild = 800,
       SurgerySuccessChanceFactor = 0.7,
+
       MeditationFocusStrength = 0.06,
 
     },
 
     },
 +
    passability = "Standable",
 
     building = {
 
     building = {
       bed_humanlike = false,
+
       isInert = true,
       sowTag = "SupportPlantsOnly",
+
       preventDeteriorationInside = true,
 
       artificialForMeditationPurposes = false,
 
       artificialForMeditationPurposes = false,
 +
      fixedStorageSettings = {
 +
        filter = {
 +
          categories = {
 +
            "Corpses",
 +
          },
 +
        },
 +
      },
 +
      defaultStorageSettings = {
 +
        priority = "Important",
 +
        filter = {
 +
          categories = {
 +
            "CorpsesHumanlike",
 +
          },
 +
        },
 +
      },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Diggable",
 
     comps = {
 
     comps = {
 
       CompProperties_AssignableToPawn = {
 
       CompProperties_AssignableToPawn = {
 
         drawAssignmentOverlay = false,
 
         drawAssignmentOverlay = false,
         compClass = "CompAssignableToPawn_Bed",
+
         compClass = "CompAssignableToPawn_Grave",
 +
      },
 +
      CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Morbid",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_GraveFull",
 +
            },
 +
            offset = 0.10,
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_GraveCorpseRelationship",
 +
            },
 +
            offset = 0.10,
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_NearbyGraves",
 +
            },
 +
            defs = {
 +
              "Grave",
 +
              "Sarcophagus",
 +
            },
 +
            offsetPerBuilding = 0.01,
 +
            radius = 9.9,
 +
            maxBuildings = 4,
 +
            focusPerFullGrave = 0.01,
 +
            explanationKey = "MeditationFocusPerGrave",
 +
            explanationKeyAbstract = "MeditationFocusPerGraveAbstract",
 +
          },
 +
        },
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:AnimalSleepingBox"] = {
+
   ["ThingDef:Sarcophagus"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureWithQualityBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "AnimalSleepingBox",
+
     defName = "Sarcophagus",
    thingClass = "Building_Bed",
+
     label = "sarcophagus",
     label = "animal sleeping box",
+
     description = [[An ornamented burial receptacle for the honored dead.]],
     description = [[A small box for animals to sleep in. Fits smaller animals like chickens, cats, or small dogs.]],
+
     thingClass = "Building_Sarcophagus",
     fillPercent = 0.15,
+
    size = {1, 2},
     pathCost = 14,
+
     pathCost = 42,
     passability = "PassThroughOnly",
+
     fillPercent = 0.5,
 
     building = {
 
     building = {
       bed_humanlike = false,
+
       preventDeteriorationInside = true,
       bed_maxBodySize = 0.55,
+
       fixedStorageSettings = {
       bed_healPerDay = 4,
+
        filter = {
    },
+
          categories = {
    altitudeLayer = "Building",
+
            "Corpses",
     statBases = {
+
          },
       MaxHitPoints = 75,
+
        },
 +
       },
 +
      defaultStorageSettings = {
 +
        priority = "Important",
 +
        filter = {
 +
          categories = {
 +
            "CorpsesHumanlike",
 +
          },
 +
          specialFiltersToDisallow = {
 +
            "AllowCorpsesStranger",
 +
          },
 +
        },
 +
      },
 +
    },
 +
     statBases = {
 +
      WorkToBuild = 2400,
 +
       MaxHitPoints = 250,
 
       Flammability = 1.0,
 
       Flammability = 1.0,
       WorkToBuild = 180,
+
       MeditationFocusStrength = 0.10,
      Mass = 3,
+
       Beauty = 0,
      BedRestEffectiveness = 0.93,
 
       Comfort = 0.60,
 
      ImmunityGainSpeedFactor = 1.05,
 
      SurgerySuccessChanceFactor = 1,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
 +
      {
 +
        compClass = "CompQuality",
 +
      },
 +
      CompProperties_Art = {
 +
        nameMaker = "NamerArtSarcophagusPlate",
 +
        descriptionMaker = "ArtDescription_SarcophagusPlate",
 +
        mustBeFullGrave = true,
 +
      },
 
       CompProperties_AssignableToPawn = {
 
       CompProperties_AssignableToPawn = {
 
         drawAssignmentOverlay = false,
 
         drawAssignmentOverlay = false,
         compClass = "CompAssignableToPawn_Bed",
+
         compClass = "CompAssignableToPawn_Grave",
 +
      },
 +
      CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Morbid",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_GraveFull",
 +
            },
 +
            offset = 0.10,
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_GraveCorpseRelationship",
 +
            },
 +
            offset = 0.10,
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_NearbyGraves",
 +
            },
 +
            defs = {
 +
              "Grave",
 +
              "Sarcophagus",
 +
            },
 +
            offsetPerBuilding = 0.01,
 +
            radius = 9.9,
 +
            maxBuildings = 4,
 +
            focusPerFullGrave = 0.01,
 +
            explanationKey = "MeditationFocusPerGrave",
 +
            explanationKeyAbstract = "MeditationFocusPerGraveAbstract",
 +
          },
 +
        },
 
       },
 
       },
 +
    },
 +
    altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    terrainAffordanceNeeded = "Light",
 +
    researchPrerequisites = {
 +
      "ComplexFurniture",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:AnimalBed"] = {
+
   ["ThingDef:CryptosleepCasket"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureWithQualityBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "AnimalBed",
+
     defName = "CryptosleepCasket",
    thingClass = "Building_Bed",
+
     label = "cryptosleep casket",
     label = "animal bed",
+
     description = [[A self-powered sarcophagus designed to keep a person in a state of suspended animation for many years.]],
     description = [[A soft bed for animals to sleep on. Fits any animal.]],
+
     thingClass = "Building_CryptosleepCasket",
     fillPercent = 0.15,
+
     researchPrerequisites = {
    pathCost = 14,
+
       "Cryptosleep",
    passability = "PassThroughOnly",
 
     building = {
 
       bed_humanlike = false,
 
      bed_healPerDay = 4,
 
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    pathCost = 42,
 +
    fillPercent = 0.5,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 140,
+
      WorkToBuild = 3200,
       Flammability = 1.0,
+
       MaxHitPoints = 250,
      WorkToBuild = 400,
+
       Flammability = 0.5,
      Mass = 5,
+
    },
       BedRestEffectiveness = 1,
+
    size = {1, 2},
       Comfort = 0.75,
+
    hasInteractionCell = true,
       ImmunityGainSpeedFactor = 1.07,
+
    costList = {
       SurgerySuccessChanceFactor = 1,
+
       Steel = 180,
 +
       Uranium = 5,
 +
       ComponentIndustrial = 4,
 +
       ComponentSpacer = 1,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_AssignableToPawn = {
+
       CompProperties_Explosive = {
         drawAssignmentOverlay = false,
+
         explosiveRadius = 2.66,
         compClass = "CompAssignableToPawn_Bed",
+
         explosiveDamageType = "Flame",
 +
      },
 +
      CompProperties_EmptyStateGraphic = {
 +
        graphicData = {
 +
          texPath = "Things/Building/Ship/ShipCryptosleepCasketOpenDoor",
 +
          graphicClass = "Graphic_Multi",
 +
          drawSize = {1, 2},
 +
        },
 
       },
 
       },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Medium",
 
   },
 
   },
  
   ["ThingDef:Stool"] = {
+
   ["ThingDef:AncientCryptosleepCasket"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureWithQualityBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Stool",
+
     defName = "AncientCryptosleepCasket",
     label = "stool",
+
     label = "ancient cryptosleep casket",
     description = [[A simple platform on which to sit. Not very comfortable, but much better than nothing. Can be used at tables, work stations, and elsewhere.]],
+
     description = [[This cryptosleep casket looks like it has been here for a very long time. Who knows what it might contain?]],
 +
    thingClass = "Building_AncientCryptosleepCasket",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    pathCost = 42,
 +
    fillPercent = 0.5,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 75,
+
       MaxHitPoints = 250,
      WorkToBuild = 450,
 
      Mass = 3,
 
 
       Flammability = 1.0,
 
       Flammability = 1.0,
      Beauty = 0,
 
      Comfort = 0.5,
 
 
     },
 
     },
     pathCost = 30,
+
     size = {1, 2},
     fillPercent = 0.20,
+
    hasInteractionCell = true,
     building = {
+
    costList = {
       isSittable = true,
+
      Steel = 180,
 +
      Uranium = 5,
 +
     },
 +
    killedLeavings = {
 +
      ChunkSlagSteel = 1,
 +
      Steel = 25,
 +
      Uranium = 3,
 +
    },
 +
     comps = {
 +
       CompProperties_Explosive = {
 +
        explosiveRadius = 2.66,
 +
        explosiveDamageType = "Flame",
 +
      },
 +
      CompProperties_EmptyStateGraphic = {
 +
        graphicData = {
 +
          texPath = "Things/Building/Ship/ShipCryptosleepCasketOpenDoor",
 +
          graphicClass = "Graphic_Multi",
 +
          drawSize = {1, 2},
 +
        },
 +
      },
 
     },
 
     },
 +
    leaveResourcesWhenKilled = false,
 +
    terrainAffordanceNeeded = "Medium",
 
   },
 
   },
  
   ["ThingDef:DiningChair"] = {
+
   ["ThingDef:MarriageSpot"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArtableFurnitureBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "DiningChair",
+
     defName = "MarriageSpot",
     label = "dining chair",
+
     label = "marriage spot",
     description = [[A comfortable and attractive chair. Can be used at tables, work stations, and elsewhere.]],
+
     description = [[Designates a spot where marriage ceremonies will take place. Spectators can watch from either side.]],
     altitudeLayer = "Building",
+
    thingClass = "Building_MarriageSpot",
 +
     altitudeLayer = "FloorEmplacement",
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       WorkToBuild = 0,
       WorkToBuild = 8000,
+
    },
       Mass = 5,
+
    useHitPoints = false,
       Flammability = 1.0,
+
    size = {2, 1},
       Beauty = 8,
+
    passability = "Standable",
       Comfort = 0.70,
+
    building = {
 +
      sowTag = "SupportPlantsOnly",
 +
      artificialForMeditationPurposes = false,
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:PartySpot"] = {
 +
    _ = {
 +
       ParentName = "BuildingBase",
 +
       DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 +
       DLC = "Core",
 +
    },
 +
    defName = "PartySpot",
 +
    label = "party spot",
 +
    description = [[Designates a spot for throwing parties.]],
 +
    altitudeLayer = "FloorEmplacement",
 +
    statBases = {
 +
       WorkToBuild = 0,
 
     },
 
     },
     pathCost = 30,
+
     useHitPoints = false,
     fillPercent = 0.35,
+
     passability = "Standable",
 
     building = {
 
     building = {
       isSittable = true,
+
       sowTag = "SupportPlantsOnly",
    },
+
      artificialForMeditationPurposes = false,
    researchPrerequisites = {
 
      "ComplexFurniture",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Armchair"] = {
+
   ["ThingDef:CaravanPackingSpot"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureWithQualityBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Armchair",
+
     defName = "CaravanPackingSpot",
     label = "armchair",
+
     label = "caravan packing spot",
     description = [[A large, soft, comfy seat. Great for relaxation. Can be used at tables, work stations, and elsewhere.]],
+
     description = [[Designates a spot for forming caravans. Put this near your stockpiles to speed up the caravan loading process.]],
     altitudeLayer = "Building",
+
     altitudeLayer = "FloorEmplacement",
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 120,
+
       WorkToBuild = 0,
       WorkToBuild = 14000,
 
      Mass = 18,
 
      Flammability = 1.0,
 
      Beauty = 4,
 
      Comfort = 0.8,
 
 
     },
 
     },
     researchPrerequisites = {
+
     useHitPoints = false,
      "ComplexFurniture",
+
     passability = "Standable",
    },
 
     pathCost = 30,
 
    fillPercent = 0.40,
 
 
     building = {
 
     building = {
       isSittable = true,
+
       sowTag = "SupportPlantsOnly",
 +
      artificialForMeditationPurposes = false,
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:SteleBase"] = {
 
     _ = {
 
     _ = {
 +
      Name = "SteleBase",
 +
      ParentName = "BuildingBase",
 
       Abstract = true,
 
       Abstract = true,
       ParentName = "FurnitureWithQualityBase",
+
       DefCategory = "ThingDef",
      Name = "TableBase",
+
       FileName = "Buildings_Misc.xml",
       FileName = "Buildings_Furniture.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    description = [[People eat off tables when chairs are placed facing them.]],
 
    thingClass = "Building",
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
    pathCost = 42,
+
     fillPercent = 0.50,
     fillPercent = 0.4,
+
     pathCost = 50,
     leaveResourcesWhenKilled = true,
+
     researchPrerequisites = {
  },
+
       "ComplexFurniture",
  ThingDef = {
 
     _ = {
 
       Abstract = true,
 
      ParentName = "TableBase",
 
      Name = "TableGatherSpotBase",
 
      FileName = "Buildings_Furniture.xml",
 
      DLC = "Core",
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       {
+
       CompProperties_Art = {
         compClass = "CompGatherSpot",
+
         nameMaker = "NamerArtFurniture",
 +
        descriptionMaker = "ArtDescription_Furniture",
 +
        minQualityForArtistic = "Awful",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:EndTable"] = {
+
   ["ThingDef:SteleLarge"] = {
 
     _ = {
 
     _ = {
       ParentName = "TableBase",
+
       ParentName = "SteleBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EndTable",
+
     defName = "SteleLarge",
     label = "end table",
+
     label = "large stele",
     description = [[A small bedside table which makes nearby beds a little bit more comfortable. Must be placed directly adjacent to the head of the bed. Placing more than one end table near the same bed has no effect.]],
+
     description = [[A tall, thick slab with engravings on the sides. Steles have been used since ancient times to memorialize individuals, battles, and other important events.]],
 +
    size = {2, 2},
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 75,
+
       MaxHitPoints = 200,
       WorkToBuild = 1000,
+
       WorkToBuild = 8000,
       Mass = 5,
+
       Beauty = 15,
       Flammability = 1.0,
+
       MeditationFocusStrength = 0.15,
      Beauty = 3,
 
    },
 
    pathCost = 30,
 
    researchPrerequisites = {
 
      "ComplexFurniture",
 
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Medium",
 
     comps = {
 
     comps = {
       CompProperties_Facility = {
+
       CompProperties_MeditationFocus = {
         statOffsets = {
+
         statDef = "MeditationFocusStrength",
           Comfort = 0.05,
+
        focusTypes = {
 +
           "Artistic",
 
         },
 
         },
        maxSimultaneous = 1,
 
        mustBePlacedAdjacentCardinalToBedHead = true,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Table1x2c"] = {
+
   ["ThingDef:SteleGrand"] = {
 
     _ = {
 
     _ = {
       ParentName = "TableGatherSpotBase",
+
       ParentName = "SteleBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Table1x2c",
+
     defName = "SteleGrand",
     label = "table (1x2)",
+
     label = "grand stele",
 +
    description = [[A towering slab with extensive engravings on the sides. Steles have been used since ancient times to memorialize individuals, battles, and other important events.]],
 +
    size = {3, 3},
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 75,
+
       MaxHitPoints = 400,
       WorkToBuild = 750,
+
       WorkToBuild = 16000,
       Mass = 5,
+
       Beauty = 30,
       Flammability = 1.0,
+
       MeditationFocusStrength = 0.18,
       Beauty = 0.5,
+
    },
 +
    terrainAffordanceNeeded = "Heavy",
 +
    comps = {
 +
       CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Artistic",
 +
        },
 +
      },
 
     },
 
     },
    size = {1, 2},
 
 
   },
 
   },
  
   ["ThingDef:Table2x2c"] = {
+
   ["ThingDef:BuildingNaturalBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "TableGatherSpotBase",
+
       Name = "BuildingNaturalBase",
       FileName = "Buildings_Furniture.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Table2x2c",
+
     category = "Building",
     label = "table (2x2)",
+
     building = {
    statBases = {
+
       artificialForMeditationPurposes = false,
       MaxHitPoints = 100,
 
      WorkToBuild = 1500,
 
      Mass = 10,
 
      Flammability = 1.0,
 
      Beauty = 1,
 
 
     },
 
     },
    size = {2, 2},
 
 
   },
 
   },
  
   ["ThingDef:Table2x4c"] = {
+
   ["ThingDef:RockBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "TableGatherSpotBase",
+
      Name = "RockBase",
       FileName = "Buildings_Furniture.xml",
+
       ParentName = "BuildingNaturalBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Table2x4c",
+
     thingClass = "Mineable",
     label = "table (2x4)",
+
     altitudeLayer = "Building",
 +
    passability = "Impassable",
 +
    fillPercent = 1,
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 150,
+
       Flammability = 0,
      WorkToBuild = 3000,
 
      Mass = 20,
 
       Flammability = 1.0,
 
      Beauty = 2,
 
 
     },
 
     },
    size = {2, 4},
 
 
     building = {
 
     building = {
       buildingSizeCategory = "Medium",
+
       isInert = true,
 +
      isNaturalRock = true,
 +
      deconstructible = false,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Table3x3c"] = {
+
   ["ThingDef:CollapsedRocks"] = {
 
     _ = {
 
     _ = {
       ParentName = "TableGatherSpotBase",
+
       ParentName = "RockBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Table3x3c",
+
     defName = "CollapsedRocks",
     label = "table (3x3)",
+
     label = "collapsed rocks",
 +
    description = [[Collapsed rocks, packed tightly enough to hold up a roof.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 175,
+
       MaxHitPoints = 500,
      WorkToBuild = 3300,
 
      Mass = 22,
 
      Flammability = 1.0,
 
      Beauty = 2,
 
 
     },
 
     },
    size = {3, 3},
 
 
     building = {
 
     building = {
       buildingSizeCategory = "Medium",
+
       isNaturalRock = false,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PlantPot"] = {
+
   ["ThingDef:MineableSteel"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureWithQualityBase",
+
       ParentName = "RockBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PlantPot",
+
     defName = "MineableSteel",
     label = "plant pot",
+
     label = "compacted steel",
     description = [[Plant decorative flowers here to improve the mood of people nearby.]],
+
     description = [[The remains of some ancient, collapsed structure. Rich in steel.]],
    thingClass = "Building_PlantGrower",
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.20,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 75,
+
       MaxHitPoints = 1500,
      WorkToBuild = 250,
 
      Mass = 2,
 
      Flammability = 1.0,
 
    },
 
    comps = {
 
      CompProperties_Forbiddable = {},
 
 
     },
 
     },
    leaveResourcesWhenKilled = false,
 
 
     building = {
 
     building = {
       defaultPlantToGrow = "Plant_Daylily",
+
       isResourceRock = true,
       sowTag = "Decorative",
+
      mineableThing = "Steel",
 +
       mineableYield = 40,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TorchLamp"] = {
+
   ["ThingDef:MineableSilver"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "RockBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TorchLamp",
+
     defName = "MineableSilver",
     label = "torch lamp",
+
     label = "silver ore",
     description = [[A wooden torch for lighting an area. People need light to move and work at full speed. Can be automatically refueled with wood. Produces a small amount of heat.]],
+
     description = [[Rock containing bits of silver.]],
    category = "Building",
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    pathCost = 14,
 
    fillPercent = 0.15,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 75,
+
       MaxHitPoints = 1500,
      WorkToBuild = 100,
 
      Flammability = 0,
 
      MeditationFocusStrength = 0.0,
 
    },
 
    costList = {
 
      WoodLog = 20,
 
 
     },
 
     },
 
     building = {
 
     building = {
       artificialForMeditationPurposes = false,
+
       isResourceRock = true,
 +
      mineableThing = "Silver",
 +
      mineableYield = 40,
 
     },
 
     },
    leaveResourcesWhenKilled = false,
+
  },
    comps = {
+
 
      CompProperties_Refuelable = {
+
  ["ThingDef:MineableGold"] = {
        fuelConsumptionRate = 2.0,
+
     _ = {
        fuelCapacity = 20.0,
+
       ParentName = "RockBase",
        fuelConsumptionPerTickInRain = 0.0006,
+
       DefCategory = "ThingDef",
        fuelFilter = {
+
       FileName = "Buildings_Natural.xml",
          thingDefs = {
 
            "WoodLog",
 
          },
 
        },
 
        initialFuelPercent = 1,
 
        showAllowAutoRefuelToggle = true,
 
      },
 
      CompProperties_Glower = {
 
        glowRadius = 10,
 
        glowColor = {252, 187, 113, 0},
 
      },
 
      CompProperties_HeatPusher = {
 
        compClass = "CompHeatPusherPowered",
 
        heatPerSecond = 3.5,
 
        heatPushMaxTemperature = 23,
 
      },
 
      CompProperties_FireOverlay = {
 
        fireSize = 0.4,
 
        offset = {0, 0, 0.2},
 
      },
 
      CompProperties_MeditationFocus = {
 
        statDef = "MeditationFocusStrength",
 
        focusTypes = {
 
          "Flame",
 
        },
 
        offsets = {
 
          FocusStrengthOffset_Lit = {
 
            offset = 0.1,
 
          },
 
          FocusStrengthOffset_BuildingDefsLit = {
 
            defs = {
 
              "Campfire",
 
              "TorchLamp",
 
              "Brazier",
 
            },
 
            offsetPerBuilding = 0.01,
 
            radius = 9.9,
 
            maxBuildings = 8,
 
            explanationKey = "MeditationFocusPerFlame",
 
            explanationKeyAbstract = "MeditationFocusPerFlameAbstract",
 
          },
 
        },
 
      },
 
    },
 
  },
 
  ThingDef = {
 
     _ = {
 
       Abstract = true,
 
      Name = "LampBase",
 
       ParentName = "BuildingBase",
 
       FileName = "Buildings_Furniture.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Building",
+
     defName = "MineableGold",
     category = "Building",
+
     label = "gold ore",
     minifiedDef = "MinifiedThing",
+
     description = [[Rock containing bits of gold.]],
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.20,
 
    pathCost = 14,
 
    leaveResourcesWhenKilled = false,
 
    thingCategories = {
 
      "BuildingsFurniture",
 
    },
 
    comps = {
 
      CompProperties_Flickable = {},
 
    },
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 50,
+
       MaxHitPoints = 1500,
      WorkToBuild = 300,
 
      Flammability = 1.0,
 
 
     },
 
     },
     researchPrerequisites = {
+
     building = {
       "Electricity",
+
       isResourceRock = true,
 +
      mineableThing = "Gold",
 +
      mineableYield = 40,
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:MineableUranium"] = {
 
     _ = {
 
     _ = {
       Abstract = true,
+
       ParentName = "RockBase",
      Name = "StandingLampBase",
+
       DefCategory = "ThingDef",
       ParentName = "LampBase",
+
       FileName = "Buildings_Natural.xml",
       FileName = "Buildings_Furniture.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     costList = {
+
     defName = "MineableUranium",
      Steel = 20,
+
    label = "uranium ore",
     },
+
     description = [[Rock containing bits of uranium.]],
 
     statBases = {
 
     statBases = {
       Mass = 4,
+
       MaxHitPoints = 4000,
 
     },
 
     },
     comps = {
+
     building = {
       CompProperties_Power = {
+
       isResourceRock = true,
        compClass = "CompPowerTrader",
+
      mineableThing = "Uranium",
        basePowerConsumption = 30,
+
      mineableYield = 40,
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:StandingLamp"] = {
+
   ["ThingDef:MineablePlasteel"] = {
 
     _ = {
 
     _ = {
       ParentName = "StandingLampBase",
+
       ParentName = "RockBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "StandingLamp",
+
     defName = "MineablePlasteel",
     label = "standing lamp",
+
     label = "compacted plasteel",
     description = [[An electrical standing lamp that lights an area. People need light to move and work at full speed.]],
+
     description = [[Ancient compacted rubble rich in plasteel.]],
     comps = {
+
     statBases = {
       CompProperties_Glower = {
+
       MaxHitPoints = 8000,
        glowRadius = 12,
+
    },
        glowColor = {217, 217, 208, 0},
+
    building = {
       },
+
      isResourceRock = true,
 +
      mineableThing = "Plasteel",
 +
       mineableYield = 40,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:StandingLamp_Red"] = {
+
   ["ThingDef:MineableJade"] = {
 
     _ = {
 
     _ = {
       ParentName = "StandingLampBase",
+
       ParentName = "RockBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "StandingLamp_Red",
+
     defName = "MineableJade",
     label = "standing lamp (red)",
+
     label = "jade",
     description = [[A standing lamp that lights an area in red.]],
+
     description = [[Rock containing bits of jade.]],
     comps = {
+
     statBases = {
       CompProperties_Glower = {
+
       MaxHitPoints = 1500,
        glowRadius = 12,
 
        glowColor = {217, 80, 80, 0},
 
      },
 
 
     },
 
     },
     researchPrerequisites = {
+
     building = {
       _ = {
+
       isResourceRock = true,
        Inherit = false,
+
       mineableThing = "Jade",
       },
+
       mineableYield = 40,
       "ColoredLights",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:StandingLamp_Green"] = {
+
   ["ThingDef:MineableComponentsIndustrial"] = {
 
     _ = {
 
     _ = {
       ParentName = "StandingLampBase",
+
       ParentName = "RockBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "StandingLamp_Green",
+
     defName = "MineableComponentsIndustrial",
     label = "standing lamp (green)",
+
     label = "compacted machinery",
     description = [[A standing lamp that lights an area in green.]],
+
     description = [[Ancient machinery, compacted over time. Can be mined for useful components.]],
     comps = {
+
     statBases = {
       CompProperties_Glower = {
+
       MaxHitPoints = 2000,
        glowRadius = 12,
 
        glowColor = {80, 217, 80, 0},
 
      },
 
 
     },
 
     },
     researchPrerequisites = {
+
     building = {
       _ = {
+
       isResourceRock = true,
        Inherit = false,
+
       mineableThing = "ComponentIndustrial",
       },
+
       mineableYield = 2,
       "ColoredLights",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:StandingLamp_Blue"] = {
+
   ["ThingDef:SteamGeyser"] = {
 
     _ = {
 
     _ = {
       ParentName = "StandingLampBase",
+
       ParentName = "BuildingNaturalBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "StandingLamp_Blue",
+
     defName = "SteamGeyser",
     label = "standing lamp (blue)",
+
     label = "steam geyser",
     description = [[A standing lamp that lights an area in blue.]],
+
     description = [[A natural source of high-pressure steam. Geothermal generators can harness the steam power. Rooms built over this will rapidly cook.]],
     comps = {
+
     thingClass = "Building_SteamGeyser",
      CompProperties_Glower = {
+
    altitudeLayer = "Floor",
        glowRadius = 12,
+
    useHitPoints = false,
        glowColor = {80, 80, 217, 0},
+
    size = {2, 2},
      },
+
     building = {
     },
+
       isEdifice = false,
    researchPrerequisites = {
+
       deconstructible = false,
       _ = {
 
        Inherit = false,
 
       },
 
      "ColoredLights",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SunLamp"] = {
+
   ["ThingDef:Hive"] = {
 
     _ = {
 
     _ = {
       ParentName = "LampBase",
+
       ParentName = "BuildingNaturalBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SunLamp",
+
     defName = "Hive",
     label = "sun lamp",
+
     label = "hive",
     description = [[An industrial lamp which lights an area brightly enough to grow crops, but consumes a huge amount of power. Automatically turns itself off at night.]],
+
     description = [[A hive of giant insects. If activated, it will spawn additional insects and hives over time, as well as valuable insect jelly.]],
     thingClass = "Building_SunLamp",
+
     thingClass = "Hive",
 +
    altitudeLayer = "Building",
 +
    fillPercent = 0.5,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 330,
+
       MaxHitPoints = 130,
       Mass = 4.5,
+
       Flammability = 1.0,
 
     },
 
     },
     costList = {
+
     pathCost = 42,
       Steel = 40,
+
    passability = "PassThroughOnly",
 +
    killedLeavings = {
 +
       InsectJelly = 30,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Glower = {
+
       CompProperties_CanBeDormant = {
         overlightRadius = 7.0,
+
         startsDormant = true,
         glowRadius = 14,
+
         canWakeUpFogged = false,
         glowColor = {370, 370, 370, 0},
+
      },
 +
      CompProperties_WakeUpDormant = {},
 +
      CompProperties_SpawnerPawn = {
 +
         spawnablePawnKinds = {
 +
          "Megascarab",
 +
          "Spelopede",
 +
          "Megaspider",
 +
        },
 +
        lordJob = "LordJob_DefendAndExpandHive",
 +
        spawnSound = "Hive_Spawn",
 +
        initialPawnsPoints = 200,
 +
        maxSpawnedPawnsPoints = 500,
 +
      },
 +
      CompProperties_SelfhealHitpoints = {
 +
        ticksPerHeal = 6000,
 
       },
 
       },
       CompProperties_Power = {
+
       CompProperties_SpawnerHives = {},
         compClass = "CompPowerTrader",
+
      CompProperties_Spawner = {
         shortCircuitInRain = true,
+
        thingToSpawn = "InsectJelly",
         basePowerConsumption = 2900,
+
        spawnCount = 20,
 +
         spawnIntervalRange = { ["<"]=26000, [">"]=30000 },
 +
         spawnMaxAdjacent = 40,
 +
        spawnForbidden = true,
 +
         saveKeysPrefix = "jelly",
 
       },
 
       },
       CompProperties_Schedule = {
+
       CompProperties_Spawner = {
         startTime = 0.25,
+
         thingToSpawn = "GlowPod",
         endTime = 0.8,
+
        spawnCount = 1,
         offMessage = "Off for plant resting period",
+
        spawnIntervalRange = { ["<"]=30000, [">"]=60000 },
 +
         spawnMaxAdjacent = 1,
 +
         saveKeysPrefix = "pod",
 +
        inheritFaction = true,
 
       },
 
       },
 
       CompProperties_HeatPusher = {
 
       CompProperties_HeatPusher = {
         compClass = "CompHeatPusherPowered",
+
         heatPerSecond = 6,
         heatPerSecond = 3,
+
         heatPushMaxTemperature = 38,
 
       },
 
       },
    },
+
      CompProperties_SpawnerFilth = {
  },
+
        filthDef = "Filth_Slime",
 
+
        spawnCountOnSpawn = 10,
  ["ThingDef:Shelf"] = {
+
        spawnMtbHours = 4,
    _ = {
+
        spawnRadius = 5,
      ParentName = "FurnitureWithQualityBase",
+
       },
      FileName = "Buildings_Furniture.xml",
+
       CompProperties_Maintainable = {
      DLC = "Core",
+
         ticksHealthy = 60000,
    },
+
         ticksNeedsMaintenance = 60000,
    defName = "Shelf",
+
         damagePerTickRare = 10,
    label = "shelf",
 
    description = [[A shelf for storing miscellaneous items. Items stored in this will not affect room beauty and they won't deteriorate, even if outside.]],
 
    thingClass = "Building_Storage",
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.4,
 
    pathCost = 50,
 
    statBases = {
 
       MaxHitPoints = 100,
 
      Mass = 8,
 
      WorkToBuild = 600,
 
      Flammability = 1.0,
 
      Beauty = 0.5,
 
    },
 
    size = {2, 1},
 
    building = {
 
      preventDeteriorationOnTop = true,
 
      ignoreStoredThingsBeauty = true,
 
       defaultStorageSettings = {
 
         priority = "Important",
 
         filter = {
 
          categories = {
 
            "Weapons",
 
          },
 
         },
 
 
       },
 
       },
    },
 
    researchPrerequisites = {
 
      "ComplexFurniture",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Dresser"] = {
+
   ["ThingDef:GlowPod"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArtableFurnitureBase",
+
       ParentName = "BuildingNaturalBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Dresser",
+
     defName = "GlowPod",
     label = "dresser",
+
     label = "glow pod",
     description = [[A dresser. Gives a small comfort bonus to all nearby beds. Placing more than one dresser near the same bed has no effect.]],
+
     description = [[A bioluminescent pod produced by giant insects. Glows under its own light for a long time, then dies.]],
 +
    thingClass = "Building",
 +
    minifiedDef = "MinifiedThing",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
     fillPercent = 0.4,
+
     fillPercent = 0.20,
     pathCost = 42,
+
     leaveResourcesWhenKilled = false,
 +
    thingCategories = {
 +
      "BuildingsSpecial",
 +
    },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 120,
+
       MaxHitPoints = 50,
       Mass = 15,
+
       Mass = 4,
      WorkToBuild = 2000,
 
 
       Flammability = 1.0,
 
       Flammability = 1.0,
       Beauty = 5,
+
       MarketValue = 50,
    },
 
    size = {2, 1},
 
    researchPrerequisites = {
 
      "ComplexFurniture",
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Facility = {
+
       CompProperties_Glower = {
         statOffsets = {
+
         glowRadius = 6,
          Comfort = 0.05,
+
        glowColor = {113, 141, 117, 0},
        },
+
      },
        maxSimultaneous = 1,
+
      CompProperties_Lifespan = {
         maxDistance = 6,
+
         lifespanTicks = 1200000,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:HorseshoesPin"] = {
+
   ["ThingDef:RaisedRocks"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "RockBase",
       FileName = "Buildings_Joy.xml",
+
      Name = "RaisedRocks",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "HorseshoesPin",
+
     defName = "RaisedRocks",
     label = "horseshoes pin",
+
     label = "raised rocks",
     description = [[A simple ancient game played with a horseshoes and a large pin in the ground. Players toss horseshoes to try to get them to land on the pin. It's relaxing, and trains shooting skills.]],
+
     description = [[A fragile wall made of rubble. It will collapse in time.]],
     minifiedDef = "MinifiedThing",
+
     leaveResourcesWhenKilled = false,
     altitudeLayer = "Building",
+
     building = {
    thingCategories = {
+
       isNaturalRock = false,
       "BuildingsJoy",
 
 
     },
 
     },
     statBases = {
+
     comps = {
       MaxHitPoints = 75,
+
       CompProperties_Lifespan = {
      WorkToBuild = 100,
+
        lifespanTicks = 10000,
      Mass = 3,
+
        expireEffect = "RaisedRock_Collapse",
      Flammability = 1.0,
+
       },
      JoyGainFactor = 1,
 
    },
 
    building = {
 
      joyKind = "Gaming_Dexterity",
 
       artificialForMeditationPurposes = false,
 
 
     },
 
     },
    pathCost = 14,
 
 
   },
 
   },
  
   ["ThingDef:HoopstoneRing"] = {
+
   ["ThingDef:PowerConduit"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Joy.xml",
+
      Name = "PowerConduit",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Power.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "HoopstoneRing",
+
     defName = "PowerConduit",
     label = "hoopstone ring",
+
     label = "power conduit",
     description = [[A simple ancient game played with stones and a large ring in the ground. Players try to toss stones through the ring from a distance. It's relaxing, and trains shooting skills.]],
+
     description = [[A bundle of electrical cables for moving power around. Can be placed under walls and other buildings.]],
     minifiedDef = "MinifiedThing",
+
     thingClass = "Building",
     altitudeLayer = "Building",
+
     category = "Building",
     thingCategories = {
+
     building = {
       "BuildingsJoy",
+
       isInert = true,
 +
      isEdifice = false,
 
     },
 
     },
 +
    altitudeLayer = "Conduits",
 +
    passability = "Standable",
 +
    leaveResourcesWhenKilled = false,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       MaxHitPoints = 80,
       WorkToBuild = 100,
+
       WorkToBuild = 35,
       Mass = 4,
+
       Flammability = 0.7,
       Flammability = 1.0,
+
      Beauty = -2,
       JoyGainFactor = 1,
+
    },
 +
    costList = {
 +
       Steel = 1,
 +
    },
 +
    comps = {
 +
       CompProperties_Power = {
 +
        compClass = "CompPowerTransmitter",
 +
        transmitsPower = true,
 +
      },
 
     },
 
     },
     building = {
+
     terrainAffordanceNeeded = "Light",
       joyKind = "Gaming_Dexterity",
+
    researchPrerequisites = {
      artificialForMeditationPurposes = false,
+
       "Electricity",
 
     },
 
     },
    pathCost = 14,
 
 
   },
 
   },
  
   ["ThingDef:GameOfUrBoard"] = {
+
   ["ThingDef:WaterproofConduit"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureWithQualityBase",
+
       ParentName = "PowerConduit",
       FileName = "Buildings_Joy.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Power.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "GameOfUrBoard",
+
     defName = "WaterproofConduit",
     label = "Game-of-Ur board",
+
     label = "waterproof conduit",
     description = [[Dating from 2500BC, this exciting yet infuriating board game can be played by one or two people. It trains intellectual skills.]],
+
     description = [[Insulated electrical cables for transmitting power under shallow water.]],
     altitudeLayer = "Building",
+
     terrainAffordanceNeeded = "ShallowWater",
     fillPercent = 0.20,
+
     costList = {
    building = {
+
       Steel = 10,
       joyKind = "Gaming_Cerebral",
 
 
     },
 
     },
    statBases = {
+
   },
      MaxHitPoints = 90,
+
 
      WorkToBuild = 6000,
+
   ["ThingDef:PowerSwitch"] = {
      Mass = 2,
+
     _ = {
      Flammability = 1.0,
+
       ParentName = "BuildingBase",
      Beauty = 2,
+
      DefCategory = "ThingDef",
      JoyGainFactor = 0.8,
+
       FileName = "Buildings_Power.xml",
    },
 
    pathCost = 14,
 
    passability = "PassThroughOnly",
 
   },
 
 
 
   ["ThingDef:ChessTable"] = {
 
     _ = {
 
       ParentName = "FurnitureWithQualityBase",
 
       FileName = "Buildings_Joy.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ChessTable",
+
     defName = "PowerSwitch",
     label = "chess table",
+
     label = "power switch",
     description = [[The ancient game of kings. Fun for a few hours here and there, even playing alone. It trains intellectual skills.]],
+
     description = [[Switches power on/off.]],
 +
    thingClass = "Building_PowerSwitch",
 +
    category = "Building",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     fillPercent = 0.40,
+
     passability = "Standable",
     building = {
+
    leaveResourcesWhenKilled = false,
       joyKind = "Gaming_Cerebral",
+
    statBases = {
 +
      MaxHitPoints = 120,
 +
      WorkToBuild = 200,
 +
      Flammability = 0.5,
 +
      Beauty = -2,
 +
    },
 +
     costList = {
 +
       Steel = 15,
 +
      ComponentIndustrial = 1,
 +
    },
 +
    comps = {
 +
      CompProperties_Power = {
 +
        compClass = "CompPowerTransmitter",
 +
        transmitsPower = true,
 +
      },
 +
      CompProperties_Flickable = {},
 
     },
 
     },
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "ComplexFurniture",
+
       "Electricity",
    },
 
    statBases = {
 
      MaxHitPoints = 100,
 
      WorkToBuild = 8000,
 
      Mass = 5,
 
      Flammability = 1.0,
 
      Beauty = 4,
 
      JoyGainFactor = 1,
 
 
     },
 
     },
    pathCost = 30,
 
    passability = "PassThroughOnly",
 
 
   },
 
   },
  
   ["ThingDef:PokerTable"] = {
+
   ["ThingDef:WoodFiredGenerator"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureWithQualityBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Joy.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Power.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PokerTable",
+
     defName = "WoodFiredGenerator",
     label = "poker table",
+
     label = "wood-fired generator",
     description = [[A table designed for playing gambling card games like poker. A great way to test your strategic skills and a bit of luck.]],
+
     description = [[Produces power by consuming wood. Must be periodically loaded with wood fuel by hand.]],
 +
    thingClass = "Building",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     fillPercent = 0.40,
+
     passability = "PassThroughOnly",
    building = {
+
    pathCost = 50,
      joyKind = "Gaming_Cerebral",
+
     fillPercent = 1.0,
      buildingSizeCategory = "Medium",
 
     },
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 250,
+
       MaxHitPoints = 300,
       WorkToBuild = 10000,
+
       WorkToBuild = 2500,
      Mass = 30,
 
 
       Flammability = 1.0,
 
       Flammability = 1.0,
       Beauty = 0,
+
       Beauty = -20,
      JoyGainFactor = 1.3,
 
 
     },
 
     },
 
     size = {2, 2},
 
     size = {2, 2},
 
     costList = {
 
     costList = {
       Cloth = 50,
+
       Steel = 100,
       WoodLog = 25,
+
       ComponentIndustrial = 2,
 
     },
 
     },
     pathCost = 42,
+
     comps = {
    passability = "PassThroughOnly",
+
      CompProperties_Power = {
    researchPrerequisites = {
+
        compClass = "CompPowerPlant",
       "ComplexFurniture",
+
        basePowerConsumption = -1000,
 +
        transmitsPower = true,
 +
        soundAmbientProducingPower = "WoodFiredGenerator_Ambience",
 +
      },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_Refuelable = {
 +
        fuelConsumptionRate = 22.0,
 +
        fuelCapacity = 75.0,
 +
        fuelFilter = {
 +
          thingDefs = {
 +
            "WoodLog",
 +
          },
 +
        },
 +
        showAllowAutoRefuelToggle = true,
 +
      },
 +
      CompProperties_Glower = {
 +
        glowRadius = 6,
 +
        glowColor = {217, 112, 33, 0},
 +
      },
 +
       CompProperties_HeatPusher = {
 +
        compClass = "CompHeatPusherPowered",
 +
        heatPerSecond = 6,
 +
      },
 +
      CompProperties_Breakdownable = {},
 
     },
 
     },
  },
 
 
  ["ThingDef:BilliardsTable"] = {
 
    _ = {
 
      ParentName = "FurnitureWithQualityBase",
 
      FileName = "Buildings_Joy.xml",
 
      DLC = "Core",
 
    },
 
    defName = "BilliardsTable",
 
    label = "billiards table",
 
    description = [[A soft-topped bounded table for playing a variety of billiards-type games. It trains shooting ability.]],
 
    altitudeLayer = "Building",
 
    fillPercent = 0.40,
 
 
     terrainAffordanceNeeded = "Medium",
 
     terrainAffordanceNeeded = "Medium",
    building = {
 
      joyKind = "Gaming_Dexterity",
 
      buildingSizeCategory = "Medium",
 
    },
 
    statBases = {
 
      MaxHitPoints = 250,
 
      WorkToBuild = 12000,
 
      Mass = 60,
 
      Flammability = 1.0,
 
      Beauty = 0,
 
      JoyGainFactor = 1.3,
 
    },
 
    size = {2, 3},
 
    costList = {
 
      Cloth = 80,
 
      WoodLog = 30,
 
    },
 
    pathCost = 42,
 
    passability = "PassThroughOnly",
 
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "ComplexFurniture",
+
       "Electricity",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TubeTelevision"] = {
+
   ["ThingDef:ChemfuelPoweredGenerator"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Joy.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Power.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TubeTelevision",
+
     defName = "ChemfuelPoweredGenerator",
     label = "tube television",
+
     label = "chemfuel powered generator",
     description = [[A cathode ray tube display for showing moving pictures with sound. Even on the rimworlds, there is often an old transmitter running something at least marginally interesting.]],
+
     description = [[Produces power by consuming chemfuel. Must be periodically refueled by hand.]],
 +
    thingClass = "Building",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     minifiedDef = "MinifiedThing",
+
     passability = "PassThroughOnly",
     fillPercent = 0.40,
+
     pathCost = 50,
     thingCategories = {
+
     fillPercent = 1.0,
      "BuildingsJoy",
 
    },
 
 
     statBases = {
 
     statBases = {
      WorkToBuild = 10000,
+
       MaxHitPoints = 300,
       MaxHitPoints = 100,
+
       WorkToBuild = 2500,
       Mass = 14,
 
 
       Flammability = 1.0,
 
       Flammability = 1.0,
       JoyGainFactor = 1.2,
+
       Beauty = -20,
 
     },
 
     },
 +
    size = {2, 2},
 
     costList = {
 
     costList = {
       Steel = 80,
+
       Steel = 100,
       ComponentIndustrial = 4,
+
       ComponentIndustrial = 3,
    },
 
    pathCost = 42,
 
    passability = "PassThroughOnly",
 
    building = {
 
      joyKind = "Television",
 
 
     },
 
     },
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerTrader",
+
         compClass = "CompPowerPlant",
         shortCircuitInRain = true,
+
         basePowerConsumption = -1000,
         basePowerConsumption = 200,
+
        transmitsPower = true,
 +
         soundAmbientProducingPower = "ChemfuelFiredGenerator_Ambience",
 
       },
 
       },
 
       CompProperties_Flickable = {},
 
       CompProperties_Flickable = {},
 +
      CompProperties_Refuelable = {
 +
        fuelConsumptionRate = 4.5,
 +
        fuelCapacity = 30.0,
 +
        fuelFilter = {
 +
          thingDefs = {
 +
            "Chemfuel",
 +
          },
 +
        },
 +
        showAllowAutoRefuelToggle = true,
 +
      },
 +
      CompProperties_Glower = {
 +
        glowRadius = 6,
 +
        glowColor = {80, 112, 180, 0},
 +
      },
 +
      CompProperties_HeatPusher = {
 +
        compClass = "CompHeatPusherPowered",
 +
        heatPerSecond = 6,
 +
      },
 +
      CompProperties_Breakdownable = {},
 +
      CompProperties_Explosive = {
 +
        explosiveRadius = 0,
 +
        explosiveExpandPerFuel = 0.95,
 +
        explosiveDamageType = "Flame",
 +
        destroyThingOnExplosionSize = 2,
 +
        startWickHitPointsPercent = 0.333,
 +
        preExplosionSpawnThingDef = "Filth_Fuel",
 +
        preExplosionSpawnChance = 1,
 +
        wickTicks = { ["<"]=70, [">"]=150 },
 +
      },
 
     },
 
     },
     tradeTags = {
+
     terrainAffordanceNeeded = "Medium",
      "Television",
 
    },
 
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "TubeTelevision",
+
       "Electricity",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:FlatscreenTelevision"] = {
+
   ["ThingDef:WindTurbine"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Joy.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Power.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "FlatscreenTelevision",
+
     defName = "WindTurbine",
     label = "flatscreen television",
+
    thingClass = "Building",
     description = [[A high-tech flat-screen television with crystal-clear image and rich color. Picks up transmissions from ancient satellites and ubiquitous data cards.]],
+
     label = "wind turbine",
 +
     description = [[A wind-powered electrical generator. Requires a large clear space in front and behind for optimal air flow.]],
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     minifiedDef = "MinifiedThing",
+
     passability = "Impassable",
     fillPercent = 0.35,
+
     fillPercent = 0.5,
     thingCategories = {
+
     statBases = {
       "BuildingsJoy",
+
       MaxHitPoints = 150,
 +
      WorkToBuild = 3300,
 +
      Flammability = 0.5,
 +
      Beauty = -12,
 
     },
 
     },
 +
    size = {7, 2},
 +
    terrainAffordanceNeeded = "Heavy",
 
     costList = {
 
     costList = {
       Steel = 140,
+
       Steel = 100,
       ComponentIndustrial = 16,
+
       ComponentIndustrial = 2,
    },
 
    statBases = {
 
      WorkToBuild = 40000,
 
      MaxHitPoints = 80,
 
      Flammability = 1.0,
 
      Mass = 8,
 
      JoyGainFactor = 1.4,
 
    },
 
    pathCost = 50,
 
    passability = "PassThroughOnly",
 
    size = {2, 1},
 
    researchPrerequisites = {
 
      "FlatscreenTelevision",
 
    },
 
    building = {
 
      joyKind = "Television",
 
 
     },
 
     },
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerTrader",
+
         compClass = "CompPowerPlantWind",
         shortCircuitInRain = true,
+
         basePowerConsumption = -2300,
         basePowerConsumption = 330,
+
         transmitsPower = true,
 
       },
 
       },
       CompProperties_Flickable = {},
+
       CompProperties_Breakdownable = {},
 
     },
 
     },
     tradeTags = {
+
     researchPrerequisites = {
       "Television",
+
       "Electricity",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MegascreenTelevision"] = {
+
   ["ThingDef:Battery"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Joy.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Power.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MegascreenTelevision",
+
     defName = "Battery",
     label = "megascreen television",
+
     label = "battery",
     description = [[A huge, high-tech television. Gigantic, hyper-vibrant images almost leap out of the screen. Very entertaining. Picks up transmissions from ancient satellites and ubiquitous data cards.]],
+
     description = [[Stores electricity for later use. Charged batteries explode when exposed to rain or fire.]],
 +
    thingClass = "Building_Battery",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    fillPercent = 0.40,
 
     minifiedDef = "MinifiedThing",
 
     minifiedDef = "MinifiedThing",
    fillPercent = 0.35,
 
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsJoy",
+
       "BuildingsPower",
    },
 
    costList = {
 
      Steel = 260,
 
      ComponentIndustrial = 22,
 
 
     },
 
     },
 
     statBases = {
 
     statBases = {
       WorkToBuild = 80000,
+
      MaxHitPoints = 100,
       MaxHitPoints = 85,
+
       WorkToBuild = 800,
 +
       Mass = 20,
 
       Flammability = 1.0,
 
       Flammability = 1.0,
       Mass = 10,
+
       Beauty = -15,
      JoyGainFactor = 1.6,
 
 
     },
 
     },
    pathCost = 50,
+
     size = {1, 2},
    passability = "PassThroughOnly",
+
     costList = {
     size = {3, 1},
+
       Steel = 70,
     building = {
+
      ComponentIndustrial = 2,
       joyKind = "Television",
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Battery = {
         compClass = "CompPowerTrader",
+
         storedEnergyMax = 600,
 +
        efficiency = 0.5,
 
         shortCircuitInRain = true,
 
         shortCircuitInRain = true,
         basePowerConsumption = 450,
+
         transmitsPower = true,
 
       },
 
       },
       CompProperties_Flickable = {},
+
       CompProperties_Breakdownable = {},
 
     },
 
     },
     tradeTags = {
+
     terrainAffordanceNeeded = "Medium",
       "Television",
+
    researchPrerequisites = {
 +
       "Batteries",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Telescope"] = {
+
   ["ThingDef:SolarGenerator"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Joy.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Power.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Telescope",
+
     defName = "SolarGenerator",
     label = "telescope",
+
     label = "solar generator",
     description = [[A telescope for doing amateur astronomy. It's a relaxing hobby for a certain kind of person. Can only be used outdoors.]],
+
     description = [[Produces electricity from sunlight. Does not work in the dark or under artificial light.]],
     fillPercent = 0.15,
+
     thingClass = "Building",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
    hasInteractionCell = true,
 
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
     pathCost = 30,
+
     pathCost = 50,
     minifiedDef = "MinifiedThing",
+
     fillPercent = 0.5,
     thingCategories = {
+
     statBases = {
       "BuildingsJoy",
+
       MaxHitPoints = 300,
 +
      WorkToBuild = 2500,
 +
      Flammability = 0.7,
 
     },
 
     },
     building = {
+
     size = {4, 4},
       joyKind = "Telescope",
+
    costList = {
 +
      Steel = 100,
 +
       ComponentIndustrial = 3,
 
     },
 
     },
     costList = {
+
     comps = {
       Steel = 50,
+
       CompProperties_Power = {
       ComponentIndustrial = 1,
+
        compClass = "CompPowerPlantSolar",
 +
        basePowerConsumption = -1,
 +
        transmitsPower = true,
 +
       },
 +
      CompProperties_Breakdownable = {},
 
     },
 
     },
     statBases = {
+
     terrainAffordanceNeeded = "Medium",
      MaxHitPoints = 75,
+
    researchPrerequisites = {
      Flammability = 1.0,
+
       "SolarPanels",
      MarketValue = 350,
 
      Mass = 7.5,
 
       JoyGainFactor = 1.2,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:OrbitalTradeBeacon"] = {
+
   ["ThingDef:GeothermalGenerator"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Power.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "OrbitalTradeBeacon",
+
     defName = "GeothermalGenerator",
     label = "orbital trade beacon",
+
     label = "geothermal generator",
     thingClass = "Building_OrbitalTradeBeacon",
+
    description = [[Produces electricity from geothermal steam geysers. Must be placed on a steam geyser.]],
 +
     thingClass = "Building",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     minifiedDef = "MinifiedThing",
+
     passability = "Impassable",
     thingCategories = {
+
     fillPercent = 1,
      "BuildingsMisc",
 
    },
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 75,
+
       MaxHitPoints = 500,
       WorkToBuild = 800,
+
       WorkToBuild = 12000,
 
       Flammability = 0.5,
 
       Flammability = 0.5,
       Mass = 5,
+
       Beauty = -30,
 
     },
 
     },
     description = [[Required for orbital trading. You can only sell goods to orbital traders if they're near an orbital trade beacon. Can be placed indoors.]],
+
     size = {6, 6},
    fillPercent = 0.15,
 
 
     costList = {
 
     costList = {
       Steel = 40,
+
       Steel = 340,
       ComponentIndustrial = 1,
+
       ComponentIndustrial = 8,
 
     },
 
     },
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerTrader",
+
         compClass = "CompPowerPlantSteam",
         basePowerConsumption = 40,
+
         basePowerConsumption = -3600,
 +
        transmitsPower = true,
 
       },
 
       },
      CompProperties_Flickable = {},
 
 
       CompProperties_Breakdownable = {},
 
       CompProperties_Breakdownable = {},
 
     },
 
     },
     leaveResourcesWhenKilled = false,
+
     terrainAffordanceNeeded = "Heavy",
    pathCost = 14,
 
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "MicroelectronicsBasics",
+
       "GeothermalPower",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:CommsConsole"] = {
+
   ["ThingDef:WatermillGenerator"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Power.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "CommsConsole",
+
     defName = "WatermillGenerator",
     label = "comms console",
+
     label = "watermill generator",
     description = [[Allows radio contact with other factions and orbital traders.]],
+
     description = [[Produces electricity from a river. Must be placed with its wheel in moving water. If watermills are placed too close together, the turbulence they generate will interfere and reduce power generation.]],
     thingClass = "Building_CommsConsole",
+
     thingClass = "Building",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     passability = "PassThroughOnly",
+
     passability = "Impassable",
    pathCost = 50,
+
     fillPercent = 1,
     fillPercent = 0.5,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 250,
+
       MaxHitPoints = 400,
       WorkToBuild = 2200,
+
       WorkToBuild = 4000,
       Flammability = 0.6,
+
       Flammability = 1.0,
 +
      Beauty = -20,
 
     },
 
     },
     size = {3, 2},
+
     size = {5, 6},
 
     costList = {
 
     costList = {
       Steel = 120,
+
      WoodLog = 280,
       ComponentIndustrial = 4,
+
       Steel = 80,
 +
       ComponentIndustrial = 3,
 
     },
 
     },
    hasInteractionCell = true,
 
    terrainAffordanceNeeded = "Medium",
 
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerTrader",
+
         compClass = "CompPowerPlantWater",
         shortCircuitInRain = true,
+
         basePowerConsumption = -1100,
         basePowerConsumption = 200,
+
        transmitsPower = true,
 +
         soundAmbientProducingPower = "WaterMill_Ambience",
 
       },
 
       },
      CompProperties_Flickable = {},
 
 
       CompProperties_Breakdownable = {},
 
       CompProperties_Breakdownable = {},
 
     },
 
     },
 +
    terrainAffordanceNeeded = {},
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "MicroelectronicsBasics",
+
       "WatermillGenerator",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:FirefoamPopper"] = {
+
   ["ThingDef:CraftingSpot"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "FirefoamPopper",
+
     defName = "CraftingSpot",
     label = "firefoam popper",
+
     label = "crafting spot",
     description = [[When it detects fire, this safety device pops and sprays a fire-retardant foam in a circular field around itself. Can also be triggered manually.]],
+
     description = [[A place for crafting simple items like knives or bows. Production here is slow because of the lack of tools.]],
     comps = {
+
     thingClass = "Building_WorkTable",
       CompProperties_Explosive = {
+
    altitudeLayer = "FloorEmplacement",
        explosiveRadius = 9.9,
+
    statBases = {
        explosiveDamageType = "Extinguish",
+
       WorkToBuild = 0,
         startWickHitPointsPercent = -1,
+
      WorkTableWorkSpeedFactor = 0.5,
         startWickOnDamageTaken = {
+
    },
           "Flame",
+
    useHitPoints = false,
 +
    size = {1, 1},
 +
    passability = "Standable",
 +
    hasInteractionCell = true,
 +
    building = {
 +
      sowTag = "SupportPlantsOnly",
 +
      artificialForMeditationPurposes = false,
 +
      buildingTags = {
 +
         "Production",
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_AffectedByFacilities = {
 +
         linkableFacilities = {
 +
           "ToolCabinet",
 
         },
 
         },
        postExplosionSpawnThingDef = "Filth_FireFoam",
 
        postExplosionSpawnChance = 1,
 
        postExplosionSpawnThingCount = 1,
 
        applyDamageToExplosionCellsNeighbors = true,
 
        explosionEffect = "ExtinguisherExplosion",
 
 
       },
 
       },
       CompProperties_Usable = {
+
       {
        useJob = "TriggerFirefoamPopper",
+
         compClass = "CompReportWorkSpeed",
        useLabel = "Trigger firefoam popper",
 
      },
 
      CompProperties_UseEffect = {
 
         compClass = "CompUseEffect_StartWick",
 
      },
 
      CompProperties_ProximityFuse = {
 
        target = "Fire",
 
        radius = 3,
 
 
       },
 
       },
 
     },
 
     },
     altitudeLayer = "Building",
+
  },
    minifiedDef = "MinifiedThing",
+
 
    thingCategories = {
+
  ["ThingDef:ButcherSpot"] = {
       "BuildingsMisc",
+
     _ = {
 +
      ParentName = "BuildingBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_Production.xml",
 +
       DLC = "Core",
 
     },
 
     },
 +
    defName = "ButcherSpot",
 +
    label = "butcher spot",
 +
    description = [[A place for butchering animals. Due to the lack of equipment, butchering here yields only 70% of the meat and leather of each creature.]],
 +
    thingClass = "Building_WorkTable",
 +
    altitudeLayer = "FloorEmplacement",
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 50,
+
       WorkToBuild = 0,
       WorkToBuild = 1500,
+
       WorkTableEfficiencyFactor = 0.7,
       Mass = 10,
 
      Flammability = 1.0,
 
      Beauty = -8,
 
 
     },
 
     },
     fillPercent = 0.30,
+
     useHitPoints = false,
     costList = {
+
     size = {1, 1},
       Steel = 75,
+
    passability = "Standable",
       ComponentIndustrial = 1,
+
    hasInteractionCell = true,
 +
    building = {
 +
       sowTag = "SupportPlantsOnly",
 +
       artificialForMeditationPurposes = false,
 +
      buildingTags = {
 +
        "Production",
 +
      },
 
     },
 
     },
     leaveResourcesWhenKilled = false,
+
     comps = {
    pathCost = 30,
+
      CompProperties_AffectedByFacilities = {
    passability = "PassThroughOnly",
+
        linkableFacilities = {
    researchPrerequisites = {
+
          "ToolCabinet",
      "Firefoam",
+
        },
 +
      },
 +
      {
 +
        compClass = "CompReportWorkSpeed",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MoisturePump"] = {
+
   ["ThingDef:BenchBase"] = {
 
     _ = {
 
     _ = {
 +
      Name = "BenchBase",
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Misc.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MoisturePump",
+
     minifiedDef = "MinifiedThing",
     label = "moisture pump",
+
     terrainAffordanceNeeded = "Medium",
     description = [[Very slowly equalizes moisture in nearby terrain, converting marshes or shallow water into dry ground, and soft sand into normal sand. Does not affect deep water.]],
+
     thingCategories = {
    comps = {
+
       "BuildingsProduction",
      CompProperties_Forbiddable = {},
 
       CompProperties_Power = {
 
        compClass = "CompPowerTrader",
 
        basePowerConsumption = 150,
 
      },
 
      CompProperties_TerrainPumpDry = {
 
        soundWorking = "MoisturePump_Ambience",
 
        radius = 6.9,
 
        daysToRadius = 60,
 
      },
 
 
     },
 
     },
    altitudeLayer = "Building",
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 50,
+
       Mass = 20,
      WorkToBuild = 1500,
 
      Flammability = 1.0,
 
      Beauty = -8,
 
 
     },
 
     },
     fillPercent = 0.15,
+
     comps = {
    costList = {
+
      {
      Steel = 75,
+
        compClass = "CompReportWorkSpeed",
       ComponentIndustrial = 4,
+
       },
 
     },
 
     },
     pathCost = 30,
+
     building = {
    passability = "PassThroughOnly",
+
      buildingTags = {
    researchPrerequisites = {
+
        "Production",
       "MoisturePump",
+
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:GroundPenetratingScanner"] = {
+
   ["ThingDef:TableSculpting"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "GroundPenetratingScanner",
+
     defName = "TableSculpting",
     label = "ground-penetrating scanner",
+
     label = "art bench",
     description = [[A sensor unit used by researchers to search for buried resources. The chance to find a resource depends on the operator's research ability. It consumes a lot of electricity. If you find a buried resource, you'll need to use deep drills to extract it. It doesn't work under a roof.]],
+
     description = [[A workbench equipped for creating art.]],
 +
    thingClass = "Building_WorkTable",
 
     costList = {
 
     costList = {
       Steel = 150,
+
       Steel = 50,
      ComponentIndustrial = 4,
 
      ComponentSpacer = 1,
 
    },
 
    comps = {
 
      CompProperties_Forbiddable = {},
 
      CompProperties_Power = {
 
        compClass = "CompPowerTrader",
 
        basePowerConsumption = 700,
 
      },
 
      CompProperties_Breakdownable = {},
 
      CompProperties_Flickable = {},
 
      CompProperties_ScannerMineralsDeep = {
 
        scanSpeedStat = "ResearchSpeed",
 
        scanFindMtbDays = 3,
 
        scanFindGuaranteedDays = 6,
 
        soundWorking = "ScannerGroundPenetrating_Ambience",
 
      },
 
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    fillPercent = 0.5,
 +
    useHitPoints = true,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 200,
+
       WorkToBuild = 2500,
       WorkToBuild = 12000,
+
       MaxHitPoints = 180,
       Flammability = 0.5,
+
       Flammability = 1.0,
       Beauty = -8,
+
       Cleanliness = -5,
 
     },
 
     },
     hasInteractionCell = true,
+
     size = {3, 1},
    fillPercent = 0.40,
 
    leaveResourcesWhenKilled = false,
 
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
 
     pathCost = 50,
 
     pathCost = 50,
     size = {3, 3},
+
     hasInteractionCell = true,
     terrainAffordanceNeeded = "Heavy",
+
     comps = {
    researchPrerequisites = {
+
      CompProperties_AffectedByFacilities = {
       "GroundPenetratingScanner",
+
        linkableFacilities = {
 +
          "ToolCabinet",
 +
        },
 +
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:LongRangeMineralScanner"] = {
+
   ["ThingDef:TableButcher"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "LongRangeMineralScanner",
+
     defName = "TableButcher",
     label = "long-range mineral scanner",
+
     label = "butcher table",
     description = [[A lateral sensor unit used by researchers to detect a specific type of mineral across the planet. The chance to find a resource depends on the operator's research ability. This sensor can be tuned to target a specific resource type. It consumes a lot of electricity. If you find a resource, you'll need to travel to collect it.]],
+
     description = [[A heavy table for butchering dead creatures into pieces of raw meat.]],
 +
    thingClass = "Building_WorkTable",
 
     costList = {
 
     costList = {
       Steel = 200,
+
       WoodLog = 20,
       ComponentIndustrial = 6,
+
    },
       ComponentSpacer = 2,
+
    altitudeLayer = "Building",
 +
    fillPercent = 0.5,
 +
    useHitPoints = true,
 +
    statBases = {
 +
      WorkToBuild = 2000,
 +
      MaxHitPoints = 180,
 +
       Flammability = 1.0,
 +
       Cleanliness = -15,
 
     },
 
     },
 +
    size = {3, 1},
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    hasInteractionCell = true,
 
     comps = {
 
     comps = {
       CompProperties_Forbiddable = {},
+
       CompProperties_AffectedByFacilities = {
      CompProperties_Power = {
+
        linkableFacilities = {
        compClass = "CompPowerTrader",
+
          "ToolCabinet",
         basePowerConsumption = 700,
+
         },
      },
 
      CompProperties_Breakdownable = {},
 
      CompProperties_Flickable = {},
 
      CompProperties_LongRangeMineralScanner = {
 
        scanSpeedStat = "ResearchSpeed",
 
        scanFindMtbDays = 4,
 
        scanFindGuaranteedDays = 8,
 
        soundWorking = "ScannerLongRangeMineral_Ambience",
 
 
       },
 
       },
 
     },
 
     },
 +
  },
 +
 +
  ["ThingDef:HandTailoringBench"] = {
 +
    _ = {
 +
      ParentName = "BenchBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_Production.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "HandTailoringBench",
 +
    label = "hand tailor bench",
 +
    description = [[A workbench for tailoring clothes by hand. Works at 50% of the speed of an electric tailoring bench.]],
 +
    thingClass = "Building_WorkTable",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    fillPercent = 0.5,
 +
    useHitPoints = true,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 250,
+
       WorkToBuild = 2000,
       WorkToBuild = 1000,
+
       MaxHitPoints = 180,
       Flammability = 0.5,
+
       Flammability = 1.0,
       Beauty = -8,
+
       WorkTableWorkSpeedFactor = 0.5,
 
     },
 
     },
     fillPercent = 0.40,
+
     size = {3, 1},
    leaveResourcesWhenKilled = false,
 
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
 
     pathCost = 50,
 
     pathCost = 50,
 
     hasInteractionCell = true,
 
     hasInteractionCell = true,
     size = {3, 3},
+
     comps = {
     terrainAffordanceNeeded = "Heavy",
+
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
          "ToolCabinet",
 +
        },
 +
      },
 +
     },
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "LongRangeMineralScanner",
+
       "ComplexClothing",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PodLauncher"] = {
+
   ["ThingDef:ElectricTailoringBench"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PodLauncher",
+
     defName = "ElectricTailoringBench",
     label = "pod launcher",
+
     label = "electric tailor bench",
     description = [[A fueling port for launching one transport pod. Pod launchers can launch as a group - but the launchers must be placed adjacent to each other.]],
+
     description = [[A workbench with a sewing machine for rapid tailoring of clothes. Can work without electricity at 50% of normal speed.]],
     size = {1, 2},
+
     thingClass = "Building_WorkTable",
 +
    costList = {
 +
      Steel = 50,
 +
      ComponentIndustrial = 2,
 +
    },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
    passability = "Impassable",
+
     fillPercent = 0.5,
     fillPercent = 1.0,
+
     useHitPoints = true,
     terrainAffordanceNeeded = "Medium",
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 200,
+
       WorkToBuild = 2500,
       WorkToBuild = 3000,
+
       MaxHitPoints = 180,
       Flammability = 0.5,
+
       Flammability = 1.0,
 +
    },
 +
    size = {3, 1},
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    hasInteractionCell = true,
 +
    comps = {
 +
      CompProperties_Power = {
 +
        compClass = "CompPowerTrader",
 +
        shortCircuitInRain = true,
 +
        basePowerConsumption = 120,
 +
      },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
          "ToolCabinet",
 +
        },
 +
      },
 +
      CompProperties_Breakdownable = {},
 +
    },
 +
    researchPrerequisites = {
 +
      "ComplexClothing",
 +
      "Electricity",
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:FueledSmithy"] = {
 +
    _ = {
 +
      ParentName = "BenchBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_Production.xml",
 +
      DLC = "Core",
 
     },
 
     },
 +
    defName = "FueledSmithy",
 +
    label = "fueled smithy",
 +
    description = [[A wood-fueled station for smithing non-mechanical weapons and tools.]],
 +
    thingClass = "Building_WorkTable",
 
     costList = {
 
     costList = {
       Steel = 50,
+
       Steel = 100,
       ComponentIndustrial = 1,
+
    },
 +
    altitudeLayer = "Building",
 +
    fillPercent = 0.5,
 +
    useHitPoints = true,
 +
    statBases = {
 +
       WorkToBuild = 3000,
 +
      MaxHitPoints = 180,
 +
      Flammability = 1.0,
 +
      Cleanliness = -3,
 
     },
 
     },
 +
    size = {3, 1},
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    hasInteractionCell = true,
 
     comps = {
 
     comps = {
 
       CompProperties_Refuelable = {
 
       CompProperties_Refuelable = {
         fuelCapacity = 150.0,
+
         fuelConsumptionRate = 80.0,
         targetFuelLevelConfigurable = true,
+
         fuelCapacity = 50.0,
        initialConfigurableTargetFuelLevel = 75,
 
 
         fuelFilter = {
 
         fuelFilter = {
 
           thingDefs = {
 
           thingDefs = {
             "Chemfuel",
+
             "WoodLog",
 
           },
 
           },
 
         },
 
         },
 
         consumeFuelOnlyWhenUsed = true,
 
         consumeFuelOnlyWhenUsed = true,
        autoRefuelPercent = 1,
 
        showFuelGizmo = true,
 
        drawOutOfFuelOverlay = false,
 
        drawFuelGaugeInMap = true,
 
 
         showAllowAutoRefuelToggle = true,
 
         showAllowAutoRefuelToggle = true,
 +
      },
 +
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
          "ToolCabinet",
 +
        },
 
       },
 
       },
 
     },
 
     },
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "TransportPod",
+
       "Smithing",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TransportPod"] = {
+
   ["ThingDef:ElectricSmithy"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TransportPod",
+
     defName = "ElectricSmithy",
     label = "transport pod",
+
     label = "electric smithy",
     description = [[A launchable sub-orbital cargo pod capable of carrying people, items, or animals. Can be used for sending gifts, transporting people or supplies, surprise attacks, or reinforcing battles.]],
+
     description = [[An electric-powered station for smithing non-mechanical weapons and tools.]],
     size = {1, 1},
+
     thingClass = "Building_WorkTable",
     altitudeLayer = "BuildingOnTop",
+
    costList = {
     passability = "PassThroughOnly",
+
      Steel = 100,
 +
      ComponentIndustrial = 3,
 +
     },
 +
     altitudeLayer = "Building",
 
     fillPercent = 0.5,
 
     fillPercent = 0.5,
     terrainAffordanceNeeded = "Medium",
+
     useHitPoints = true,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 250,
+
       WorkToBuild = 3000,
       WorkToBuild = 1600,
+
       MaxHitPoints = 180,
       Flammability = 0.5,
+
       Flammability = 1.0,
    },
+
       Cleanliness = -3,
    costList = {
 
      Steel = 60,
 
       ComponentIndustrial = 1,
 
 
     },
 
     },
 +
    size = {3, 1},
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    hasInteractionCell = true,
 
     comps = {
 
     comps = {
       CompProperties_Transporter = {
+
       CompProperties_Power = {
         restEffectiveness = 0.8,
+
         compClass = "CompPowerTrader",
 +
        shortCircuitInRain = true,
 +
        basePowerConsumption = 210,
 +
      },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
          "ToolCabinet",
 +
        },
 
       },
 
       },
       CompProperties_Launchable = {
+
       CompProperties_HeatPusher = {
         skyfallerLeaving = "DropPodLeaving",
+
         compClass = "CompHeatPusherPowered",
 +
        heatPerSecond = 4,
 
       },
 
       },
 
     },
 
     },
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "TransportPod",
+
       "Smithing",
 +
      "Electricity",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MultiAnalyzer"] = {
+
   ["ThingDef:TableMachining"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MultiAnalyzer",
+
     defName = "TableMachining",
     label = "multi-analyzer",
+
     label = "machining table",
     description = [[Increases research speed when placed near hi-tech research bench and unlocks new research projects. Each research bench can only use one multi-analyzer.]],
+
     description = [[A work station for assembling machinery like guns and ammunition, or breaking down dead mechanoids.]],
     researchPrerequisites = {
+
     thingClass = "Building_WorkTable",
       "MultiAnalyzer",
+
    costList = {
 +
       Steel = 150,
 +
      ComponentIndustrial = 5,
 
     },
 
     },
    size = {2, 2},
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
    passability = "PassThroughOnly",
 
 
     fillPercent = 0.5,
 
     fillPercent = 0.5,
     minifiedDef = "MinifiedThing",
+
     useHitPoints = true,
    terrainAffordanceNeeded = "Medium",
 
    thingCategories = {
 
      "BuildingsMisc",
 
    },
 
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 200,
+
       WorkToBuild = 3000,
       WorkToBuild = 10000,
+
       MaxHitPoints = 180,
       Mass = 60,
 
 
       Flammability = 1.0,
 
       Flammability = 1.0,
 +
      Cleanliness = -2,
 
     },
 
     },
     costList = {
+
     size = {3, 1},
      Steel = 40,
+
    passability = "PassThroughOnly",
      Plasteel = 50,
+
    pathCost = 50,
      Gold = 20,
+
     hasInteractionCell = true,
      ComponentIndustrial = 8,
 
     },
 
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
 
         compClass = "CompPowerTrader",
 
         compClass = "CompPowerTrader",
 
         shortCircuitInRain = true,
 
         shortCircuitInRain = true,
         basePowerConsumption = 200,
+
         basePowerConsumption = 350,
 
       },
 
       },
 
       CompProperties_Flickable = {},
 
       CompProperties_Flickable = {},
       CompProperties_Facility = {
+
       CompProperties_Glower = {
         statOffsets = {
+
         glowRadius = 5,
           ResearchSpeedFactor = 0.1,
+
        glowColor = {73, 123, 138, 0},
 +
      },
 +
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
           "ToolCabinet",
 
         },
 
         },
        maxSimultaneous = 1,
 
 
       },
 
       },
 +
      CompProperties_Breakdownable = {},
 +
    },
 +
    researchPrerequisites = {
 +
      "Machining",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:VitalsMonitor"] = {
+
   ["ThingDef:ElectricStove"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "VitalsMonitor",
+
     defName = "ElectricStove",
     label = "vitals monitor",
+
     label = "electric stove",
     description = [[Increases medical tend quality, surgery success chance, and immunity gain speed when placed directly adjacent to a hospital bed. Only works for hospital beds - normal beds will not benefit. Attaching more than one vitals monitor to the same bed will have no effect.]],
+
     description = [[An electrically-powered stove with an attached countertop for preparing meals.]],
     researchPrerequisites = {
+
     thingClass = "Building_WorkTable_HeatPush",
       "VitalsMonitor",
+
    costList = {
 +
       Steel = 80,
 +
      ComponentIndustrial = 2,
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     passability = "PassThroughOnly",
+
     fillPercent = 0.5,
     fillPercent = 0.2,
+
     useHitPoints = true,
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 100,
+
       WorkToBuild = 2000,
       WorkToBuild = 6000,
+
       MaxHitPoints = 180,
       Mass = 20,
+
       Flammability = 1.0,
       Flammability = 0.7,
 
    },
 
    size = {1, 1},
 
    costList = {
 
      Steel = 50,
 
      ComponentIndustrial = 3,
 
    },
 
    minifiedDef = "MinifiedThing",
 
    thingCategories = {
 
      "BuildingsMisc",
 
 
     },
 
     },
 +
    size = {3, 1},
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    hasInteractionCell = true,
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
 
         compClass = "CompPowerTrader",
 
         compClass = "CompPowerTrader",
 
         shortCircuitInRain = true,
 
         shortCircuitInRain = true,
         basePowerConsumption = 80,
+
         basePowerConsumption = 350,
 
       },
 
       },
 
       CompProperties_Flickable = {},
 
       CompProperties_Flickable = {},
       CompProperties_Facility = {
+
       CompProperties_Breakdownable = {},
        statOffsets = {
+
      CompProperties_HeatPusher = {
          MedicalTendQualityOffset = 0.07,
+
         compClass = "CompHeatPusherPowered",
          ImmunityGainSpeedFactor = 0.02,
+
         heatPerSecond = 3,
          SurgerySuccessChanceFactor = 0.05,
 
        },
 
         maxSimultaneous = 1,
 
         mustBePlacedAdjacent = true,
 
 
       },
 
       },
 +
    },
 +
    building = {
 +
      isMealSource = true,
 +
      heatPerTickWhileWorking = 0.10,
 +
    },
 +
    researchPrerequisites = {
 +
      "Electricity",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ToolCabinet"] = {
+
   ["ThingDef:FueledStove"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ToolCabinet",
+
     defName = "FueledStove",
     label = "tool cabinet",
+
     label = "fueled stove",
     description = [[Increases work speed when placed near a workbench. One workbench use to up to two tool cabinets.]],
+
     description = [[A wood-fueled stove with an attached countertop for preparing meals.]],
 +
    thingClass = "Building_WorkTable_HeatPush",
 +
    costList = {
 +
      Steel = 80,
 +
    },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
    passability = "PassThroughOnly",
 
 
     fillPercent = 0.5,
 
     fillPercent = 0.5,
     pathCost = 42,
+
     useHitPoints = true,
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 100,
+
       WorkToBuild = 2000,
       WorkToBuild = 1800,
+
       MaxHitPoints = 180,
       Mass = 20,
+
       Flammability = 1.0,
       Flammability = 0.5,
 
 
     },
 
     },
     size = {2, 1},
+
     size = {3, 1},
     costList = {
+
     passability = "PassThroughOnly",
      Steel = 200,
+
     pathCost = 50,
    },
+
     hasInteractionCell = true,
    researchPrerequisites = {
+
     comps = {
      "ComplexFurniture",
+
       CompProperties_Refuelable = {
     },
+
        fuelConsumptionRate = 160.0,
     minifiedDef = "MinifiedThing",
+
        fuelCapacity = 50.0,
     thingCategories = {
+
        fuelFilter = {
       "BuildingsMisc",
+
          thingDefs = {
    },
+
            "WoodLog",
    comps = {
+
           },
      CompProperties_Facility = {
 
        statOffsets = {
 
           WorkTableWorkSpeedFactor = 0.06,
 
 
         },
 
         },
         maxSimultaneous = 2,
+
         consumeFuelOnlyWhenUsed = true,
 +
        showAllowAutoRefuelToggle = true,
 +
      },
 +
      CompProperties_HeatPusher = {
 +
        compClass = "CompHeatPusherPowered",
 +
        heatPerSecond = 4,
 
       },
 
       },
 +
    },
 +
    building = {
 +
      isMealSource = true,
 +
      heatPerTickWhileWorking = 0.10,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Grave"] = {
+
   ["ThingDef:TableStonecutter"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Grave",
+
     defName = "TableStonecutter",
     label = "grave",
+
     label = "stonecutter's table",
     description = [[A decent final resting place. Colonists will visit full graves to gain meditative joy.]],
+
     description = [[A work table with saws and chisels for cutting stone chunks into usable blocks.]],
     thingClass = "Building_Grave",
+
     thingClass = "Building_WorkTable_HeatPush",
     altitudeLayer = "FloorEmplacement",
+
    costList = {
     useHitPoints = false,
+
      Steel = 30,
     size = {1, 2},
+
    },
 +
     altitudeLayer = "Building",
 +
     fillPercent = 0.5,
 +
     useHitPoints = true,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 800,
+
       WorkToBuild = 2000,
       MeditationFocusStrength = 0.06,
+
       MaxHitPoints = 180,
 +
      Flammability = 1.0,
 +
      Cleanliness = -5,
 
     },
 
     },
     passability = "Standable",
+
    size = {3, 1},
     building = {
+
     passability = "PassThroughOnly",
      isInert = true,
+
     pathCost = 50,
      preventDeteriorationInside = true,
+
    hasInteractionCell = true,
      artificialForMeditationPurposes = false,
+
    terrainAffordanceNeeded = "Heavy",
      fixedStorageSettings = {
+
    comps = {
        filter = {
+
       CompProperties_AffectedByFacilities = {
          categories = {
+
         linkableFacilities = {
            "Corpses",
+
           "ToolCabinet",
          },
 
        },
 
      },
 
       defaultStorageSettings = {
 
         priority = "Important",
 
        filter = {
 
           categories = {
 
            "CorpsesHumanlike",
 
          },
 
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
     terrainAffordanceNeeded = "Diggable",
+
     researchPrerequisites = {
     comps = {
+
      "Stonecutting",
      CompProperties_AssignableToPawn = {
+
     },
        drawAssignmentOverlay = false,
+
  },
        compClass = "CompAssignableToPawn_Grave",
+
 
       },
+
  ["ThingDef:Brewery"] = {
       CompProperties_MeditationFocus = {
+
    _ = {
        statDef = "MeditationFocusStrength",
+
      ParentName = "BenchBase",
        focusTypes = {
+
      DefCategory = "ThingDef",
          "Morbid",
+
       FileName = "Buildings_Production.xml",
        },
+
       DLC = "Core",
        offsets = {
+
    },
          FocusStrengthOffset_GraveFull = {
+
    defName = "Brewery",
            offset = 0.10,
+
    label = "brewery",
          },
+
    description = [[A work station with all the equipment needed to mix wort for beer production. Wort must be fermented to finally become beer.]],
          FocusStrengthOffset_GraveCorpseRelationship = {
+
    thingClass = "Building_WorkTable",
            offset = 0.10,
+
    costList = {
          },
+
      WoodLog = 120,
          FocusStrengthOffset_NearbyGraves = {
+
      Steel = 30,
            defs = {
+
    },
              "Grave",
+
    altitudeLayer = "Building",
              "Sarcophagus",
+
    fillPercent = 0.5,
            },
+
    useHitPoints = true,
            offsetPerBuilding = 0.01,
+
    statBases = {
            radius = 9.9,
+
      WorkToBuild = 2000,
            maxBuildings = 4,
+
      MaxHitPoints = 180,
            focusPerFullGrave = 0.01,
+
      Flammability = 1.0,
            explanationKey = "MeditationFocusPerGrave",
+
    },
            explanationKeyAbstract = "MeditationFocusPerGraveAbstract",
+
    size = {3, 1},
          },
+
    passability = "PassThroughOnly",
        },
+
    pathCost = 50,
       },
+
    hasInteractionCell = true,
 +
    researchPrerequisites = {
 +
       "Brewing",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Sarcophagus"] = {
+
   ["ThingDef:DrugLab"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Sarcophagus",
+
     defName = "DrugLab",
     label = "sarcophagus",
+
     label = "drug lab",
     description = [[An ornamented burial receptacle for the honored dead.]],
+
     description = [[A work bench equipped with containers, heaters, and measurement devices for producing various drugs.]],
     thingClass = "Building_Sarcophagus",
+
     thingClass = "Building_WorkTable",
     size = {1, 2},
+
     costList = {
     pathCost = 42,
+
      Steel = 75,
 +
      ComponentIndustrial = 6,
 +
    },
 +
     altitudeLayer = "Building",
 
     fillPercent = 0.5,
 
     fillPercent = 0.5,
     building = {
+
     useHitPoints = true,
      preventDeteriorationInside = true,
 
      fixedStorageSettings = {
 
        filter = {
 
          categories = {
 
            "Corpses",
 
          },
 
        },
 
      },
 
      defaultStorageSettings = {
 
        priority = "Important",
 
        filter = {
 
          categories = {
 
            "CorpsesHumanlike",
 
          },
 
          specialFiltersToDisallow = {
 
            "AllowCorpsesStranger",
 
          },
 
        },
 
      },
 
    },
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 2400,
+
       WorkToBuild = 3500,
       MaxHitPoints = 250,
+
       MaxHitPoints = 120,
 
       Flammability = 1.0,
 
       Flammability = 1.0,
      MeditationFocusStrength = 0.10,
 
      Beauty = 0,
 
 
     },
 
     },
     comps = {
+
     size = {3, 1},
      {
+
    passability = "PassThroughOnly",
        compClass = "CompQuality",
+
    pathCost = 50,
      },
+
    hasInteractionCell = true,
      CompProperties_Art = {
+
    comps = {
        nameMaker = "NamerArtSarcophagusPlate",
+
       CompProperties_AffectedByFacilities = {
        descriptionMaker = "ArtDescription_SarcophagusPlate",
+
         linkableFacilities = {
        mustBeFullGrave = true,
+
           "ToolCabinet",
      },
 
      CompProperties_AssignableToPawn = {
 
        drawAssignmentOverlay = false,
 
        compClass = "CompAssignableToPawn_Grave",
 
       },
 
      CompProperties_MeditationFocus = {
 
        statDef = "MeditationFocusStrength",
 
        focusTypes = {
 
          "Morbid",
 
         },
 
        offsets = {
 
          FocusStrengthOffset_GraveFull = {
 
            offset = 0.10,
 
          },
 
          FocusStrengthOffset_GraveCorpseRelationship = {
 
            offset = 0.10,
 
          },
 
           FocusStrengthOffset_NearbyGraves = {
 
            defs = {
 
              "Grave",
 
              "Sarcophagus",
 
            },
 
            offsetPerBuilding = 0.01,
 
            radius = 9.9,
 
            maxBuildings = 4,
 
            focusPerFullGrave = 0.01,
 
            explanationKey = "MeditationFocusPerGrave",
 
            explanationKeyAbstract = "MeditationFocusPerGraveAbstract",
 
          },
 
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    terrainAffordanceNeeded = "Light",
 
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "ComplexFurniture",
+
       "DrugProduction",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:CryptosleepCasket"] = {
+
   ["ThingDef:ElectricSmelter"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "CryptosleepCasket",
+
     defName = "ElectricSmelter",
     label = "cryptosleep casket",
+
     label = "electric smelter",
     description = [[A self-powered sarcophagus designed to keep a person in a state of suspended animation for many years.]],
+
     description = [[Extracts usable metal from slag chunks and other mixed metal items. Consumes a lot of power.]],
     thingClass = "Building_CryptosleepCasket",
+
     thingClass = "Building_WorkTable_HeatPush",
     researchPrerequisites = {
+
     costList = {
       "Cryptosleep",
+
       Steel = 170,
 +
      ComponentIndustrial = 2,
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
    passability = "PassThroughOnly",
 
    pathCost = 42,
 
 
     fillPercent = 0.5,
 
     fillPercent = 0.5,
 +
    useHitPoints = true,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 3200,
+
       WorkToBuild = 3500,
       MaxHitPoints = 250,
+
       MaxHitPoints = 180,
       Flammability = 0.5,
+
       Flammability = 1.0,
 
     },
 
     },
     size = {1, 2},
+
     size = {3, 1},
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 
     hasInteractionCell = true,
 
     hasInteractionCell = true,
     costList = {
+
     terrainAffordanceNeeded = "Heavy",
      Steel = 180,
 
      Uranium = 5,
 
      ComponentIndustrial = 4,
 
      ComponentSpacer = 1,
 
    },
 
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       CompProperties_Power = {
         explosiveRadius = 2.66,
+
         compClass = "CompPowerTrader",
         explosiveDamageType = "Flame",
+
        basePowerConsumption = 700,
 +
         shortCircuitInRain = true,
 
       },
 
       },
       CompProperties_EmptyStateGraphic = {
+
       CompProperties_Flickable = {},
        graphicData = {
+
      CompProperties_Glower = {
          texPath = "Things/Building/Ship/ShipCryptosleepCasketOpenDoor",
+
        glowRadius = 6,
          graphicClass = "Graphic_Multi",
+
        glowColor = {217, 112, 33, 0},
          drawSize = {1, 2},
+
      },
         },
+
      CompProperties_HeatPusher = {
 +
        compClass = "CompHeatPusherPowered",
 +
         heatPerSecond = 9,
 
       },
 
       },
 +
      CompProperties_Breakdownable = {},
 +
    },
 +
    building = {
 +
      heatPerTickWhileWorking = 0.32,
 +
    },
 +
    researchPrerequisites = {
 +
      "Electricity",
 
     },
 
     },
    terrainAffordanceNeeded = "Medium",
 
 
   },
 
   },
  
   ["ThingDef:AncientCryptosleepCasket"] = {
+
   ["ThingDef:BiofuelRefinery"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "AncientCryptosleepCasket",
+
     defName = "BiofuelRefinery",
     label = "ancient cryptosleep casket",
+
     label = "biofuel refinery",
     description = [[This cryptosleep casket looks like it has been here for a very long time. Who knows what it might contain?]],
+
     description = [[Refines biological matter like wood or plant matter into chemfuel.]],
     thingClass = "Building_AncientCryptosleepCasket",
+
     thingClass = "Building_WorkTable",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
     pathCost = 42,
+
     pathCost = 50,
    fillPercent = 0.5,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 250,
+
       MaxHitPoints = 200,
 +
      WorkToBuild = 2000,
 
       Flammability = 1.0,
 
       Flammability = 1.0,
 
     },
 
     },
     size = {1, 2},
+
     minifiedDef = {},
     hasInteractionCell = true,
+
    thingCategories = {
 +
      _ = {
 +
        Inherit = false,
 +
      },
 +
    },
 +
     size = {3, 2},
 
     costList = {
 
     costList = {
       Steel = 180,
+
       Steel = 150,
       Uranium = 5,
+
       ComponentIndustrial = 3,
    },
 
    killedLeavings = {
 
      ChunkSlagSteel = 1,
 
      Steel = 25,
 
      Uranium = 3,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       CompProperties_Power = {
         explosiveRadius = 2.66,
+
         compClass = "CompPowerTrader",
        explosiveDamageType = "Flame",
+
         basePowerConsumption = 170,
      },
+
        shortCircuitInRain = true,
      CompProperties_EmptyStateGraphic = {
 
         graphicData = {
 
          texPath = "Things/Building/Ship/ShipCryptosleepCasketOpenDoor",
 
          graphicClass = "Graphic_Multi",
 
          drawSize = {1, 2},
 
        },
 
 
       },
 
       },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_Breakdownable = {},
 +
    },
 +
    fillPercent = 0.5,
 +
    hasInteractionCell = true,
 +
    terrainAffordanceNeeded = "Heavy",
 +
    researchPrerequisites = {
 +
      "BiofuelRefining",
 
     },
 
     },
    leaveResourcesWhenKilled = false,
 
    terrainAffordanceNeeded = "Medium",
 
 
   },
 
   },
  
   ["ThingDef:MarriageSpot"] = {
+
   ["ThingDef:FabricationBench"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MarriageSpot",
+
     defName = "FabricationBench",
     label = "marriage spot",
+
     label = "fabrication bench",
     description = [[Designates a spot where marriage ceremonies will take place. Spectators can watch from either side.]],
+
     description = [[A workbench equipped with advanced tools for producing technological marvels from simpler materials.]],
     thingClass = "Building_MarriageSpot",
+
     thingClass = "Building_WorkTable",
     altitudeLayer = "FloorEmplacement",
+
     altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 0,
+
      MaxHitPoints = 300,
 +
       WorkToBuild = 5000,
 +
      Flammability = 1.0,
 
     },
 
     },
     useHitPoints = false,
+
     minifiedDef = {},
    size = {2, 1},
+
     thingCategories = {
     passability = "Standable",
+
      _ = {
    building = {
+
        Inherit = false,
      sowTag = "SupportPlantsOnly",
+
       },
       artificialForMeditationPurposes = false,
 
 
     },
 
     },
  },
+
    size = {5, 2},
 
+
     costList = {
  ["ThingDef:PartySpot"] = {
+
       Steel = 200,
     _ = {
+
       ComponentIndustrial = 12,
       ParentName = "BuildingBase",
+
       ComponentSpacer = 2,
       FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "PartySpot",
+
     comps = {
    label = "party spot",
+
      CompProperties_AffectedByFacilities = {
    description = [[Designates a spot for throwing parties.]],
+
        linkableFacilities = {
    altitudeLayer = "FloorEmplacement",
+
          "ToolCabinet",
    statBases = {
+
        },
       WorkToBuild = 0,
+
      },
 +
      CompProperties_Power = {
 +
        compClass = "CompPowerTrader",
 +
        basePowerConsumption = 250,
 +
        shortCircuitInRain = true,
 +
      },
 +
      CompProperties_Flickable = {},
 +
       CompProperties_Breakdownable = {},
 
     },
 
     },
     useHitPoints = false,
+
     fillPercent = 0.5,
     passability = "Standable",
+
     hasInteractionCell = true,
     building = {
+
    terrainAffordanceNeeded = "Heavy",
       sowTag = "SupportPlantsOnly",
+
     researchPrerequisites = {
      artificialForMeditationPurposes = false,
+
       "Fabrication",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:CaravanPackingSpot"] = {
+
   ["ThingDef:SimpleResearchBench"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BenchBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "CaravanPackingSpot",
+
     defName = "SimpleResearchBench",
     label = "caravan packing spot",
+
     label = "simple research bench",
     description = [[Designates a spot for forming caravans. Put this near your stockpiles to speed up the caravan loading process.]],
+
     description = [[A simple bench with writing implements and simple measurement devices. Researchers work here to discover new things.]],
     altitudeLayer = "FloorEmplacement",
+
    thingClass = "Building_ResearchBench",
 +
    size = {3, 2},
 +
    costList = {
 +
      Steel = 25,
 +
    },
 +
     altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 0,
+
       MaxHitPoints = 250,
    },
+
      WorkToBuild = 2800,
    useHitPoints = false,
+
       Flammability = 1.0,
    passability = "Standable",
+
       ResearchSpeedFactor = 0.75,
    building = {
 
       sowTag = "SupportPlantsOnly",
 
       artificialForMeditationPurposes = false,
 
 
     },
 
     },
 +
    fillPercent = 0.5,
 +
    hasInteractionCell = true,
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:HiTechResearchBench"] = {
 
     _ = {
 
     _ = {
       Name = "SteleBase",
+
       ParentName = "BenchBase",
       ParentName = "BuildingBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Production.xml",
       FileName = "Buildings_Misc.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     altitudeLayer = "Building",
+
     defName = "HiTechResearchBench",
     passability = "PassThroughOnly",
+
     label = "hi-tech research bench",
     fillPercent = 0.50,
+
     description = [[A high-tech bench with computers and electronic measurement equipment. Allows more rapid research, and unlocks advanced research projects.]],
     pathCost = 50,
+
     thingClass = "Building_ResearchBench",
     researchPrerequisites = {
+
     size = {5, 2},
      "ComplexFurniture",
+
     minifiedDef = {},
     },
+
     thingCategories = {
     comps = {
+
       _ = {
       CompProperties_Art = {
+
         Inherit = false,
         nameMaker = "NamerArtFurniture",
 
        descriptionMaker = "ArtDescription_Furniture",
 
        minQualityForArtistic = "Awful",
 
 
       },
 
       },
 
     },
 
     },
  },
+
     costList = {
 
+
       Steel = 100,
  ["ThingDef:SteleLarge"] = {
+
       ComponentIndustrial = 10,
     _ = {
 
       ParentName = "SteleBase",
 
      FileName = "Buildings_Misc.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "SteleLarge",
+
     altitudeLayer = "Building",
     label = "large stele",
+
     passability = "PassThroughOnly",
     description = [[A tall, thick slab with engravings on the sides. Steles have been used since ancient times to memorialize individuals, battles, and other important events.]],
+
     pathCost = 50,
    size = {2, 2},
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 200,
+
       MaxHitPoints = 250,
       WorkToBuild = 8000,
+
       WorkToBuild = 5000,
       Beauty = 15,
+
       Flammability = 1.0,
       MeditationFocusStrength = 0.15,
+
       ResearchSpeedFactor = 1.0,
 
     },
 
     },
    terrainAffordanceNeeded = "Medium",
 
 
     comps = {
 
     comps = {
       CompProperties_MeditationFocus = {
+
       CompProperties_Power = {
         statDef = "MeditationFocusStrength",
+
         compClass = "CompPowerTrader",
         focusTypes = {
+
         basePowerConsumption = 250,
           "Artistic",
+
        shortCircuitInRain = true,
 +
      },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_AffectedByFacilities = {
 +
        linkableFacilities = {
 +
           "MultiAnalyzer",
 
         },
 
         },
 
       },
 
       },
 +
    },
 +
    fillPercent = 0.5,
 +
    hasInteractionCell = true,
 +
    terrainAffordanceNeeded = "Heavy",
 +
    researchPrerequisites = {
 +
      "MicroelectronicsBasics",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SteleGrand"] = {
+
   ["ThingDef:ElectricCrematorium"] = {
 
     _ = {
 
     _ = {
       ParentName = "SteleBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SteleGrand",
+
     defName = "ElectricCrematorium",
     label = "grand stele",
+
     label = "electric crematorium",
     description = [[A towering slab with extensive engravings on the sides. Steles have been used since ancient times to memorialize individuals, battles, and other important events.]],
+
     description = [[A huge stone crematorium which vaporizes corpses with extremely high temperatures.]],
     size = {3, 3},
+
     thingClass = "Building_WorkTable_HeatPush",
 +
    costList = {
 +
      Steel = 20,
 +
      ComponentIndustrial = 2,
 +
    },
 +
    altitudeLayer = "Building",
 +
    useHitPoints = true,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 400,
+
       WorkToBuild = 4500,
       WorkToBuild = 16000,
+
       MaxHitPoints = 300,
       Beauty = 30,
+
       Cleanliness = -20,
       MeditationFocusStrength = 0.18,
+
       Beauty = -10,
 
     },
 
     },
 +
    size = {3, 2},
 +
    fillPercent = 1,
 +
    passability = "Impassable",
 +
    hasInteractionCell = true,
 
     terrainAffordanceNeeded = "Heavy",
 
     terrainAffordanceNeeded = "Heavy",
 
     comps = {
 
     comps = {
       CompProperties_MeditationFocus = {
+
       CompProperties_Power = {
         statDef = "MeditationFocusStrength",
+
         compClass = "CompPowerTrader",
         focusTypes = {
+
         basePowerConsumption = 250,
          "Artistic",
+
        shortCircuitInRain = true,
         },
+
      },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_Glower = {
 +
        glowRadius = 6,
 +
        glowColor = {217, 112, 33, 0},
 +
      },
 +
      CompProperties_HeatPusher = {
 +
        compClass = "CompHeatPusherPowered",
 +
         heatPerSecond = 12,
 
       },
 
       },
 
     },
 
     },
  },
+
     building = {
  ThingDef = {
+
       heatPerTickWhileWorking = 0.32,
     _ = {
+
       buildingTags = {
       Name = "BuildingNaturalBase",
+
        "Production",
       Abstract = true,
+
       },
      FileName = "Buildings_Natural.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     category = "Building",
+
     researchPrerequisites = {
    building = {
+
       "Electricity",
       artificialForMeditationPurposes = false,
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:HydroponicsBasin"] = {
 
     _ = {
 
     _ = {
       Name = "RockBase",
+
       ParentName = "BuildingBase",
       ParentName = "BuildingNaturalBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Production.xml",
       FileName = "Buildings_Natural.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Mineable",
+
    defName = "HydroponicsBasin",
     altitudeLayer = "Building",
+
    label = "hydroponics basin",
     passability = "Impassable",
+
    description = [[An artificial nutrient bath for growing plants. The nutrients pumps must work continuously; the plants will die if power is cut.]],
     fillPercent = 1,
+
     thingClass = "Building_PlantGrower",
 +
     altitudeLayer = "LowPlant",
 +
     passability = "PassThroughOnly",
 +
    pathCost = 30,
 +
     fillPercent = 0.30,
 
     statBases = {
 
     statBases = {
       Flammability = 0,
+
      WorkToBuild = 2800,
 +
      MaxHitPoints = 180,
 +
       Flammability = 0.5,
 +
      Cleanliness = -3,
 +
    },
 +
    size = {1, 4},
 +
    costList = {
 +
      Steel = 100,
 +
      ComponentIndustrial = 1,
 
     },
 
     },
 
     building = {
 
     building = {
       isInert = true,
+
       defaultPlantToGrow = "Plant_Rice",
       isNaturalRock = true,
+
       sowTag = "Hydroponic",
       deconstructible = false,
+
       buildingTags = {
 +
        "Production",
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_Forbiddable = {},
 +
      CompProperties_Power = {
 +
        compClass = "CompPowerTrader",
 +
        basePowerConsumption = 70,
 +
      },
 +
      CompProperties_Flickable = {},
 +
    },
 +
    researchPrerequisites = {
 +
      "Hydroponics",
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Medium",
 
   },
 
   },
  
   ["ThingDef:CollapsedRocks"] = {
+
   ["ThingDef:FermentingBarrel"] = {
 
     _ = {
 
     _ = {
       ParentName = "RockBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "CollapsedRocks",
+
     defName = "FermentingBarrel",
     label = "collapsed rocks",
+
     label = "fermenting barrel",
     description = [[Collapsed rocks, packed tightly enough to hold up a roof.]],
+
     description = [[A barrel for fermenting raw wort into beer.]],
     statBases = {
+
     thingClass = "Building_FermentingBarrel",
      MaxHitPoints = 500,
+
    minifiedDef = "MinifiedThing",
     },
+
    altitudeLayer = "Building",
     building = {
+
    passability = "PassThroughOnly",
       isNaturalRock = false,
+
    fillPercent = 0.45,
 +
     pathCost = 42,
 +
     thingCategories = {
 +
       "BuildingsProduction",
 
     },
 
     },
  },
+
    statBases = {
 
+
      WorkToBuild = 600,
  ["ThingDef:MineableSteel"] = {
+
      Mass = 10,
    _ = {
+
      MaxHitPoints = 100,
       ParentName = "RockBase",
+
       Flammability = 1.0,
       FileName = "Buildings_Natural.xml",
+
    },
       DLC = "Core",
+
    costList = {
 +
       Steel = 10,
 +
       WoodLog = 30,
 
     },
 
     },
     defName = "MineableSteel",
+
     comps = {
    label = "compacted steel",
+
      CompProperties_TemperatureRuinable = {
    description = [[The remains of some ancient, collapsed structure. Rich in steel.]],
+
        minSafeTemperature = -1,
    statBases = {
+
        maxSafeTemperature = 32,
       MaxHitPoints = 1500,
+
        progressPerDegreePerTick = 0.00001,
 +
       },
 
     },
 
     },
 
     building = {
 
     building = {
       isResourceRock = true,
+
       buildingTags = {
      mineableThing = "Steel",
+
        "Production",
       mineableYield = 40,
+
       },
 +
    },
 +
    researchPrerequisites = {
 +
      "Brewing",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MineableSilver"] = {
+
   ["ThingDef:DeepDrill"] = {
 
     _ = {
 
     _ = {
       ParentName = "RockBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MineableSilver",
+
     defName = "DeepDrill",
     label = "silver ore",
+
     label = "deep drill",
     description = [[Rock containing bits of silver.]],
+
     description = [[A deep-crust drilling rig for extracting minerals from deep under the surface. Use a ground-penetrating scanner to detect the resources. This drill will yield stone chunks if no resources are present. Can be repositioned freely.]],
     statBases = {
+
     size = {1, 1},
      MaxHitPoints = 1500,
+
    altitudeLayer = "Building",
     },
+
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    fillPercent = 0.5,
 +
    hasInteractionCell = true,
 +
     terrainAffordanceNeeded = "Light",
 +
    minifiedDef = "MinifiedThing",
 
     building = {
 
     building = {
       isResourceRock = true,
+
       buildingTags = {
      mineableThing = "Silver",
+
        "Production",
       mineableYield = 40,
+
       },
 
     },
 
     },
  },
+
     thingCategories = {
 
+
       "BuildingsProduction",
  ["ThingDef:MineableGold"] = {
 
     _ = {
 
       ParentName = "RockBase",
 
      FileName = "Buildings_Natural.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "MineableGold",
+
     costList = {
    label = "gold ore",
+
      Steel = 100,
    description = [[Rock containing bits of gold.]],
+
       ComponentIndustrial = 2,
    statBases = {
 
       MaxHitPoints = 1500,
 
 
     },
 
     },
     building = {
+
     researchPrerequisites = {
       isResourceRock = true,
+
       "DeepDrilling",
      mineableThing = "Gold",
 
      mineableYield = 40,
 
 
     },
 
     },
  },
+
    statBases = {
 
+
      MaxHitPoints = 300,
  ["ThingDef:MineableUranium"] = {
+
       WorkToBuild = 10000,
    _ = {
+
       Flammability = 0.5,
       ParentName = "RockBase",
+
      Beauty = -25,
       FileName = "Buildings_Natural.xml",
+
       Mass = 35,
       DLC = "Core",
 
 
     },
 
     },
     defName = "MineableUranium",
+
     comps = {
    label = "uranium ore",
+
      CompProperties_Forbiddable = {},
    description = [[Rock containing bits of uranium.]],
+
      CompProperties_Flickable = {},
    statBases = {
+
      CompProperties_Power = {
      MaxHitPoints = 4000,
+
        compClass = "CompPowerTrader",
    },
+
        basePowerConsumption = 200,
    building = {
+
       },
       isResourceRock = true,
+
       CompProperties_DeepDrill = {},
       mineableThing = "Uranium",
+
       CompProperties_CreatesInfestations = {},
       mineableYield = 40,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MineablePlasteel"] = {
+
   ["ThingDef:NutrientPasteDispenser"] = {
 
     _ = {
 
     _ = {
       ParentName = "RockBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MineablePlasteel",
+
     defName = "NutrientPasteDispenser",
     label = "compacted plasteel",
+
     label = "nutrient paste dispenser",
     description = [[Ancient compacted rubble rich in plasteel.]],
+
     description = [[A machine that synthesizes edible nutrient paste from organic feedstocks placed in adjacent hoppers. It consumes less ingredients and time than any other meal production method - but nobody likes eating nutrient paste. Accepts raw food, but not rough plant matter like hay.]],
 +
    thingClass = "Building_NutrientPasteDispenser",
 +
    altitudeLayer = "Building",
 +
    passability = "Impassable",
 +
    fillPercent = 1,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 8000,
+
      WorkToBuild = 2200,
 +
       MaxHitPoints = 350,
 +
      Flammability = 0.5,
 
     },
 
     },
 
     building = {
 
     building = {
       isResourceRock = true,
+
       isMealSource = true,
       mineableThing = "Plasteel",
+
       buildingTags = {
       mineableYield = 40,
+
        "Production",
 +
       },
 
     },
 
     },
  },
+
    comps = {
 
+
      CompProperties_Power = {
  ["ThingDef:MineableJade"] = {
+
        compClass = "CompPowerTrader",
    _ = {
+
        basePowerConsumption = 200,
      ParentName = "RockBase",
+
       },
       FileName = "Buildings_Natural.xml",
+
      CompProperties_Flickable = {},
       DLC = "Core",
+
       CompProperties_Breakdownable = {},
 
     },
 
     },
     defName = "MineableJade",
+
     size = {3, 4},
     label = "jade",
+
     costList = {
    description = [[Rock containing bits of jade.]],
+
      Steel = 90,
    statBases = {
+
       ComponentIndustrial = 3,
       MaxHitPoints = 1500,
 
 
     },
 
     },
     building = {
+
     hasInteractionCell = true,
      isResourceRock = true,
+
    terrainAffordanceNeeded = "Heavy",
      mineableThing = "Jade",
+
    researchPrerequisites = {
       mineableYield = 40,
+
       "NutrientPaste",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MineableComponentsIndustrial"] = {
+
   ["ThingDef:Hopper"] = {
 
     _ = {
 
     _ = {
       ParentName = "RockBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Production.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MineableComponentsIndustrial",
+
     defName = "Hopper",
     label = "compacted machinery",
+
     label = "hopper",
     description = [[Ancient machinery, compacted over time. Can be mined for useful components.]],
+
     description = [[Holds resources for use by machines like nutrient paste dispensers.]],
 +
    thingClass = "Building_Storage",
 +
    altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.5,
 +
    pathCost = 42,
 +
    building = {
 +
      fixedStorageSettings = {
 +
        priority = "Important",
 +
        filter = {
 +
          categories = {
 +
            "FoodRaw",
 +
          },
 +
          specialFiltersToDisallow = {
 +
            "AllowPlantFood",
 +
          },
 +
        },
 +
      },
 +
      defaultStorageSettings = {
 +
        priority = "Important",
 +
        filter = {
 +
          categories = {
 +
            "FoodRaw",
 +
          },
 +
          disallowedThingDefs = {
 +
            "Meat_Human",
 +
            "Meat_Megaspider",
 +
          },
 +
        },
 +
      },
 +
      buildingTags = {
 +
        "Production",
 +
      },
 +
    },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 2000,
+
      WorkToBuild = 300,
 +
       MaxHitPoints = 100,
 +
      Flammability = 0.5,
 +
    },
 +
    costList = {
 +
      Steel = 15,
 
     },
 
     },
     building = {
+
     researchPrerequisites = {
       isResourceRock = true,
+
       "NutrientPaste",
      mineableThing = "ComponentIndustrial",
 
      mineableYield = 2,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SteamGeyser"] = {
+
   ["ThingDef:Sandbags"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingNaturalBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SteamGeyser",
+
     defName = "Sandbags",
     label = "steam geyser",
+
     label = "sandbags",
     description = [[A natural source of high-pressure steam. Geothermal generators can harness the steam power. Rooms built over this will rapidly cook.]],
+
     description = [[Bags of locally-sourced dirt or sand, stacked for use as cover. Sandbags are ugly, but provide better cover than other low objects.]],
     thingClass = "Building_SteamGeyser",
+
     thingClass = "Building",
     altitudeLayer = "Floor",
+
    category = "Building",
     useHitPoints = false,
+
     altitudeLayer = "Building",
     size = {2, 2},
+
    pathCost = 42,
 +
    pathCostIgnoreRepeat = true,
 +
    passability = "PassThroughOnly",
 +
     fillPercent = 0.57,
 +
     statBases = {
 +
      MaxHitPoints = 300,
 +
      Beauty = -10,
 +
      WorkToBuild = 180,
 +
      Flammability = 0,
 +
    },
 
     building = {
 
     building = {
       isEdifice = false,
+
       isInert = true,
      deconstructible = false,
 
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Light",
 
   },
 
   },
  
   ["ThingDef:Hive"] = {
+
   ["ThingDef:Barricade"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingNaturalBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Hive",
+
     defName = "Barricade",
     label = "hive",
+
     label = "barricade",
     description = [[A hive of giant insects. If activated, it will spawn additional insects and hives over time, as well as valuable insect jelly.]],
+
     description = [[A waist-high barrier for use as cover from incoming shots. Barricades are ugly, but provide better cover than other low objects.]],
     thingClass = "Hive",
+
     thingClass = "Building",
 +
    category = "Building",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     fillPercent = 0.5,
+
    pathCost = 42,
 +
    pathCostIgnoreRepeat = true,
 +
    passability = "PassThroughOnly",
 +
     fillPercent = 0.57,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 130,
+
       MaxHitPoints = 300,
       Flammability = 1.0,
+
      Beauty = -3,
 +
      WorkToBuild = 320,
 +
       Flammability = 1,
 
     },
 
     },
     pathCost = 42,
+
     building = {
    passability = "PassThroughOnly",
+
       isInert = true,
    killedLeavings = {
 
       InsectJelly = 30,
 
    },
 
    comps = {
 
      CompProperties_CanBeDormant = {
 
        startsDormant = true,
 
        canWakeUpFogged = false,
 
      },
 
      CompProperties_WakeUpDormant = {},
 
      CompProperties_SpawnerPawn = {
 
        spawnablePawnKinds = {
 
          "Megascarab",
 
          "Spelopede",
 
          "Megaspider",
 
        },
 
        lordJob = "LordJob_DefendAndExpandHive",
 
        spawnSound = "Hive_Spawn",
 
        initialPawnsPoints = 200,
 
        maxSpawnedPawnsPoints = 500,
 
      },
 
      CompProperties_SelfhealHitpoints = {
 
        ticksPerHeal = 6000,
 
      },
 
      CompProperties_SpawnerHives = {},
 
      CompProperties_Spawner = {
 
        thingToSpawn = "InsectJelly",
 
        spawnCount = 20,
 
        spawnIntervalRange = { ["<"]=26000, [">"]=30000 },
 
        spawnMaxAdjacent = 40,
 
        spawnForbidden = true,
 
        saveKeysPrefix = "jelly",
 
      },
 
      CompProperties_Spawner = {
 
        thingToSpawn = "GlowPod",
 
        spawnCount = 1,
 
        spawnIntervalRange = { ["<"]=30000, [">"]=60000 },
 
        spawnMaxAdjacent = 1,
 
        saveKeysPrefix = "pod",
 
        inheritFaction = true,
 
      },
 
      CompProperties_HeatPusher = {
 
        heatPerSecond = 6,
 
        heatPushMaxTemperature = 38,
 
      },
 
      CompProperties_SpawnerFilth = {
 
        filthDef = "Filth_Slime",
 
        spawnCountOnSpawn = 10,
 
        spawnMtbHours = 4,
 
        spawnRadius = 5,
 
      },
 
      CompProperties_Maintainable = {
 
        ticksHealthy = 60000,
 
        ticksNeedsMaintenance = 60000,
 
        damagePerTickRare = 10,
 
      },
 
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Heavy",
 
   },
 
   },
  
   ["ThingDef:GlowPod"] = {
+
   ["ThingDef:TrapSpike"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingNaturalBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Natural.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "GlowPod",
+
     defName = "TrapSpike",
     label = "glow pod",
+
     label = "spike trap",
     description = [[A bioluminescent pod produced by giant insects. Glows under its own light for a long time, then dies.]],
+
     description = [[Five spikes under tension, connected to a touch-activated trigger. When the victim disturbs the trigger, the spikes spring forth and strike the victim. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
     thingClass = "Building",
+
     thingClass = "Building_TrapDamager",
 +
    altitudeLayer = "Building",
 
     minifiedDef = "MinifiedThing",
 
     minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.20,
 
    leaveResourcesWhenKilled = false,
 
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsSpecial",
+
       "BuildingsSecurity",
 
     },
 
     },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 50,
+
      Mass = 2.5,
       Mass = 4,
+
       MaxHitPoints = 40,
       Flammability = 1.0,
+
       WorkToBuild = 3200,
       MarketValue = 50,
+
       Flammability = 1,
 +
       Beauty = -18,
 +
      Cleanliness = -5,
 +
      TrapMeleeDamage = 100,
 +
      TrapSpringChance = 1.0,
 
     },
 
     },
     comps = {
+
     building = {
       CompProperties_Glower = {
+
       isTrap = true,
        glowRadius = 6,
 
        glowColor = {113, 141, 117, 0},
 
      },
 
      CompProperties_Lifespan = {
 
        lifespanTicks = 1200000,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:RaisedRocks"] = {
+
   ["ThingDef:TrapIEDBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "RockBase",
+
      Name = "TrapIEDBase",
       Name = "RaisedRocks",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Natural.xml",
+
       Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RaisedRocks",
+
     thingClass = "Building_TrapExplosive",
     label = "raised rocks",
+
     altitudeLayer = "Building",
     description = [[A fragile wall made of rubble. It will collapse in time.]],
+
     minifiedDef = "MinifiedThing",
 
     leaveResourcesWhenKilled = false,
 
     leaveResourcesWhenKilled = false,
 +
    thingCategories = {
 +
      "BuildingsSecurity",
 +
    },
 +
    statBases = {
 +
      Mass = 2,
 +
      MaxHitPoints = 40,
 +
      WorkToBuild = 1400,
 +
      Flammability = 1,
 +
      Beauty = -4,
 +
      TrapSpringChance = 1.0,
 +
    },
 
     building = {
 
     building = {
       isNaturalRock = false,
+
       isTrap = true,
 
     },
 
     },
     comps = {
+
     researchPrerequisites = {
       CompProperties_Lifespan = {
+
       "IEDs",
        lifespanTicks = 10000,
 
        expireEffect = "RaisedRock_Collapse",
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PowerConduit"] = {
+
   ["ThingDef:TrapIED_HighExplosive"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "TrapIEDBase",
       Name = "PowerConduit",
+
       DefCategory = "ThingDef",
       FileName = "Buildings_Power.xml",
+
       FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PowerConduit",
+
     defName = "TrapIED_HighExplosive",
     label = "power conduit",
+
     label = "IED trap",
     description = [[A bundle of electrical cables for moving power around. Can be placed under walls and other buildings.]],
+
     description = [[A pair of high-explosive shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    thingClass = "Building",
 
    category = "Building",
 
    building = {
 
      isInert = true,
 
      isEdifice = false,
 
    },
 
    altitudeLayer = "Conduits",
 
    passability = "Standable",
 
    leaveResourcesWhenKilled = false,
 
    statBases = {
 
      MaxHitPoints = 80,
 
      WorkToBuild = 35,
 
      Flammability = 0.7,
 
      Beauty = -2,
 
    },
 
 
     costList = {
 
     costList = {
       Steel = 1,
+
       Shell_HighExplosive = 2,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Explosive = {
         compClass = "CompPowerTransmitter",
+
         explosiveRadius = 3.9,
         transmitsPower = true,
+
        explosiveDamageType = "Bomb",
 +
         startWickHitPointsPercent = 0.2,
 +
        wickTicks = 15,
 +
        startWickOnDamageTaken = {
 +
          "Bullet",
 +
          "Arrow",
 +
          "ArrowHighVelocity",
 +
        },
 
       },
 
       },
    },
 
    terrainAffordanceNeeded = "Light",
 
    researchPrerequisites = {
 
      "Electricity",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WaterproofConduit"] = {
+
   ["ThingDef:TrapIED_Incendiary"] = {
 
     _ = {
 
     _ = {
       ParentName = "PowerConduit",
+
       ParentName = "TrapIEDBase",
       FileName = "Buildings_Power.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "WaterproofConduit",
+
     defName = "TrapIED_Incendiary",
     label = "waterproof conduit",
+
     label = "IED incendiary trap",
     description = [[Insulated electrical cables for transmitting power under shallow water.]],
+
     description = [[A pair of incendiary shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    terrainAffordanceNeeded = "ShallowWater",
 
 
     costList = {
 
     costList = {
       Steel = 10,
+
       Shell_Incendiary = 2,
 +
    },
 +
    comps = {
 +
      CompProperties_Explosive = {
 +
        explosiveRadius = 3.9,
 +
        explosiveDamageType = "Flame",
 +
        startWickHitPointsPercent = 0.2,
 +
        wickTicks = 15,
 +
        startWickOnDamageTaken = {
 +
          "Bullet",
 +
          "Arrow",
 +
          "ArrowHighVelocity",
 +
        },
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PowerSwitch"] = {
+
   ["ThingDef:TrapIED_EMP"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "TrapIEDBase",
       FileName = "Buildings_Power.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PowerSwitch",
+
     defName = "TrapIED_EMP",
     label = "power switch",
+
     label = "IED EMP trap",
     description = [[Switches power on/off.]],
+
     description = [[A pair of EMP shells connected to a trigger which detonates on touch or bullet impact. The explosion can paralyze mechanoids for a few seconds. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    thingClass = "Building_PowerSwitch",
 
    category = "Building",
 
    altitudeLayer = "Building",
 
    passability = "Standable",
 
    leaveResourcesWhenKilled = false,
 
    statBases = {
 
      MaxHitPoints = 120,
 
      WorkToBuild = 200,
 
      Flammability = 0.5,
 
      Beauty = -2,
 
    },
 
 
     costList = {
 
     costList = {
       Steel = 15,
+
       Shell_EMP = 2,
      ComponentIndustrial = 1,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Explosive = {
         compClass = "CompPowerTransmitter",
+
         explosiveRadius = 10.9,
         transmitsPower = true,
+
        explosiveDamageType = "EMP",
 +
         startWickHitPointsPercent = 0.2,
 +
        wickTicks = 15,
 +
        startWickOnDamageTaken = {
 +
          "Bullet",
 +
          "Arrow",
 +
          "ArrowHighVelocity",
 +
        },
 
       },
 
       },
      CompProperties_Flickable = {},
 
    },
 
    researchPrerequisites = {
 
      "Electricity",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WoodFiredGenerator"] = {
+
   ["ThingDef:TrapIED_Smoke"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "TrapIEDBase",
       FileName = "Buildings_Power.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "WoodFiredGenerator",
+
     defName = "TrapIED_Smoke",
     label = "wood-fired generator",
+
     label = "IED Smoke trap",
     description = [[Produces power by consuming wood. Must be periodically loaded with wood fuel by hand.]],
+
     description = [[A pair of smoke shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    thingClass = "Building",
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    fillPercent = 1.0,
 
    statBases = {
 
      MaxHitPoints = 300,
 
      WorkToBuild = 2500,
 
      Flammability = 1.0,
 
      Beauty = -20,
 
    },
 
    size = {2, 2},
 
 
     costList = {
 
     costList = {
       Steel = 100,
+
       Shell_Smoke = 2,
      ComponentIndustrial = 2,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Explosive = {
         compClass = "CompPowerPlant",
+
         explosiveRadius = 8.6,
         basePowerConsumption = -1000,
+
         explosiveDamageType = "Smoke",
         transmitsPower = true,
+
         startWickHitPointsPercent = 0.2,
         soundAmbientProducingPower = "WoodFiredGenerator_Ambience",
+
         postExplosionSpawnThingDef = "Gas_Smoke",
      },
+
        postExplosionSpawnChance = 1,
      CompProperties_Flickable = {},
+
         postExplosionSpawnThingCount = 1,
      CompProperties_Refuelable = {
+
         wickTicks = 15,
         fuelConsumptionRate = 22.0,
+
         startWickOnDamageTaken = {
         fuelCapacity = 75.0,
+
           "Bullet",
         fuelFilter = {
+
          "Arrow",
           thingDefs = {
+
           "ArrowHighVelocity",
            "WoodLog",
 
           },
 
 
         },
 
         },
        showAllowAutoRefuelToggle = true,
 
 
       },
 
       },
      CompProperties_Glower = {
 
        glowRadius = 6,
 
        glowColor = {217, 112, 33, 0},
 
      },
 
      CompProperties_HeatPusher = {
 
        compClass = "CompHeatPusherPowered",
 
        heatPerSecond = 6,
 
      },
 
      CompProperties_Breakdownable = {},
 
    },
 
    terrainAffordanceNeeded = "Medium",
 
    researchPrerequisites = {
 
      "Electricity",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ChemfuelPoweredGenerator"] = {
+
   ["ThingDef:TrapIED_Firefoam"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "TrapIEDBase",
       FileName = "Buildings_Power.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ChemfuelPoweredGenerator",
+
     defName = "TrapIED_Firefoam",
     label = "chemfuel powered generator",
+
     label = "IED firefoam trap",
     description = [[Produces power by consuming chemfuel. Must be periodically refueled by hand.]],
+
     description = [[A pair of firefoam shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    thingClass = "Building",
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    fillPercent = 1.0,
 
    statBases = {
 
      MaxHitPoints = 300,
 
      WorkToBuild = 2500,
 
      Flammability = 1.0,
 
      Beauty = -20,
 
    },
 
    size = {2, 2},
 
 
     costList = {
 
     costList = {
       Steel = 100,
+
       Shell_Firefoam = 2,
      ComponentIndustrial = 3,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Explosive = {
         compClass = "CompPowerPlant",
+
         explosiveRadius = 9.9,
         basePowerConsumption = -1000,
+
         explosiveDamageType = "Extinguish",
         transmitsPower = true,
+
         startWickHitPointsPercent = 0.2,
         soundAmbientProducingPower = "ChemfuelFiredGenerator_Ambience",
+
         postExplosionSpawnThingDef = "Filth_FireFoam",
      },
+
        postExplosionSpawnChance = 1,
      CompProperties_Flickable = {},
+
        postExplosionSpawnThingCount = 3,
      CompProperties_Refuelable = {
+
        applyDamageToExplosionCellsNeighbors = true,
         fuelConsumptionRate = 4.5,
+
         explosionEffect = "ExtinguisherExplosion",
         fuelCapacity = 30.0,
+
         wickTicks = 15,
         fuelFilter = {
+
         startWickOnDamageTaken = {
           thingDefs = {
+
           "Bullet",
            "Chemfuel",
+
          "Arrow",
           },
+
           "ArrowHighVelocity",
 
         },
 
         },
        showAllowAutoRefuelToggle = true,
 
 
       },
 
       },
      CompProperties_Glower = {
+
    },
        glowRadius = 6,
+
  },
        glowColor = {80, 112, 180, 0},
+
 
      },
+
  ["ThingDef:TrapIED_AntigrainWarhead"] = {
      CompProperties_HeatPusher = {
+
    _ = {
        compClass = "CompHeatPusherPowered",
+
      ParentName = "TrapIEDBase",
        heatPerSecond = 6,
+
      DefCategory = "ThingDef",
       },
+
      FileName = "Buildings_Security.xml",
      CompProperties_Breakdownable = {},
+
      DLC = "Core",
 +
    },
 +
    defName = "TrapIED_AntigrainWarhead",
 +
    label = "IED antigrain warhead trap",
 +
    description = [[An antimatter-powered antigrain warhead connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
 +
    costList = {
 +
       Shell_AntigrainWarhead = 1,
 +
    },
 +
    comps = {
 
       CompProperties_Explosive = {
 
       CompProperties_Explosive = {
         explosiveRadius = 0,
+
         explosiveRadius = 14.9,
        explosiveExpandPerFuel = 0.95,
+
         explosiveDamageType = "BombSuper",
         explosiveDamageType = "Flame",
+
         startWickHitPointsPercent = 0.2,
         destroyThingOnExplosionSize = 2,
+
         chanceToStartFire = 0.22,
         startWickHitPointsPercent = 0.333,
+
        damageFalloff = true,
         preExplosionSpawnThingDef = "Filth_Fuel",
+
         explosionEffect = "GiantExplosion",
         preExplosionSpawnChance = 1,
+
         explosionSound = "Explosion_GiantBomb",
         wickTicks = { ["<"]=70, [">"]=150 },
+
         wickTicks = 15,
 +
        startWickOnDamageTaken = {
 +
          "Bullet",
 +
          "Arrow",
 +
          "ArrowHighVelocity",
 +
        },
 
       },
 
       },
    },
 
    terrainAffordanceNeeded = "Medium",
 
    researchPrerequisites = {
 
      "Electricity",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WindTurbine"] = {
+
   ["ThingDef:BaseWeaponTurret"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
      Abstract = true,
       FileName = "Buildings_Power.xml",
+
      Name = "BaseWeaponTurret",
 +
       ParentName = "BaseWeapon",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "WindTurbine",
+
     tradeability = "None",
     thingClass = "Building",
+
     useHitPoints = false,
     label = "wind turbine",
+
     weaponTags = {
    description = [[A wind-powered electrical generator. Requires a large clear space in front and behind for optimal air flow.]],
+
      "TurretGun",
    altitudeLayer = "Building",
 
    passability = "Impassable",
 
    fillPercent = 0.5,
 
    statBases = {
 
      MaxHitPoints = 150,
 
      WorkToBuild = 3300,
 
      Flammability = 0.5,
 
      Beauty = -12,
 
 
     },
 
     },
     size = {7, 2},
+
  },
    terrainAffordanceNeeded = "Heavy",
+
 
    costList = {
+
  ["ThingDef:BaseArtilleryWeapon"] = {
       Steel = 100,
+
     _ = {
       ComponentIndustrial = 2,
+
      Abstract = true,
 +
      Name = "BaseArtilleryWeapon",
 +
      ParentName = "BaseWeaponTurret",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 +
       DLC = "Core",
 
     },
 
     },
     comps = {
+
     weaponTags = {
       CompProperties_Power = {
+
       _ = {
         compClass = "CompPowerPlantWind",
+
         Inherit = false,
        basePowerConsumption = -2300,
 
        transmitsPower = true,
 
 
       },
 
       },
      CompProperties_Breakdownable = {},
+
       "Artillery",
    },
 
    researchPrerequisites = {
 
       "Electricity",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Battery"] = {
+
   ["ThingDef:BaseArtilleryBuilding"] = {
 
     _ = {
 
     _ = {
 +
      Name = "BaseArtilleryBuilding",
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Power.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Battery",
+
     thingClass = "Building_TurretGun",
    label = "battery",
+
     minifiedDef = "MinifiedThing",
     description = [[Stores electricity for later use. Charged batteries explode when exposed to rain or fire.]],
 
    thingClass = "Building_Battery",
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    hasInteractionCell = true,
 +
    size = {2, 2},
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
 
     pathCost = 50,
 
     pathCost = 50,
     fillPercent = 0.40,
+
     fillPercent = 0.4,
    minifiedDef = "MinifiedThing",
 
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsPower",
+
       "BuildingsSecurity",
 
     },
 
     },
     statBases = {
+
     terrainAffordanceNeeded = "Light",
      MaxHitPoints = 100,
 
      WorkToBuild = 800,
 
      Mass = 20,
 
      Flammability = 1.0,
 
      Beauty = -15,
 
    },
 
    size = {1, 2},
 
 
     costList = {
 
     costList = {
       Steel = 70,
+
       Steel = 150,
       ComponentIndustrial = 2,
+
       ComponentIndustrial = 6,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Battery = {
+
       CompProperties_Forbiddable = {},
         storedEnergyMax = 600,
+
      CompProperties_Mannable = {
        efficiency = 0.5,
+
         manWorkType = "Violent",
        shortCircuitInRain = true,
+
      },
         transmitsPower = true,
+
    },
 +
    statBases = {
 +
      MaxHitPoints = 180,
 +
      Flammability = 0.7,
 +
      WorkToBuild = 2000,
 +
      Mass = 30,
 +
      Beauty = -20,
 +
    },
 +
    building = {
 +
      turretBurstWarmupTime = 4.0,
 +
      turretBurstCooldownTime = 28.0,
 +
      buildingTags = {
 +
         "Artillery",
 
       },
 
       },
      CompProperties_Breakdownable = {},
 
 
     },
 
     },
    terrainAffordanceNeeded = "Medium",
 
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "Batteries",
+
       "Mortars",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SolarGenerator"] = {
+
   ["ThingDef:Turret_MiniTurret"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Power.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SolarGenerator",
+
     defName = "Turret_MiniTurret",
     label = "solar generator",
+
     label = "mini-turret",
     description = [[Produces electricity from sunlight. Does not work in the dark or under artificial light.]],
+
     description = [[A portable automatic turret. Requires steel to refurbish its barrel after heavy use. May explode when damaged. Its dumb AI brain can't be directly controlled, so beware of friendly fire.]],
     thingClass = "Building",
+
     thingClass = "Building_TurretGun",
 +
    minifiedDef = "MinifiedThing",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     passability = "PassThroughOnly",
+
     thingCategories = {
     pathCost = 50,
+
      "BuildingsSecurity",
    fillPercent = 0.5,
+
     },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 300,
+
       MaxHitPoints = 100,
      WorkToBuild = 2500,
 
 
       Flammability = 0.7,
 
       Flammability = 0.7,
    },
+
      WorkToBuild = 1800,
    size = {4, 4},
+
      Mass = 8,
    costList = {
+
       Beauty = -20,
       Steel = 100,
+
       ShootingAccuracyTurret = 0.96,
       ComponentIndustrial = 3,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
 +
      CompProperties_Explosive = {
 +
        wickTicks = 240,
 +
        explosiveRadius = 3.9,
 +
        explosiveDamageType = "Bomb",
 +
        chanceNeverExplodeFromDamage = 0.5,
 +
      },
 +
      CompProperties_Forbiddable = {},
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerPlantSolar",
+
         compClass = "CompPowerTrader",
         basePowerConsumption = -1,
+
         basePowerConsumption = 80,
        transmitsPower = true,
 
 
       },
 
       },
 +
      CompProperties_Flickable = {},
 
       CompProperties_Breakdownable = {},
 
       CompProperties_Breakdownable = {},
     },
+
      CompProperties_Refuelable = {
     terrainAffordanceNeeded = "Medium",
+
        fuelLabel = "Shots until barrel change",
 +
        fuelGizmoLabel = "Barrel durability",
 +
        outOfFuelMessage = "Cannot shoot: Needs new barrel",
 +
        fuelFilter = {
 +
          thingDefs = {
 +
            "Steel",
 +
          },
 +
        },
 +
        fuelCapacity = 60,
 +
        fuelMultiplier = 0.75,
 +
        initialFuelPercent = 1,
 +
        autoRefuelPercent = 0.5,
 +
        showFuelGizmo = true,
 +
        minimumFueledThreshold = 1,
 +
        factorByDifficulty = true,
 +
        consumeFuelOnlyWhenUsed = true,
 +
        fuelIconPath = "UI/Overlays/Barrel",
 +
      },
 +
    },
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    fillPercent = 0.4,
 +
    costList = {
 +
      Steel = 70,
 +
      ComponentIndustrial = 3,
 +
     },
 +
     terrainAffordanceNeeded = "Light",
 +
    building = {
 +
      combatPower = 45,
 +
      turretGunDef = "Gun_MiniTurret",
 +
      turretBurstCooldownTime = 4.8,
 +
    },
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "SolarPanels",
+
       "GunTurrets",
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:Bullet_MiniTurret"] = {
 +
    _ = {
 +
      ParentName = "BaseBullet",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_Security_Turrets.xml",
 +
      DLC = "Core",
 
     },
 
     },
 +
    defName = "Bullet_MiniTurret",
 +
    label = "mini-turret bullet",
 
   },
 
   },
  
   ["ThingDef:GeothermalGenerator"] = {
+
   ["ThingDef:Gun_MiniTurret"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BaseWeaponTurret",
       FileName = "Buildings_Power.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "GeothermalGenerator",
+
     defName = "Gun_MiniTurret",
     label = "geothermal generator",
+
     label = "mini-turret gun",
     description = [[Produces electricity from geothermal steam geysers. Must be placed on a steam geyser.]],
+
     description = [[A simple automatic gun made to be mounted on a turret.]],
    thingClass = "Building",
 
    altitudeLayer = "Building",
 
    passability = "Impassable",
 
    fillPercent = 1,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 500,
+
       AccuracyTouch = 0.70,
       WorkToBuild = 12000,
+
      AccuracyShort = 0.64,
       Flammability = 0.5,
+
       AccuracyMedium = 0.41,
       Beauty = -30,
+
       AccuracyLong = 0.22,
 +
      RangedWeapon_Cooldown = 4.8,
 +
      DeteriorationRate = 0,
 +
      Mass = 5,
 +
       Flammability = 0,
 
     },
 
     },
     size = {6, 6},
+
     verbs = {
    costList = {
+
      {
      Steel = 340,
+
        defaultProjectile = "Bullet_MiniTurret",
      ComponentIndustrial = 8,
+
        warmupTime = 0,
    },
+
        range = 28.9,
    comps = {
+
         ticksBetweenBurstShots = 8,
      CompProperties_Power = {
+
         burstShotCount = 2,
         compClass = "CompPowerPlantSteam",
+
         consumeFuelPerShot = 1,
         basePowerConsumption = -3600,
 
         transmitsPower = true,
 
 
       },
 
       },
      CompProperties_Breakdownable = {},
 
    },
 
    terrainAffordanceNeeded = "Heavy",
 
    researchPrerequisites = {
 
      "GeothermalPower",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WatermillGenerator"] = {
+
   ["ThingDef:AutocannonTurret"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Power.xml",
+
      Name = "AutocannonTurret",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "WatermillGenerator",
+
     thingClass = "Building_TurretGun",
    label = "watermill generator",
 
    description = [[Produces electricity from a river. Must be placed with its wheel in moving water. If watermills are placed too close together, the turbulence they generate will interfere and reduce power generation.]],
 
     thingClass = "Building",
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     passability = "Impassable",
+
     size = {2, 2},
    fillPercent = 1,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 400,
+
       MaxHitPoints = 380,
       WorkToBuild = 4000,
+
      Flammability = 0.7,
       Flammability = 1.0,
+
       WorkToBuild = 15000,
 +
       Mass = 100,
 
       Beauty = -20,
 
       Beauty = -20,
 
     },
 
     },
     size = {5, 6},
+
     passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    fillPercent = 0.5,
 +
    terrainAffordanceNeeded = "Heavy",
 +
  },
 +
 
 +
  ["ThingDef:Turret_Autocannon"] = {
 +
    _ = {
 +
      ParentName = "AutocannonTurret",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_Security_Turrets.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Turret_Autocannon",
 +
    label = "autocannon turret",
 +
    description = [[A heavy automatic turret. Its large-caliber shells do heavy damage over significant ranges, but its barrel must be refurbished after use. It cannot fire at close-up targets, and may explode when damaged.]],
 +
    statBases = {
 +
      ShootingAccuracyTurret = 0.96,
 +
    },
 
     costList = {
 
     costList = {
       WoodLog = 280,
+
       Steel = 350,
       Steel = 80,
+
       Plasteel = 40,
       ComponentIndustrial = 3,
+
       ComponentIndustrial = 6,
 
     },
 
     },
 
     comps = {
 
     comps = {
 +
      CompProperties_Explosive = {
 +
        wickTicks = 240,
 +
        explosiveRadius = 5.9,
 +
        explosiveDamageType = "Bomb",
 +
        chanceNeverExplodeFromDamage = 0.5,
 +
      },
 +
      CompProperties_Forbiddable = {},
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerPlantWater",
+
         compClass = "CompPowerTrader",
         basePowerConsumption = -1100,
+
         basePowerConsumption = 150,
        transmitsPower = true,
 
        soundAmbientProducingPower = "WaterMill_Ambience",
 
 
       },
 
       },
 +
      CompProperties_Flickable = {},
 
       CompProperties_Breakdownable = {},
 
       CompProperties_Breakdownable = {},
 +
      CompProperties_Refuelable = {
 +
        fuelLabel = "Shots until barrel change",
 +
        fuelGizmoLabel = "Barrel durability",
 +
        outOfFuelMessage = "Cannot shoot: Needs new barrel",
 +
        fuelFilter = {
 +
          thingDefs = {
 +
            "Steel",
 +
          },
 +
        },
 +
        fuelCapacity = 90,
 +
        fuelMultiplier = 0.5,
 +
        initialFuelPercent = 1,
 +
        autoRefuelPercent = 0.5,
 +
        showFuelGizmo = true,
 +
        minimumFueledThreshold = 1,
 +
        factorByDifficulty = true,
 +
        consumeFuelOnlyWhenUsed = true,
 +
        fuelIconPath = "UI/Overlays/Barrel",
 +
      },
 +
    },
 +
    building = {
 +
      turretGunDef = "Gun_AutocannonTurret",
 +
      turretBurstCooldownTime = 3.5,
 
     },
 
     },
    terrainAffordanceNeeded = {},
 
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "WatermillGenerator",
+
       "HeavyTurrets",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:CraftingSpot"] = {
+
   ["ThingDef:Bullet_AutocannonTurret"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BaseBullet",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "CraftingSpot",
+
     defName = "Bullet_AutocannonTurret",
     label = "crafting spot",
+
     label = "autocannon shell",
     description = [[A place for crafting simple items like knives or bows. Production here is slow because of the lack of tools.]],
+
  },
     thingClass = "Building_WorkTable",
+
 
     altitudeLayer = "FloorEmplacement",
+
  ["ThingDef:Gun_AutocannonTurret"] = {
 +
     _ = {
 +
      ParentName = "BaseWeaponTurret",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_Security_Turrets.xml",
 +
      DLC = "Core",
 +
    },
 +
     defName = "Gun_AutocannonTurret",
 +
     label = "autocannon",
 +
    description = [[A self-loading large-bore cannon designed to attach to a turret.]],
 
     statBases = {
 
     statBases = {
       WorkToBuild = 0,
+
       AccuracyTouch = 0.25,
       WorkTableWorkSpeedFactor = 0.5,
+
      AccuracyShort = 0.65,
 +
      AccuracyMedium = 0.60,
 +
       AccuracyLong = 0.45,
 +
      RangedWeapon_Cooldown = 3.5,
 +
      DeteriorationRate = 0,
 +
      Mass = 40,
 +
      Flammability = 0,
 
     },
 
     },
     useHitPoints = false,
+
     verbs = {
    size = {1, 1},
 
    passability = "Standable",
 
    hasInteractionCell = true,
 
    building = {
 
      sowTag = "SupportPlantsOnly",
 
      artificialForMeditationPurposes = false,
 
      buildingTags = {
 
        "Production",
 
      },
 
    },
 
    comps = {
 
      CompProperties_AffectedByFacilities = {
 
        linkableFacilities = {
 
          "ToolCabinet",
 
        },
 
      },
 
 
       {
 
       {
         compClass = "CompReportWorkSpeed",
+
         defaultProjectile = "Bullet_AutocannonTurret",
 +
        warmupTime = 0,
 +
        minRange = 8.9,
 +
        range = 32.9,
 +
        ticksBetweenBurstShots = 17,
 +
        burstShotCount = 3,
 +
        consumeFuelPerShot = 1,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ButcherSpot"] = {
+
   ["ThingDef:Turret_Sniper"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "AutocannonTurret",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ButcherSpot",
+
     defName = "Turret_Sniper",
     label = "butcher spot",
+
     label = "uranium slug turret",
     description = [[A place for butchering animals. Due to the lack of equipment, butchering here yields only 70% of the meat and leather of each creature.]],
+
     description = [[An armor-piercing turret. Its ultra-dense uranium shells can punch through heavy armor, but it requires new uranium slugs to be loaded after use. It's more accurate at longer ranges, and can't fire at all close up. May explode when damaged.]],
    thingClass = "Building_WorkTable",
 
    altitudeLayer = "FloorEmplacement",
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 0,
+
       ShootingAccuracyTurret = 0.98,
      WorkTableEfficiencyFactor = 0.7,
 
 
     },
 
     },
     useHitPoints = false,
+
     costList = {
    size = {1, 1},
+
      Steel = 300,
    passability = "Standable",
+
       Plasteel = 30,
    hasInteractionCell = true,
+
       Uranium = 60,
    building = {
+
       ComponentIndustrial = 6,
       sowTag = "SupportPlantsOnly",
 
       artificialForMeditationPurposes = false,
 
       buildingTags = {
 
        "Production",
 
      },
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_AffectedByFacilities = {
+
       CompProperties_Explosive = {
         linkableFacilities = {
+
         wickTicks = 240,
          "ToolCabinet",
+
        explosiveRadius = 5.9,
         },
+
        explosiveDamageType = "Bomb",
 +
         chanceNeverExplodeFromDamage = 0.5,
 
       },
 
       },
       {
+
       CompProperties_Forbiddable = {},
         compClass = "CompReportWorkSpeed",
+
      CompProperties_Power = {
 +
         compClass = "CompPowerTrader",
 +
        basePowerConsumption = 150,
 
       },
 
       },
    },
+
      CompProperties_Flickable = {},
  },
+
      CompProperties_Breakdownable = {},
  ThingDef = {
+
      CompProperties_Refuelable = {
    _ = {
+
        fuelLabel = "Shots until rearm",
      Name = "BenchBase",
+
        fuelGizmoLabel = "Uranium slugs",
      ParentName = "BuildingBase",
+
        outOfFuelMessage = "Cannot shoot: No slugs",
      Abstract = true,
+
        fuelFilter = {
      FileName = "Buildings_Production.xml",
+
          thingDefs = {
      DLC = "Core",
+
            "Uranium",
    },
+
          },
    minifiedDef = "MinifiedThing",
+
        },
    terrainAffordanceNeeded = "Medium",
+
        fuelCapacity = 30,
    thingCategories = {
+
        fuelMultiplier = 0.3333,
      "BuildingsProduction",
+
        initialFuelPercent = 1,
    },
+
        autoRefuelPercent = 0.5,
    statBases = {
+
        showFuelGizmo = true,
      Mass = 20,
+
        minimumFueledThreshold = 1,
    },
+
        factorByDifficulty = true,
    comps = {
+
        consumeFuelOnlyWhenUsed = true,
      {
+
         fuelIconPath = "UI/Overlays/Barrel",
         compClass = "CompReportWorkSpeed",
 
 
       },
 
       },
 
     },
 
     },
 
     building = {
 
     building = {
       buildingTags = {
+
       turretGunDef = "Gun_TurretSniper",
        "Production",
+
       turretBurstCooldownTime = 3.2,
       },
+
    },
 +
    researchPrerequisites = {
 +
      "SniperTurret",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TableSculpting"] = {
+
   ["ThingDef:Bullet_TurretSniper"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BaseBullet",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TableSculpting",
+
     defName = "Bullet_TurretSniper",
     label = "art bench",
+
     label = "uranium slug",
     description = [[A workbench equipped for creating art.]],
+
  },
    thingClass = "Building_WorkTable",
+
 
    costList = {
+
  ["ThingDef:Gun_TurretSniper"] = {
       Steel = 50,
+
     _ = {
 +
      ParentName = "BaseWeaponTurret",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_Security_Turrets.xml",
 +
       DLC = "Core",
 
     },
 
     },
     altitudeLayer = "Building",
+
     defName = "Gun_TurretSniper",
     fillPercent = 0.5,
+
     label = "uranium slug cannon",
     useHitPoints = true,
+
     description = [[A self-loading uranium slug cannon designed to attach to a turret.]],
 
     statBases = {
 
     statBases = {
       WorkToBuild = 2500,
+
       AccuracyTouch = 0.20,
       MaxHitPoints = 180,
+
      AccuracyShort = 0.30,
       Flammability = 1.0,
+
      AccuracyMedium = 0.40,
       Cleanliness = -5,
+
       AccuracyLong = 0.95,
 +
       RangedWeapon_Cooldown = 4.0,
 +
       DeteriorationRate = 0,
 +
      Mass = 40,
 +
      Flammability = 0,
 
     },
 
     },
     size = {3, 1},
+
     verbs = {
    passability = "PassThroughOnly",
+
      {
    pathCost = 50,
+
        defaultProjectile = "Bullet_TurretSniper",
    hasInteractionCell = true,
+
        warmupTime = 0,
    comps = {
+
        minRange = 11.9,
      CompProperties_AffectedByFacilities = {
+
        range = 45.9,
         linkableFacilities = {
+
         burstShotCount = 1,
          "ToolCabinet",
+
         consumeFuelPerShot = 1,
         },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TableButcher"] = {
+
   ["ThingDef:Turret_Mortar"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BaseArtilleryBuilding",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TableButcher",
+
     defName = "Turret_Mortar",
     label = "butcher table",
+
     label = "mortar",
     description = [[A heavy table for butchering dead creatures into pieces of raw meat.]],
+
     description = [[A manned mortar that launches all kinds of shells. While it can inflict devastating damage, the mortar's inherent inaccuracy makes it more useful for attacking large fortifications than groups of enemies in the field.]],
     thingClass = "Building_WorkTable",
+
     comps = {
    costList = {
+
      CompProperties_Explosive = {
       WoodLog = 20,
+
        wickTicks = 240,
 +
        explosiveRadius = 4.9,
 +
        explosiveDamageType = "Bomb",
 +
       },
 
     },
 
     },
     altitudeLayer = "Building",
+
     terrainAffordanceNeeded = "Heavy",
     fillPercent = 0.5,
+
     building = {
    useHitPoints = true,
+
       turretGunDef = "Artillery_Mortar",
    statBases = {
+
       buildingTags = {
       WorkToBuild = 2000,
+
         "Artillery_BaseDestroyer",
      MaxHitPoints = 180,
+
         "Artillery_MannedMortar",
      Flammability = 1.0,
 
      Cleanliness = -15,
 
    },
 
    size = {3, 1},
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    hasInteractionCell = true,
 
    comps = {
 
       CompProperties_AffectedByFacilities = {
 
         linkableFacilities = {
 
          "ToolCabinet",
 
         },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:HandTailoringBench"] = {
+
   ["ThingDef:Artillery_Mortar"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BaseArtilleryWeapon",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Security_Turrets.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "HandTailoringBench",
+
     defName = "Artillery_Mortar",
     label = "hand tailor bench",
+
     label = "mortar",
     description = [[A workbench for tailoring clothes by hand. Works at 50% of the speed of an electric tailoring bench.]],
+
     description = [[Mortar launcher. Lobs bombs over walls. Very inaccurate but long-ranged.]],
     thingClass = "Building_WorkTable",
+
     weaponTags = {
    altitudeLayer = "Building",
+
      "Artillery_BaseDestroyer",
    fillPercent = 0.5,
 
    useHitPoints = true,
 
    statBases = {
 
      WorkToBuild = 2000,
 
      MaxHitPoints = 180,
 
      Flammability = 1.0,
 
      WorkTableWorkSpeedFactor = 0.5,
 
 
     },
 
     },
     size = {3, 1},
+
     verbs = {
    passability = "PassThroughOnly",
+
      {
    pathCost = 50,
+
        warmupTime = 4.0,
    hasInteractionCell = true,
+
        forcedMissRadius = 13,
    comps = {
+
        requireLineOfSight = false,
      CompProperties_AffectedByFacilities = {
+
        minRange = 29.9,
         linkableFacilities = {
+
        range = 500,
           "ToolCabinet",
+
        burstShotCount = 1,
 +
         targetParams = {
 +
           canTargetLocations = true,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
     researchPrerequisites = {
+
     comps = {
       "ComplexClothing",
+
       CompProperties_ChangeableProjectile = {},
 
     },
 
     },
   },
+
    building = {
 
+
      fixedStorageSettings = {
   ["ThingDef:ElectricTailoringBench"] = {
+
        filter = {
     _ = {
+
          categories = {
       ParentName = "BenchBase",
+
            "MortarShells",
       FileName = "Buildings_Production.xml",
+
          },
 +
        },
 +
      },
 +
      defaultStorageSettings = {
 +
        filter = {
 +
          categories = {
 +
            "MortarShells",
 +
          },
 +
          disallowedThingDefs = {
 +
            "Shell_Firefoam",
 +
            "Shell_AntigrainWarhead",
 +
          },
 +
        },
 +
      },
 +
    },
 +
   },
 +
 
 +
   ["ThingDef:Ship_Beam"] = {
 +
     _ = {
 +
       ParentName = "BuildingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Ship.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ElectricTailoringBench",
+
     defName = "Ship_Beam",
     label = "electric tailor bench",
+
     label = "ship structural beam",
     description = [[A workbench with a sewing machine for rapid tailoring of clothes. Can work without electricity at 50% of normal speed.]],
+
     description = [[A structural beam around which a starship can be constructed. Includes all the necessary conduits and transit pipes for communications, power, and materials transport.]],
     thingClass = "Building_WorkTable",
+
     thingClass = "Building",
    costList = {
 
      Steel = 50,
 
      ComponentIndustrial = 2,
 
    },
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     fillPercent = 0.5,
+
     passability = "Impassable",
     useHitPoints = true,
+
     fillPercent = 1,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 2500,
+
       WorkToBuild = 8000,
       MaxHitPoints = 180,
+
       MaxHitPoints = 400,
       Flammability = 1.0,
+
       Flammability = 0,
 
     },
 
     },
     size = {3, 1},
+
     size = {2, 6},
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    hasInteractionCell = true,
 
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerTrader",
+
         compClass = "CompPowerTransmitter",
         shortCircuitInRain = true,
+
         transmitsPower = true,
        basePowerConsumption = 120,
 
 
       },
 
       },
       CompProperties_Flickable = {},
+
       CompProperties_ShipPart = {},
      CompProperties_AffectedByFacilities = {
+
    },
        linkableFacilities = {
+
    costList = {
          "ToolCabinet",
+
      Steel = 200,
        },
+
      Plasteel = 40,
       },
+
       ComponentIndustrial = 3,
       CompProperties_Breakdownable = {},
+
       ComponentSpacer = 1,
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Heavy",
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "ComplexClothing",
+
       "ShipBasics",
      "Electricity",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:FueledSmithy"] = {
+
   ["ThingDef:Ship_CryptosleepCasket"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Ship.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "FueledSmithy",
+
     defName = "Ship_CryptosleepCasket",
     label = "fueled smithy",
+
     label = "ship cryptosleep casket",
     description = [[A wood-fueled station for smithing non-mechanical weapons and tools.]],
+
     description = [[A cryptosleep casket hardened against the dangers of space. Capable of maintaining a person in cryptosleep for centuries and surviving atmospheric re-entry.]],
     thingClass = "Building_WorkTable",
+
     thingClass = "Building_CryptosleepCasket",
     costList = {
+
     researchPrerequisites = {
       Steel = 100,
+
       "ShipCryptosleep",
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 +
    passability = "PassThroughOnly",
 +
    pathCost = 42,
 
     fillPercent = 0.5,
 
     fillPercent = 0.5,
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 3000,
+
       WorkToBuild = 8000,
       MaxHitPoints = 180,
+
       MaxHitPoints = 200,
       Flammability = 1.0,
+
       Flammability = 0,
      Cleanliness = -3,
 
 
     },
 
     },
     size = {3, 1},
+
     size = {1, 2},
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
 
     hasInteractionCell = true,
 
     hasInteractionCell = true,
 
     comps = {
 
     comps = {
       CompProperties_Refuelable = {
+
       CompProperties_Power = {
         fuelConsumptionRate = 80.0,
+
         compClass = "CompPowerTransmitter",
         fuelCapacity = 50.0,
+
         transmitsPower = true,
        fuelFilter = {
+
      },
          thingDefs = {
+
      CompProperties_ShipPart = {},
            "WoodLog",
+
      CompProperties_Explosive = {
          },
+
         explosiveRadius = 2.66,
        },
+
         explosiveDamageType = "Flame",
         consumeFuelOnlyWhenUsed = true,
 
         showAllowAutoRefuelToggle = true,
 
 
       },
 
       },
       CompProperties_AffectedByFacilities = {
+
       CompProperties_EmptyStateGraphic = {
         linkableFacilities = {
+
         graphicData = {
           "ToolCabinet",
+
           texPath = "Things/Building/Ship/ShipCryptosleepCasketOpenDoor",
 +
          graphicClass = "Graphic_Multi",
 +
          drawSize = {1, 2},
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
     researchPrerequisites = {
+
     building = {
       "Smithing",
+
       isPlayerEjectable = true,
 +
    },
 +
    costList = {
 +
      Steel = 120,
 +
      Uranium = 14,
 +
      ComponentIndustrial = 3,
 +
      ComponentSpacer = 3,
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Heavy",
 
   },
 
   },
  
   ["ThingDef:ElectricSmithy"] = {
+
   ["ThingDef:Ship_ComputerCore"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Ship.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ElectricSmithy",
+
     defName = "Ship_ComputerCore",
     label = "electric smithy",
+
     label = "ship computer core",
     description = [[An electric-powered station for smithing non-mechanical weapons and tools.]],
+
     description = [[A computer core housing a machine persona who can guide a starship through any challenge during a multi-decade starflight.]],
     thingClass = "Building_WorkTable",
+
     thingClass = "Building_ShipComputerCore",
     costList = {
+
     researchPrerequisites = {
       Steel = 100,
+
       "ShipComputerCore",
      ComponentIndustrial = 3,
 
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     fillPercent = 0.5,
+
     passability = "Impassable",
     useHitPoints = true,
+
     fillPercent = 1,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 3000,
+
       WorkToBuild = 16000,
       MaxHitPoints = 180,
+
       MaxHitPoints = 150,
       Flammability = 1.0,
+
       Flammability = 0,
      Cleanliness = -3,
 
 
     },
 
     },
     size = {3, 1},
+
     size = {2, 2},
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    hasInteractionCell = true,
 
 
     comps = {
 
     comps = {
 +
      CompProperties_ShipPart = {},
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerTrader",
+
         compClass = "CompPowerTransmitter",
         shortCircuitInRain = true,
+
         transmitsPower = true,
        basePowerConsumption = 210,
 
      },
 
      CompProperties_Flickable = {},
 
      CompProperties_AffectedByFacilities = {
 
        linkableFacilities = {
 
          "ToolCabinet",
 
        },
 
      },
 
      CompProperties_HeatPusher = {
 
        compClass = "CompHeatPusherPowered",
 
        heatPerSecond = 4,
 
 
       },
 
       },
 
     },
 
     },
     researchPrerequisites = {
+
     costList = {
       "Smithing",
+
       Steel = 150,
       "Electricity",
+
      ComponentSpacer = 4,
 +
       Gold = 70,
 +
      AIPersonaCore = 1,
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Heavy",
 
   },
 
   },
  
   ["ThingDef:TableMachining"] = {
+
   ["ThingDef:Ship_Reactor"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Ship.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TableMachining",
+
     defName = "Ship_Reactor",
     label = "machining table",
+
     label = "ship reactor",
     description = [[A work station for assembling machinery like guns and ammunition, or breaking down dead mechanoids.]],
+
     description = [[Powers a ship on its journey between stars. Takeoff requires a long powerup process that is likely to attract raiders.]],
     thingClass = "Building_WorkTable",
+
     thingClass = "Building_ShipReactor",
     costList = {
+
     researchPrerequisites = {
       Steel = 150,
+
       "ShipReactor",
      ComponentIndustrial = 5,
 
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     fillPercent = 0.5,
+
     passability = "Impassable",
     useHitPoints = true,
+
     fillPercent = 1,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 3000,
+
       WorkToBuild = 65000,
       MaxHitPoints = 180,
+
       MaxHitPoints = 500,
       Flammability = 1.0,
+
       Flammability = 0,
       Cleanliness = -2,
+
    },
 +
    size = {6, 7},
 +
    costList = {
 +
      Steel = 350,
 +
      Plasteel = 280,
 +
      Uranium = 70,
 +
       ComponentSpacer = 8,
 
     },
 
     },
    size = {3, 1},
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    hasInteractionCell = true,
 
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerTrader",
+
         compClass = "CompPowerPlant",
         shortCircuitInRain = true,
+
         basePowerConsumption = -1000,
         basePowerConsumption = 350,
+
         transmitsPower = true,
 
       },
 
       },
       CompProperties_Flickable = {},
+
       CompProperties_ShipPart = {},
       CompProperties_Glower = {
+
       CompProperties_Hibernatable = {
         glowRadius = 5,
+
         incidentTargetWhileStarting = "Map_RaidBeacon",
         glowColor = {73, 123, 138, 0},
+
         sustainerActive = "ShipReactor_Ambience",
 
       },
 
       },
      CompProperties_AffectedByFacilities = {
 
        linkableFacilities = {
 
          "ToolCabinet",
 
        },
 
      },
 
      CompProperties_Breakdownable = {},
 
    },
 
    researchPrerequisites = {
 
      "Machining",
 
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Heavy",
 
   },
 
   },
  
   ["ThingDef:ElectricStove"] = {
+
   ["ThingDef:Ship_Engine"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Ship.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ElectricStove",
+
     defName = "Ship_Engine",
     label = "electric stove",
+
     label = "ship engine",
     description = [[An electrically-powered stove with an attached countertop for preparing meals.]],
+
     description = [[A reactionless Johnson-Tanaka drive capable of launching a ship into orbit, and crawling across the vast expanses between stars.]],
     thingClass = "Building_WorkTable_HeatPush",
+
     thingClass = "Building",
     costList = {
+
     researchPrerequisites = {
       Steel = 80,
+
       "ShipEngine",
      ComponentIndustrial = 2,
 
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     fillPercent = 0.5,
+
     passability = "Impassable",
     useHitPoints = true,
+
     fillPercent = 1,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 2000,
+
       WorkToBuild = 50000,
       MaxHitPoints = 180,
+
       MaxHitPoints = 400,
       Flammability = 1.0,
+
       Flammability = 0,
 
     },
 
     },
     size = {3, 1},
+
     size = {3, 4},
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    hasInteractionCell = true,
 
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
         compClass = "CompPowerTrader",
+
         compClass = "CompPowerTransmitter",
         shortCircuitInRain = true,
+
         transmitsPower = true,
        basePowerConsumption = 350,
 
      },
 
      CompProperties_Flickable = {},
 
      CompProperties_Breakdownable = {},
 
      CompProperties_HeatPusher = {
 
        compClass = "CompHeatPusherPowered",
 
        heatPerSecond = 3,
 
 
       },
 
       },
 +
      CompProperties_ShipPart = {},
 
     },
 
     },
     building = {
+
     costList = {
       isMealSource = true,
+
       Steel = 260,
       heatPerTickWhileWorking = 0.10,
+
       Plasteel = 140,
    },
+
      Uranium = 70,
    researchPrerequisites = {
+
      ComponentSpacer = 6,
      "Electricity",
 
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Heavy",
 
   },
 
   },
  
   ["ThingDef:FueledStove"] = {
+
   ["ThingDef:Ship_SensorCluster"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Ship.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "FueledStove",
+
     defName = "Ship_SensorCluster",
     label = "fueled stove",
+
     label = "sensor cluster",
     description = [[A wood-fueled stove with an attached countertop for preparing meals.]],
+
     description = [[A multi-function sensor module. Can scan and signal across the void for communications, threat detection, deception, jamming, and other purposes.]],
     thingClass = "Building_WorkTable_HeatPush",
+
     thingClass = "Building",
     costList = {
+
     researchPrerequisites = {
       Steel = 80,
+
       "ShipSensorCluster",
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     fillPercent = 0.5,
+
     passability = "Impassable",
     useHitPoints = true,
+
     fillPercent = 1,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 2000,
+
       WorkToBuild = 30000,
       MaxHitPoints = 180,
+
       MaxHitPoints = 100,
       Flammability = 1.0,
+
       Flammability = 0,
 
     },
 
     },
     size = {3, 1},
+
     size = {2, 2},
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    hasInteractionCell = true,
 
 
     comps = {
 
     comps = {
       CompProperties_Refuelable = {
+
       CompProperties_Power = {
         fuelConsumptionRate = 160.0,
+
         compClass = "CompPowerTransmitter",
        fuelCapacity = 50.0,
+
         transmitsPower = true,
        fuelFilter = {
 
          thingDefs = {
 
            "WoodLog",
 
          },
 
        },
 
        consumeFuelOnlyWhenUsed = true,
 
         showAllowAutoRefuelToggle = true,
 
      },
 
      CompProperties_HeatPusher = {
 
        compClass = "CompHeatPusherPowered",
 
        heatPerSecond = 4,
 
 
       },
 
       },
 +
      CompProperties_ShipPart = {},
 
     },
 
     },
     building = {
+
     costList = {
       isMealSource = true,
+
       Steel = 140,
       heatPerTickWhileWorking = 0.10,
+
       Gold = 4,
 +
      ComponentIndustrial = 6,
 +
      ComponentSpacer = 6,
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Heavy",
 
   },
 
   },
  
   ["ThingDef:TableStonecutter"] = {
+
   ["ThingDef:PsychicEmanator"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Special.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TableStonecutter",
+
     defName = "PsychicEmanator",
     label = "stonecutter's table",
+
     label = "psychic emanator",
     description = [[A work table with saws and chisels for cutting stone chunks into usable blocks.]],
+
     description = [[An ancient device that projects a soothing psychic field around itself. This improves the mood of anyone nearby. Works through walls.]],
     thingClass = "Building_WorkTable_HeatPush",
+
     thingCategories = {
 +
      "BuildingsSpecial",
 +
    },
 
     costList = {
 
     costList = {
       Steel = 30,
+
       Steel = 50,
 +
      ComponentSpacer = 6,
 
     },
 
     },
    altitudeLayer = "Building",
 
    fillPercent = 0.5,
 
    useHitPoints = true,
 
    statBases = {
 
      WorkToBuild = 2000,
 
      MaxHitPoints = 180,
 
      Flammability = 1.0,
 
      Cleanliness = -5,
 
    },
 
    size = {3, 1},
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    hasInteractionCell = true,
 
    terrainAffordanceNeeded = "Heavy",
 
 
     comps = {
 
     comps = {
       CompProperties_AffectedByFacilities = {
+
       CompProperties_Power = {
         linkableFacilities = {
+
         compClass = "CompPowerTrader",
          "ToolCabinet",
+
        basePowerConsumption = 200,
         },
+
      },
 +
      CompProperties_MoteEmitter = {
 +
        mote = "Mote_PsychicEmanatorEffect",
 +
         emissionInterval = 350,
 
       },
 
       },
    },
+
      CompProperties_Breakdownable = {},
    researchPrerequisites = {
+
      CompProperties_Flickable = {},
      "Stonecutting",
 
    },
 
  },
 
 
 
  ["ThingDef:Brewery"] = {
 
    _ = {
 
      ParentName = "BenchBase",
 
      FileName = "Buildings_Production.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Brewery",
 
    label = "brewery",
 
    description = [[A work station with all the equipment needed to mix wort for beer production. Wort must be fermented to finally become beer.]],
 
    thingClass = "Building_WorkTable",
 
    costList = {
 
      WoodLog = 120,
 
      Steel = 30,
 
 
     },
 
     },
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
    fillPercent = 0.5,
 
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
 +
      MarketValue = 1300,
 +
      MaxHitPoints = 100,
 +
      Flammability = 0,
 +
      Beauty = 0,
 +
      Mass = 15,
 
       WorkToBuild = 2000,
 
       WorkToBuild = 2000,
      MaxHitPoints = 180,
 
      Flammability = 1.0,
 
 
     },
 
     },
     size = {3, 1},
+
     fillPercent = 0.2,
 +
    leaveResourcesWhenKilled = false,
 +
    pathCost = 30,
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
     pathCost = 50,
+
     minifiedDef = "MinifiedThing",
     hasInteractionCell = true,
+
     tradeability = "Sellable",
     researchPrerequisites = {
+
     tradeTags = {
       "Brewing",
+
       "ExoticBuilding",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:DrugLab"] = {
+
   ["ThingDef:VanometricPowerCell"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Special.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "DrugLab",
+
     defName = "VanometricPowerCell",
     label = "drug lab",
+
     label = "vanometric power cell",
     description = [[A work bench equipped with containers, heaters, and measurement devices for producing various drugs.]],
+
     description = [[Generates free energy, forever, without using fuel. This technology is developed by archotechs, and is beyond even most glitterworld societies. While nobody knows exactly how it works, scholars believe it somehow extracts energy directly from fluctuations in the quantum foam.]],
    thingClass = "Building_WorkTable",
 
    costList = {
 
      Steel = 75,
 
      ComponentIndustrial = 6,
 
    },
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     fillPercent = 0.5,
+
    pathCost = 42,
     useHitPoints = true,
+
     fillPercent = 0.4,
 +
    passability = "PassThroughOnly",
 +
    leaveResourcesWhenKilled = false,
 +
    terrainAffordanceNeeded = "Medium",
 +
     thingCategories = {
 +
      "BuildingsSpecial",
 +
    },
 
     statBases = {
 
     statBases = {
       WorkToBuild = 3500,
+
       MarketValue = 1200,
       MaxHitPoints = 120,
+
       MaxHitPoints = 200,
       Flammability = 1.0,
+
       Flammability = 0,
 +
      Mass = 15,
 +
    },
 +
    size = {1, 2},
 +
    costList = {
 +
      Steel = 100,
 +
      ComponentSpacer = 6,
 
     },
 
     },
    size = {3, 1},
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    hasInteractionCell = true,
 
 
     comps = {
 
     comps = {
       CompProperties_AffectedByFacilities = {
+
       CompProperties_Power = {
         linkableFacilities = {
+
         compClass = "CompPowerPlant",
          "ToolCabinet",
+
        basePowerConsumption = -1000,
         },
+
        transmitsPower = true,
 +
      },
 +
      CompProperties_Glower = {
 +
        glowRadius = 3,
 +
         glowColor = {227, 233, 168, 0},
 
       },
 
       },
 
     },
 
     },
     researchPrerequisites = {
+
     minifiedDef = "MinifiedThing",
       "DrugProduction",
+
    tradeability = "Sellable",
 +
    tradeTags = {
 +
       "ExoticBuilding",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ElectricSmelter"] = {
+
   ["ThingDef:InfiniteChemreactor"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Special.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ElectricSmelter",
+
     defName = "InfiniteChemreactor",
     label = "electric smelter",
+
     label = "infinite chemreactor",
     description = [[Extracts usable metal from slag chunks and other mixed metal items. Consumes a lot of power.]],
+
     description = [[Slowly generates chemfuel by a complex series of chemical reactions, using atoms extracted from the air.]],
     thingClass = "Building_WorkTable_HeatPush",
+
     thingCategories = {
 +
      "BuildingsSpecial",
 +
    },
 
     costList = {
 
     costList = {
       Steel = 170,
+
       Steel = 200,
       ComponentIndustrial = 2,
+
       ComponentSpacer = 6,
    },
 
    altitudeLayer = "Building",
 
    fillPercent = 0.5,
 
    useHitPoints = true,
 
    statBases = {
 
      WorkToBuild = 3500,
 
      MaxHitPoints = 180,
 
      Flammability = 1.0,
 
 
     },
 
     },
    size = {3, 1},
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    hasInteractionCell = true,
 
    terrainAffordanceNeeded = "Heavy",
 
 
     comps = {
 
     comps = {
 
       CompProperties_Power = {
 
       CompProperties_Power = {
 
         compClass = "CompPowerTrader",
 
         compClass = "CompPowerTrader",
         basePowerConsumption = 700,
+
         basePowerConsumption = 300,
        shortCircuitInRain = true,
 
 
       },
 
       },
 +
      CompProperties_Breakdownable = {},
 
       CompProperties_Flickable = {},
 
       CompProperties_Flickable = {},
       CompProperties_Glower = {
+
       CompProperties_Spawner = {
         glowRadius = 6,
+
         requiresPower = true,
         glowColor = {217, 112, 33, 0},
+
         thingToSpawn = "Chemfuel",
 +
        spawnCount = 75,
 +
        spawnIntervalRange = {
 +
          min = 600000,
 +
          max = 600000,
 +
        },
 +
        writeTimeLeftToSpawn = true,
 +
        showMessageIfOwned = true,
 
       },
 
       },
       CompProperties_HeatPusher = {
+
       CompProperties_Explosive = {
         compClass = "CompHeatPusherPowered",
+
         explosiveRadius = 8,
         heatPerSecond = 9,
+
         explosiveDamageType = "Flame",
 
       },
 
       },
      CompProperties_Breakdownable = {},
 
 
     },
 
     },
     building = {
+
     altitudeLayer = "Building",
       heatPerTickWhileWorking = 0.32,
+
    statBases = {
 +
       MarketValue = 1500,
 +
      MaxHitPoints = 200,
 +
      Flammability = 1.0,
 +
      Beauty = -10,
 +
      Mass = 35,
 +
      WorkToBuild = 8000,
 
     },
 
     },
     researchPrerequisites = {
+
     size = {2, 2},
       "Electricity",
+
    fillPercent = 1.0,
 +
    leaveResourcesWhenKilled = false,
 +
    terrainAffordanceNeeded = "Medium",
 +
    passability = "Impassable",
 +
    minifiedDef = "MinifiedThing",
 +
    tradeability = "Sellable",
 +
    tradeTags = {
 +
       "ExoticBuilding",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:BiofuelRefinery"] = {
+
   ["ThingDef:DoorBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      Name = "DoorBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Structure.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BiofuelRefinery",
+
     thingClass = "Building_Door",
     label = "biofuel refinery",
+
     category = "Building",
    description = [[Refines biological matter like wood or plant matter into chemfuel.]],
+
     altitudeLayer = "DoorMoveable",
    thingClass = "Building_WorkTable",
+
     fillPercent = 1,
     altitudeLayer = "Building",
+
     useHitPoints = true,
     passability = "PassThroughOnly",
 
     pathCost = 50,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 200,
+
       MaxHitPoints = 160,
      WorkToBuild = 2000,
 
 
       Flammability = 1.0,
 
       Flammability = 1.0,
 
     },
 
     },
     minifiedDef = {},
+
     leaveResourcesWhenKilled = false,
    thingCategories = {
+
     terrainAffordanceNeeded = "Light",
      _ = {
+
     building = {
        Inherit = false,
+
       isInert = true,
      },
 
    },
 
     size = {3, 2},
 
     costList = {
 
       Steel = 150,
 
      ComponentIndustrial = 3,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Forbiddable = {},
        compClass = "CompPowerTrader",
 
        basePowerConsumption = 170,
 
        shortCircuitInRain = true,
 
      },
 
      CompProperties_Flickable = {},
 
      CompProperties_Breakdownable = {},
 
    },
 
    fillPercent = 0.5,
 
    hasInteractionCell = true,
 
    terrainAffordanceNeeded = "Heavy",
 
    researchPrerequisites = {
 
      "BiofuelRefining",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:FabricationBench"] = {
+
   ["ThingDef:Door"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "DoorBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Structure.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "FabricationBench",
+
     defName = "Door",
     label = "fabrication bench",
+
     label = "door",
     description = [[A workbench equipped with advanced tools for producing technological marvels from simpler materials.]],
+
     description = [[Divides rooms. Simple doors must be manually opened, which slows people down. The amount of slowdown depends on what the door is made of.]],
    thingClass = "Building_WorkTable",
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 300,
+
       WorkToBuild = 850,
       WorkToBuild = 5000,
 
      Flammability = 1.0,
 
 
     },
 
     },
     minifiedDef = {},
+
  },
     thingCategories = {
+
 
      _ = {
+
  ["ThingDef:Autodoor"] = {
        Inherit = false,
+
     _ = {
       },
+
      ParentName = "DoorBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_Structure.xml",
 +
      DLC = "Core",
 +
    },
 +
     defName = "Autodoor",
 +
    label = "autodoor",
 +
    description = [[Divides rooms. Powered operation allows people to move through the door without slowing down.]],
 +
    statBases = {
 +
       WorkToBuild = 1100,
 
     },
 
     },
    size = {5, 2},
 
 
     costList = {
 
     costList = {
       Steel = 200,
+
       Steel = 40,
       ComponentIndustrial = 12,
+
       ComponentIndustrial = 2,
      ComponentSpacer = 2,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
      CompProperties_AffectedByFacilities = {
 
        linkableFacilities = {
 
          "ToolCabinet",
 
        },
 
      },
 
 
       CompProperties_Power = {
 
       CompProperties_Power = {
 
         compClass = "CompPowerTrader",
 
         compClass = "CompPowerTrader",
         basePowerConsumption = 250,
+
         basePowerConsumption = 50,
        shortCircuitInRain = true,
 
 
       },
 
       },
 +
      CompProperties_Breakdownable = {},
 
       CompProperties_Flickable = {},
 
       CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
 
 
     },
 
     },
    fillPercent = 0.5,
 
    hasInteractionCell = true,
 
    terrainAffordanceNeeded = "Heavy",
 
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "Fabrication",
+
       "Autodoors",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SimpleResearchBench"] = {
+
   ["ThingDef:Wall"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      Name = "Wall",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Structure.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SimpleResearchBench",
+
     defName = "Wall",
     label = "simple research bench",
+
     label = "wall",
     description = [[A simple bench with writing implements and simple measurement devices. Researchers work here to discover new things.]],
+
     description = [[An impassable wall. Capable of holding up a roof.]],
     thingClass = "Building_ResearchBench",
+
     thingClass = "Building",
     size = {3, 2},
+
     category = "Building",
    costList = {
+
    statBases = {
       Steel = 25,
+
      MaxHitPoints = 300,
 +
      WorkToBuild = 135,
 +
      Flammability = 1.0,
 +
       MeditationFocusStrength = 0.22,
 
     },
 
     },
 +
    leaveResourcesWhenKilled = false,
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     passability = "PassThroughOnly",
+
     passability = "Impassable",
     pathCost = 50,
+
     fillPercent = 1,
     statBases = {
+
    terrainAffordanceNeeded = "Heavy",
       MaxHitPoints = 250,
+
     building = {
       WorkToBuild = 2800,
+
       isInert = true,
      Flammability = 1.0,
+
    },
       ResearchSpeedFactor = 0.75,
+
    comps = {
 +
       CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Minimal",
 +
        },
 +
       },
 
     },
 
     },
    fillPercent = 0.5,
 
    hasInteractionCell = true,
 
 
   },
 
   },
  
   ["ThingDef:HiTechResearchBench"] = {
+
   ["ThingDef:Column"] = {
 
     _ = {
 
     _ = {
       ParentName = "BenchBase",
+
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Structure.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "HiTechResearchBench",
+
     defName = "Column",
     label = "hi-tech research bench",
+
     label = "column",
     description = [[A high-tech bench with computers and electronic measurement equipment. Allows more rapid research, and unlocks advanced research projects.]],
+
     description = [[A column capable of holding a roof. Does not block sight or movement and looks quite nice.]],
     thingClass = "Building_ResearchBench",
+
     altitudeLayer = "Building",
     size = {5, 2},
+
     passability = "PassThroughOnly",
    minifiedDef = {},
+
     fillPercent = 0.25,
    thingCategories = {
+
     pathCost = 0,
      _ = {
 
        Inherit = false,
 
      },
 
    },
 
    costList = {
 
      Steel = 100,
 
      ComponentIndustrial = 10,
 
    },
 
    altitudeLayer = "Building",
 
     passability = "PassThroughOnly",
 
     pathCost = 50,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 250,
+
       MaxHitPoints = 160,
       WorkToBuild = 5000,
+
       WorkToBuild = 750,
 +
      Mass = 10,
 
       Flammability = 1.0,
 
       Flammability = 1.0,
       ResearchSpeedFactor = 1.0,
+
       Beauty = 5,
 
     },
 
     },
     comps = {
+
     building = {
       CompProperties_Power = {
+
       isInert = true,
        compClass = "CompPowerTrader",
 
        basePowerConsumption = 250,
 
        shortCircuitInRain = true,
 
      },
 
      CompProperties_Flickable = {},
 
      CompProperties_AffectedByFacilities = {
 
        linkableFacilities = {
 
          "MultiAnalyzer",
 
        },
 
      },
 
    },
 
    fillPercent = 0.5,
 
    hasInteractionCell = true,
 
    terrainAffordanceNeeded = "Heavy",
 
    researchPrerequisites = {
 
      "MicroelectronicsBasics",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ElectricCrematorium"] = {
+
   ["ThingDef:Campfire"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Temperature.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ElectricCrematorium",
+
     defName = "Campfire",
     label = "electric crematorium",
+
     label = "campfire",
     description = [[A huge stone crematorium which vaporizes corpses with extremely high temperatures.]],
+
     description = [[Cooks meals and produces heat, and burns out after a few days. As with all heat sources, it must be placed indoors so it has a closed space to heat. Refuelable.]],
     thingClass = "Building_WorkTable_HeatPush",
+
     thingClass = "Building_WorkTable",
     costList = {
+
     category = "Building",
      Steel = 20,
 
      ComponentIndustrial = 2,
 
    },
 
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     useHitPoints = true,
+
     passability = "PassThroughOnly",
 +
    pathCost = 42,
 +
    fillPercent = 0.20,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 4500,
+
      MaxHitPoints = 80,
       MaxHitPoints = 300,
+
       WorkToBuild = 200,
       Cleanliness = -20,
+
      Flammability = 0,
       Beauty = -10,
+
       WorkTableWorkSpeedFactor = 0.5,
 +
       MeditationFocusStrength = 0.0,
 +
    },
 +
    costList = {
 +
       WoodLog = 20,
 
     },
 
     },
     size = {3, 2},
+
     leaveResourcesWhenKilled = false,
    fillPercent = 1,
 
    passability = "Impassable",
 
    hasInteractionCell = true,
 
    terrainAffordanceNeeded = "Heavy",
 
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Refuelable = {
         compClass = "CompPowerTrader",
+
         fuelConsumptionRate = 10.0,
         basePowerConsumption = 250,
+
        fuelCapacity = 20.0,
         shortCircuitInRain = true,
+
        fuelConsumptionPerTickInRain = 0.0006,
 +
        fuelFilter = {
 +
          thingDefs = {
 +
            "WoodLog",
 +
          },
 +
        },
 +
         initialFuelPercent = 1,
 +
         showAllowAutoRefuelToggle = true,
 
       },
 
       },
      CompProperties_Flickable = {},
 
 
       CompProperties_Glower = {
 
       CompProperties_Glower = {
         glowRadius = 6,
+
         glowRadius = 10,
         glowColor = {217, 112, 33, 0},
+
         glowColor = {252, 187, 113, 0},
 
       },
 
       },
 
       CompProperties_HeatPusher = {
 
       CompProperties_HeatPusher = {
 
         compClass = "CompHeatPusherPowered",
 
         compClass = "CompHeatPusherPowered",
         heatPerSecond = 12,
+
         heatPerSecond = 21,
 +
        heatPushMaxTemperature = 28,
 +
      },
 +
      CompProperties_FireOverlay = {
 +
        fireSize = 1,
 +
      },
 +
      {
 +
        compClass = "CompGatherSpot",
 +
      },
 +
      CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Flame",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_Lit",
 +
            },
 +
            offset = 0.12,
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_BuildingDefsLit",
 +
            },
 +
            defs = {
 +
              "Campfire",
 +
              "TorchLamp",
 +
              "Brazier",
 +
            },
 +
            offsetPerBuilding = 0.02,
 +
            radius = 9.9,
 +
            maxBuildings = 8,
 +
            explanationKey = "MeditationFocusPerFlame",
 +
            explanationKeyAbstract = "MeditationFocusPerFlameAbstract",
 +
          },
 +
        },
 
       },
 
       },
 
     },
 
     },
 +
    hasInteractionCell = true,
 
     building = {
 
     building = {
       heatPerTickWhileWorking = 0.32,
+
       isMealSource = true,
       buildingTags = {
+
       artificialForMeditationPurposes = false,
        "Production",
 
      },
 
    },
 
    researchPrerequisites = {
 
      "Electricity",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:HydroponicsBasin"] = {
+
   ["ThingDef:PassiveCooler"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Temperature.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "HydroponicsBasin",
+
     defName = "PassiveCooler",
     label = "hydroponics basin",
+
     label = "passive cooler",
     description = [[An artificial nutrient bath for growing plants. The nutrients pumps must work continuously; the plants will die if power is cut.]],
+
     description = [[A traditional unpowered cooler that works by water evaporation. Must be regularly replenished with wood. Not efficient enough to refrigerate food.]],
     thingClass = "Building_PlantGrower",
+
     category = "Building",
     altitudeLayer = "LowPlant",
+
     altitudeLayer = "Building",
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
 
     pathCost = 30,
 
     pathCost = 30,
     fillPercent = 0.30,
+
     fillPercent = 0.40,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 2800,
+
       MaxHitPoints = 80,
       MaxHitPoints = 180,
+
       WorkToBuild = 200,
       Flammability = 0.5,
+
       Flammability = 1,
      Cleanliness = -3,
 
 
     },
 
     },
    size = {1, 4},
 
 
     costList = {
 
     costList = {
       Steel = 100,
+
       WoodLog = 50,
      ComponentIndustrial = 1,
 
    },
 
    building = {
 
      defaultPlantToGrow = "Plant_Rice",
 
      sowTag = "Hydroponic",
 
      buildingTags = {
 
        "Production",
 
      },
 
 
     },
 
     },
 +
    leaveResourcesWhenKilled = false,
 
     comps = {
 
     comps = {
       CompProperties_Forbiddable = {},
+
       CompProperties_HeatPusher = {
      CompProperties_Power = {
+
         compClass = "CompHeatPusherPowered",
         compClass = "CompPowerTrader",
+
         heatPerSecond = -11,
         basePowerConsumption = 70,
+
        heatPushMinTemperature = 17,
 
       },
 
       },
       CompProperties_Flickable = {},
+
       CompProperties_Refuelable = {
     },
+
        fuelConsumptionRate = 10.0,
 +
        fuelCapacity = 50.0,
 +
        fuelFilter = {
 +
          thingDefs = {
 +
            "WoodLog",
 +
          },
 +
        },
 +
        initialFuelPercent = 1,
 +
        showAllowAutoRefuelToggle = true,
 +
      },
 +
     },
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "Hydroponics",
+
       "PassiveCooler",
 
     },
 
     },
    terrainAffordanceNeeded = "Medium",
 
 
   },
 
   },
  
   ["ThingDef:FermentingBarrel"] = {
+
   ["ThingDef:Heater"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Temperature.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "FermentingBarrel",
+
     defName = "Heater",
     label = "fermenting barrel",
+
     label = "heater",
     description = [[A barrel for fermenting raw wort into beer.]],
+
     description = [[A device that converts electricity into heat. It can automatically turn itself on or off to reach a specific target temperature.]],
     thingClass = "Building_FermentingBarrel",
+
     thingClass = "Building_Heater",
 
     minifiedDef = "MinifiedThing",
 
     minifiedDef = "MinifiedThing",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 
     passability = "PassThroughOnly",
 
     passability = "PassThroughOnly",
     fillPercent = 0.45,
+
     pathCost = 30,
     pathCost = 42,
+
     fillPercent = 0.4,
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsProduction",
+
       "BuildingsTemperature",
 
     },
 
     },
 
     statBases = {
 
     statBases = {
       WorkToBuild = 600,
+
       WorkToBuild = 1000,
      Mass = 10,
 
 
       MaxHitPoints = 100,
 
       MaxHitPoints = 100,
       Flammability = 1.0,
+
      Mass = 6,
 +
       Flammability = 0.5,
 
     },
 
     },
 
     costList = {
 
     costList = {
       Steel = 10,
+
       Steel = 50,
       WoodLog = 30,
+
       ComponentIndustrial = 1,
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Light",
 
     comps = {
 
     comps = {
       CompProperties_TemperatureRuinable = {
+
       CompProperties_Power = {
         minSafeTemperature = -1,
+
         compClass = "CompPowerTrader",
         maxSafeTemperature = 32,
+
         basePowerConsumption = 175,
         progressPerDegreePerTick = 0.00001,
+
         shortCircuitInRain = true,
 +
      },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_TempControl = {
 +
        energyPerSecond = 21,
 
       },
 
       },
    },
+
      CompProperties_Glower = {
    building = {
+
        glowRadius = 3,
      buildingTags = {
+
         glowColor = {255, 150, 100, 0},
         "Production",
 
 
       },
 
       },
 +
      CompProperties_Breakdownable = {},
 
     },
 
     },
 
     researchPrerequisites = {
 
     researchPrerequisites = {
       "Brewing",
+
       "Electricity",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:DeepDrill"] = {
+
   ["ThingDef:Cooler"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Temperature.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "DeepDrill",
+
     defName = "Cooler",
     label = "deep drill",
+
     label = "cooler",
     description = [[A deep-crust drilling rig for extracting minerals from deep under the surface. Use a ground-penetrating scanner to detect the resources. This drill will yield stone chunks if no resources are present. Can be repositioned freely.]],
+
     description = [[An air-cooling machine that fits into a wall. Cool air comes out one side, while hot exhaust comes out the other. Can be used to cool down rooms during summer, or to create a walk-in freezer.]],
     size = {1, 1},
+
     thingClass = "Building_Cooler",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     passability = "PassThroughOnly",
+
     passability = "Impassable",
    pathCost = 50,
+
     fillPercent = 1,
     fillPercent = 0.5,
+
     statBases = {
     hasInteractionCell = true,
+
      WorkToBuild = 1600,
    terrainAffordanceNeeded = "Light",
+
       MaxHitPoints = 100,
    minifiedDef = "MinifiedThing",
+
       Flammability = 0.7,
    building = {
 
       buildingTags = {
 
        "Production",
 
       },
 
    },
 
    thingCategories = {
 
      "BuildingsProduction",
 
 
     },
 
     },
 
     costList = {
 
     costList = {
       Steel = 100,
+
       Steel = 90,
       ComponentIndustrial = 2,
+
       ComponentIndustrial = 3,
 
     },
 
     },
     researchPrerequisites = {
+
     terrainAffordanceNeeded = "Medium",
      "DeepDrilling",
+
     comps = {
    },
 
    statBases = {
 
      MaxHitPoints = 300,
 
      WorkToBuild = 10000,
 
      Flammability = 0.5,
 
      Beauty = -25,
 
      Mass = 35,
 
    },
 
     comps = {
 
      CompProperties_Forbiddable = {},
 
      CompProperties_Flickable = {},
 
 
       CompProperties_Power = {
 
       CompProperties_Power = {
 
         compClass = "CompPowerTrader",
 
         compClass = "CompPowerTrader",
 
         basePowerConsumption = 200,
 
         basePowerConsumption = 200,
 
       },
 
       },
       CompProperties_DeepDrill = {},
+
       CompProperties_Flickable = {},
       CompProperties_CreatesInfestations = {},
+
       CompProperties_TempControl = {
 +
        energyPerSecond = -21,
 +
      },
 +
      CompProperties_Breakdownable = {},
 +
    },
 +
    researchPrerequisites = {
 +
      "AirConditioning",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:NutrientPasteDispenser"] = {
+
   ["ThingDef:Vent"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BuildingBase",
 
       ParentName = "BuildingBase",
       FileName = "Buildings_Production.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Temperature.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "NutrientPasteDispenser",
+
     defName = "Vent",
     label = "nutrient paste dispenser",
+
     label = "vent",
     description = [[A machine that synthesizes edible nutrient paste from organic feedstocks placed in adjacent hoppers. It consumes less ingredients and time than any other meal production method - but nobody likes eating nutrient paste. Accepts raw food, but not rough plant matter like hay.]],
+
     description = [[A vent for equalizing the temperature between two rooms without allowing people to walk between them.]],
     thingClass = "Building_NutrientPasteDispenser",
+
     thingClass = "Building_Vent",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
 
     passability = "Impassable",
 
     passability = "Impassable",
 
     fillPercent = 1,
 
     fillPercent = 1,
 
     statBases = {
 
     statBases = {
       WorkToBuild = 2200,
+
       WorkToBuild = 400,
       MaxHitPoints = 350,
+
       MaxHitPoints = 100,
       Flammability = 0.5,
+
       Flammability = 1.0,
 +
    },
 +
    costList = {
 +
      Steel = 30,
 
     },
 
     },
     building = {
+
     terrainAffordanceNeeded = "Medium",
      isMealSource = true,
+
    researchPrerequisites = {
      buildingTags = {
+
      "ComplexFurniture",
        "Production",
 
      },
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Flickable = {
         compClass = "CompPowerTrader",
+
         commandTexture = "UI/Commands/Vent",
         basePowerConsumption = 200,
+
         commandLabelKey = "CommandDesignateOpenCloseVentLabel",
 +
        commandDescKey = "CommandDesignateOpenCloseVentDesc",
 
       },
 
       },
      CompProperties_Flickable = {},
 
      CompProperties_Breakdownable = {},
 
    },
 
    size = {3, 4},
 
    costList = {
 
      Steel = 90,
 
      ComponentIndustrial = 3,
 
    },
 
    hasInteractionCell = true,
 
    terrainAffordanceNeeded = "Heavy",
 
    researchPrerequisites = {
 
      "NutrientPaste",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Hopper"] = {
+
   ["ThingDef:ArtifactBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ResourceBase",
       FileName = "Buildings_Production.xml",
+
      Name = "ArtifactBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Artifacts.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Hopper",
+
     thingClass = "ThingWithComps",
     label = "hopper",
+
     thingCategories = {
     description = [[Holds resources for use by machines like nutrient paste dispensers.]],
+
      "Artifacts",
     thingClass = "Building_Storage",
+
     },
     altitudeLayer = "Building",
+
     tradeTags = {
     passability = "PassThroughOnly",
+
      "Artifact",
    fillPercent = 0.5,
+
     },
     pathCost = 42,
+
     statBases = {
     building = {
+
      Mass = 0.5,
       fixedStorageSettings = {
+
     },
         priority = "Important",
+
     comps = {
         filter = {
+
       CompProperties_Usable = {
          categories = {
+
         useJob = "UseArtifact",
            "FoodRaw",
+
         useLabel = "Activate",
          },
 
          specialFiltersToDisallow = {
 
            "AllowPlantFood",
 
          },
 
        },
 
 
       },
 
       },
       defaultStorageSettings = {
+
       CompProperties_UseEffect = {
         priority = "Important",
+
         compClass = "CompUseEffect_DestroySelf",
        filter = {
 
          categories = {
 
            "FoodRaw",
 
          },
 
          disallowedThingDefs = {
 
            "Meat_Human",
 
            "Meat_Megaspider",
 
          },
 
        },
 
 
       },
 
       },
      buildingTags = {
 
        "Production",
 
      },
 
    },
 
    statBases = {
 
      WorkToBuild = 300,
 
      MaxHitPoints = 100,
 
      Flammability = 0.5,
 
    },
 
    costList = {
 
      Steel = 15,
 
    },
 
    researchPrerequisites = {
 
      "NutrientPaste",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Sandbags"] = {
+
   ["ThingDef:PsychicAnimalPulser"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ArtifactBase",
       FileName = "Buildings_Security.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Artifacts.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Sandbags",
+
     defName = "PsychicAnimalPulser",
     label = "sandbags",
+
     label = "psychic animal pulser",
     description = [[Bags of locally-sourced dirt or sand, stacked for use as cover. Sandbags are ugly, but provide better cover than other low objects.]],
+
     description = [[A one-use broad-wave psychic effector. The psychic pulse fills lower minds with terrifying imagery, driving all animals in the region into a manhunting rage. Animals currently under your control will not be affected.]],
     thingClass = "Building",
+
     stackLimit = 1,
    category = "Building",
+
     useHitPoints = true,
    altitudeLayer = "Building",
 
    pathCost = 42,
 
     pathCostIgnoreRepeat = true,
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.57,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 300,
+
       MarketValue = 700,
       Beauty = -10,
+
       MaxHitPoints = 80,
      WorkToBuild = 180,
 
      Flammability = 0,
 
 
     },
 
     },
     building = {
+
     comps = {
       isInert = true,
+
       CompProperties_Targetable = {
 +
        compClass = "CompTargetable_AllAnimalsOnTheMap",
 +
        psychicSensitiveTargetsOnly = true,
 +
        doCameraShake = true,
 +
        moteOnTarget = "Mote_PsycastPsychicEffect",
 +
        moteOnUsed = "Mote_PsycastAreaEffect",
 +
        moteOnUsedScale = 10,
 +
        ignorePlayerFactionPawns = true,
 +
      },
 +
      {
 +
        compClass = "CompTargetEffect_Manhunter",
 +
      },
 +
      CompProperties_TargetEffect_GoodwillImpact = {
 +
        goodwillImpact = -200,
 +
      },
 +
      CompProperties_UseEffectArtifact = {
 +
        sound = "PsychicAnimalPulserCast",
 +
      },
 
     },
 
     },
    terrainAffordanceNeeded = "Light",
 
 
   },
 
   },
  
   ["ThingDef:Barricade"] = {
+
   ["ThingDef:PsychicSoothePulser"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ArtifactBase",
       FileName = "Buildings_Security.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Artifacts.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Barricade",
+
     defName = "PsychicSoothePulser",
     label = "barricade",
+
     label = "psychic soothe pulser",
     description = [[A waist-high barrier for use as cover from incoming shots. Barricades are ugly, but provide better cover than other low objects.]],
+
     description = [[A one-use broad-wave psychic effector. The psychic pulse induces self-satisfying perceptual distortions, giving a temporary mood boost to everyone in the region.]],
     thingClass = "Building",
+
     stackLimit = 1,
    category = "Building",
+
     useHitPoints = true,
    altitudeLayer = "Building",
 
     pathCost = 42,
 
    pathCostIgnoreRepeat = true,
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.57,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 300,
+
       MarketValue = 600,
       Beauty = -3,
+
       MaxHitPoints = 80,
      WorkToBuild = 320,
 
      Flammability = 1,
 
 
     },
 
     },
     building = {
+
     comps = {
       isInert = true,
+
       CompProperties_Targetable = {
 +
        compClass = "CompTargetable_AllPawnsOnTheMap",
 +
        psychicSensitiveTargetsOnly = true,
 +
        doCameraShake = true,
 +
        moteOnTarget = "Mote_PsycastPsychicEffect",
 +
        moteOnUsed = "Mote_PsycastAreaEffect",
 +
        moteOnUsedScale = 10,
 +
      },
 +
      {
 +
        compClass = "CompTargetEffect_MoodBoost",
 +
      },
 +
      CompProperties_UseEffectArtifact = {
 +
        sound = "PsychicSoothePulserCast",
 +
      },
 
     },
 
     },
    terrainAffordanceNeeded = "Heavy",
 
 
   },
 
   },
  
   ["ThingDef:TrapSpike"] = {
+
   ["ThingDef:ResourceVerbBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
      Name = "ResourceVerbBase",
       FileName = "Buildings_Security.xml",
+
       ParentName = "ResourceBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TrapSpike",
+
     comps = {
    label = "spike trap",
+
      {
     description = [[Five spikes under tension, connected to a touch-activated trigger. When the victim disturbs the trigger, the spikes spring forth and strike the victim. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
+
        compClass = "CompEquippable",
     thingClass = "Building_TrapDamager",
+
      },
    altitudeLayer = "Building",
+
     },
    minifiedDef = "MinifiedThing",
+
  },
    thingCategories = {
+
 
      "BuildingsSecurity",
+
  ["ThingDef:AIPersonaCore"] = {
 +
     _ = {
 +
      ParentName = "ResourceBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Items_Exotic.xml",
 +
      DLC = "Core",
 
     },
 
     },
 +
    defName = "AIPersonaCore",
 +
    label = "persona core",
 +
    description = [[A hyper-advanced computer core that houses a peak-human-equivalent machine persona. In its isolated state, the core is dormant. Installed in a proper support structure, however, it can become a mind of great power.]],
 +
    stackLimit = 1,
 +
    useHitPoints = true,
 
     statBases = {
 
     statBases = {
       Mass = 2.5,
+
       MarketValue = 4000,
       MaxHitPoints = 40,
+
       MaxHitPoints = 100,
       WorkToBuild = 3200,
+
       Mass = 2,
       Flammability = 1,
+
       Flammability = 0.2,
      Beauty = -18,
+
    },
      Cleanliness = -5,
+
    thingCategories = {
      TrapMeleeDamage = 100,
+
       "Items",
       TrapSpringChance = 1.0,
 
 
     },
 
     },
     building = {
+
     tradeability = "Sellable",
       isTrap = true,
+
    tradeTags = {
 +
       "ExoticMisc",
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:MechSerumBase"] = {
 
     _ = {
 
     _ = {
       Name = "TrapIEDBase",
+
       ParentName = "ResourceBase",
       ParentName = "BuildingBase",
+
       Name = "MechSerumBase",
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Buildings_Security.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Building_TrapExplosive",
+
     thingClass = "ThingWithComps",
     altitudeLayer = "Building",
+
     useHitPoints = true,
    minifiedDef = "MinifiedThing",
 
    leaveResourcesWhenKilled = false,
 
    thingCategories = {
 
      "BuildingsSecurity",
 
    },
 
 
     statBases = {
 
     statBases = {
       Mass = 2,
+
       MaxHitPoints = 80,
       MaxHitPoints = 40,
+
       Mass = 0.2,
       WorkToBuild = 1400,
+
       DeteriorationRate = 2.0,
       Flammability = 1,
+
       Flammability = 0.2,
      Beauty = -4,
 
      TrapSpringChance = 1.0,
 
 
     },
 
     },
     building = {
+
     tradeTags = {
       isTrap = true,
+
       "ExoticMisc",
 
     },
 
     },
     researchPrerequisites = {
+
     comps = {
       "IEDs",
+
       CompProperties_UseEffectPlaySound = {
 +
        soundOnUsed = "MechSerumUsed",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TrapIED_HighExplosive"] = {
+
   ["ThingDef:MechSerumHealer"] = {
 
     _ = {
 
     _ = {
       ParentName = "TrapIEDBase",
+
       ParentName = "MechSerumBase",
       FileName = "Buildings_Security.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TrapIED_HighExplosive",
+
     defName = "MechSerumHealer",
     label = "IED trap",
+
     label = "healer mech serum",
     description = [[A pair of high-explosive shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
+
     description = [[A one-use super-dose of mechanites tuned to heal health conditions. The mechanites will target and heal the single worst health condition affecting someone at any given time. Works even on health conditions that would otherwise be incurable. The mechanites can even transmute themselves into organic matter, forming new limbs or organs as needed.]],
     costList = {
+
     stackLimit = 10,
       Shell_HighExplosive = 2,
+
    statBases = {
 +
       MarketValue = 1300,
 +
    },
 +
    thingCategories = {
 +
      "Items",
 
     },
 
     },
 +
    tradeability = "Sellable",
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       CompProperties_Usable = {
         explosiveRadius = 3.9,
+
         useJob = "UseItem",
         explosiveDamageType = "Bomb",
+
         useLabel = "Use healer mech serum",
         startWickHitPointsPercent = 0.2,
+
         useDuration = 600,
        wickTicks = 15,
+
      },
        startWickOnDamageTaken = {
+
      CompProperties_UseEffect = {
          "Bullet",
+
        compClass = "CompUseEffect_FixWorstHealthCondition",
          "Arrow",
+
      },
          "ArrowHighVelocity",
+
      CompProperties_UseEffect = {
        },
+
        compClass = "CompUseEffect_DestroySelf",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TrapIED_Incendiary"] = {
+
   ["ThingDef:MechSerumResurrector"] = {
 
     _ = {
 
     _ = {
       ParentName = "TrapIEDBase",
+
       ParentName = "MechSerumBase",
       FileName = "Buildings_Security.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TrapIED_Incendiary",
+
     defName = "MechSerumResurrector",
     label = "IED incendiary trap",
+
     label = "resurrector mech serum",
     description = [[A pair of incendiary shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
+
     description = [[A one-use super-dose of mechanites tuned to resurrect the dead. Administered to a corpse, mechanites repair broken-down tissues and kickstart the body back to life. Unfortunately, the resurrected sometimes come back with brain damage, blindness, or progressive psychosis. Outcomes are better when the mechanites are administered to a fresher body. If a body is preserved, it can even be resurrected long after death.]],
     costList = {
+
     stackLimit = 10,
       Shell_Incendiary = 2,
+
    statBases = {
 +
       MarketValue = 1700,
 +
    },
 +
    thingCategories = {
 +
      "Items",
 
     },
 
     },
 +
    tradeability = "Sellable",
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       CompProperties_Usable = {
         explosiveRadius = 3.9,
+
         useJob = "UseItem",
         explosiveDamageType = "Flame",
+
         useLabel = "Use resurrector mech serum",
         startWickHitPointsPercent = 0.2,
+
         useDuration = 0,
        wickTicks = 15,
+
      },
        startWickOnDamageTaken = {
+
      CompProperties_Targetable = {
          "Bullet",
+
        compClass = "CompTargetable_SingleCorpse",
          "Arrow",
+
        fleshCorpsesOnly = true,
          "ArrowHighVelocity",
+
        nonDessicatedCorpsesOnly = true,
         },
+
      },
 +
      {
 +
         compClass = "CompTargetEffect_Resurrect",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TrapIED_EMP"] = {
+
   ["ThingDef:TechprofSubpersonaCore"] = {
 
     _ = {
 
     _ = {
       ParentName = "TrapIEDBase",
+
       ParentName = "ResourceBase",
       FileName = "Buildings_Security.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TrapIED_EMP",
+
     defName = "TechprofSubpersonaCore",
     label = "IED EMP trap",
+
     label = "techprof subpersona core",
     description = [[A pair of EMP shells connected to a trigger which detonates on touch or bullet impact. The explosion can paralyze mechanoids for a few seconds. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
+
    thingClass = "ThingWithComps",
     costList = {
+
     description = [[A small AI core housing a low-grade subpersona specialized in teaching technology. When used, the AI will teach you the technology you're currently researching, instantly and for free. Can only be used once.]],
       Shell_EMP = 2,
+
     stackLimit = 1,
 +
    useHitPoints = true,
 +
    statBases = {
 +
       MarketValue = 1000,
 +
      MaxHitPoints = 100,
 +
      Mass = 2.0,
 +
      Flammability = 0.2,
 
     },
 
     },
     comps = {
+
     thingCategories = {
       CompProperties_Explosive = {
+
       "Items",
        explosiveRadius = 10.9,
 
        explosiveDamageType = "EMP",
 
        startWickHitPointsPercent = 0.2,
 
        wickTicks = 15,
 
        startWickOnDamageTaken = {
 
          "Bullet",
 
          "Arrow",
 
          "ArrowHighVelocity",
 
        },
 
      },
 
 
     },
 
     },
  },
+
     tradeability = "Sellable",
 
+
    tradeTags = {
  ["ThingDef:TrapIED_Smoke"] = {
+
       "ExoticMisc",
     _ = {
 
      ParentName = "TrapIEDBase",
 
      FileName = "Buildings_Security.xml",
 
       DLC = "Core",
 
    },
 
    defName = "TrapIED_Smoke",
 
    label = "IED Smoke trap",
 
    description = [[A pair of smoke shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
 
    costList = {
 
      Shell_Smoke = 2,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       CompProperties_Usable = {
         explosiveRadius = 8.6,
+
         useJob = "UseItem",
         explosiveDamageType = "Smoke",
+
         useLabel = "Use techprof subpersona core",
        startWickHitPointsPercent = 0.2,
+
      },
         postExplosionSpawnThingDef = "Gas_Smoke",
+
      CompProperties_UseEffect = {
        postExplosionSpawnChance = 1,
+
         compClass = "CompUseEffect_FinishRandomResearchProject",
        postExplosionSpawnThingCount = 1,
+
      },
        wickTicks = 15,
+
      CompProperties_UseEffect = {
         startWickOnDamageTaken = {
+
         compClass = "CompUseEffect_DestroySelf",
          "Bullet",
 
          "Arrow",
 
          "ArrowHighVelocity",
 
        },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TrapIED_Firefoam"] = {
+
   ["ThingDef:ThrumboHorn"] = {
 
     _ = {
 
     _ = {
       ParentName = "TrapIEDBase",
+
       ParentName = "ResourceVerbBase",
       FileName = "Buildings_Security.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TrapIED_Firefoam",
+
     defName = "ThrumboHorn",
     label = "IED firefoam trap",
+
     label = "thrumbo horn",
     description = [[A pair of firefoam shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
+
     description = [[A thrumbo's horn. It's razor-sharp, rock-hard, and priceless in most markets. This is a true trophy, as well as a deadly melee weapon.]],
     costList = {
+
     statBases = {
       Shell_Firefoam = 2,
+
       MarketValue = 800,
 +
      MaxHitPoints = 150,
 +
      Mass = 3,
 +
      Flammability = 0.4,
 +
      DeteriorationRate = 0.5,
 
     },
 
     },
     comps = {
+
     stackLimit = 10,
       CompProperties_Explosive = {
+
    tools = {
         explosiveRadius = 9.9,
+
       {
         explosiveDamageType = "Extinguish",
+
         label = "point",
        startWickHitPointsPercent = 0.2,
+
         capacities = {
         postExplosionSpawnThingDef = "Filth_FireFoam",
+
          "Scratch",
         postExplosionSpawnChance = 1,
+
          "Stab",
         postExplosionSpawnThingCount = 3,
+
         },
        applyDamageToExplosionCellsNeighbors = true,
+
         power = 28,
         explosionEffect = "ExtinguisherExplosion",
+
         cooldownTime = 2.6,
         wickTicks = 15,
+
      },
        startWickOnDamageTaken = {
+
      {
           "Bullet",
+
         label = "base",
          "Arrow",
+
         capacities = {
          "ArrowHighVelocity",
+
           "Blunt",
 
         },
 
         },
 +
        power = 9,
 +
        cooldownTime = 2,
 
       },
 
       },
 +
    },
 +
    thingCategories = {
 +
      "Items",
 +
    },
 +
    tradeTags = {
 +
      "ExoticMisc",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TrapIED_AntigrainWarhead"] = {
+
   ["ThingDef:ElephantTusk"] = {
 
     _ = {
 
     _ = {
       ParentName = "TrapIEDBase",
+
       ParentName = "ResourceVerbBase",
       FileName = "Buildings_Security.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Exotic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TrapIED_AntigrainWarhead",
+
     defName = "ElephantTusk",
     label = "IED antigrain warhead trap",
+
     label = "elephant tusk",
     description = [[An antimatter-powered antigrain warhead connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
+
     description = [[An elephant's tusk. It is very durable and valuable. While somewhat unwieldy as a melee weapon, it can still be deadly.]],
     costList = {
+
     statBases = {
       Shell_AntigrainWarhead = 1,
+
       MarketValue = 80,
 +
      MaxHitPoints = 150,
 +
      Mass = 1.8,
 +
      Flammability = 0.9,
 +
      DeteriorationRate = 0.5,
 
     },
 
     },
     comps = {
+
     stackLimit = 10,
       CompProperties_Explosive = {
+
    tools = {
         explosiveRadius = 14.9,
+
       {
         explosiveDamageType = "BombSuper",
+
         label = "point",
         startWickHitPointsPercent = 0.2,
+
         capacities = {
         chanceToStartFire = 0.22,
+
          "Scratch",
        damageFalloff = true,
+
          "Stab",
        explosionEffect = "GiantExplosion",
+
         },
         explosionSound = "Explosion_GiantBomb",
+
        power = 18.2,
         wickTicks = 15,
+
         cooldownTime = 2.6,
        startWickOnDamageTaken = {
+
      },
           "Bullet",
+
      {
          "Arrow",
+
         label = "base",
          "ArrowHighVelocity",
+
         capacities = {
 +
           "Blunt",
 
         },
 
         },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
        chanceFactor = 0.5,
 
       },
 
       },
 
     },
 
     },
  },
+
     thingCategories = {
  ThingDef = {
+
       "Items",
     _ = {
 
       Abstract = true,
 
      Name = "BaseWeaponTurret",
 
      ParentName = "BaseWeapon",
 
      FileName = "Buildings_Security_Turrets.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     tradeability = "None",
+
     tradeTags = {
    useHitPoints = false,
+
       "ExoticMisc",
    weaponTags = {
 
       "TurretGun",
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:MealBase"] = {
 
     _ = {
 
     _ = {
 +
      Name = "MealBase",
 
       Abstract = true,
 
       Abstract = true,
       Name = "BaseArtilleryWeapon",
+
       DefCategory = "ThingDef",
      ParentName = "BaseWeaponTurret",
+
       FileName = "Items_Food.xml",
       FileName = "Buildings_Security_Turrets.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     weaponTags = {
+
     thingClass = "ThingWithComps",
       _ = {
+
    category = "Item",
        Inherit = false,
+
    useHitPoints = true,
       },
+
    statBases = {
       "Artillery",
+
       MaxHitPoints = 50,
 +
      Flammability = 1.0,
 +
      Beauty = 0,
 +
       Mass = 0.44,
 +
       DeteriorationRate = 10,
 
     },
 
     },
  },
+
     altitudeLayer = "Item",
  ThingDef = {
+
     stackLimit = 10,
    _ = {
 
      Name = "BaseArtilleryBuilding",
 
      ParentName = "BuildingBase",
 
      Abstract = true,
 
      FileName = "Buildings_Security_Turrets.xml",
 
      DLC = "Core",
 
    },
 
    thingClass = "Building_TurretGun",
 
    minifiedDef = "MinifiedThing",
 
     altitudeLayer = "Building",
 
    hasInteractionCell = true,
 
    size = {2, 2},
 
    passability = "PassThroughOnly",
 
     pathCost = 50,
 
    fillPercent = 0.4,
 
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsSecurity",
+
       "FoodMeals",
    },
 
    terrainAffordanceNeeded = "Light",
 
    costList = {
 
      Steel = 150,
 
      ComponentIndustrial = 6,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
 
       CompProperties_Forbiddable = {},
 
       CompProperties_Forbiddable = {},
       CompProperties_Mannable = {
+
       CompProperties_Ingredients = {},
        manWorkType = "Violent",
+
       CompProperties_FoodPoisonable = {},
       },
 
 
     },
 
     },
     statBases = {
+
     pathCost = 14,
      MaxHitPoints = 180,
+
     ingestible = {
      Flammability = 0.7,
+
       foodType = {
      WorkToBuild = 2000,
+
         "Meal",
      Mass = 30,
 
      Beauty = -20,
 
    },
 
     building = {
 
       turretBurstWarmupTime = 4.0,
 
      turretBurstCooldownTime = 28.0,
 
      buildingTags = {
 
         "Artillery",
 
 
       },
 
       },
    },
+
      optimalityOffsetHumanlikes = 16,
    researchPrerequisites = {
 
      "Mortars",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Turret_MiniTurret"] = {
+
   ["ThingDef:MealSurvivalPack"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "MealBase",
       FileName = "Buildings_Security_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Food.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Turret_MiniTurret",
+
     defName = "MealSurvivalPack",
     label = "mini-turret",
+
     label = "packaged survival meal",
     description = [[A portable automatic turret. Requires steel to refurbish its barrel after heavy use. May explode when damaged. Its dumb AI brain can't be directly controlled, so beware of friendly fire.]],
+
     description = [[A high-quality packaged meal, manufactured for use in survival situations. While it never rots, it can still deteriorate if left outside. Great for traveling.]],
     thingClass = "Building_TurretGun",
+
     statBases = {
     minifiedDef = "MinifiedThing",
+
      DeteriorationRate = 0.25,
    altitudeLayer = "Building",
+
      MarketValue = 24,
    thingCategories = {
+
      Mass = 0.3,
       "BuildingsSecurity",
+
      WorkToMake = 450,
 +
      Nutrition = 0.9,
 +
    },
 +
    ingestible = {
 +
      preferability = "MealSimple",
 +
      optimalityOffsetHumanlikes = -5,
 +
      optimalityOffsetFeedingAnimals = -10,
 +
     },
 +
  },
 +
 
 +
  ["ThingDef:MealNutrientPaste"] = {
 +
    _ = {
 +
      ParentName = "MealBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Items_Food.xml",
 +
       DLC = "Core",
 
     },
 
     },
 +
    defName = "MealNutrientPaste",
 +
    label = "nutrient paste meal",
 +
    description = [[A synthetic mixture of protein, carbohydrates, and vitamins, amino acids and minerals. Everything the body needs, and absolutely disgusting.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       MarketValue = 10,
       Flammability = 0.7,
+
       Nutrition = 0.9,
      WorkToBuild = 1800,
+
    },
      Mass = 8,
+
    ingestible = {
       Beauty = -20,
+
       preferability = "MealAwful",
       ShootingAccuracyTurret = 0.96,
+
       tasteThought = "AteAwfulMeal",
 
     },
 
     },
 +
    tradeability = "Buyable",
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       CompProperties_Rottable = {
         wickTicks = 240,
+
         daysToRotStart = 0.75,
        explosiveRadius = 3.9,
+
         rotDestroys = true,
        explosiveDamageType = "Bomb",
 
        chanceNeverExplodeFromDamage = 0.5,
 
      },
 
      CompProperties_Forbiddable = {},
 
      CompProperties_Power = {
 
        compClass = "CompPowerTrader",
 
        basePowerConsumption = 80,
 
      },
 
      CompProperties_Flickable = {},
 
      CompProperties_Breakdownable = {},
 
      CompProperties_Refuelable = {
 
        fuelLabel = "Shots until barrel change",
 
        fuelGizmoLabel = "Barrel durability",
 
        outOfFuelMessage = "Cannot shoot: Needs new barrel",
 
        fuelFilter = {
 
          thingDefs = {
 
            "Steel",
 
          },
 
        },
 
        fuelCapacity = 60,
 
        fuelMultiplier = 0.75,
 
         initialFuelPercent = 1,
 
        autoRefuelPercent = 0.5,
 
        showFuelGizmo = true,
 
        minimumFueledThreshold = 1,
 
        factorByDifficulty = true,
 
        consumeFuelOnlyWhenUsed = true,
 
        fuelIconPath = "UI/Overlays/Barrel",
 
 
       },
 
       },
    },
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    fillPercent = 0.4,
 
    costList = {
 
      Steel = 70,
 
      ComponentIndustrial = 3,
 
    },
 
    terrainAffordanceNeeded = "Light",
 
    building = {
 
      combatPower = 45,
 
      turretGunDef = "Gun_MiniTurret",
 
      turretBurstCooldownTime = 4.8,
 
    },
 
    researchPrerequisites = {
 
      "GunTurrets",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_MiniTurret"] = {
+
   ["ThingDef:MealCooked"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "MealBase",
       FileName = "Buildings_Security_Turrets.xml",
+
      Name = "MealCooked",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Food.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_MiniTurret",
+
     tradeability = "Buyable",
     label = "mini-turret bullet",
+
     comps = {
   },
+
      CompProperties_Rottable = {
 +
        daysToRotStart = 4,
 +
        rotDestroys = true,
 +
      },
 +
    },
 +
   },
  
   ["ThingDef:Gun_MiniTurret"] = {
+
   ["ThingDef:MealSimple"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseWeaponTurret",
+
       ParentName = "MealCooked",
       FileName = "Buildings_Security_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Food.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_MiniTurret",
+
     defName = "MealSimple",
     label = "mini-turret gun",
+
     label = "simple meal",
     description = [[A simple automatic gun made to be mounted on a turret.]],
+
     description = [[A simple meal quickly cooked from one main ingredient.]],
 
     statBases = {
 
     statBases = {
       AccuracyTouch = 0.70,
+
       MarketValue = 15,
       AccuracyShort = 0.64,
+
       WorkToMake = 300,
       AccuracyMedium = 0.41,
+
       Nutrition = 0.9,
      AccuracyLong = 0.22,
 
      RangedWeapon_Cooldown = 4.8,
 
      DeteriorationRate = 0,
 
      Mass = 5,
 
      Flammability = 0,
 
 
     },
 
     },
     verbs = {
+
     ingestible = {
       {
+
       preferability = "MealSimple",
        defaultProjectile = "Bullet_MiniTurret",
 
        warmupTime = 0,
 
        range = 28.9,
 
        ticksBetweenBurstShots = 8,
 
        burstShotCount = 2,
 
        consumeFuelPerShot = 1,
 
      },
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:MealFine"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "MealCooked",
       Name = "AutocannonTurret",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Items_Food.xml",
       FileName = "Buildings_Security_Turrets.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Building_TurretGun",
+
     defName = "MealFine",
     altitudeLayer = "Building",
+
     label = "fine meal",
     size = {2, 2},
+
     description = [[A complex dish assembled with care from a variety of ingredients.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 380,
+
       MarketValue = 20,
       Flammability = 0.7,
+
      WorkToMake = 450,
      WorkToBuild = 15000,
+
       Nutrition = 0.9,
       Mass = 100,
+
    },
       Beauty = -20,
+
    ingestible = {
 +
       preferability = "MealFine",
 +
       tasteThought = "AteFineMeal",
 
     },
 
     },
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    fillPercent = 0.5,
 
    terrainAffordanceNeeded = "Heavy",
 
 
   },
 
   },
  
   ["ThingDef:Turret_Autocannon"] = {
+
   ["ThingDef:MealLavish"] = {
 
     _ = {
 
     _ = {
       ParentName = "AutocannonTurret",
+
       ParentName = "MealCooked",
       FileName = "Buildings_Security_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Food.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Turret_Autocannon",
+
     defName = "MealLavish",
     label = "autocannon turret",
+
     label = "lavish meal",
     description = [[A heavy automatic turret. Its large-caliber shells do heavy damage over significant ranges, but its barrel must be refurbished after use. It cannot fire at close-up targets, and may explode when damaged.]],
+
     description = [[A masterpiece of the culinary arts, this meal nourishes the body, mind, and soul.]],
 
     statBases = {
 
     statBases = {
       ShootingAccuracyTurret = 0.96,
+
       MarketValue = 40,
 +
      WorkToMake = 800,
 +
      Nutrition = 1,
 
     },
 
     },
     costList = {
+
     ingestible = {
       Steel = 350,
+
       preferability = "MealLavish",
       Plasteel = 40,
+
       tasteThought = "AteLavishMeal",
      ComponentIndustrial = 6,
 
 
     },
 
     },
    comps = {
+
   },
      CompProperties_Explosive = {
+
 
        wickTicks = 240,
+
   ["ThingDef:Kibble"] = {
        explosiveRadius = 5.9,
 
        explosiveDamageType = "Bomb",
 
        chanceNeverExplodeFromDamage = 0.5,
 
      },
 
      CompProperties_Forbiddable = {},
 
      CompProperties_Power = {
 
        compClass = "CompPowerTrader",
 
        basePowerConsumption = 150,
 
      },
 
      CompProperties_Flickable = {},
 
      CompProperties_Breakdownable = {},
 
      CompProperties_Refuelable = {
 
        fuelLabel = "Shots until barrel change",
 
        fuelGizmoLabel = "Barrel durability",
 
        outOfFuelMessage = "Cannot shoot: Needs new barrel",
 
        fuelFilter = {
 
          thingDefs = {
 
            "Steel",
 
          },
 
        },
 
        fuelCapacity = 90,
 
        fuelMultiplier = 0.5,
 
        initialFuelPercent = 1,
 
        autoRefuelPercent = 0.5,
 
        showFuelGizmo = true,
 
        minimumFueledThreshold = 1,
 
        factorByDifficulty = true,
 
        consumeFuelOnlyWhenUsed = true,
 
        fuelIconPath = "UI/Overlays/Barrel",
 
      },
 
    },
 
    building = {
 
      turretGunDef = "Gun_AutocannonTurret",
 
      turretBurstCooldownTime = 3.5,
 
    },
 
    researchPrerequisites = {
 
      "HeavyTurrets",
 
    },
 
   },
 
 
 
   ["ThingDef:Bullet_AutocannonTurret"] = {
 
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "OrganicProductBase",
       FileName = "Buildings_Security_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Food.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_AutocannonTurret",
+
     defName = "Kibble",
     label = "autocannon shell",
+
     label = "kibble",
  },
+
    description = [[Animal feed made from mixed meat and plant sources. Humans can eat it, but they really, really don't like it.]],
 
+
     thingCategories = {
  ["ThingDef:Gun_AutocannonTurret"] = {
+
       "Foods",
     _ = {
 
       ParentName = "BaseWeaponTurret",
 
      FileName = "Buildings_Security_Turrets.xml",
 
      DLC = "Core",
 
 
     },
 
     },
    defName = "Gun_AutocannonTurret",
 
    label = "autocannon",
 
    description = [[A self-loading large-bore cannon designed to attach to a turret.]],
 
 
     statBases = {
 
     statBases = {
       AccuracyTouch = 0.25,
+
       MarketValue = 1.1,
       AccuracyShort = 0.65,
+
       Mass = 0.015,
       AccuracyMedium = 0.60,
+
       Nutrition = 0.05,
       AccuracyLong = 0.45,
+
       FoodPoisonChanceFixedHuman = 0.02,
      RangedWeapon_Cooldown = 3.5,
 
      DeteriorationRate = 0,
 
      Mass = 40,
 
      Flammability = 0,
 
 
     },
 
     },
     verbs = {
+
     ingestible = {
       {
+
       foodType = {
         defaultProjectile = "Bullet_AutocannonTurret",
+
         "Kibble",
        warmupTime = 0,
 
        minRange = 8.9,
 
        range = 32.9,
 
        ticksBetweenBurstShots = 17,
 
        burstShotCount = 3,
 
        consumeFuelPerShot = 1,
 
 
       },
 
       },
 +
      preferability = "RawBad",
 +
      tasteThought = "AteKibble",
 +
      optimalityOffsetHumanlikes = -30,
 +
      optimalityOffsetFeedingAnimals = 15,
 +
    },
 +
    comps = {
 +
      CompProperties_Ingredients = {},
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Turret_Sniper"] = {
+
   ["ThingDef:Pemmican"] = {
 
     _ = {
 
     _ = {
       ParentName = "AutocannonTurret",
+
       ParentName = "OrganicProductBase",
       FileName = "Buildings_Security_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Food.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Turret_Sniper",
+
     defName = "Pemmican",
     label = "uranium slug turret",
+
     label = "pemmican",
     description = [[An armor-piercing turret. Its ultra-dense uranium shells can punch through heavy armor, but it requires new uranium slugs to be loaded after use. It's more accurate at longer ranges, and can't fire at all close up. May explode when damaged.]],
+
     description = [[A preserved mashed mixture of fat and plant food. Tastes bland, but not offensive. It lasts a very long time without refrigeration. Great for traveling.]],
 +
    thingClass = "ThingWithComps",
 +
    thingCategories = {
 +
      "Foods",
 +
    },
 
     statBases = {
 
     statBases = {
       ShootingAccuracyTurret = 0.98,
+
       MarketValue = 1.4,
 +
      Mass = 0.018,
 +
      Flammability = 0.6,
 +
      WorkToMake = 700,
 +
      DeteriorationRate = 2,
 +
      Nutrition = 0.05,
 
     },
 
     },
     costList = {
+
     ingestible = {
       Steel = 300,
+
       foodType = {
       Plasteel = 30,
+
        "Meal",
       Uranium = 60,
+
       },
       ComponentIndustrial = 6,
+
       preferability = "MealSimple",
 +
       optimalityOffsetHumanlikes = 6,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       CompProperties_Rottable = {
         wickTicks = 240,
+
         daysToRotStart = 70,
         explosiveRadius = 5.9,
+
         rotDestroys = true,
        explosiveDamageType = "Bomb",
 
        chanceNeverExplodeFromDamage = 0.5,
 
      },
 
      CompProperties_Forbiddable = {},
 
      CompProperties_Power = {
 
        compClass = "CompPowerTrader",
 
        basePowerConsumption = 150,
 
      },
 
      CompProperties_Flickable = {},
 
      CompProperties_Breakdownable = {},
 
      CompProperties_Refuelable = {
 
        fuelLabel = "Shots until rearm",
 
        fuelGizmoLabel = "Uranium slugs",
 
        outOfFuelMessage = "Cannot shoot: No slugs",
 
        fuelFilter = {
 
          thingDefs = {
 
            "Uranium",
 
          },
 
        },
 
        fuelCapacity = 30,
 
        fuelMultiplier = 0.3333,
 
        initialFuelPercent = 1,
 
        autoRefuelPercent = 0.5,
 
        showFuelGizmo = true,
 
        minimumFueledThreshold = 1,
 
        factorByDifficulty = true,
 
        consumeFuelOnlyWhenUsed = true,
 
        fuelIconPath = "UI/Overlays/Barrel",
 
 
       },
 
       },
    },
+
      CompProperties_Ingredients = {},
    building = {
+
       CompProperties_FoodPoisonable = {},
      turretGunDef = "Gun_TurretSniper",
 
       turretBurstCooldownTime = 3.2,
 
    },
 
    researchPrerequisites = {
 
      "SniperTurret",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_TurretSniper"] = {
+
   ["ThingDef:Chocolate"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "ResourceBase",
       FileName = "Buildings_Security_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Luxury.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_TurretSniper",
+
     defName = "Chocolate",
     label = "uranium slug",
+
     label = "chocolate",
 +
    description = [[A delicious preparation of cocoa seeds ground together with sugar and vanilla. It fulfills the need for recreation, but it is not very nutritious.]],
 +
    statBases = {
 +
      MaxHitPoints = 60,
 +
      MarketValue = 3,
 +
      Mass = 0.075,
 +
      Flammability = 1.0,
 +
      DeteriorationRate = 8,
 +
      Nutrition = 0.1,
 +
    },
 +
    thingCategories = {
 +
      "Foods",
 +
    },
 +
    ingestible = {
 +
      preferability = "DesperateOnly",
 +
      foodType = {
 +
        "Processed",
 +
      },
 +
      joy = 0.10,
 +
      joyKind = "Gluttonous",
 +
    },
 
   },
 
   },
  
   ["ThingDef:Gun_TurretSniper"] = {
+
   ["ThingDef:Milk"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseWeaponTurret",
+
       ParentName = "OrganicProductBase",
       FileName = "Buildings_Security_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_TurretSniper",
+
     defName = "Milk",
     label = "uranium slug cannon",
+
     label = "milk",
     description = [[A self-loading uranium slug cannon designed to attach to a turret.]],
+
     description = [[Milk from an animal.]],
 
     statBases = {
 
     statBases = {
       AccuracyTouch = 0.20,
+
       MarketValue = 3.1,
       AccuracyShort = 0.30,
+
       Mass = 0.045,
       AccuracyMedium = 0.40,
+
       MaxHitPoints = 60,
       AccuracyLong = 0.95,
+
      Flammability = 0.2,
       RangedWeapon_Cooldown = 4.0,
+
       Nutrition = 0.05,
       DeteriorationRate = 0,
+
       FoodPoisonChanceFixedHuman = 0.02,
      Mass = 40,
+
    },
       Flammability = 0,
+
    comps = {
 +
       CompProperties_Rottable = {
 +
        daysToRotStart = 14,
 +
        rotDestroys = true,
 +
       },
 
     },
 
     },
     verbs = {
+
     ingestible = {
       {
+
       preferability = "RawTasty",
        defaultProjectile = "Bullet_TurretSniper",
+
      foodType = {
        warmupTime = 0,
+
         "AnimalProduct",
         minRange = 11.9,
+
         "Fluid",
         range = 45.9,
 
        burstShotCount = 1,
 
        consumeFuelPerShot = 1,
 
 
       },
 
       },
 +
    },
 +
    thingCategories = {
 +
      "AnimalProductRaw",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Turret_Mortar"] = {
+
   ["ThingDef:InsectJelly"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseArtilleryBuilding",
+
       ParentName = "OrganicProductBase",
       FileName = "Buildings_Security_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Turret_Mortar",
+
     defName = "InsectJelly",
     label = "mortar",
+
     label = "insect jelly",
     description = [[A manned mortar that launches all kinds of shells. While it can inflict devastating damage, the mortar's inherent inaccuracy makes it more useful for attacking large fortifications than groups of enemies in the field.]],
+
     description = [[Jelly stored and used as food by oversized insects. It is smooth, rich, and fulfills the recreation need of those who consume it. Because of its unique biological properties, it can nourish almost any creature and never rots.]],
     comps = {
+
     statBases = {
       CompProperties_Explosive = {
+
       MarketValue = 8.0,
        wickTicks = 240,
+
      Mass = 0.025,
        explosiveRadius = 4.9,
+
      Nutrition = 0.05,
         explosiveDamageType = "Bomb",
+
      FoodPoisonChanceFixedHuman = 0.02,
 +
    },
 +
    ingestible = {
 +
      foodType = {
 +
         "AnimalProduct",
 
       },
 
       },
 +
      preferability = "MealFine",
 +
      joy = 0.08,
 +
      joyKind = "Gluttonous",
 +
      canAutoSelectAsFoodForCaravan = false,
 
     },
 
     },
     terrainAffordanceNeeded = "Heavy",
+
     thingCategories = {
    building = {
+
       "AnimalProductRaw",
       turretGunDef = "Artillery_Mortar",
 
      buildingTags = {
 
        "Artillery_BaseDestroyer",
 
        "Artillery_MannedMortar",
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Artillery_Mortar"] = {
+
   ["ThingDef:EggBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseArtilleryWeapon",
+
      Abstract = true,
       FileName = "Buildings_Security_Turrets.xml",
+
      Name = "EggBase",
 +
       ParentName = "OrganicProductBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Artillery_Mortar",
+
     ingestible = {
    label = "mortar",
+
      foodType = {
    description = [[Mortar launcher. Lobs bombs over walls. Very inaccurate but long-ranged.]],
+
        "AnimalProduct",
    weaponTags = {
+
      },
      "Artillery_BaseDestroyer",
+
      tasteThought = "AteRawFood",
 
     },
 
     },
     verbs = {
+
     statBases = {
       {
+
       Mass = 0.15,
        warmupTime = 4.0,
+
      MaxHitPoints = 20,
        forcedMissRadius = 13,
+
      DeteriorationRate = 2,
        requireLineOfSight = false,
+
      Flammability = 0.7,
        minRange = 29.9,
+
      Nutrition = 0.25,
        range = 500,
+
      FoodPoisonChanceFixedHuman = 0.02,
        burstShotCount = 1,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
      },
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_ChangeableProjectile = {},
+
       CompProperties_Rottable = {
    },
+
         daysToRotStart = 15,
    building = {
+
         rotDestroys = true,
      fixedStorageSettings = {
+
         disableIfHatcher = true,
         filter = {
 
          categories = {
 
            "MortarShells",
 
          },
 
         },
 
      },
 
      defaultStorageSettings = {
 
         filter = {
 
          categories = {
 
            "MortarShells",
 
          },
 
          disallowedThingDefs = {
 
            "Shell_Firefoam",
 
            "Shell_AntigrainWarhead",
 
          },
 
        },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Ship_Beam"] = {
+
   ["ThingDef:EggUnfertBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
      Abstract = true,
       FileName = "Buildings_Ship.xml",
+
      Name = "EggUnfertBase",
 +
       ParentName = "EggBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Ship_Beam",
+
     ingestible = {
    label = "ship structural beam",
+
      preferability = "RawBad",
    description = [[A structural beam around which a starship can be constructed. Includes all the necessary conduits and transit pipes for communications, power, and materials transport.]],
 
    thingClass = "Building",
 
    altitudeLayer = "Building",
 
    passability = "Impassable",
 
    fillPercent = 1,
 
    statBases = {
 
      WorkToBuild = 8000,
 
      MaxHitPoints = 400,
 
      Flammability = 0,
 
 
     },
 
     },
     size = {2, 6},
+
     thingCategories = {
    comps = {
+
       "EggsUnfertilized",
      CompProperties_Power = {
 
        compClass = "CompPowerTransmitter",
 
        transmitsPower = true,
 
      },
 
      CompProperties_ShipPart = {},
 
    },
 
    costList = {
 
      Steel = 200,
 
      Plasteel = 40,
 
      ComponentIndustrial = 3,
 
      ComponentSpacer = 1,
 
    },
 
    terrainAffordanceNeeded = "Heavy",
 
    researchPrerequisites = {
 
       "ShipBasics",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Ship_CryptosleepCasket"] = {
+
   ["ThingDef:EggFertBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
      Abstract = true,
       FileName = "Buildings_Ship.xml",
+
      Name = "EggFertBase",
 +
       ParentName = "EggBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Ship_CryptosleepCasket",
+
     ingestible = {
    label = "ship cryptosleep casket",
+
       preferability = "DesperateOnly",
    description = [[A cryptosleep casket hardened against the dangers of space. Capable of maintaining a person in cryptosleep for centuries and surviving atmospheric re-entry.]],
 
    thingClass = "Building_CryptosleepCasket",
 
    researchPrerequisites = {
 
       "ShipCryptosleep",
 
 
     },
 
     },
     altitudeLayer = "Building",
+
     thingCategories = {
    passability = "PassThroughOnly",
+
      "EggsFertilized",
    pathCost = 42,
 
    fillPercent = 0.5,
 
    statBases = {
 
      WorkToBuild = 8000,
 
      MaxHitPoints = 200,
 
      Flammability = 0,
 
 
     },
 
     },
    size = {1, 2},
 
    hasInteractionCell = true,
 
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_TemperatureRuinable = {
         compClass = "CompPowerTransmitter",
+
         minSafeTemperature = 0,
         transmitsPower = true,
+
         maxSafeTemperature = 50,
      },
+
         progressPerDegreePerTick = 0.00003,
      CompProperties_ShipPart = {},
 
      CompProperties_Explosive = {
 
         explosiveRadius = 2.66,
 
        explosiveDamageType = "Flame",
 
      },
 
      CompProperties_EmptyStateGraphic = {
 
        graphicData = {
 
          texPath = "Things/Building/Ship/ShipCryptosleepCasketOpenDoor",
 
          graphicClass = "Graphic_Multi",
 
          drawSize = {1, 2},
 
        },
 
 
       },
 
       },
 
     },
 
     },
     building = {
+
  },
       isPlayerEjectable = true,
+
 
 +
  ["ThingDef:EggChickenUnfertilized"] = {
 +
     _ = {
 +
       ParentName = "EggUnfertBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Items_Resource_AnimalProduct.xml",
 +
      DLC = "Core",
 
     },
 
     },
     costList = {
+
     defName = "EggChickenUnfertilized",
      Steel = 120,
+
    label = "chicken egg (unfert.)",
      Uranium = 14,
+
    description = [[An unfertilized chicken egg. It can be eaten raw, but it's much, much better cooked.]],
      ComponentIndustrial = 3,
+
    statBases = {
       ComponentSpacer = 3,
+
       MarketValue = 7.0,
 
     },
 
     },
    terrainAffordanceNeeded = "Heavy",
 
 
   },
 
   },
  
   ["ThingDef:Ship_ComputerCore"] = {
+
   ["ThingDef:EggChickenFertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "EggFertBase",
       FileName = "Buildings_Ship.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Ship_ComputerCore",
+
     defName = "EggChickenFertilized",
     label = "ship computer core",
+
     label = "chicken egg (fert.)",
     description = [[A computer core housing a machine persona who can guide a starship through any challenge during a multi-decade starflight.]],
+
     description = [[A fertilized chicken egg. If all goes well, it should hatch into a chick. It can be eaten raw, but it's much better cooked.]],
    thingClass = "Building_ShipComputerCore",
 
    researchPrerequisites = {
 
      "ShipComputerCore",
 
    },
 
    altitudeLayer = "Building",
 
    passability = "Impassable",
 
    fillPercent = 1,
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 16000,
+
       MarketValue = 7.0,
      MaxHitPoints = 150,
 
      Flammability = 0,
 
 
     },
 
     },
    size = {2, 2},
 
 
     comps = {
 
     comps = {
       CompProperties_ShipPart = {},
+
       CompProperties_Hatcher = {
      CompProperties_Power = {
+
        hatcherDaystoHatch = 3.5,
         compClass = "CompPowerTransmitter",
+
         hatcherPawn = "Chicken",
        transmitsPower = true,
 
 
       },
 
       },
 
     },
 
     },
    costList = {
 
      Steel = 150,
 
      ComponentSpacer = 4,
 
      Gold = 70,
 
      AIPersonaCore = 1,
 
    },
 
    terrainAffordanceNeeded = "Heavy",
 
 
   },
 
   },
  
   ["ThingDef:Ship_Reactor"] = {
+
   ["ThingDef:EggCobraFertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "EggFertBase",
       FileName = "Buildings_Ship.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Ship_Reactor",
+
     defName = "EggCobraFertilized",
     label = "ship reactor",
+
     label = "cobra egg (fert.)",
     description = [[Powers a ship on its journey between stars. Takeoff requires a long powerup process that is likely to attract raiders.]],
+
     description = [[A fertilized cobra egg. If all goes well, it should hatch into a baby cobra. It can be eaten raw, but it's much better cooked.]],
    thingClass = "Building_ShipReactor",
+
     statBases = {
    researchPrerequisites = {
+
       MarketValue = 40.0,
      "ShipReactor",
 
    },
 
    altitudeLayer = "Building",
 
    passability = "Impassable",
 
    fillPercent = 1,
 
     statBases = {
 
       WorkToBuild = 65000,
 
      MaxHitPoints = 500,
 
      Flammability = 0,
 
    },
 
    size = {6, 7},
 
    costList = {
 
      Steel = 350,
 
      Plasteel = 280,
 
      Uranium = 70,
 
      ComponentSpacer = 8,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Hatcher = {
         compClass = "CompPowerPlant",
+
         hatcherDaystoHatch = 4.5,
        basePowerConsumption = -1000,
+
         hatcherPawn = "Cobra",
        transmitsPower = true,
 
      },
 
      CompProperties_ShipPart = {},
 
      CompProperties_Hibernatable = {
 
        incidentTargetWhileStarting = "Map_RaidBeacon",
 
         sustainerActive = "ShipReactor_Ambience",
 
 
       },
 
       },
 
     },
 
     },
    terrainAffordanceNeeded = "Heavy",
 
 
   },
 
   },
  
   ["ThingDef:Ship_Engine"] = {
+
   ["ThingDef:EggIguanaFertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "EggFertBase",
       FileName = "Buildings_Ship.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Ship_Engine",
+
     defName = "EggIguanaFertilized",
     label = "ship engine",
+
     label = "iguana egg (fert.)",
     description = [[A reactionless Johnson-Tanaka drive capable of launching a ship into orbit, and crawling across the vast expanses between stars.]],
+
     description = [[A fertilized iguana egg. If all goes well, it should hatch into a baby iguana. It can be eaten raw, but it's much better cooked.]],
    thingClass = "Building",
 
    researchPrerequisites = {
 
      "ShipEngine",
 
    },
 
    altitudeLayer = "Building",
 
    passability = "Impassable",
 
    fillPercent = 1,
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 50000,
+
       MarketValue = 25.0,
      MaxHitPoints = 400,
 
      Flammability = 0,
 
 
     },
 
     },
    size = {3, 4},
 
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Hatcher = {
         compClass = "CompPowerTransmitter",
+
         hatcherDaystoHatch = 3.5,
         transmitsPower = true,
+
         hatcherPawn = "Iguana",
 
       },
 
       },
      CompProperties_ShipPart = {},
 
    },
 
    costList = {
 
      Steel = 260,
 
      Plasteel = 140,
 
      Uranium = 70,
 
      ComponentSpacer = 6,
 
 
     },
 
     },
    terrainAffordanceNeeded = "Heavy",
 
 
   },
 
   },
  
   ["ThingDef:Ship_SensorCluster"] = {
+
   ["ThingDef:EggTortoiseFertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "EggFertBase",
       FileName = "Buildings_Ship.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Ship_SensorCluster",
+
     defName = "EggTortoiseFertilized",
     label = "sensor cluster",
+
     label = "tortoise egg (fert.)",
     description = [[A multi-function sensor module. Can scan and signal across the void for communications, threat detection, deception, jamming, and other purposes.]],
+
     description = [[A fertilized tortoise egg. If all goes well, it should hatch into a baby tortoise. It can be eaten raw, but it's much better cooked.]],
    thingClass = "Building",
 
    researchPrerequisites = {
 
      "ShipSensorCluster",
 
    },
 
    altitudeLayer = "Building",
 
    passability = "Impassable",
 
    fillPercent = 1,
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 30000,
+
       MarketValue = 23.0,
      MaxHitPoints = 100,
 
      Flammability = 0,
 
 
     },
 
     },
    size = {2, 2},
 
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Hatcher = {
         compClass = "CompPowerTransmitter",
+
         hatcherDaystoHatch = 3.5,
         transmitsPower = true,
+
         hatcherPawn = "Tortoise",
 
       },
 
       },
      CompProperties_ShipPart = {},
 
 
     },
 
     },
    costList = {
 
      Steel = 140,
 
      Gold = 4,
 
      ComponentIndustrial = 6,
 
      ComponentSpacer = 6,
 
    },
 
    terrainAffordanceNeeded = "Heavy",
 
 
   },
 
   },
  
   ["ThingDef:PsychicEmanator"] = {
+
   ["ThingDef:EggCassowaryFertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "EggFertBase",
       FileName = "Buildings_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PsychicEmanator",
+
     defName = "EggCassowaryFertilized",
     label = "psychic emanator",
+
     label = "cassowary egg (fert.)",
     description = [[An ancient device that projects a soothing psychic field around itself. This improves the mood of anyone nearby. Works through walls.]],
+
     description = [[A fertilized cassowary egg. If all goes well, it should hatch into a baby cassowary. It can be eaten raw, but it's much better cooked.]],
     thingCategories = {
+
     statBases = {
      "BuildingsSpecial",
+
       MarketValue = 19.0,
    },
 
    costList = {
 
       Steel = 50,
 
      ComponentSpacer = 6,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Hatcher = {
         compClass = "CompPowerTrader",
+
         hatcherDaystoHatch = 7,
         basePowerConsumption = 200,
+
         hatcherPawn = "Cassowary",
 
       },
 
       },
      CompProperties_MoteEmitter = {
 
        mote = "Mote_PsychicEmanatorEffect",
 
        emissionInterval = 350,
 
      },
 
      CompProperties_Breakdownable = {},
 
      CompProperties_Flickable = {},
 
 
     },
 
     },
     altitudeLayer = "Building",
+
  },
 +
 
 +
  ["ThingDef:EggEmuFertilized"] = {
 +
    _ = {
 +
      ParentName = "EggFertBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Items_Resource_AnimalProduct.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "EggEmuFertilized",
 +
     label = "emu egg (fert.)",
 +
    description = [[A fertilized emu egg. If all goes well, it should hatch into a baby emu. It can be eaten raw, but it's much better cooked.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1300,
+
       MarketValue = 18.0,
      MaxHitPoints = 100,
 
      Flammability = 0,
 
      Beauty = 0,
 
      Mass = 15,
 
      WorkToBuild = 2000,
 
 
     },
 
     },
     fillPercent = 0.2,
+
     comps = {
    leaveResourcesWhenKilled = false,
+
      CompProperties_Hatcher = {
    pathCost = 30,
+
        hatcherDaystoHatch = 6,
    passability = "PassThroughOnly",
+
        hatcherPawn = "Emu",
    minifiedDef = "MinifiedThing",
+
       },
    tradeability = "Sellable",
 
    tradeTags = {
 
       "ExoticBuilding",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:VanometricPowerCell"] = {
+
   ["ThingDef:EggOstrichFertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "EggFertBase",
       FileName = "Buildings_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "VanometricPowerCell",
+
     defName = "EggOstrichFertilized",
     label = "vanometric power cell",
+
     label = "ostrich egg (fert.)",
     description = [[Generates free energy, forever, without using fuel. This technology is developed by archotechs, and is beyond even most glitterworld societies. While nobody knows exactly how it works, scholars believe it somehow extracts energy directly from fluctuations in the quantum foam.]],
+
     description = [[A fertilized ostrich egg. If all goes well, it should hatch into a baby ostrich. It can be eaten raw, but it's much better cooked.]],
    altitudeLayer = "Building",
+
     statBases = {
    pathCost = 42,
+
       MarketValue = 23.0,
    fillPercent = 0.4,
 
    passability = "PassThroughOnly",
 
    leaveResourcesWhenKilled = false,
 
    terrainAffordanceNeeded = "Medium",
 
    thingCategories = {
 
      "BuildingsSpecial",
 
    },
 
     statBases = {
 
       MarketValue = 1200,
 
      MaxHitPoints = 200,
 
      Flammability = 0,
 
      Mass = 15,
 
    },
 
    size = {1, 2},
 
    costList = {
 
      Steel = 100,
 
      ComponentSpacer = 6,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Hatcher = {
         compClass = "CompPowerPlant",
+
         hatcherDaystoHatch = 8,
         basePowerConsumption = -1000,
+
         hatcherPawn = "Ostrich",
        transmitsPower = true,
 
      },
 
      CompProperties_Glower = {
 
        glowRadius = 3,
 
        glowColor = {227, 233, 168, 0},
 
 
       },
 
       },
    },
 
    minifiedDef = "MinifiedThing",
 
    tradeability = "Sellable",
 
    tradeTags = {
 
      "ExoticBuilding",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:InfiniteChemreactor"] = {
+
   ["ThingDef:EggTurkeyFertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "EggFertBase",
       FileName = "Buildings_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "InfiniteChemreactor",
+
     defName = "EggTurkeyFertilized",
     label = "infinite chemreactor",
+
     label = "turkey egg (fert.)",
     description = [[Slowly generates chemfuel by a complex series of chemical reactions, using atoms extracted from the air.]],
+
     description = [[A fertilized turkey egg. If all goes well, it should hatch into a baby turkey. It can be eaten raw, but it's much better cooked.]],
     thingCategories = {
+
     statBases = {
       "BuildingsSpecial",
+
       MarketValue = 11.0,
    },
 
    costList = {
 
      Steel = 200,
 
      ComponentSpacer = 6,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Hatcher = {
         compClass = "CompPowerTrader",
+
         hatcherDaystoHatch = 5,
        basePowerConsumption = 300,
+
         hatcherPawn = "Turkey",
      },
 
      CompProperties_Breakdownable = {},
 
      CompProperties_Flickable = {},
 
      CompProperties_Spawner = {
 
        requiresPower = true,
 
        thingToSpawn = "Chemfuel",
 
        spawnCount = 75,
 
        spawnIntervalRange = {
 
          min = 600000,
 
          max = 600000,
 
        },
 
        writeTimeLeftToSpawn = true,
 
        showMessageIfOwned = true,
 
      },
 
      CompProperties_Explosive = {
 
        explosiveRadius = 8,
 
         explosiveDamageType = "Flame",
 
 
       },
 
       },
    },
 
    altitudeLayer = "Building",
 
    statBases = {
 
      MarketValue = 1500,
 
      MaxHitPoints = 200,
 
      Flammability = 1.0,
 
      Beauty = -10,
 
      Mass = 35,
 
      WorkToBuild = 8000,
 
    },
 
    size = {2, 2},
 
    fillPercent = 1.0,
 
    leaveResourcesWhenKilled = false,
 
    terrainAffordanceNeeded = "Medium",
 
    passability = "Impassable",
 
    minifiedDef = "MinifiedThing",
 
    tradeability = "Sellable",
 
    tradeTags = {
 
      "ExoticBuilding",
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:EggDuckUnfertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "EggUnfertBase",
       Name = "DoorBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Items_Resource_AnimalProduct.xml",
       FileName = "Buildings_Structure.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Building_Door",
+
     defName = "EggDuckUnfertilized",
     category = "Building",
+
     label = "duck egg (unfert.)",
     altitudeLayer = "DoorMoveable",
+
     description = [[An unfertilized duck egg. It can be eaten raw, but it's much, much better cooked.]],
    fillPercent = 1,
 
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 160,
+
       MarketValue = 7.0,
       Flammability = 1.0,
+
    },
 +
  },
 +
 
 +
  ["ThingDef:EggDuckFertilized"] = {
 +
    _ = {
 +
      ParentName = "EggFertBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 +
      DLC = "Core",
 
     },
 
     },
     leaveResourcesWhenKilled = false,
+
     defName = "EggDuckFertilized",
     terrainAffordanceNeeded = "Light",
+
     label = "duck egg (fert.)",
     building = {
+
     description = [[A fertilized duck egg. If all goes well, it should hatch into a duckling. It can be eaten raw, but it's much better cooked.]],
       isInert = true,
+
    statBases = {
 +
       MarketValue = 7.0,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Forbiddable = {},
+
       CompProperties_Hatcher = {
 +
        hatcherDaystoHatch = 3.5,
 +
        hatcherPawn = "Duck",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Door"] = {
+
   ["ThingDef:EggGooseUnfertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "DoorBase",
+
       ParentName = "EggUnfertBase",
       FileName = "Buildings_Structure.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Door",
+
     defName = "EggGooseUnfertilized",
     label = "door",
+
     label = "goose egg (unfert.)",
     description = [[Divides rooms. Simple doors must be manually opened, which slows people down. The amount of slowdown depends on what the door is made of.]],
+
     description = [[An unfertilized goose egg. It can be eaten raw, but it's much, much better cooked.]],
 
     statBases = {
 
     statBases = {
       WorkToBuild = 850,
+
       MarketValue = 9.0,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Autodoor"] = {
+
   ["ThingDef:EggGooseFertilized"] = {
 
     _ = {
 
     _ = {
       ParentName = "DoorBase",
+
       ParentName = "EggFertBase",
       FileName = "Buildings_Structure.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_AnimalProduct.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Autodoor",
+
     defName = "EggGooseFertilized",
     label = "autodoor",
+
     label = "goose egg (fert.)",
     description = [[Divides rooms. Powered operation allows people to move through the door without slowing down.]],
+
     description = [[A fertilized goose egg. If all goes well, it should hatch into a baby goose. It can be eaten raw, but it's much better cooked.]],
 
     statBases = {
 
     statBases = {
       WorkToBuild = 1100,
+
       MarketValue = 11.0,
    },
 
    costList = {
 
      Steel = 40,
 
      ComponentIndustrial = 2,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Hatcher = {
         compClass = "CompPowerTrader",
+
         hatcherDaystoHatch = 6.5,
         basePowerConsumption = 50,
+
         hatcherPawn = "Goose",
 
       },
 
       },
      CompProperties_Breakdownable = {},
 
      CompProperties_Flickable = {},
 
    },
 
    researchPrerequisites = {
 
      "Autodoors",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Wall"] = {
+
   ["ThingDef:ResourceBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       Name = "ResourceBase",
       Name = "Wall",
+
       Abstract = true,
       FileName = "Buildings_Structure.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Base.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Wall",
+
     thingClass = "ThingWithComps",
     label = "wall",
+
     category = "Item",
     description = [[An impassable wall. Capable of holding up a roof.]],
+
     useHitPoints = true,
     thingClass = "Building",
+
     altitudeLayer = "Item",
     category = "Building",
+
     stackLimit = 75,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 300,
+
       Beauty = -4,
      WorkToBuild = 135,
 
      Flammability = 1.0,
 
      MeditationFocusStrength = 0.22,
 
 
     },
 
     },
     leaveResourcesWhenKilled = false,
+
     comps = {
     altitudeLayer = "Building",
+
      CompProperties_Forbiddable = {},
    passability = "Impassable",
+
    },
     fillPercent = 1,
+
    pathCost = 14,
     terrainAffordanceNeeded = "Heavy",
+
  },
     building = {
+
 
       isInert = true,
+
  ["ThingDef:MedicineBase"] = {
 +
     _ = {
 +
      ParentName = "ResourceBase",
 +
      Name = "MedicineBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
      FileName = "Items_Resource_Manufactured.xml",
 +
      DLC = "Core",
 +
     },
 +
     thingClass = "Medicine",
 +
     stackLimit = 25,
 +
    statBases = {
 +
       MaxHitPoints = 60,
 
     },
 
     },
     comps = {
+
     thingCategories = {
       CompProperties_MeditationFocus = {
+
       "Medicine",
        statDef = "MeditationFocusStrength",
 
        focusTypes = {
 
          "Minimal",
 
        },
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Column"] = {
+
   ["ThingDef:MedicineHerbal"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "MedicineBase",
       FileName = "Buildings_Structure.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Manufactured.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Column",
+
     defName = "MedicineHerbal",
     label = "column",
+
     label = "herbal medicine",
     description = [[A column capable of holding a roof. Does not block sight or movement and looks quite nice.]],
+
     description = [[A pack of herbal concoctions extracted from the healroot plant. It is less potent than industrial pharmaceuticals, but much better than nothing.]],
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.25,
 
    pathCost = 0,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 160,
+
       MarketValue = 10,
       WorkToBuild = 750,
+
       Mass = 0.35,
       Mass = 10,
+
       Flammability = 1.3,
       Flammability = 1.0,
+
       MedicalPotency = 0.60,
       Beauty = 5,
+
      MedicalQualityMax = 0.70,
 +
       DeteriorationRate = 6,
 
     },
 
     },
     building = {
+
     comps = {
       isInert = true,
+
       CompProperties_Rottable = {
 +
        daysToRotStart = 150,
 +
        rotDestroys = true,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Campfire"] = {
+
   ["ThingDef:MedicineIndustrial"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "MedicineBase",
       FileName = "Buildings_Temperature.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Manufactured.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Campfire",
+
     defName = "MedicineIndustrial",
     label = "campfire",
+
     label = "medicine",
     description = [[Cooks meals and produces heat, and burns out after a few days. As with all heat sources, it must be placed indoors so it has a closed space to heat. Refuelable.]],
+
     description = [[A kit of industrial-era medical equipment. It contains basic drugs, tools for suturing and bone setting, diagnostic devices, and various pads and fluids.]],
    thingClass = "Building_WorkTable",
 
    category = "Building",
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    pathCost = 42,
 
    fillPercent = 0.20,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 80,
+
       MarketValue = 18,
       WorkToBuild = 200,
+
       Mass = 0.50,
       Flammability = 0,
+
       Flammability = 0.7,
       WorkTableWorkSpeedFactor = 0.5,
+
       MedicalPotency = 1.00,
       MeditationFocusStrength = 0.0,
+
       MedicalQualityMax = 1.00,
 +
      DeteriorationRate = 2,
 +
      WorkToMake = 700,
 
     },
 
     },
 
     costList = {
 
     costList = {
       WoodLog = 20,
+
       MedicineHerbal = 1,
 +
      Neutroamine = 1,
 +
      Cloth = 3,
 
     },
 
     },
     leaveResourcesWhenKilled = false,
+
     recipeMaker = {
    comps = {
+
       workSpeedStat = "DrugSynthesisSpeed",
       CompProperties_Refuelable = {
+
      workSkill = "Intellectual",
        fuelConsumptionRate = 10.0,
+
      recipeUsers = {
        fuelCapacity = 20.0,
+
         "DrugLab",
        fuelConsumptionPerTickInRain = 0.0006,
 
         fuelFilter = {
 
          thingDefs = {
 
            "WoodLog",
 
          },
 
        },
 
        initialFuelPercent = 1,
 
        showAllowAutoRefuelToggle = true,
 
 
       },
 
       },
       CompProperties_Glower = {
+
       researchPrerequisite = "MedicineProduction",
        glowRadius = 10,
+
       skillRequirements = {
        glowColor = {252, 187, 113, 0},
+
         Crafting = 4,
      },
+
         Intellectual = 4,
      CompProperties_HeatPusher = {
 
        compClass = "CompHeatPusherPowered",
 
        heatPerSecond = 21,
 
        heatPushMaxTemperature = 28,
 
       },
 
      CompProperties_FireOverlay = {
 
        fireSize = 1,
 
      },
 
      {
 
        compClass = "CompGatherSpot",
 
      },
 
      CompProperties_MeditationFocus = {
 
         statDef = "MeditationFocusStrength",
 
        focusTypes = {
 
          "Flame",
 
        },
 
         offsets = {
 
          FocusStrengthOffset_Lit = {
 
            offset = 0.12,
 
          },
 
          FocusStrengthOffset_BuildingDefsLit = {
 
            defs = {
 
              "Campfire",
 
              "TorchLamp",
 
              "Brazier",
 
            },
 
            offsetPerBuilding = 0.02,
 
            radius = 9.9,
 
            maxBuildings = 8,
 
            explanationKey = "MeditationFocusPerFlame",
 
            explanationKeyAbstract = "MeditationFocusPerFlameAbstract",
 
          },
 
        },
 
 
       },
 
       },
    },
 
    hasInteractionCell = true,
 
    building = {
 
      isMealSource = true,
 
      artificialForMeditationPurposes = false,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PassiveCooler"] = {
+
   ["ThingDef:MedicineUltratech"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "MedicineBase",
       FileName = "Buildings_Temperature.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Manufactured.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PassiveCooler",
+
     defName = "MedicineUltratech",
     label = "passive cooler",
+
     label = "glitterworld medicine",
     description = [[A traditional unpowered cooler that works by water evaporation. Must be regularly replenished with wood. Not efficient enough to refrigerate food.]],
+
     description = [[A kit of advanced ultra-tech medical supplies, probably manufactured on a distant glitterworld. It contains advanced polymorphic drugs, nanite diagnostic and healing assisters, a mini-imager, and various multi-use tools.]],
    category = "Building",
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    pathCost = 30,
 
    fillPercent = 0.40,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 80,
+
       MarketValue = 50,
       WorkToBuild = 200,
+
       Mass = 0.50,
       Flammability = 1,
+
       Flammability = 0.7,
 +
      MedicalPotency = 1.60,
 +
      MedicalQualityMax = 1.30,
 +
      DeteriorationRate = 2.0,
 
     },
 
     },
     costList = {
+
     tradeTags = {
       WoodLog = 50,
+
       "ExoticMisc",
 
     },
 
     },
    leaveResourcesWhenKilled = false,
+
  },
     comps = {
+
 
       CompProperties_HeatPusher = {
+
  ["ThingDef:ComponentIndustrial"] = {
        compClass = "CompHeatPusherPowered",
+
     _ = {
        heatPerSecond = -11,
+
       ParentName = "ResourceBase",
        heatPushMinTemperature = 17,
+
      DefCategory = "ThingDef",
      },
+
      FileName = "Items_Resource_Manufactured.xml",
      CompProperties_Refuelable = {
+
      DLC = "Core",
        fuelConsumptionRate = 10.0,
+
    },
        fuelCapacity = 50.0,
+
    defName = "ComponentIndustrial",
        fuelFilter = {
+
    label = "component",
          thingDefs = {
+
    description = [[Miscellaneous gears, capacitors, circuit boards, tubes, wheels, sensors, wires, chips, processors, and other electronic and industrial parts. Necessary for assembling complex machines or electronics.]],
            "WoodLog",
+
    stackLimit = 50,
          },
+
    statBases = {
        },
+
      MaxHitPoints = 70,
        initialFuelPercent = 1,
+
      MarketValue = 32,
        showAllowAutoRefuelToggle = true,
+
      Mass = 0.6,
       },
+
      Flammability = 0.6,
 +
       DeteriorationRate = 2.0,
 
     },
 
     },
     researchPrerequisites = {
+
     thingCategories = {
       "PassiveCooler",
+
       "Manufactured",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Heater"] = {
+
   ["ThingDef:ComponentSpacer"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ResourceBase",
       FileName = "Buildings_Temperature.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Manufactured.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Heater",
+
     defName = "ComponentSpacer",
     label = "heater",
+
     label = "advanced component",
     description = [[A device that converts electricity into heat. It can automatically turn itself on or off to reach a specific target temperature.]],
+
     description = [[Advanced computing and energy-directing machinery, miniaturized and hardened for the most demanding applications.]],
     thingClass = "Building_Heater",
+
     stackLimit = 50,
    minifiedDef = "MinifiedThing",
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    pathCost = 30,
 
    fillPercent = 0.4,
 
    thingCategories = {
 
      "BuildingsTemperature",
 
    },
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 1000,
+
       MaxHitPoints = 70,
       MaxHitPoints = 100,
+
       MarketValue = 200,
       Mass = 6,
+
       Mass = 0.6,
       Flammability = 0.5,
+
       Flammability = 0.6,
 +
      DeteriorationRate = 2.0,
 
     },
 
     },
     costList = {
+
     thingCategories = {
       Steel = 50,
+
       "Manufactured",
      ComponentIndustrial = 1,
 
 
     },
 
     },
     terrainAffordanceNeeded = "Light",
+
     tradeTags = {
    comps = {
+
       "ExoticMisc",
      CompProperties_Power = {
 
        compClass = "CompPowerTrader",
 
        basePowerConsumption = 175,
 
        shortCircuitInRain = true,
 
      },
 
      CompProperties_Flickable = {},
 
      CompProperties_TempControl = {
 
        energyPerSecond = 21,
 
      },
 
      CompProperties_Glower = {
 
        glowRadius = 3,
 
        glowColor = {255, 150, 100, 0},
 
      },
 
      CompProperties_Breakdownable = {},
 
    },
 
    researchPrerequisites = {
 
       "Electricity",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Cooler"] = {
+
   ["ThingDef:Neutroamine"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ResourceBase",
       FileName = "Buildings_Temperature.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Manufactured.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Cooler",
+
     defName = "Neutroamine",
     label = "cooler",
+
     label = "neutroamine",
     description = [[An air-cooling machine that fits into a wall. Cool air comes out one side, while hot exhaust comes out the other. Can be used to cool down rooms during summer, or to create a walk-in freezer.]],
+
     description = [[A synthetic precursor chemical. While it is useless on its own, many drugs require neutroamine as an ingredient.]],
     thingClass = "Building_Cooler",
+
     stackLimit = 150,
    altitudeLayer = "Building",
 
    passability = "Impassable",
 
    fillPercent = 1,
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 1600,
+
       MaxHitPoints = 50,
       MaxHitPoints = 100,
+
      MarketValue = 6,
 +
       Mass = 0.02,
 
       Flammability = 0.7,
 
       Flammability = 0.7,
 +
      DeteriorationRate = 1.0,
 
     },
 
     },
     costList = {
+
     thingCategories = {
      Steel = 90,
+
       "Manufactured",
      ComponentIndustrial = 3,
 
    },
 
    terrainAffordanceNeeded = "Medium",
 
    comps = {
 
      CompProperties_Power = {
 
        compClass = "CompPowerTrader",
 
        basePowerConsumption = 200,
 
      },
 
      CompProperties_Flickable = {},
 
      CompProperties_TempControl = {
 
        energyPerSecond = -21,
 
      },
 
      CompProperties_Breakdownable = {},
 
    },
 
    researchPrerequisites = {
 
       "AirConditioning",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Vent"] = {
+
   ["ThingDef:Chemfuel"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ResourceBase",
       FileName = "Buildings_Temperature.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Manufactured.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Vent",
+
     defName = "Chemfuel",
     label = "vent",
+
     label = "chemfuel",
     description = [[A vent for equalizing the temperature between two rooms without allowing people to walk between them.]],
+
     description = [[A volatile liquid chemical. Used to fuel engines and rockets, or to transmute into propellant for projectiles, or as an incendiary weapon.]],
     thingClass = "Building_Vent",
+
     stackLimit = 150,
    altitudeLayer = "Building",
 
    passability = "Impassable",
 
    fillPercent = 1,
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 400,
+
       MaxHitPoints = 50,
       MaxHitPoints = 100,
+
      MarketValue = 2.3,
       Flammability = 1.0,
+
       Mass = 0.05,
 +
       Flammability = 2.0,
 +
      DeteriorationRate = 1.0,
 
     },
 
     },
     costList = {
+
     thingCategories = {
      Steel = 30,
+
       "Manufactured",
    },
 
    terrainAffordanceNeeded = "Medium",
 
    researchPrerequisites = {
 
       "ComplexFurniture",
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Flickable = {
+
       CompProperties_Explosive = {
         commandTexture = "UI/Commands/Vent",
+
         explosiveRadius = 1.1,
         commandLabelKey = "CommandDesignateOpenCloseVentLabel",
+
        explosiveDamageType = "Flame",
         commandDescKey = "CommandDesignateOpenCloseVentDesc",
+
         explosiveExpandPerStackcount = 0.037,
 +
        startWickOnDamageTaken = {
 +
          "Flame",
 +
         },
 +
        startWickHitPointsPercent = 0.333,
 +
        preExplosionSpawnThingDef = "Filth_Fuel",
 +
        preExplosionSpawnChance = 1,
 +
        wickTicks = { ["<"]=70, [">"]=150 },
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:OrganicProductBase"] = {
 
     _ = {
 
     _ = {
 +
      Abstract = true,
 +
      Name = "OrganicProductBase",
 
       ParentName = "ResourceBase",
 
       ParentName = "ResourceBase",
       Name = "ArtifactBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Items_Resource_RawPlant.xml",
       FileName = "Items_Artifacts.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
    },
 
    thingClass = "ThingWithComps",
 
    thingCategories = {
 
      "Artifacts",
 
    },
 
    tradeTags = {
 
      "Artifact",
 
 
     },
 
     },
 
     statBases = {
 
     statBases = {
       Mass = 0.5,
+
       MaxHitPoints = 60,
    },
+
       Flammability = 1.0,
    comps = {
+
      DeteriorationRate = 6,
       CompProperties_Usable = {
+
       Mass = 0.03,
        useJob = "UseArtifact",
 
        useLabel = "Activate",
 
       },
 
      CompProperties_UseEffect = {
 
        compClass = "CompUseEffect_DestroySelf",
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PsychicAnimalPulser"] = {
+
   ["ThingDef:PlantFoodRawBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArtifactBase",
+
      Abstract = true,
       FileName = "Items_Artifacts.xml",
+
      Name = "PlantFoodRawBase",
 +
       ParentName = "OrganicProductBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PsychicAnimalPulser",
+
     ingestible = {
    label = "psychic animal pulser",
+
      preferability = "RawBad",
     description = [[A one-use broad-wave psychic effector. The psychic pulse fills lower minds with terrifying imagery, driving all animals in the region into a manhunting rage. Animals currently under your control will not be affected.]],
+
      tasteThought = "AteRawFood",
    stackLimit = 1,
+
     },
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
       MarketValue = 700,
+
       Nutrition = 0.05,
       MaxHitPoints = 80,
+
       FoodPoisonChanceFixedHuman = 0.02,
 
     },
 
     },
     comps = {
+
     thingCategories = {
       CompProperties_Targetable = {
+
       "PlantFoodRaw",
        compClass = "CompTargetable_AllAnimalsOnTheMap",
 
        psychicSensitiveTargetsOnly = true,
 
        doCameraShake = true,
 
        moteOnTarget = "Mote_PsycastPsychicEffect",
 
        moteOnUsed = "Mote_PsycastAreaEffect",
 
        moteOnUsedScale = 10,
 
        ignorePlayerFactionPawns = true,
 
      },
 
      {
 
        compClass = "CompTargetEffect_Manhunter",
 
      },
 
      CompProperties_TargetEffect_GoodwillImpact = {
 
        goodwillImpact = -200,
 
      },
 
      CompProperties_UseEffectArtifact = {
 
        sound = "PsychicAnimalPulserCast",
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PsychicSoothePulser"] = {
+
   ["ThingDef:RawPotatoes"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArtifactBase",
+
       ParentName = "PlantFoodRawBase",
       FileName = "Items_Artifacts.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PsychicSoothePulser",
+
     defName = "RawPotatoes",
     label = "psychic soothe pulser",
+
     label = "potatoes",
     description = [[A one-use broad-wave psychic effector. The psychic pulse induces self-satisfying perceptual distortions, giving a temporary mood boost to everyone in the region.]],
+
     description = [[Raw potatoes.]],
    stackLimit = 1,
 
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
       MarketValue = 600,
+
       MarketValue = 1.1,
       MaxHitPoints = 80,
+
    },
 +
    ingestible = {
 +
       foodType = {
 +
        "VegetableOrFruit",
 +
      },
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Targetable = {
+
       CompProperties_Rottable = {
         compClass = "CompTargetable_AllPawnsOnTheMap",
+
         daysToRotStart = 30,
         psychicSensitiveTargetsOnly = true,
+
         rotDestroys = true,
        doCameraShake = true,
 
        moteOnTarget = "Mote_PsycastPsychicEffect",
 
        moteOnUsed = "Mote_PsycastAreaEffect",
 
        moteOnUsedScale = 10,
 
      },
 
      {
 
        compClass = "CompTargetEffect_MoodBoost",
 
      },
 
      CompProperties_UseEffectArtifact = {
 
        sound = "PsychicSoothePulserCast",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:RawFungus"] = {
 
     _ = {
 
     _ = {
       Name = "ResourceVerbBase",
+
       ParentName = "PlantFoodRawBase",
       ParentName = "ResourceBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Items_Resource_RawPlant.xml",
       FileName = "Items_Exotic.xml",
+
       DLC = "Core",
       DLC = "Core",
+
    },
 +
    defName = "RawFungus",
 +
    label = "raw fungus",
 +
    description = [[Raw fungus.]],
 +
    statBases = {
 +
      MarketValue = 1.1,
 +
    },
 +
    ingestible = {
 +
      foodType = {
 +
        "VegetableOrFruit",
 +
      },
 
     },
 
     },
 
     comps = {
 
     comps = {
       {
+
       CompProperties_Rottable = {
         compClass = "CompEquippable",
+
         daysToRotStart = 30,
 +
        rotDestroys = true,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:AIPersonaCore"] = {
+
   ["ThingDef:RawRice"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "PlantFoodRawBase",
       FileName = "Items_Exotic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "AIPersonaCore",
+
     defName = "RawRice",
     label = "persona core",
+
     label = "rice",
     description = [[A hyper-advanced computer core that houses a peak-human-equivalent machine persona. In its isolated state, the core is dormant. Installed in a proper support structure, however, it can become a mind of great power.]],
+
     description = [[Raw rice.]],
    stackLimit = 1,
 
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
       MarketValue = 4000,
+
       MarketValue = 1.1,
      MaxHitPoints = 100,
 
      Mass = 2,
 
      Flammability = 0.2,
 
 
     },
 
     },
     thingCategories = {
+
     ingestible = {
       "Items",
+
       foodType = {
 +
        "Seed",
 +
      },
 
     },
 
     },
     tradeability = "Sellable",
+
     comps = {
    tradeTags = {
+
      CompProperties_Rottable = {
       "ExoticMisc",
+
        daysToRotStart = 40,
 +
        rotDestroys = true,
 +
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:RawAgave"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "PlantFoodRawBase",
       Name = "MechSerumBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Items_Resource_RawPlant.xml",
       FileName = "Items_Exotic.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "ThingWithComps",
+
     defName = "RawAgave",
     useHitPoints = true,
+
     label = "agave fruit",
 +
    description = [[Raw agave fruit.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 80,
+
       MarketValue = 1.1,
      Mass = 0.2,
 
      DeteriorationRate = 2.0,
 
      Flammability = 0.2,
 
 
     },
 
     },
     tradeTags = {
+
     ingestible = {
       "ExoticMisc",
+
       foodType = {
 +
        "VegetableOrFruit",
 +
      },
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_UseEffectPlaySound = {
+
       CompProperties_Rottable = {
         soundOnUsed = "MechSerumUsed",
+
         daysToRotStart = 25,
 +
        rotDestroys = true,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MechSerumHealer"] = {
+
   ["ThingDef:RawCorn"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechSerumBase",
+
       ParentName = "PlantFoodRawBase",
       FileName = "Items_Exotic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MechSerumHealer",
+
     defName = "RawCorn",
     label = "healer mech serum",
+
     label = "corn",
     description = [[A one-use super-dose of mechanites tuned to heal health conditions. The mechanites will target and heal the single worst health condition affecting someone at any given time. Works even on health conditions that would otherwise be incurable. The mechanites can even transmute themselves into organic matter, forming new limbs or organs as needed.]],
+
     description = [[Raw corn.]],
    stackLimit = 10,
 
 
     statBases = {
 
     statBases = {
       MarketValue = 1300,
+
       MarketValue = 1.1,
 
     },
 
     },
     thingCategories = {
+
     ingestible = {
       "Items",
+
       foodType = {
 +
        "VegetableOrFruit",
 +
      },
 
     },
 
     },
    tradeability = "Sellable",
 
 
     comps = {
 
     comps = {
       CompProperties_Usable = {
+
       CompProperties_Rottable = {
         useJob = "UseItem",
+
         daysToRotStart = 60,
         useLabel = "Use healer mech serum",
+
         rotDestroys = true,
        useDuration = 600,
 
      },
 
      CompProperties_UseEffect = {
 
        compClass = "CompUseEffect_FixWorstHealthCondition",
 
      },
 
      CompProperties_UseEffect = {
 
        compClass = "CompUseEffect_DestroySelf",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MechSerumResurrector"] = {
+
   ["ThingDef:RawBerries"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechSerumBase",
+
       ParentName = "PlantFoodRawBase",
       FileName = "Items_Exotic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MechSerumResurrector",
+
     defName = "RawBerries",
     label = "resurrector mech serum",
+
     label = "berries",
     description = [[A one-use super-dose of mechanites tuned to resurrect the dead. Administered to a corpse, mechanites repair broken-down tissues and kickstart the body back to life. Unfortunately, the resurrected sometimes come back with brain damage, blindness, or progressive psychosis. Outcomes are better when the mechanites are administered to a fresher body. If a body is preserved, it can even be resurrected long after death.]],
+
     description = [[Assorted berries. Nice to eat, even when raw.]],
    stackLimit = 10,
 
 
     statBases = {
 
     statBases = {
       MarketValue = 1700,
+
       MarketValue = 1.2,
    },
+
      Mass = 0.027,
    thingCategories = {
 
      "Items",
 
 
     },
 
     },
    tradeability = "Sellable",
 
 
     comps = {
 
     comps = {
       CompProperties_Usable = {
+
       CompProperties_Rottable = {
         useJob = "UseItem",
+
         daysToRotStart = 14,
         useLabel = "Use resurrector mech serum",
+
         rotDestroys = true,
        useDuration = 0,
 
 
       },
 
       },
      CompProperties_Targetable = {
+
    },
        compClass = "CompTargetable_SingleCorpse",
+
    ingestible = {
        fleshCorpsesOnly = true,
+
      preferability = "RawTasty",
        nonDessicatedCorpsesOnly = true,
+
      tasteThought = {},
      },
+
       foodType = {
       {
+
         "VegetableOrFruit",
         compClass = "CompTargetEffect_Resurrect",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TechprofSubpersonaCore"] = {
+
   ["ThingDef:RoughPlantBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "OrganicProductBase",
       FileName = "Items_Exotic.xml",
+
      Name = "RoughPlantBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TechprofSubpersonaCore",
+
     ingestible = {
    label = "techprof subpersona core",
+
      foodType = {
    thingClass = "ThingWithComps",
+
        "Plant",
    description = [[A small AI core housing a low-grade subpersona specialized in teaching technology. When used, the AI will teach you the technology you're currently researching, instantly and for free. Can only be used once.]],
+
      },
    stackLimit = 1,
+
      preferability = "DesperateOnlyForHumanlikes",
     useHitPoints = true,
+
     },
 
     statBases = {
 
     statBases = {
       MarketValue = 1000,
+
       Nutrition = 0.05,
      MaxHitPoints = 100,
 
      Mass = 2.0,
 
      Flammability = 0.2,
 
    },
 
    thingCategories = {
 
      "Items",
 
    },
 
    tradeability = "Sellable",
 
    tradeTags = {
 
      "ExoticMisc",
 
    },
 
    comps = {
 
      CompProperties_Usable = {
 
        useJob = "UseItem",
 
        useLabel = "Use techprof subpersona core",
 
      },
 
      CompProperties_UseEffect = {
 
        compClass = "CompUseEffect_FinishRandomResearchProject",
 
      },
 
      CompProperties_UseEffect = {
 
        compClass = "CompUseEffect_DestroySelf",
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ThrumboHorn"] = {
+
   ["ThingDef:Hay"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceVerbBase",
+
       ParentName = "RoughPlantBase",
       FileName = "Items_Exotic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ThrumboHorn",
+
     defName = "Hay",
     label = "thrumbo horn",
+
     label = "hay",
     description = [[A thrumbo's horn. It's razor-sharp, rock-hard, and priceless in most markets. This is a true trophy, as well as a deadly melee weapon.]],
+
     description = [[Nutrient-rich grasses and shoots, harvested and compacted for storage. Hay is good animal feed, but inedible for humans.]],
 +
    stackLimit = 200,
 
     statBases = {
 
     statBases = {
       MarketValue = 800,
+
       MarketValue = 0.6,
      MaxHitPoints = 150,
+
       Mass = 0.014,
       Mass = 3,
+
       Flammability = 1.5,
      Flammability = 0.4,
 
       DeteriorationRate = 0.5,
 
 
     },
 
     },
     stackLimit = 10,
+
     comps = {
    tools = {
+
       CompProperties_Rottable = {
      {
+
         daysToRotStart = 60,
        label = "point",
+
         rotDestroys = true,
        capacities = {
 
          "Scratch",
 
          "Stab",
 
        },
 
        power = 28,
 
        cooldownTime = 2.6,
 
       },
 
      {
 
        label = "base",
 
        capacities = {
 
          "Blunt",
 
        },
 
         power = 9,
 
         cooldownTime = 2,
 
 
       },
 
       },
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "Items",
+
       "Foods",
 
     },
 
     },
     tradeTags = {
+
     ingestible = {
       "ExoticMisc",
+
       optimalityOffsetFeedingAnimals = 7,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ElephantTusk"] = {
+
   ["ThingDef:RawHops"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceVerbBase",
+
       ParentName = "RoughPlantBase",
       FileName = "Items_Exotic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ElephantTusk",
+
     defName = "RawHops",
     label = "elephant tusk",
+
     label = "hops",
     description = [[An elephant's tusk. It is very durable and valuable. While somewhat unwieldy as a melee weapon, it can still be deadly.]],
+
     description = [[Raw hops. A flavoring and preserving agent that is necessary for making beer.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 80,
+
       MarketValue = 1.3,
      MaxHitPoints = 150,
 
      Mass = 1.8,
 
      Flammability = 0.9,
 
      DeteriorationRate = 0.5,
 
 
     },
 
     },
     stackLimit = 10,
+
     comps = {
    tools = {
+
       CompProperties_Rottable = {
      {
+
         daysToRotStart = 30,
        label = "point",
+
         rotDestroys = true,
        capacities = {
 
          "Scratch",
 
          "Stab",
 
        },
 
        power = 18.2,
 
        cooldownTime = 2.6,
 
      },
 
       {
 
        label = "base",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 9,
 
         cooldownTime = 2,
 
         chanceFactor = 0.5,
 
 
       },
 
       },
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "Items",
+
       "PlantMatter",
 
     },
 
     },
     tradeTags = {
+
     ingestible = {
       "ExoticMisc",
+
       preferability = "DesperateOnly",
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:PsychoidLeaves"] = {
 
     _ = {
 
     _ = {
       Name = "MealBase",
+
       ParentName = "RoughPlantBase",
       Abstract = true,
+
       DefCategory = "ThingDef",
       FileName = "Items_Food.xml",
+
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "ThingWithComps",
+
     defName = "PsychoidLeaves",
     category = "Item",
+
     label = "psychoid leaves",
     useHitPoints = true,
+
     description = [[Raw cut leaves of a psychoid plant. Can be refined into various form of the stimulant drug psychite.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 50,
+
       MarketValue = 1.9,
       Flammability = 1.0,
+
       Flammability = 1.3,
       Beauty = 0,
+
    },
      Mass = 0.44,
+
    comps = {
       DeteriorationRate = 10,
+
       CompProperties_Rottable = {
 +
        daysToRotStart = 30,
 +
        rotDestroys = true,
 +
       },
 
     },
 
     },
    altitudeLayer = "Item",
 
    stackLimit = 10,
 
 
     thingCategories = {
 
     thingCategories = {
       "FoodMeals",
+
       "PlantMatter",
    },
 
    comps = {
 
      CompProperties_Forbiddable = {},
 
      CompProperties_Ingredients = {},
 
      CompProperties_FoodPoisonable = {},
 
 
     },
 
     },
    pathCost = 14,
 
 
     ingestible = {
 
     ingestible = {
       foodType = "Meal",
+
       preferability = "DesperateOnly",
      optimalityOffsetHumanlikes = 16,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MealSurvivalPack"] = {
+
   ["ThingDef:SmokeleafLeaves"] = {
 
     _ = {
 
     _ = {
       ParentName = "MealBase",
+
       ParentName = "RoughPlantBase",
       FileName = "Items_Food.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_RawPlant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MealSurvivalPack",
+
     defName = "SmokeleafLeaves",
     label = "packaged survival meal",
+
     label = "smokeleaf leaves",
     description = [[A high-quality packaged meal, manufactured for use in survival situations. While it never rots, it can still deteriorate if left outside. Great for traveling.]],
+
     description = [[Raw cut leaves of a smokeleaf plant. Can be rolled into smokeable joints at a crafting spot.]],
 
     statBases = {
 
     statBases = {
       DeteriorationRate = 0.25,
+
       MarketValue = 1.6,
       MarketValue = 24,
+
       Flammability = 1.3,
       Mass = 0.3,
+
    },
      WorkToMake = 450,
+
    comps = {
       Nutrition = 0.9,
+
       CompProperties_Rottable = {
 +
        daysToRotStart = 30,
 +
        rotDestroys = true,
 +
       },
 +
    },
 +
    thingCategories = {
 +
      "PlantMatter",
 
     },
 
     },
 
     ingestible = {
 
     ingestible = {
       preferability = "MealSimple",
+
       preferability = "DesperateOnly",
      optimalityOffsetHumanlikes = -5,
 
      optimalityOffsetFeedingAnimals = -10,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MealNutrientPaste"] = {
+
   ["ThingDef:ShellBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MealBase",
+
      Name = "ShellBase",
       FileName = "Items_Food.xml",
+
       ParentName = "ResourceBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MealNutrientPaste",
+
     stackLimit = 25,
    label = "nutrient paste meal",
 
    description = [[A synthetic mixture of protein, carbohydrates, and vitamins, amino acids and minerals. Everything the body needs, and absolutely disgusting.]],
 
 
     statBases = {
 
     statBases = {
       MarketValue = 10,
+
      MaxHitPoints = 60,
       Nutrition = 0.9,
+
       MarketValue = 55,
 +
      Mass = 1.25,
 +
       Flammability = 1.0,
 +
      DeteriorationRate = 1.5,
 
     },
 
     },
     ingestible = {
+
     thingCategories = {
       preferability = "MealAwful",
+
       "MortarShells",
      tasteThought = "AteAwfulMeal",
 
 
     },
 
     },
     tradeability = "Buyable",
+
     tradeTags = {
    comps = {
+
       "MortarShell",
       CompProperties_Rottable = {
 
        daysToRotStart = 0.75,
 
        rotDestroys = true,
 
      },
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:MakeableShellBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MealBase",
+
       Name = "MakeableShellBase",
       Name = "MealCooked",
+
       ParentName = "ShellBase",
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Items_Food.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     tradeability = "Buyable",
+
     recipeMaker = {
    comps = {
+
      workSpeedStat = "GeneralLaborSpeed",
       CompProperties_Rottable = {
+
      effectWorking = "Cook",
         daysToRotStart = 4,
+
      soundWorking = "Recipe_Machining",
         rotDestroys = true,
+
      workAmount = 800,
 +
      targetCountAdjustment = 5,
 +
      workSkill = "Crafting",
 +
       recipeUsers = {
 +
         "TableMachining",
 +
      },
 +
      skillRequirements = {
 +
         Crafting = 4,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MealSimple"] = {
+
   ["ThingDef:Shell_HighExplosive"] = {
 
     _ = {
 
     _ = {
       ParentName = "MealCooked",
+
       ParentName = "MakeableShellBase",
       FileName = "Items_Food.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MealSimple",
+
     defName = "Shell_HighExplosive",
     label = "simple meal",
+
     label = "high-explosive shell",
     description = [[A simple meal quickly cooked from one main ingredient.]],
+
     description = [[A shell filled with high explosives. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
     statBases = {
+
     comps = {
       MarketValue = 15,
+
       CompProperties_Explosive = {
       WorkToMake = 300,
+
        explosiveRadius = 2.9,
       Nutrition = 0.9,
+
        explosiveDamageType = "Bomb",
 +
        explosiveExpandPerStackcount = 0.4,
 +
        startWickHitPointsPercent = 0.7,
 +
        wickTicks = { ["<"]=30, [">"]=60 },
 +
      },
 +
    },
 +
    costList = {
 +
      Steel = 25,
 +
       Chemfuel = 15,
 +
    },
 +
    recipeMaker = {
 +
       researchPrerequisite = "Mortars",
 
     },
 
     },
     ingestible = {
+
  },
       preferability = "MealSimple",
+
 
 +
  ["ThingDef:Bullet_Shell_HighExplosive"] = {
 +
     _ = {
 +
       ParentName = "BaseBullet",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Items_Resource_Shell.xml",
 +
      DLC = "Core",
 
     },
 
     },
 +
    defName = "Bullet_Shell_HighExplosive",
 +
    label = "high-explosive shell",
 +
    thingClass = "Projectile_Explosive",
 
   },
 
   },
  
   ["ThingDef:MealFine"] = {
+
   ["ThingDef:Shell_Incendiary"] = {
 
     _ = {
 
     _ = {
       ParentName = "MealCooked",
+
       ParentName = "MakeableShellBase",
       FileName = "Items_Food.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MealFine",
+
     defName = "Shell_Incendiary",
     label = "fine meal",
+
     label = "incendiary shell",
     description = [[A complex dish assembled with care from a variety of ingredients.]],
+
     description = [[A shell filled with flammable gel and a small explosive charge. Starts fires when detonated. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
     statBases = {
+
     comps = {
       MarketValue = 20,
+
       CompProperties_Explosive = {
       WorkToMake = 450,
+
        explosiveRadius = 2.9,
       Nutrition = 0.9,
+
        explosiveDamageType = "Flame",
 +
        explosiveExpandPerStackcount = 0.4,
 +
        startWickHitPointsPercent = 0.7,
 +
        wickTicks = { ["<"]=30, [">"]=60 },
 +
      },
 +
    },
 +
    costList = {
 +
       Steel = 20,
 +
       Chemfuel = 20,
 
     },
 
     },
     ingestible = {
+
     recipeMaker = {
       preferability = "MealFine",
+
       researchPrerequisite = "Mortars",
      tasteThought = "AteFineMeal",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MealLavish"] = {
+
   ["ThingDef:Bullet_Shell_Incendiary"] = {
 
     _ = {
 
     _ = {
       ParentName = "MealCooked",
+
       ParentName = "BaseBullet",
       FileName = "Items_Food.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MealLavish",
+
     defName = "Bullet_Shell_Incendiary",
     label = "lavish meal",
+
     label = "incendiary shell",
     description = [[A masterpiece of the culinary arts, this meal nourishes the body, mind, and soul.]],
+
     thingClass = "Projectile_Explosive",
    statBases = {
 
      MarketValue = 40,
 
      WorkToMake = 800,
 
      Nutrition = 1,
 
    },
 
    ingestible = {
 
      preferability = "MealLavish",
 
      tasteThought = "AteLavishMeal",
 
    },
 
 
   },
 
   },
  
   ["ThingDef:Kibble"] = {
+
   ["ThingDef:Shell_EMP"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrganicProductBase",
+
       ParentName = "MakeableShellBase",
       FileName = "Items_Food.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Kibble",
+
     defName = "Shell_EMP",
     label = "kibble",
+
     label = "EMP shell",
     description = [[Animal feed made from mixed meat and plant sources. Humans can eat it, but they really, really don't like it.]],
+
     description = [[A shell filled with batteries and antennas, for generating an electromagnetic pulse when detonated. Electromagnetic pulses temporarily disable electrical devices and mechanoids. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
     thingCategories = {
+
     comps = {
       "Foods",
+
       CompProperties_Explosive = {
 +
        explosiveRadius = 11.9,
 +
        explosiveDamageType = "EMP",
 +
        explosiveExpandPerStackcount = 0.4,
 +
        startWickHitPointsPercent = 0.7,
 +
        wickTicks = { ["<"]=30, [">"]=60 },
 +
      },
 
     },
 
     },
     statBases = {
+
     costList = {
       MarketValue = 1.1,
+
       Steel = 25,
       Mass = 0.015,
+
       ComponentIndustrial = 2,
      Nutrition = 0.05,
 
      FoodPoisonChanceFixedHuman = 0.02,
 
 
     },
 
     },
     ingestible = {
+
     recipeMaker = {
       foodType = "Kibble",
+
       researchPrerequisite = "MicroelectronicsBasics",
      preferability = "RawBad",
 
      tasteThought = "AteKibble",
 
      optimalityOffsetHumanlikes = -30,
 
      optimalityOffsetFeedingAnimals = 15,
 
    },
 
    comps = {
 
      CompProperties_Ingredients = {},
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Pemmican"] = {
+
   ["ThingDef:Bullet_Shell_EMP"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrganicProductBase",
+
       ParentName = "BaseBullet",
       FileName = "Items_Food.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Pemmican",
+
     defName = "Bullet_Shell_EMP",
     label = "pemmican",
+
     label = "EMP shell",
    description = [[A preserved mashed mixture of fat and plant food. Tastes bland, but not offensive. It lasts a very long time without refrigeration. Great for traveling.]],
+
     thingClass = "Projectile_Explosive",
     thingClass = "ThingWithComps",
 
    thingCategories = {
 
      "Foods",
 
    },
 
    statBases = {
 
      MarketValue = 1.4,
 
      Mass = 0.018,
 
      Flammability = 0.6,
 
      WorkToMake = 700,
 
      DeteriorationRate = 2,
 
      Nutrition = 0.05,
 
    },
 
    ingestible = {
 
      foodType = "Meal",
 
      preferability = "MealSimple",
 
      optimalityOffsetHumanlikes = 6,
 
    },
 
    comps = {
 
      CompProperties_Rottable = {
 
        daysToRotStart = 70,
 
        rotDestroys = true,
 
      },
 
      CompProperties_Ingredients = {},
 
      CompProperties_FoodPoisonable = {},
 
    },
 
 
   },
 
   },
  
   ["ThingDef:Chocolate"] = {
+
   ["ThingDef:Shell_Smoke"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "MakeableShellBase",
       FileName = "Items_Luxury.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Chocolate",
+
     defName = "Shell_Smoke",
     label = "chocolate",
+
     label = "Smoke shell",
     description = [[A delicious preparation of cocoa seeds ground together with sugar and vanilla. It fulfills the need for recreation, but it is not very nutritious.]],
+
     description = [[A shell that generates a cloud of smoke when detonated, obscuring incoming shots and preventing turrets from locking on. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
     statBases = {
+
     comps = {
       MaxHitPoints = 60,
+
       CompProperties_Explosive = {
      MarketValue = 3,
+
        explosiveDamageType = "Smoke",
      Mass = 0.075,
+
        explosiveRadius = 11,
      Flammability = 1.0,
+
        postExplosionSpawnThingDef = "Gas_Smoke",
      DeteriorationRate = 8,
+
        postExplosionSpawnChance = 1,
       Nutrition = 0.1,
+
        postExplosionSpawnThingCount = 1,
 +
        wickTicks = { ["<"]=30, [">"]=60 },
 +
       },
 
     },
 
     },
     thingCategories = {
+
     costList = {
       "Foods",
+
       Steel = 35,
 
     },
 
     },
     ingestible = {
+
     recipeMaker = {
       preferability = "DesperateOnly",
+
       researchPrerequisite = "Mortars",
      foodType = "Processed",
 
      joy = 0.10,
 
      joyKind = "Gluttonous",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Milk"] = {
+
   ["ThingDef:Bullet_Shell_Smoke"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrganicProductBase",
+
       ParentName = "BaseBullet",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Milk",
+
     defName = "Bullet_Shell_Smoke",
     label = "milk",
+
     label = "Smoke shell",
     description = [[Milk from an animal.]],
+
     thingClass = "Projectile_Explosive",
     statBases = {
+
  },
       MarketValue = 3.1,
+
 
       Mass = 0.045,
+
  ["ThingDef:Shell_Firefoam"] = {
       MaxHitPoints = 60,
+
     _ = {
      Flammability = 0.2,
+
       ParentName = "MakeableShellBase",
       Nutrition = 0.05,
+
       DefCategory = "ThingDef",
      FoodPoisonChanceFixedHuman = 0.02,
+
       FileName = "Items_Resource_Shell.xml",
 +
       DLC = "Core",
 
     },
 
     },
 +
    defName = "Shell_Firefoam",
 +
    label = "firefoam shell",
 +
    description = [[A pressurized shell filled with fire-retardant foam. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
 
     comps = {
 
     comps = {
       CompProperties_Rottable = {
+
       CompProperties_Explosive = {
         daysToRotStart = 14,
+
         explosiveRadius = 9.9,
         rotDestroys = true,
+
         explosiveDamageType = "Extinguish",
 +
        explosiveExpandPerStackcount = 0.4,
 +
        startWickHitPointsPercent = 0.7,
 +
        postExplosionSpawnThingDef = "Filth_FireFoam",
 +
        postExplosionSpawnChance = 1,
 +
        postExplosionSpawnThingCount = 3,
 +
        applyDamageToExplosionCellsNeighbors = true,
 +
        explosionEffect = "ExtinguisherExplosion",
 +
        wickTicks = { ["<"]=30, [">"]=60 },
 
       },
 
       },
 
     },
 
     },
     ingestible = {
+
     costList = {
       preferability = "RawTasty",
+
       Steel = 35,
      foodType = "AnimalProduct, Fluid",
 
 
     },
 
     },
     thingCategories = {
+
     recipeMaker = {
       "AnimalProductRaw",
+
       researchPrerequisite = "Firefoam",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:InsectJelly"] = {
+
   ["ThingDef:Bullet_Shell_Firefoam"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrganicProductBase",
+
       ParentName = "BaseBullet",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Shell.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "InsectJelly",
+
     defName = "Bullet_Shell_Firefoam",
     label = "insect jelly",
+
     label = "firefoam shell",
     description = [[Jelly stored and used as food by oversized insects. It is smooth, rich, and fulfills the recreation need of those who consume it. Because of its unique biological properties, it can nourish almost any creature and never rots.]],
+
     thingClass = "Projectile_Explosive",
    statBases = {
+
  },
      MarketValue = 8.0,
+
 
      Mass = 0.025,
+
   ["ThingDef:Shell_AntigrainWarhead"] = {
      Nutrition = 0.05,
 
      FoodPoisonChanceFixedHuman = 0.02,
 
    },
 
    ingestible = {
 
      foodType = "AnimalProduct",
 
      preferability = "MealFine",
 
      joy = 0.08,
 
      joyKind = "Gluttonous",
 
      canAutoSelectAsFoodForCaravan = false,
 
    },
 
    thingCategories = {
 
      "AnimalProductRaw",
 
    },
 
  },
 
   ThingDef = {
 
 
     _ = {
 
     _ = {
       Abstract = true,
+
       ParentName = "ShellBase",
      Name = "EggBase",
+
       DefCategory = "ThingDef",
       ParentName = "OrganicProductBase",
+
       FileName = "Items_Resource_Shell.xml",
       FileName = "Items_Resource_AnimalProduct.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     ingestible = {
+
     defName = "Shell_AntigrainWarhead",
      foodType = "AnimalProduct",
+
    label = "antigrain warhead",
      tasteThought = "AteRawFood",
+
    description = [[An ultra-tech warhead powered by a grain of antimatter. Usually used by spacecraft or glitterworld war machines, it creates a huge explosion and starts fires around the target. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
     },
+
     tradeability = "Sellable",
 
     statBases = {
 
     statBases = {
       Mass = 0.15,
+
       MarketValue = 1200,
      MaxHitPoints = 20,
 
      DeteriorationRate = 2,
 
      Flammability = 0.7,
 
      Nutrition = 0.25,
 
      FoodPoisonChanceFixedHuman = 0.02,
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Rottable = {
+
       CompProperties_Explosive = {
         daysToRotStart = 15,
+
         explosiveRadius = 14.9,
         rotDestroys = true,
+
         explosiveDamageType = "BombSuper",
         disableIfHatcher = true,
+
        explosiveExpandPerStackcount = 0.4,
 +
        startWickHitPointsPercent = 0.7,
 +
        chanceToStartFire = 0.22,
 +
        damageFalloff = true,
 +
         explosionEffect = "GiantExplosion",
 +
        explosionSound = "Explosion_GiantBomb",
 +
        wickTicks = { ["<"]=60, [">"]=120 },
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Bullet_Shell_AntigrainWarhead"] = {
 
     _ = {
 
     _ = {
       Abstract = true,
+
       ParentName = "BaseBullet",
      Name = "EggUnfertBase",
+
       DefCategory = "ThingDef",
       ParentName = "EggBase",
+
       FileName = "Items_Resource_Shell.xml",
       FileName = "Items_Resource_AnimalProduct.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     ingestible = {
+
     defName = "Bullet_Shell_AntigrainWarhead",
      preferability = "RawBad",
+
     label = "antigrain warhead",
     },
+
     thingClass = "Projectile_Explosive",
     thingCategories = {
 
      "EggsUnfertilized",
 
    },
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Silver"] = {
 
     _ = {
 
     _ = {
       Abstract = true,
+
       ParentName = "ResourceBase",
      Name = "EggFertBase",
+
       DefCategory = "ThingDef",
       ParentName = "EggBase",
+
       FileName = "Items_Resource_Stuff.xml",
       FileName = "Items_Resource_AnimalProduct.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     ingestible = {
+
     defName = "Silver",
       preferability = "DesperateOnly",
+
    label = "silver",
 +
    description = [[This metal is mostly used as a commodity currency. It can also be used for making decorations.]],
 +
    useHitPoints = false,
 +
    statBases = {
 +
       MarketValue = 1,
 +
      Mass = 0.008,
 +
      StuffPower_Armor_Sharp = 0.72,
 +
      StuffPower_Armor_Blunt = 0.36,
 +
      StuffPower_Armor_Heat = 0.36,
 +
      StuffPower_Insulation_Cold = 3,
 +
      StuffPower_Insulation_Heat = 0,
 +
      SharpDamageMultiplier = 0.85,
 +
      BluntDamageMultiplier = 1.0,
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "EggsFertilized",
+
       "ResourcesRaw",
 
     },
 
     },
     comps = {
+
     stackLimit = 500,
       CompProperties_TemperatureRuinable = {
+
    smeltable = true,
         minSafeTemperature = 0,
+
    stuffProps = {
         maxSafeTemperature = 50,
+
       categories = {
         progressPerDegreePerTick = 0.00003,
+
        "Metallic",
 +
      },
 +
      statOffsets = {
 +
         Beauty = 6,
 +
      },
 +
      statFactors = {
 +
         MaxHitPoints = 0.7,
 +
         Flammability = 0.4,
 +
        Beauty = 2,
 
       },
 
       },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Medium",
 
   },
 
   },
  
   ["ThingDef:EggChickenUnfertilized"] = {
+
   ["ThingDef:Gold"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggUnfertBase",
+
       ParentName = "ResourceBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggChickenUnfertilized",
+
     defName = "Gold",
     label = "chicken egg (unfert.)",
+
     label = "gold",
     description = [[An unfertilized chicken egg. It can be eaten raw, but it's much, much better cooked.]],
+
     description = [[The most seductive metal of them all. While it is too soft to be of much practical use, it is strikingly beautiful and never tarnishes. Millions have died in attempting to feed the endless human thirst for gold.]],
 +
    useHitPoints = false,
 
     statBases = {
 
     statBases = {
       MarketValue = 7.0,
+
       MarketValue = 10,
 +
      RoyalFavorValue = 0.015,
 +
      Mass = 0.008,
 +
      StuffPower_Armor_Sharp = 0.72,
 +
      StuffPower_Armor_Blunt = 0.36,
 +
      StuffPower_Armor_Heat = 0.36,
 +
      StuffPower_Insulation_Cold = 3,
 +
      StuffPower_Insulation_Heat = 0,
 +
      SharpDamageMultiplier = 0.75,
 +
      BluntDamageMultiplier = 1.0,
 
     },
 
     },
  },
+
     thingCategories = {
 
+
       "ResourcesRaw",
  ["ThingDef:EggChickenFertilized"] = {
 
     _ = {
 
       ParentName = "EggFertBase",
 
      FileName = "Items_Resource_AnimalProduct.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "EggChickenFertilized",
+
     stackLimit = 500,
     label = "chicken egg (fert.)",
+
    smeltable = true,
    description = [[A fertilized chicken egg. If all goes well, it should hatch into a chick. It can be eaten raw, but it's much better cooked.]],
+
     stuffProps = {
    statBases = {
+
      categories = {
      MarketValue = 7.0,
+
        "Metallic",
    },
+
      },
    comps = {
+
      statOffsets = {
      CompProperties_Hatcher = {
+
        Beauty = 20,
         hatcherDaystoHatch = 3.5,
+
      },
         hatcherPawn = "Chicken",
+
      statFactors = {
 +
        MaxHitPoints = 0.6,
 +
        Flammability = 0.4,
 +
        Beauty = 4,
 +
        WorkToMake = 0.9,
 +
         WorkToBuild = 0.9,
 +
         MeleeWeapon_CooldownMultiplier = 1.0,
 
       },
 
       },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Medium",
 
   },
 
   },
  
   ["ThingDef:EggCobraFertilized"] = {
+
   ["ThingDef:Steel"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggFertBase",
+
       ParentName = "ResourceBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggCobraFertilized",
+
     defName = "Steel",
     label = "cobra egg (fert.)",
+
     label = "steel",
     description = [[A fertilized cobra egg. If all goes well, it should hatch into a baby cobra. It can be eaten raw, but it's much better cooked.]],
+
     description = [[An iron-carbon metal alloy used for building a huge variety of structures, weapons, and machines.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 40.0,
+
       MarketValue = 1.9,
 +
      Mass = 0.5,
 +
      StuffPower_Armor_Sharp = 0.9,
 +
      StuffPower_Armor_Blunt = 0.45,
 +
      StuffPower_Armor_Heat = 0.60,
 +
      StuffPower_Insulation_Cold = 3,
 +
      StuffPower_Insulation_Heat = 0,
 +
      SharpDamageMultiplier = 1,
 +
      BluntDamageMultiplier = 1,
 
     },
 
     },
     comps = {
+
     useHitPoints = false,
       CompProperties_Hatcher = {
+
    thingCategories = {
         hatcherDaystoHatch = 4.5,
+
      "ResourcesRaw",
         hatcherPawn = "Cobra",
+
    },
 +
    smeltable = true,
 +
    stuffProps = {
 +
      categories = {
 +
        "Metallic",
 +
       },
 +
      statFactors = {
 +
         MaxHitPoints = 1,
 +
        Beauty = 1,
 +
         Flammability = 0.4,
 
       },
 
       },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Medium",
 
   },
 
   },
  
   ["ThingDef:EggIguanaFertilized"] = {
+
   ["ThingDef:Plasteel"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggFertBase",
+
       ParentName = "ResourceBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggIguanaFertilized",
+
     defName = "Plasteel",
     label = "iguana egg (fert.)",
+
     label = "plasteel",
     description = [[A fertilized iguana egg. If all goes well, it should hatch into a baby iguana. It can be eaten raw, but it's much better cooked.]],
+
     description = [[Advanced spacer tech structural material. Plasteel is extremely strong due to its unique molecular structure.]],
 +
    useHitPoints = false,
 
     statBases = {
 
     statBases = {
       MarketValue = 25.0,
+
       MarketValue = 9,
 +
      Mass = 0.25,
 +
      StuffPower_Armor_Sharp = 1.14,
 +
      StuffPower_Armor_Blunt = 0.55,
 +
      StuffPower_Armor_Heat = 0.65,
 +
      StuffPower_Insulation_Cold = 3,
 +
      StuffPower_Insulation_Heat = 0,
 +
      SharpDamageMultiplier = 1.1,
 +
      BluntDamageMultiplier = 0.9,
 +
    },
 +
    thingCategories = {
 +
      "ResourcesRaw",
 
     },
 
     },
     comps = {
+
     smeltable = true,
       CompProperties_Hatcher = {
+
    stuffProps = {
         hatcherDaystoHatch = 3.5,
+
       categories = {
         hatcherPawn = "Iguana",
+
        "Metallic",
 +
      },
 +
      statFactors = {
 +
         MaxHitPoints = 2.8,
 +
        Beauty = 1,
 +
        Flammability = 0,
 +
        WorkToMake = 2.2,
 +
         WorkToBuild = 2.2,
 +
        MeleeWeapon_CooldownMultiplier = 0.8,
 
       },
 
       },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Medium",
 
   },
 
   },
  
   ["ThingDef:EggTortoiseFertilized"] = {
+
   ["ThingDef:WoodLog"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggFertBase",
+
       ParentName = "ResourceVerbBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggTortoiseFertilized",
+
     defName = "WoodLog",
     label = "tortoise egg (fert.)",
+
     label = "wood",
     description = [[A fertilized tortoise egg. If all goes well, it should hatch into a baby tortoise. It can be eaten raw, but it's much better cooked.]],
+
     description = [[Wood from trees or other fibrous plants. Useful for building structures and weapons. It is a good fuel for campfires and generators, and can be refined into chemfuel. In a pinch, a piece of wood can be used as a weapon or a leg.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 23.0,
+
       MarketValue = 1.2,
 +
      MaxHitPoints = 150,
 +
      Mass = 0.4,
 +
      Flammability = 1.0,
 +
      DeteriorationRate = 0.5,
 +
      StuffPower_Armor_Sharp = 0.54,
 +
      StuffPower_Armor_Blunt = 0.54,
 +
      StuffPower_Armor_Heat = 0.40,
 +
      StuffPower_Insulation_Cold = 8,
 +
      StuffPower_Insulation_Heat = 4,
 +
      SharpDamageMultiplier = 0.40,
 +
      BluntDamageMultiplier = 0.9,
 
     },
 
     },
     comps = {
+
     stuffProps = {
       CompProperties_Hatcher = {
+
       categories = {
         hatcherDaystoHatch = 3.5,
+
         "Woody",
         hatcherPawn = "Tortoise",
+
      },
 +
      statFactors = {
 +
        MaxHitPoints = 0.65,
 +
        Beauty = 1,
 +
         Flammability = 1,
 +
        WorkToMake = 0.7,
 +
        WorkToBuild = 0.7,
 +
        DoorOpenSpeed = 1.2,
 
       },
 
       },
 
     },
 
     },
  },
+
     thingCategories = {
 
+
       "ResourcesRaw",
  ["ThingDef:EggCassowaryFertilized"] = {
 
     _ = {
 
       ParentName = "EggFertBase",
 
      FileName = "Items_Resource_AnimalProduct.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "EggCassowaryFertilized",
+
     tools = {
    label = "cassowary egg (fert.)",
+
      {
    description = [[A fertilized cassowary egg. If all goes well, it should hatch into a baby cassowary. It can be eaten raw, but it's much better cooked.]],
+
        label = "log",
    statBases = {
+
        capacities = {
      MarketValue = 19.0,
+
          "Blunt",
    },
+
        },
    comps = {
+
         power = 10,
      CompProperties_Hatcher = {
+
         cooldownTime = 2,
         hatcherDaystoHatch = 7,
 
         hatcherPawn = "Cassowary",
 
 
       },
 
       },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Light",
 
   },
 
   },
  
   ["ThingDef:EggEmuFertilized"] = {
+
   ["ThingDef:Uranium"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggFertBase",
+
       ParentName = "ResourceBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggEmuFertilized",
+
     defName = "Uranium",
     label = "emu egg (fert.)",
+
     label = "uranium",
     description = [[A fertilized emu egg. If all goes well, it should hatch into a baby emu. It can be eaten raw, but it's much better cooked.]],
+
     description = [[A dark, heavy metal. While it is best known as a fuel for nuclear devices, its extreme density and hardness also make it good for making certain weapons, armor, and ammunition.]],
 +
    useHitPoints = false,
 
     statBases = {
 
     statBases = {
       MarketValue = 18.0,
+
       MarketValue = 6,
 +
      Mass = 1,
 +
      StuffPower_Armor_Sharp = 1.08,
 +
      StuffPower_Armor_Blunt = 0.54,
 +
      StuffPower_Armor_Heat = 0.65,
 +
      StuffPower_Insulation_Cold = 3,
 +
      StuffPower_Insulation_Heat = 0,
 +
      SharpDamageMultiplier = 1.1,
 +
      BluntDamageMultiplier = 1.5,
 +
    },
 +
    thingCategories = {
 +
      "ResourcesRaw",
 
     },
 
     },
     comps = {
+
     smeltable = true,
       CompProperties_Hatcher = {
+
    stuffProps = {
         hatcherDaystoHatch = 6,
+
       categories = {
         hatcherPawn = "Emu",
+
         "Metallic",
 +
      },
 +
      statFactors = {
 +
        MaxHitPoints = 2.5,
 +
         WorkToMake = 1.9,
 +
        WorkToBuild = 1.9,
 +
        Beauty = 0.5,
 +
        Flammability = 0.0,
 +
        DoorOpenSpeed = 0.75,
 +
        MeleeWeapon_CooldownMultiplier = 1.10,
 
       },
 
       },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Medium",
 
   },
 
   },
  
   ["ThingDef:EggOstrichFertilized"] = {
+
   ["ThingDef:Jade"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggFertBase",
+
       ParentName = "ResourceBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggOstrichFertilized",
+
     defName = "Jade",
     label = "ostrich egg (fert.)",
+
     label = "jade",
     description = [[A fertilized ostrich egg. If all goes well, it should hatch into a baby ostrich. It can be eaten raw, but it's much better cooked.]],
+
     description = [[A hard, green stone. Because of its beauty and rarity, jade is often used for ornaments and decorations. Its hardness and density also makes it a good material for blunt weapons.]],
 +
    useHitPoints = false,
 
     statBases = {
 
     statBases = {
       MarketValue = 23.0,
+
       MarketValue = 5,
 +
      Mass = 0.5,
 +
      StuffPower_Armor_Sharp = 0.9,
 +
      StuffPower_Armor_Blunt = 0.45,
 +
      StuffPower_Armor_Heat = 0.54,
 +
      StuffPower_Insulation_Cold = 3,
 +
      StuffPower_Insulation_Heat = 0,
 +
      BluntDamageMultiplier = 1.5,
 
     },
 
     },
     comps = {
+
     thingCategories = {
       CompProperties_Hatcher = {
+
       "ResourcesRaw",
         hatcherDaystoHatch = 8,
+
    },
         hatcherPawn = "Ostrich",
+
    smeltable = false,
 +
    stuffProps = {
 +
      categories = {
 +
        "Stony",
 +
      },
 +
      statOffsets = {
 +
        Beauty = 10,
 +
      },
 +
      statFactors = {
 +
         MaxHitPoints = 0.5,
 +
         WorkToMake = 1.4,
 +
        WorkToBuild = 5.0,
 +
        Beauty = 2.5,
 +
        Flammability = 0,
 +
        MeleeWeapon_CooldownMultiplier = 1.3,
 
       },
 
       },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Heavy",
 
   },
 
   },
  
   ["ThingDef:EggTurkeyFertilized"] = {
+
   ["ThingDef:Cloth"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggFertBase",
+
       ParentName = "ResourceBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggTurkeyFertilized",
+
     defName = "Cloth",
     label = "turkey egg (fert.)",
+
     label = "cloth",
     description = [[A fertilized turkey egg. If all goes well, it should hatch into a baby turkey. It can be eaten raw, but it's much better cooked.]],
+
     description = [[Cloth woven from organic fibers.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 11.0,
+
      StuffPower_Armor_Sharp = 0.36,
 +
      StuffPower_Armor_Blunt = 0,
 +
      StuffPower_Armor_Heat = 0.18,
 +
      StuffPower_Insulation_Cold = 18,
 +
      StuffPower_Insulation_Heat = 18,
 +
      MaxHitPoints = 80,
 +
       MarketValue = 1.5,
 +
      Mass = 0.026,
 +
      Flammability = 1.2,
 +
      DeteriorationRate = 4,
 +
    },
 +
    stuffProps = {
 +
      statFactors = {
 +
        Flammability = 1.2,
 +
        Beauty = 1,
 +
      },
 +
      categories = {
 +
        "Fabric",
 +
      },
 +
    },
 +
    thingCategories = {
 +
      "Textiles",
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Hatcher = {
+
       {
         hatcherDaystoHatch = 5,
+
         compClass = "CompColorable",
        hatcherPawn = "Turkey",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:EggDuckUnfertilized"] = {
+
   ["ThingDef:Synthread"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggUnfertBase",
+
       ParentName = "ResourceBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggDuckUnfertilized",
+
     defName = "Synthread",
     label = "duck egg (unfert.)",
+
     label = "synthread",
     description = [[An unfertilized duck egg. It can be eaten raw, but it's much, much better cooked.]],
+
     description = [[Spacer-tech synthetic fabric designed for making ordinary clothes. It is soft, light, strong, and insulates well.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 7.0,
+
      MaxHitPoints = 150,
 +
       MarketValue = 4,
 +
      Mass = 0.025,
 +
      Flammability = 0.7,
 +
      DeteriorationRate = 3,
 +
      StuffPower_Armor_Sharp = 0.94,
 +
      StuffPower_Armor_Blunt = 0.26,
 +
      StuffPower_Armor_Heat = 0.90,
 +
      StuffPower_Insulation_Cold = 22,
 +
      StuffPower_Insulation_Heat = 22,
 +
    },
 +
    stuffProps = {
 +
      categories = {
 +
        "Fabric",
 +
      },
 +
      statFactors = {
 +
        Flammability = 0.7,
 +
        MaxHitPoints = 1.3,
 +
        Beauty = 2.3,
 +
      },
 +
    },
 +
    thingCategories = {
 +
      "Textiles",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:EggDuckFertilized"] = {
+
   ["ThingDef:DevilstrandCloth"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggFertBase",
+
       ParentName = "ResourceBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggDuckFertilized",
+
     defName = "DevilstrandCloth",
     label = "duck egg (fert.)",
+
     label = "devilstrand",
     description = [[A fertilized duck egg. If all goes well, it should hatch into a duckling. It can be eaten raw, but it's much better cooked.]],
+
     description = [[Fabric spun from microfibers extracted from devilstrand mushrooms. It is very tough, good at insulating, and protects exceptionally well against flame.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 7.0,
+
      MaxHitPoints = 100,
 +
       MarketValue = 5.5,
 +
      Mass = 0.032,
 +
      Flammability = 0.4,
 +
      DeteriorationRate = 3,
 +
      StuffPower_Armor_Sharp = 1.40,
 +
      StuffPower_Armor_Blunt = 0.36,
 +
      StuffPower_Armor_Heat = 3.00,
 +
      StuffPower_Insulation_Cold = 20,
 +
      StuffPower_Insulation_Heat = 24,
 +
    },
 +
    stuffProps = {
 +
      categories = {
 +
        "Fabric",
 +
      },
 +
      statFactors = {
 +
        Flammability = 0.4,
 +
        MaxHitPoints = 1.3,
 +
        Beauty = 3.2,
 +
      },
 +
    },
 +
    thingCategories = {
 +
      "Textiles",
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Hatcher = {
+
       {
         hatcherDaystoHatch = 3.5,
+
         compClass = "CompColorable",
        hatcherPawn = "Duck",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:EggGooseUnfertilized"] = {
+
   ["ThingDef:Hyperweave"] = {
 
     _ = {
 
     _ = {
       ParentName = "EggUnfertBase",
+
       ParentName = "ResourceBase",
       FileName = "Items_Resource_AnimalProduct.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "EggGooseUnfertilized",
+
     defName = "Hyperweave",
     label = "goose egg (unfert.)",
+
     label = "hyperweave",
     description = [[An unfertilized goose egg. It can be eaten raw, but it's much, much better cooked.]],
+
     description = [[Nano-fibers woven into sheets molecule-by-molecule using specialized production mechanites. While it flexes freely most of the time, it stiffens to absorb blows as they land, and is incredibly difficult to break. The secrets of its production are known only to the most advanced glitterworld cultures.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 9.0,
+
      MaxHitPoints = 200,
 +
       MarketValue = 9,
 +
      Mass = 0.038,
 +
      Flammability = 0.4,
 +
      DeteriorationRate = 1.0,
 +
      StuffPower_Armor_Sharp = 2.00,
 +
      StuffPower_Armor_Blunt = 0.54,
 +
      StuffPower_Armor_Heat = 2.88,
 +
      StuffPower_Insulation_Cold = 26,
 +
      StuffPower_Insulation_Heat = 26,
 
     },
 
     },
  },
+
    stuffProps = {
 
+
      categories = {
  ["ThingDef:EggGooseFertilized"] = {
+
        "Fabric",
    _ = {
+
      },
      ParentName = "EggFertBase",
+
      statFactors = {
      FileName = "Items_Resource_AnimalProduct.xml",
+
        Flammability = 0.4,
       DLC = "Core",
+
        MaxHitPoints = 2.4,
 +
        Beauty = 5.5,
 +
       },
 
     },
 
     },
     defName = "EggGooseFertilized",
+
     thingCategories = {
    label = "goose egg (fert.)",
+
      "Textiles",
    description = [[A fertilized goose egg. If all goes well, it should hatch into a baby goose. It can be eaten raw, but it's much better cooked.]],
 
    statBases = {
 
      MarketValue = 11.0,
 
 
     },
 
     },
     comps = {
+
     tradeTags = {
       CompProperties_Hatcher = {
+
       "ExoticMisc",
        hatcherDaystoHatch = 6.5,
 
        hatcherPawn = "Goose",
 
      },
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:WoolBase"] = {
 
     _ = {
 
     _ = {
       Name = "ResourceBase",
+
      ParentName = "ResourceBase",
 +
       Name = "WoolBase",
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Items_Resource_Base.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    thingClass = "ThingWithComps",
+
     stackLimit = 100,
    category = "Item",
 
    useHitPoints = true,
 
    altitudeLayer = "Item",
 
     stackLimit = 75,
 
 
     statBases = {
 
     statBases = {
       Beauty = -4,
+
       MaxHitPoints = 90,
 +
      MarketValue = 2.7,
 +
      Mass = 0.028,
 +
      Flammability = 0.4,
 +
      DeteriorationRate = 3.4,
 +
      StuffPower_Armor_Sharp = 0.36,
 +
      StuffPower_Armor_Blunt = 0.00,
 +
      StuffPower_Armor_Heat = 1.10,
 +
    },
 +
    stuffProps = {
 +
      statFactors = {
 +
        Flammability = 1.7,
 +
        Beauty = 1.5,
 +
      },
 +
      categories = {
 +
        "Fabric",
 +
      },
 
     },
 
     },
     comps = {
+
     thingCategories = {
       CompProperties_Forbiddable = {},
+
       "Textiles",
 
     },
 
     },
    pathCost = 14,
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:WoolMegasloth"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "WoolBase",
       Name = "MedicineBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Items_Resource_Stuff.xml",
       FileName = "Items_Resource_Manufactured.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Medicine",
+
     defName = "WoolMegasloth",
     stackLimit = 25,
+
     label = "megasloth wool",
 +
    description = [[While somewhat coarse, megasloth wool's long fibers make it very strong. It is exceptionally warm.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 60,
+
       StuffPower_Armor_Sharp = 0.80,
    },
+
      StuffPower_Insulation_Cold = 34,
    thingCategories = {
+
      StuffPower_Insulation_Heat = 12,
      "Medicine",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MedicineHerbal"] = {
+
   ["ThingDef:WoolMuffalo"] = {
 
     _ = {
 
     _ = {
       ParentName = "MedicineBase",
+
       ParentName = "WoolBase",
       FileName = "Items_Resource_Manufactured.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MedicineHerbal",
+
     defName = "WoolMuffalo",
     label = "herbal medicine",
+
     label = "muffalo wool",
     description = [[A pack of herbal concoctions extracted from the healroot plant. It is less potent than industrial pharmaceuticals, but much better than nothing.]],
+
     description = [[Soft, light and provides very good insulation. Muffalo wool clothes can keep the body warm even in very cold conditions.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 10,
+
       StuffPower_Insulation_Cold = 30,
       Mass = 0.35,
+
       StuffPower_Insulation_Heat = 12,
      Flammability = 1.3,
 
      MedicalPotency = 0.60,
 
      MedicalQualityMax = 0.70,
 
      DeteriorationRate = 6,
 
    },
 
    comps = {
 
      CompProperties_Rottable = {
 
        daysToRotStart = 150,
 
        rotDestroys = true,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MedicineIndustrial"] = {
+
   ["ThingDef:WoolAlpaca"] = {
 
     _ = {
 
     _ = {
       ParentName = "MedicineBase",
+
       ParentName = "WoolBase",
       FileName = "Items_Resource_Manufactured.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MedicineIndustrial",
+
     defName = "WoolAlpaca",
     label = "medicine",
+
     label = "alpaca wool",
     description = [[A kit of industrial-era medical equipment. It contains basic drugs, tools for suturing and bone setting, diagnostic devices, and various pads and fluids.]],
+
     description = [[The remarkably soft wool of an alpaca. It is very warm.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 18,
+
       DeteriorationRate = 2.6,
      Mass = 0.50,
+
       StuffPower_Insulation_Cold = 28,
      Flammability = 0.7,
+
       StuffPower_Insulation_Heat = 16,
       MedicalPotency = 1.00,
 
      MedicalQualityMax = 1.00,
 
      DeteriorationRate = 2,
 
       WorkToMake = 700,
 
 
     },
 
     },
     costList = {
+
  },
       MedicineHerbal = 1,
+
 
       Neutroamine = 1,
+
  ["ThingDef:WoolBison"] = {
       Cloth = 3,
+
     _ = {
 +
       ParentName = "WoolBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 +
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     defName = "WoolBison",
      workSpeedStat = "DrugSynthesisSpeed",
+
    label = "bison wool",
      workSkill = "Intellectual",
+
    description = [[Thick and coarse wool of a bison. Quite warm.]],
      recipeUsers = {
+
    statBases = {
        "DrugLab",
+
       StuffPower_Insulation_Cold = 26,
      },
+
       StuffPower_Insulation_Heat = 12,
       researchPrerequisite = "MedicineProduction",
 
       skillRequirements = {
 
        Crafting = 4,
 
        Intellectual = 4,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MedicineUltratech"] = {
+
   ["ThingDef:WoolSheep"] = {
 
     _ = {
 
     _ = {
       ParentName = "MedicineBase",
+
       ParentName = "WoolBase",
       FileName = "Items_Resource_Manufactured.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MedicineUltratech",
+
     defName = "WoolSheep",
     label = "glitterworld medicine",
+
     label = "sheep wool",
     description = [[A kit of advanced ultra-tech medical supplies, probably manufactured on a distant glitterworld. It contains advanced polymorphic drugs, nanite diagnostic and healing assisters, a mini-imager, and various multi-use tools.]],
+
     description = [[Sheep's wool. It provides good insulation.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 50,
+
       StuffPower_Insulation_Cold = 26,
       Mass = 0.50,
+
       StuffPower_Insulation_Heat = 10,
      Flammability = 0.7,
 
      MedicalPotency = 1.60,
 
      MedicalQualityMax = 1.30,
 
      DeteriorationRate = 2.0,
 
    },
 
    tradeTags = {
 
      "ExoticMisc",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ComponentIndustrial"] = {
+
   ["ThingDef:LeatherBase"] = {
 
     _ = {
 
     _ = {
 +
      Abstract = true,
 +
      Name = "LeatherBase",
 
       ParentName = "ResourceBase",
 
       ParentName = "ResourceBase",
       FileName = "Items_Resource_Manufactured.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "ComponentIndustrial",
+
     description = [[Tanned, dried, scraped skin. A good traditional material for making clothes and bags.]],
    label = "component",
 
     description = [[Miscellaneous gears, capacitors, circuit boards, tubes, wheels, sensors, wires, chips, processors, and other electronic and industrial parts. Necessary for assembling complex machines or electronics.]],
 
    stackLimit = 50,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 70,
+
       MaxHitPoints = 60,
       MarketValue = 32,
+
       DeteriorationRate = 2,
       Mass = 0.6,
+
       Mass = 0.03,
       Flammability = 0.6,
+
       Flammability = 1,
       DeteriorationRate = 2.0,
+
      MarketValue = 2.1,
 +
      StuffPower_Armor_Sharp = 0.81,
 +
       StuffPower_Armor_Blunt = 0.24,
 +
      StuffPower_Armor_Heat = 1.5,
 +
      StuffPower_Insulation_Cold = 16,
 +
      StuffPower_Insulation_Heat = 16,
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "Manufactured",
+
       "Leathers",
 +
    },
 +
    stuffProps = {
 +
      categories = {
 +
        "Leathery",
 +
      },
 +
      statFactors = {
 +
        MaxHitPoints = 1.3,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ComponentSpacer"] = {
+
   ["ThingDef:Leather_Plain"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_Manufactured.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ComponentSpacer",
+
     defName = "Leather_Plain",
     label = "advanced component",
+
     label = "plainleather",
     description = [[Advanced computing and energy-directing machinery, miniaturized and hardened for the most demanding applications.]],
+
  },
     stackLimit = 50,
+
 
 +
  ["ThingDef:Leather_Dog"] = {
 +
     _ = {
 +
      ParentName = "LeatherBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Items_Resource_Stuff_Leather.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Leather_Dog",
 +
     label = "dog leather",
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 70,
+
       MarketValue = 2.0,
       MarketValue = 200,
+
       StuffPower_Insulation_Cold = 14,
      Mass = 0.6,
 
      Flammability = 0.6,
 
      DeteriorationRate = 2.0,
 
    },
 
    thingCategories = {
 
       "Manufactured",
 
    },
 
    tradeTags = {
 
      "ExoticMisc",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Neutroamine"] = {
+
   ["ThingDef:Leather_Wolf"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_Manufactured.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Neutroamine",
+
     defName = "Leather_Wolf",
     label = "neutroamine",
+
     label = "wolfskin",
     description = [[A synthetic precursor chemical. While it is useless on its own, many drugs require neutroamine as an ingredient.]],
+
     description = [[A soft furry pelt harvested from a wolf-like creature. It is difficult to pierce and insulates well against cold.]],
    stackLimit = 150,
 
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 50,
+
       MarketValue = 3.0,
       MarketValue = 6,
+
       StuffPower_Armor_Sharp = 1.02,
       Mass = 0.02,
+
       StuffPower_Insulation_Cold = 24,
       Flammability = 0.7,
 
      DeteriorationRate = 1.0,
 
 
     },
 
     },
     thingCategories = {
+
     stuffProps = {
       "Manufactured",
+
       statFactors = {
 +
        Beauty = 1.7,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Chemfuel"] = {
+
   ["ThingDef:Leather_Panthera"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_Manufactured.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Chemfuel",
+
     defName = "Leather_Panthera",
     label = "chemfuel",
+
     label = "panthera fur",
     description = [[A volatile liquid chemical. Used to fuel engines and rockets, or to transmute into propellant for projectiles, or as an incendiary weapon.]],
+
     description = [[A soft furry pelt harvested from a big cat. It is difficult to pierce and insulates well against heat.]],
    stackLimit = 150,
 
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 50,
+
       MarketValue = 3.0,
       MarketValue = 2.3,
+
       StuffPower_Armor_Sharp = 0.93,
       Mass = 0.05,
+
       StuffPower_Insulation_Heat = 24,
       Flammability = 2.0,
 
      DeteriorationRate = 1.0,
 
 
     },
 
     },
     thingCategories = {
+
     stuffProps = {
       "Manufactured",
+
       statFactors = {
    },
+
         Beauty = 1.7,
    comps = {
 
      CompProperties_Explosive = {
 
         explosiveRadius = 1.1,
 
        explosiveDamageType = "Flame",
 
        explosiveExpandPerStackcount = 0.037,
 
        startWickOnDamageTaken = {
 
          "Flame",
 
        },
 
        startWickHitPointsPercent = 0.333,
 
        preExplosionSpawnThingDef = "Filth_Fuel",
 
        preExplosionSpawnChance = 1,
 
        wickTicks = { ["<"]=70, [">"]=150 },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Leather_Camel"] = {
 
     _ = {
 
     _ = {
       Abstract = true,
+
       ParentName = "LeatherBase",
      Name = "OrganicProductBase",
+
       DefCategory = "ThingDef",
       ParentName = "ResourceBase",
+
       FileName = "Items_Resource_Stuff_Leather.xml",
       FileName = "Items_Resource_RawPlant.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "Leather_Camel",
 +
    label = "camelhide",
 +
    description = [[Tanned, dried, scraped camel skin. Good at temperature regulation in hot climates.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 60,
+
       MarketValue = 2.3,
       Flammability = 1.0,
+
       StuffPower_Insulation_Heat = 24,
       DeteriorationRate = 6,
+
    },
       Mass = 0.03,
+
    stuffProps = {
 +
       statFactors = {
 +
        Beauty = 1.3,
 +
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Leather_Bluefur"] = {
 
     _ = {
 
     _ = {
       Abstract = true,
+
       ParentName = "LeatherBase",
      Name = "PlantFoodRawBase",
+
       DefCategory = "ThingDef",
       ParentName = "OrganicProductBase",
+
       FileName = "Items_Resource_Stuff_Leather.xml",
       FileName = "Items_Resource_RawPlant.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     ingestible = {
+
     defName = "Leather_Bluefur",
      preferability = "RawBad",
+
    label = "bluefur",
      tasteThought = "AteRawFood",
+
     description = [[The furry pelt of muffalo. Recognizable by its distinctive blue tint. Good at temperature regulation in cold climates.]],
     },
 
 
     statBases = {
 
     statBases = {
       Nutrition = 0.05,
+
       MarketValue = 2.3,
       FoodPoisonChanceFixedHuman = 0.02,
+
       StuffPower_Insulation_Cold = 20,
 
     },
 
     },
     thingCategories = {
+
     stuffProps = {
       "PlantFoodRaw",
+
       statFactors = {
 +
        Beauty = 1.3,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:RawPotatoes"] = {
+
   ["ThingDef:Leather_Bear"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantFoodRawBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RawPotatoes",
+
     defName = "Leather_Bear",
     label = "potatoes",
+
     label = "bearskin",
     description = [[Raw potatoes.]],
+
     description = [[The strong furry leather of a bear. Compared to most leather, it is quite a bit tougher and a bit better at all kinds of temperature regulation.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1.1,
+
       MarketValue = 3.4,
 +
      StuffPower_Armor_Sharp = 1.12,
 +
      StuffPower_Insulation_Cold = 20,
 +
      StuffPower_Insulation_Heat = 20,
 
     },
 
     },
     ingestible = {
+
     stuffProps = {
       foodType = "VegetableOrFruit",
+
       statFactors = {
    },
+
         Beauty = 1.9,
    comps = {
 
      CompProperties_Rottable = {
 
         daysToRotStart = 30,
 
        rotDestroys = true,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:RawFungus"] = {
+
   ["ThingDef:Leather_GuineaPig"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantFoodRawBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RawFungus",
+
     defName = "Leather_GuineaPig",
     label = "raw fungus",
+
     label = "guinea pig fur",
     description = [[Raw fungus.]],
+
     description = [[Sheets of guinea pig fur. It is delicate, but luxurious.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1.1,
+
       MarketValue = 5,
 +
      StuffPower_Armor_Sharp = 0.67,
 +
      StuffPower_Armor_Blunt = 0.14,
 +
      StuffPower_Insulation_Cold = 38,
 +
      StuffPower_Insulation_Heat = 18,
 
     },
 
     },
     ingestible = {
+
     stuffProps = {
       foodType = "VegetableOrFruit",
+
       statFactors = {
    },
+
         MaxHitPoints = 0.6,
    comps = {
+
         Beauty = 2.8,
      CompProperties_Rottable = {
 
         daysToRotStart = 30,
 
         rotDestroys = true,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:RawRice"] = {
+
   ["ThingDef:Leather_Human"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantFoodRawBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RawRice",
+
     defName = "Leather_Human",
     label = "rice",
+
     label = "human leather",
     description = [[Raw rice.]],
+
     description = [[Tanned, dried, scraped human skin. Most people find this material horrifying. Some find it fascinating. While a decent leather, it neither protects nor insulates particularly well.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1.1,
+
       MarketValue = 4.2,
 +
      StuffPower_Armor_Sharp = 0.64,
 +
      StuffPower_Insulation_Cold = 12,
 +
      StuffPower_Insulation_Heat = 12,
 
     },
 
     },
     ingestible = {
+
  },
       foodType = "Seed",
+
 
 +
  ["ThingDef:Leather_Pig"] = {
 +
     _ = {
 +
       ParentName = "LeatherBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Items_Resource_Stuff_Leather.xml",
 +
      DLC = "Core",
 
     },
 
     },
     comps = {
+
     defName = "Leather_Pig",
       CompProperties_Rottable = {
+
    label = "pigskin",
        daysToRotStart = 40,
+
    description = [[Tanned, dried, scraped pig skin. While a decent leather, it neither protects nor insulates particularly well.]],
        rotDestroys = true,
+
    statBases = {
       },
+
       MarketValue = 1.9,
 +
      StuffPower_Armor_Sharp = 0.64,
 +
      StuffPower_Insulation_Cold = 12,
 +
       StuffPower_Insulation_Heat = 12,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:RawAgave"] = {
+
   ["ThingDef:Leather_Light"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantFoodRawBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RawAgave",
+
     defName = "Leather_Light",
     label = "agave fruit",
+
     label = "lightleather",
     description = [[Raw agave fruit.]],
+
     description = [[Lightweight, thin leather. Probably harvested from a small animal. Not as protective as thicker leathers.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1.1,
+
       MarketValue = 1.9,
 +
      StuffPower_Armor_Sharp = 0.54,
 +
      StuffPower_Armor_Blunt = 0.14,
 +
      StuffPower_Insulation_Cold = 12,
 +
      StuffPower_Insulation_Heat = 12,
 
     },
 
     },
     ingestible = {
+
     stuffProps = {
       foodType = "VegetableOrFruit",
+
       statFactors = {
    },
+
         MaxHitPoints = 1.0,
    comps = {
 
      CompProperties_Rottable = {
 
         daysToRotStart = 25,
 
        rotDestroys = true,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:RawCorn"] = {
+
   ["ThingDef:Leather_Bird"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantFoodRawBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RawCorn",
+
     defName = "Leather_Bird",
     label = "corn",
+
     label = "birdskin",
     description = [[Raw corn.]],
+
     description = [[Tanned, dried, scraped bird skin. It is quite delicate. Without its feathers, it provides little protection from heat or cold.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1.1,
+
       MarketValue = 1.8,
 +
      StuffPower_Armor_Sharp = 0.67,
 +
      StuffPower_Armor_Blunt = 0.14,
 +
      StuffPower_Insulation_Cold = 10,
 +
      StuffPower_Insulation_Heat = 10,
 
     },
 
     },
     ingestible = {
+
     stuffProps = {
       foodType = "VegetableOrFruit",
+
       statFactors = {
    },
+
         MaxHitPoints = 1.0,
    comps = {
 
      CompProperties_Rottable = {
 
         daysToRotStart = 60,
 
        rotDestroys = true,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:RawBerries"] = {
+
   ["ThingDef:Leather_Chinchilla"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantFoodRawBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RawBerries",
+
     defName = "Leather_Chinchilla",
     label = "berries",
+
     label = "chinchilla fur",
     description = [[Assorted berries. Nice to eat, even when raw.]],
+
     description = [[Tanned, dried, scraped chinchilla skin. Known as an extremely luxurious and insulating fur, it is exceptionally valuable.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1.2,
+
       MarketValue = 6.5,
       Mass = 0.027,
+
       StuffPower_Armor_Sharp = 0.67,
 +
      StuffPower_Armor_Blunt = 0.14,
 +
      StuffPower_Insulation_Cold = 30,
 +
      StuffPower_Insulation_Heat = 16,
 
     },
 
     },
     comps = {
+
     stuffProps = {
       CompProperties_Rottable = {
+
       statFactors = {
         daysToRotStart = 14,
+
         MaxHitPoints = 1.0,
         rotDestroys = true,
+
         Beauty = 3.6,
 
       },
 
       },
    },
 
    ingestible = {
 
      preferability = "RawTasty",
 
      tasteThought = {},
 
      foodType = "VegetableOrFruit",
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Leather_Fox"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrganicProductBase",
+
       ParentName = "LeatherBase",
       Name = "RoughPlantBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Items_Resource_Stuff_Leather.xml",
       FileName = "Items_Resource_RawPlant.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     ingestible = {
+
     defName = "Leather_Fox",
       foodType = "Plant",
+
    label = "foxfur",
       preferability = "DesperateOnlyForHumanlikes",
+
    description = [[The pelt of a fox. It protects well from the cold and is quite luxurious, fetching a high price.]],
 +
    statBases = {
 +
       MarketValue = 3.5,
 +
      StuffPower_Armor_Sharp = 0.81,
 +
      StuffPower_Armor_Blunt = 0.21,
 +
       StuffPower_Insulation_Cold = 20,
 
     },
 
     },
     statBases = {
+
     stuffProps = {
       Nutrition = 0.05,
+
       statFactors = {
 +
        MaxHitPoints = 1.0,
 +
        Beauty = 2.0,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Hay"] = {
+
   ["ThingDef:Leather_Lizard"] = {
 
     _ = {
 
     _ = {
       ParentName = "RoughPlantBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Hay",
+
     defName = "Leather_Lizard",
     label = "hay",
+
     label = "lizardskin",
     description = [[Nutrient-rich grasses and shoots, harvested and compacted for storage. Hay is good animal feed, but inedible for humans.]],
+
     description = [[The tanned skin of a cold-blooded reptile. Lizardskin is reasonably tough, but does not insulate well at all.]],
    stackLimit = 200,
 
 
     statBases = {
 
     statBases = {
       MarketValue = 0.6,
+
       MarketValue = 2.1,
       Mass = 0.014,
+
      StuffPower_Armor_Sharp = 0.81,
       Flammability = 1.5,
+
       StuffPower_Armor_Blunt = 0.27,
 +
      StuffPower_Insulation_Cold = 12,
 +
       StuffPower_Insulation_Heat = 12,
 
     },
 
     },
     comps = {
+
     stuffProps = {
       CompProperties_Rottable = {
+
       statFactors = {
         daysToRotStart = 60,
+
         MaxHitPoints = 1.0,
         rotDestroys = true,
+
         Beauty = 1.2,
 
       },
 
       },
    },
 
    thingCategories = {
 
      "Foods",
 
    },
 
    ingestible = {
 
      optimalityOffsetFeedingAnimals = 7,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:RawHops"] = {
+
   ["ThingDef:Leather_Elephant"] = {
 
     _ = {
 
     _ = {
       ParentName = "RoughPlantBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RawHops",
+
     defName = "Leather_Elephant",
     label = "hops",
+
     label = "elephant leather",
     description = [[Raw hops. A flavoring and preserving agent that is necessary for making beer.]],
+
     description = [[Tanned, dried, scraped elephant skin. While quite tough, it is a poor insulator.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1.3,
+
       MarketValue = 3.0,
 +
      StuffPower_Armor_Sharp = 1.12,
 +
      StuffPower_Insulation_Cold = 14,
 +
      StuffPower_Insulation_Heat = 12,
 
     },
 
     },
     comps = {
+
     stuffProps = {
       CompProperties_Rottable = {
+
       statFactors = {
         daysToRotStart = 30,
+
         MaxHitPoints = 1.5,
         rotDestroys = true,
+
         Beauty = 1.6,
 
       },
 
       },
    },
 
    thingCategories = {
 
      "PlantMatter",
 
    },
 
    ingestible = {
 
      preferability = "DesperateOnly",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PsychoidLeaves"] = {
+
   ["ThingDef:Leather_Heavy"] = {
 
     _ = {
 
     _ = {
       ParentName = "RoughPlantBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PsychoidLeaves",
+
     defName = "Leather_Heavy",
     label = "psychoid leaves",
+
     label = "heavy fur",
     description = [[Raw cut leaves of a psychoid plant. Can be refined into various form of the stimulant drug psychite.]],
+
     description = [[Thick leather covered in a long, rugged mat of fur. Harvested from a large, hardy animal. This thick skin insulates and protects very well.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1.9,
+
       MarketValue = 3.3,
       Flammability = 1.3,
+
       StuffPower_Armor_Sharp = 1.24,
 +
      StuffPower_Insulation_Cold = 30,
 +
      StuffPower_Insulation_Heat = 14,
 
     },
 
     },
     comps = {
+
     stuffProps = {
       CompProperties_Rottable = {
+
       statFactors = {
         daysToRotStart = 30,
+
         MaxHitPoints = 1.5,
         rotDestroys = true,
+
         Beauty = 1.85,
 
       },
 
       },
    },
 
    thingCategories = {
 
      "PlantMatter",
 
    },
 
    ingestible = {
 
      preferability = "DesperateOnly",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SmokeleafLeaves"] = {
+
   ["ThingDef:Leather_Rhinoceros"] = {
 
     _ = {
 
     _ = {
       ParentName = "RoughPlantBase",
+
       ParentName = "LeatherBase",
       FileName = "Items_Resource_RawPlant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SmokeleafLeaves",
+
     defName = "Leather_Rhinoceros",
     label = "smokeleaf leaves",
+
     label = "rhinoceros leather",
     description = [[Raw cut leaves of a smokeleaf plant. Can be rolled into smokeable joints at a crafting spot.]],
+
     description = [[Tanned, dried, scraped rhinocerous skin. It is exceptionally durable in combat, but provides little protection from weather.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1.6,
+
       MarketValue = 4.2,
       Flammability = 1.3,
+
       StuffPower_Armor_Sharp = 1.29,
 +
      StuffPower_Insulation_Cold = 14,
 +
      StuffPower_Insulation_Heat = 14,
 
     },
 
     },
     comps = {
+
     stuffProps = {
       CompProperties_Rottable = {
+
       statFactors = {
         daysToRotStart = 30,
+
         MaxHitPoints = 1.5,
         rotDestroys = true,
+
         Beauty = 2.4,
 
       },
 
       },
    },
 
    thingCategories = {
 
      "PlantMatter",
 
    },
 
    ingestible = {
 
      preferability = "DesperateOnly",
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Leather_Thrumbo"] = {
 
     _ = {
 
     _ = {
       Name = "ShellBase",
+
       ParentName = "LeatherBase",
       ParentName = "ResourceBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Items_Resource_Stuff_Leather.xml",
       FileName = "Items_Resource_Shell.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     stackLimit = 25,
+
     defName = "Leather_Thrumbo",
 +
    label = "thrumbofur",
 +
    description = [[Furry pelt of a thrumbo. Luxurious and extraordinarily durable. Used for the highest-quality crafts for its insulation and strength.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 60,
+
       MarketValue = 14.0,
       MarketValue = 55,
+
       StuffPower_Armor_Sharp = 2.08,
       Mass = 1.25,
+
       StuffPower_Armor_Blunt = 0.36,
       Flammability = 1.0,
+
       StuffPower_Insulation_Cold = 34,
       DeteriorationRate = 1.5,
+
       StuffPower_Insulation_Heat = 22,
 
     },
 
     },
     thingCategories = {
+
     stuffProps = {
       "MortarShells",
+
       statFactors = {
    },
+
        MaxHitPoints = 2.0,
    tradeTags = {
+
        Beauty = 8,
       "MortarShell",
+
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Leather_Patch"] = {
 
     _ = {
 
     _ = {
       Name = "MakeableShellBase",
+
       ParentName = "LeatherBase",
       ParentName = "ShellBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Items_Resource_Stuff_Leather.xml",
       FileName = "Items_Resource_Shell.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     defName = "Leather_Patch",
      workSpeedStat = "GeneralLaborSpeed",
+
    label = "patchleather",
       effectWorking = "Cook",
+
    description = [[A weak textile created by cutting up and sewing together various types of leathers. Regardless of what kind of leather is used to create it, patchleather's irregular seams make it less tough and less insulating than any intact leather.]],
       soundWorking = "Recipe_Machining",
+
    statBases = {
       workAmount = 800,
+
       MarketValue = 1.5,
       targetCountAdjustment = 5,
+
       StuffPower_Armor_Sharp = 0.45,
       workSkill = "Crafting",
+
       StuffPower_Armor_Blunt = 0.19,
       recipeUsers = {
+
       StuffPower_Armor_Heat = 0.9,
        "TableMachining",
+
       StuffPower_Insulation_Cold = 9,
      },
+
       StuffPower_Insulation_Heat = 9,
       skillRequirements = {
+
    },
         Crafting = 4,
+
    stuffProps = {
 +
       statFactors = {
 +
         MaxHitPoints = 1.0,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Shell_HighExplosive"] = {
+
   ["ThingDef:UnfinishedBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MakeableShellBase",
+
       Name = "UnfinishedBase",
       FileName = "Items_Resource_Shell.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Shell_HighExplosive",
+
     thingClass = "UnfinishedThing",
     label = "high-explosive shell",
+
    category = "Item",
     description = [[A shell filled with high explosives. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
+
     label = "unfinished thing",
 +
    altitudeLayer = "Item",
 +
    useHitPoints = true,
 +
    tradeability = "None",
 +
     statBases = {
 +
      MaxHitPoints = 50,
 +
      DeteriorationRate = 2.0,
 +
      Beauty = -8,
 +
      Mass = 1,
 +
    },
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       CompProperties_Forbiddable = {},
        explosiveRadius = 2.9,
 
        explosiveDamageType = "Bomb",
 
        explosiveExpandPerStackcount = 0.4,
 
        startWickHitPointsPercent = 0.7,
 
        wickTicks = { ["<"]=30, [">"]=60 },
 
      },
 
 
     },
 
     },
     costList = {
+
     pathCost = 14,
      Steel = 25,
+
     thingCategories = {
      Chemfuel = 15,
+
       "Unfinished",
    },
 
     recipeMaker = {
 
       researchPrerequisite = "Mortars",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_Shell_HighExplosive"] = {
+
   ["ThingDef:UnfinishedSculpture"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "UnfinishedBase",
       FileName = "Items_Resource_Shell.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Shell_HighExplosive",
+
     defName = "UnfinishedSculpture",
     label = "high-explosive shell",
+
     label = "unfinished sculpture",
     thingClass = "Projectile_Explosive",
+
     description = [[An unfinished sculpture.]],
 
   },
 
   },
  
   ["ThingDef:Shell_Incendiary"] = {
+
   ["ThingDef:UnfinishedGun"] = {
 
     _ = {
 
     _ = {
       ParentName = "MakeableShellBase",
+
       ParentName = "UnfinishedBase",
       FileName = "Items_Resource_Shell.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Shell_Incendiary",
+
     defName = "UnfinishedGun",
     label = "incendiary shell",
+
     label = "unfinished gun",
     description = [[A shell filled with flammable gel and a small explosive charge. Starts fires when detonated. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
+
     description = [[An unfinished gun of some kind.]],
     comps = {
+
     statBases = {
       CompProperties_Explosive = {
+
       Flammability = 0.5,
        explosiveRadius = 2.9,
 
        explosiveDamageType = "Flame",
 
        explosiveExpandPerStackcount = 0.4,
 
        startWickHitPointsPercent = 0.7,
 
        wickTicks = { ["<"]=30, [">"]=60 },
 
      },
 
 
     },
 
     },
     costList = {
+
  },
       Steel = 20,
+
 
       Chemfuel = 20,
+
  ["ThingDef:UnfinishedWeapon"] = {
    },
+
     _ = {
    recipeMaker = {
+
       ParentName = "UnfinishedBase",
       researchPrerequisite = "Mortars",
+
       DefCategory = "ThingDef",
 +
      FileName = "Items_Unfinished.xml",
 +
       DLC = "Core",
 
     },
 
     },
 +
    defName = "UnfinishedWeapon",
 +
    label = "unfinished weapon",
 +
    description = [[An unfinished weapon.]],
 
   },
 
   },
  
   ["ThingDef:Bullet_Shell_Incendiary"] = {
+
   ["ThingDef:UnfinishedArmor"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "UnfinishedBase",
       FileName = "Items_Resource_Shell.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Shell_Incendiary",
+
     defName = "UnfinishedArmor",
     label = "incendiary shell",
+
     label = "unfinished simple armor",
     thingClass = "Projectile_Explosive",
+
     description = [[An unfinished piece of simple armor.]],
 
   },
 
   },
  
   ["ThingDef:Shell_EMP"] = {
+
   ["ThingDef:UnfinishedTechArmor"] = {
 
     _ = {
 
     _ = {
       ParentName = "MakeableShellBase",
+
      Name = "UnfinishedTechArmor",
       FileName = "Items_Resource_Shell.xml",
+
       ParentName = "UnfinishedBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Shell_EMP",
+
     defName = "UnfinishedTechArmor",
     label = "EMP shell",
+
     label = "unfinished advanced armor",
     description = [[A shell filled with batteries and antennas, for generating an electromagnetic pulse when detonated. Electromagnetic pulses temporarily disable electrical devices and mechanoids. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
+
     description = [[An unfinished piece of high-tech armor.]],
     comps = {
+
     statBases = {
       CompProperties_Explosive = {
+
       Flammability = 0.4,
        explosiveRadius = 11.9,
 
        explosiveDamageType = "EMP",
 
        explosiveExpandPerStackcount = 0.4,
 
        startWickHitPointsPercent = 0.7,
 
        wickTicks = { ["<"]=30, [">"]=60 },
 
      },
 
    },
 
    costList = {
 
      Steel = 25,
 
      ComponentIndustrial = 2,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "MicroelectronicsBasics",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_Shell_EMP"] = {
+
   ["ThingDef:UnfinishedMetallicTechArmor"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "UnfinishedTechArmor",
       FileName = "Items_Resource_Shell.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Shell_EMP",
+
     defName = "UnfinishedMetallicTechArmor",
     label = "EMP shell",
+
     label = "unfinished metal armor",
     thingClass = "Projectile_Explosive",
+
     description = [[An unfinished piece of metal armor.]],
 
   },
 
   },
  
   ["ThingDef:Shell_Smoke"] = {
+
   ["ThingDef:UnfinishedApparel"] = {
 
     _ = {
 
     _ = {
       ParentName = "MakeableShellBase",
+
       ParentName = "UnfinishedBase",
       FileName = "Items_Resource_Shell.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Shell_Smoke",
+
     defName = "UnfinishedApparel",
     label = "Smoke shell",
+
     label = "unfinished apparel",
     description = [[A shell that generates a cloud of smoke when detonated, obscuring incoming shots and preventing turrets from locking on. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
+
     description = [[An unfinished piece of an apparel.]],
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       {
         explosiveDamageType = "Smoke",
+
         compClass = "CompColorable",
        explosiveRadius = 11,
 
        postExplosionSpawnThingDef = "Gas_Smoke",
 
        postExplosionSpawnChance = 1,
 
        postExplosionSpawnThingCount = 1,
 
        wickTicks = { ["<"]=30, [">"]=60 },
 
 
       },
 
       },
    },
 
    costList = {
 
      Steel = 35,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "Mortars",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_Shell_Smoke"] = {
+
   ["ThingDef:UnfinishedBelt"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "UnfinishedBase",
       FileName = "Items_Resource_Shell.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Shell_Smoke",
+
     defName = "UnfinishedBelt",
     label = "Smoke shell",
+
     label = "unfinished belt",
     thingClass = "Projectile_Explosive",
+
     description = [[An unfinished piece of a belt.]],
 +
    statBases = {
 +
      Flammability = 0.5,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Shell_Firefoam"] = {
+
   ["ThingDef:UnfinishedPack"] = {
 
     _ = {
 
     _ = {
       ParentName = "MakeableShellBase",
+
       ParentName = "UnfinishedBase",
       FileName = "Items_Resource_Shell.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Shell_Firefoam",
+
     defName = "UnfinishedPack",
     label = "firefoam shell",
+
     label = "unfinished pack",
     description = [[A pressurized shell filled with fire-retardant foam. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
+
     description = [[An unfinished piece of a pack.]],
     comps = {
+
     statBases = {
       CompProperties_Explosive = {
+
       Flammability = 0.5,
        explosiveRadius = 9.9,
 
        explosiveDamageType = "Extinguish",
 
        explosiveExpandPerStackcount = 0.4,
 
        startWickHitPointsPercent = 0.7,
 
        postExplosionSpawnThingDef = "Filth_FireFoam",
 
        postExplosionSpawnChance = 1,
 
        postExplosionSpawnThingCount = 3,
 
        applyDamageToExplosionCellsNeighbors = true,
 
        explosionEffect = "ExtinguisherExplosion",
 
        wickTicks = { ["<"]=30, [">"]=60 },
 
      },
 
    },
 
    costList = {
 
      Steel = 35,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "Firefoam",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_Shell_Firefoam"] = {
+
   ["ThingDef:UnfinishedComponent"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "UnfinishedBase",
       FileName = "Items_Resource_Shell.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Shell_Firefoam",
+
     defName = "UnfinishedComponent",
     label = "firefoam shell",
+
     label = "unfinished component",
     thingClass = "Projectile_Explosive",
+
     description = [[An unfinished component.]],
 +
    statBases = {
 +
      Flammability = 0.5,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Shell_AntigrainWarhead"] = {
+
   ["ThingDef:UnfinishedHealthItemProsthetic"] = {
 
     _ = {
 
     _ = {
       ParentName = "ShellBase",
+
       ParentName = "UnfinishedBase",
       FileName = "Items_Resource_Shell.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Shell_AntigrainWarhead",
+
     defName = "UnfinishedHealthItemProsthetic",
     label = "antigrain warhead",
+
     label = "unfinished prosthetic",
     description = [[An ultra-tech warhead powered by a grain of antimatter. Usually used by spacecraft or glitterworld war machines, it creates a huge explosion and starts fires around the target. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
+
     description = [[An unfinished prosthetic.]],
    tradeability = "Sellable",
 
 
     statBases = {
 
     statBases = {
       MarketValue = 1200,
+
       Flammability = 0.5,
 
     },
 
     },
    comps = {
+
  },
      CompProperties_Explosive = {
+
 
        explosiveRadius = 14.9,
+
  ["ThingDef:UnfinishedHealthItemBionic"] = {
        explosiveDamageType = "BombSuper",
+
    _ = {
        explosiveExpandPerStackcount = 0.4,
+
      ParentName = "UnfinishedBase",
        startWickHitPointsPercent = 0.7,
+
      DefCategory = "ThingDef",
        chanceToStartFire = 0.22,
+
      FileName = "Items_Unfinished.xml",
        damageFalloff = true,
+
      DLC = "Core",
        explosionEffect = "GiantExplosion",
+
    },
        explosionSound = "Explosion_GiantBomb",
+
    defName = "UnfinishedHealthItemBionic",
        wickTicks = { ["<"]=60, [">"]=120 },
+
    label = "unfinished bionic",
       },
+
    description = [[An unfinished bionic.]],
 +
    statBases = {
 +
       Flammability = 0.5,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_Shell_AntigrainWarhead"] = {
+
   ["ThingDef:MinifiedThing"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       DefCategory = "ThingDef",
       FileName = "Items_Resource_Shell.xml",
+
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Shell_AntigrainWarhead",
+
     defName = "MinifiedThing",
     label = "antigrain warhead",
+
     label = "minified thing",
     thingClass = "Projectile_Explosive",
+
     thingClass = "MinifiedThing",
 +
    category = "Item",
 +
    useHitPoints = true,
 +
    altitudeLayer = "Item",
 +
    comps = {
 +
      CompProperties_Forbiddable = {},
 +
    },
 +
    pathCost = 14,
 
   },
 
   },
  
   ["ThingDef:Silver"] = {
+
   ["ThingDef:Apparel_ShieldBelt"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "ApparelBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Belts.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Silver",
+
     defName = "Apparel_ShieldBelt",
     label = "silver",
+
     label = "shield belt",
     description = [[This metal is mostly used as a commodity currency. It can also be used for making decorations.]],
+
     description = [[A projectile-repulsion device. It will attempt to stop incoming projectiles or shrapnel, but does nothing against melee attacks or heat. It prevents the wearer from firing out, and shuts down instantly if hit by EMP.]],
     useHitPoints = false,
+
     thingClass = "ShieldBelt",
 
     statBases = {
 
     statBases = {
       MarketValue = 1,
+
       Mass = 3,
       Mass = 0.008,
+
      WorkToMake = 14000,
       StuffPower_Armor_Sharp = 0.72,
+
       Flammability = 0.4,
       StuffPower_Armor_Blunt = 0.36,
+
       EnergyShieldRechargeRate = 0.13,
       StuffPower_Armor_Heat = 0.36,
+
       EnergyShieldEnergyMax = 1.1,
       StuffPower_Insulation_Cold = 3,
+
       EquipDelay = 2,
       StuffPower_Insulation_Heat = 0,
+
    },
       SharpDamageMultiplier = 0.85,
+
    costList = {
       BluntDamageMultiplier = 1.0,
+
      ComponentIndustrial = 2,
 +
      Steel = 50,
 +
      Plasteel = 20,
 +
    },
 +
    recipeMaker = {
 +
      unfinishedThingDef = "UnfinishedBelt",
 +
      researchPrerequisite = "ShieldBelt",
 +
      workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
      effectWorking = "Smith",
 +
       soundWorking = "Recipe_Machining",
 +
       recipeUsers = {
 +
        "TableMachining",
 +
      },
 +
       useIngredientsForColor = false,
 +
       skillRequirements = {
 +
        Crafting = 6,
 +
      },
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "ResourcesRaw",
+
       "ApparelUtility",
 
     },
 
     },
     stackLimit = 500,
+
     apparel = {
    smeltable = true,
+
       bodyPartGroups = {
    stuffProps = {
+
         "Waist",
       categories = {
 
         "Metallic",
 
 
       },
 
       },
       statOffsets = {
+
       layers = {
         Beauty = 6,
+
         "Belt",
 
       },
 
       },
       statFactors = {
+
       tags = {
         MaxHitPoints = 0.7,
+
         "BeltDefense",
        Flammability = 0.4,
 
        Beauty = 2,
 
 
       },
 
       },
 
     },
 
     },
    terrainAffordanceNeeded = "Medium",
 
 
   },
 
   },
  
   ["ThingDef:Gold"] = {
+
   ["ThingDef:HatBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
      Name = "HatBase",
       FileName = "Items_Resource_Stuff.xml",
+
       ParentName = "ApparelBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
    },
 
    defName = "Gold",
 
    label = "gold",
 
    description = [[The most seductive metal of them all. While it is too soft to be of much practical use, it is strikingly beautiful and never tarnishes. Millions have died in attempting to feed the endless human thirst for gold.]],
 
    useHitPoints = false,
 
    statBases = {
 
      MarketValue = 10,
 
      RoyalFavorValue = 0.015,
 
      Mass = 0.008,
 
      StuffPower_Armor_Sharp = 0.72,
 
      StuffPower_Armor_Blunt = 0.36,
 
      StuffPower_Armor_Heat = 0.36,
 
      StuffPower_Insulation_Cold = 3,
 
      StuffPower_Insulation_Heat = 0,
 
      SharpDamageMultiplier = 0.75,
 
      BluntDamageMultiplier = 1.0,
 
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "ResourcesRaw",
+
       "Headgear",
    },
 
    stackLimit = 500,
 
    smeltable = true,
 
    stuffProps = {
 
      categories = {
 
        "Metallic",
 
      },
 
      statOffsets = {
 
        Beauty = 20,
 
      },
 
      statFactors = {
 
        MaxHitPoints = 0.6,
 
        Flammability = 0.4,
 
        Beauty = 4,
 
        WorkToMake = 0.9,
 
        WorkToBuild = 0.9,
 
        MeleeWeapon_CooldownMultiplier = 1.0,
 
      },
 
 
     },
 
     },
    terrainAffordanceNeeded = "Medium",
 
 
   },
 
   },
  
   ["ThingDef:Steel"] = {
+
   ["ThingDef:HatMakeableBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
      Name = "HatMakeableBase",
       FileName = "Items_Resource_Stuff.xml",
+
       ParentName = "ApparelMakeableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Steel",
 
    label = "steel",
 
    description = [[An iron-carbon metal alloy used for building a huge variety of structures, weapons, and machines.]],
 
    statBases = {
 
      MarketValue = 1.9,
 
      Mass = 0.5,
 
      StuffPower_Armor_Sharp = 0.9,
 
      StuffPower_Armor_Blunt = 0.45,
 
      StuffPower_Armor_Heat = 0.60,
 
      StuffPower_Insulation_Cold = 3,
 
      StuffPower_Insulation_Heat = 0,
 
      SharpDamageMultiplier = 1,
 
      BluntDamageMultiplier = 1,
 
    },
 
    useHitPoints = false,
 
 
     thingCategories = {
 
     thingCategories = {
       "ResourcesRaw",
+
       "Headgear",
 
     },
 
     },
    smeltable = true,
 
    stuffProps = {
 
      categories = {
 
        "Metallic",
 
      },
 
      statFactors = {
 
        MaxHitPoints = 1,
 
        Beauty = 1,
 
        Flammability = 0.4,
 
      },
 
    },
 
    terrainAffordanceNeeded = "Medium",
 
 
   },
 
   },
  
   ["ThingDef:Plasteel"] = {
+
   ["ThingDef:ArmorHelmetMakeableBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
      Name = "ArmorHelmetMakeableBase",
       FileName = "Items_Resource_Stuff.xml",
+
       ParentName = "ArmorMachineableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plasteel",
+
     thingCategories = {
     label = "plasteel",
+
      "ArmorHeadgear",
    description = [[Advanced spacer tech structural material. Plasteel is extremely strong due to its unique molecular structure.]],
+
     },
    useHitPoints = false,
+
  },
     statBases = {
+
 
       MarketValue = 9,
+
  ["ThingDef:NobleHatMakeableBase"] = {
       Mass = 0.25,
+
     _ = {
       StuffPower_Armor_Sharp = 1.14,
+
       Name = "NobleHatMakeableBase",
       StuffPower_Armor_Blunt = 0.55,
+
       ParentName = "ApparelMakeableBase",
       StuffPower_Armor_Heat = 0.65,
+
       Abstract = true,
       StuffPower_Insulation_Cold = 3,
+
       DefCategory = "ThingDef",
      StuffPower_Insulation_Heat = 0,
+
       FileName = "Apparel_Headgear.xml",
      SharpDamageMultiplier = 1.1,
+
       DLC = "Core",
      BluntDamageMultiplier = 0.9,
 
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "ResourcesRaw",
+
       "HeadgearNoble",
 
     },
 
     },
    smeltable = true,
 
    stuffProps = {
 
      categories = {
 
        "Metallic",
 
      },
 
      statFactors = {
 
        MaxHitPoints = 2.8,
 
        Beauty = 1,
 
        Flammability = 0,
 
        WorkToMake = 2.2,
 
        WorkToBuild = 2.2,
 
        MeleeWeapon_CooldownMultiplier = 0.8,
 
      },
 
    },
 
    terrainAffordanceNeeded = "Medium",
 
 
   },
 
   },
  
   ["ThingDef:WoodLog"] = {
+
   ["ThingDef:Apparel_CowboyHat"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceVerbBase",
+
       ParentName = "HatMakeableBase",
       FileName = "Items_Resource_Stuff.xml",
+
      Name = "CowboyHat",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "WoodLog",
+
     defName = "Apparel_CowboyHat",
     label = "wood",
+
     label = "cowboy hat",
     description = [[Wood from trees or other fibrous plants. Useful for building structures and weapons. It is a good fuel for campfires and generators, and can be refined into chemfuel. In a pinch, a piece of wood can be used as a weapon or a leg.]],
+
     description = [[Stylish yet rugged, this hat keeps the sun and rain off - and it gives anyone who wears it a bit of extra charm. It is the most important part of traditional western attire.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = "ComplexClothing",
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 1.2,
+
       MaxHitPoints = 80,
       MaxHitPoints = 150,
+
       WorkToMake = 1800,
       Mass = 0.4,
+
       Mass = 0.14,
      Flammability = 1.0,
+
       StuffEffectMultiplierArmor = 0.2,
       DeteriorationRate = 0.5,
+
       StuffEffectMultiplierInsulation_Cold = 0.10,
       StuffPower_Armor_Sharp = 0.54,
+
       StuffEffectMultiplierInsulation_Heat = 0.50,
       StuffPower_Armor_Blunt = 0.54,
+
       EquipDelay = 0.8,
       StuffPower_Armor_Heat = 0.40,
 
      StuffPower_Insulation_Cold = 8,
 
      StuffPower_Insulation_Heat = 4,
 
      SharpDamageMultiplier = 0.40,
 
      BluntDamageMultiplier = 0.9,
 
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       categories = {
+
       bodyPartGroups = {
         "Woody",
+
         "UpperHead",
 +
      },
 +
      layers = {
 +
        "Overhead",
 
       },
 
       },
       statFactors = {
+
       tags = {
         MaxHitPoints = 0.65,
+
         "IndustrialBasic",
        Beauty = 1,
+
         "Western",
        Flammability = 1,
 
         WorkToMake = 0.7,
 
        WorkToBuild = 0.7,
 
        DoorOpenSpeed = 1.2,
 
 
       },
 
       },
    },
+
       defaultOutfitTags = {
    thingCategories = {
+
         "Worker",
       "ResourcesRaw",
 
    },
 
    tools = {
 
      {
 
         label = "log",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 10,
 
        cooldownTime = 2,
 
 
       },
 
       },
 
     },
 
     },
    terrainAffordanceNeeded = "Light",
 
 
   },
 
   },
  
   ["ThingDef:Uranium"] = {
+
   ["ThingDef:Apparel_BowlerHat"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "CowboyHat",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Uranium",
+
     defName = "Apparel_BowlerHat",
     label = "uranium",
+
     label = "bowler hat",
     description = [[A dark, heavy metal. While it is best known as a fuel for nuclear devices, its extreme density and hardness also make it good for making certain weapons, armor, and ammunition.]],
+
     description = [[A good-looking hat which projects a slightly urban, money-loving style. Improves social impact.]],
    useHitPoints = false,
 
 
     statBases = {
 
     statBases = {
       MarketValue = 6,
+
       WorkToMake = 1800,
       Mass = 1,
+
       Mass = 0.14,
       StuffPower_Armor_Sharp = 1.08,
+
       StuffEffectMultiplierArmor = 0.2,
       StuffPower_Armor_Blunt = 0.54,
+
       StuffEffectMultiplierInsulation_Cold = 0.10,
       StuffPower_Armor_Heat = 0.65,
+
       StuffEffectMultiplierInsulation_Heat = 0.40,
       StuffPower_Insulation_Cold = 3,
+
       EquipDelay = 0.8,
       StuffPower_Insulation_Heat = 0,
+
    },
       SharpDamageMultiplier = 1.1,
+
  },
       BluntDamageMultiplier = 1.5,
+
 
 +
  ["ThingDef:Apparel_TribalHeaddress"] = {
 +
    _ = {
 +
      ParentName = "HatMakeableBase",
 +
       DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 +
       DLC = "Core",
 +
    },
 +
    defName = "Apparel_TribalHeaddress",
 +
    label = "tribal headdress",
 +
    description = [[Elegant traditional garb, often with religious significance. Improves social impact.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = {},
 +
      recipeUsers = {
 +
        "ElectricTailoringBench",
 +
        "HandTailoringBench",
 +
        "CraftingSpot",
 +
      },
 +
      skillRequirements = {
 +
        Crafting = 4,
 +
      },
 +
      factionPrerequisiteTags = {
 +
        "Tribal",
 +
      },
 
     },
 
     },
     thingCategories = {
+
     statBases = {
       "ResourcesRaw",
+
       WorkToMake = 6000,
 +
      Mass = 0.11,
 +
      StuffEffectMultiplierArmor = 0.2,
 +
      StuffEffectMultiplierInsulation_Cold = 0.1,
 +
      StuffEffectMultiplierInsulation_Heat = 0.15,
 +
      EquipDelay = 1.5,
 
     },
 
     },
     smeltable = true,
+
     apparel = {
    stuffProps = {
+
      bodyPartGroups = {
       categories = {
+
        "UpperHead",
         "Metallic",
+
      },
 +
       layers = {
 +
         "Overhead",
 
       },
 
       },
       statFactors = {
+
       defaultOutfitTags = {
         MaxHitPoints = 2.5,
+
         "Worker",
        WorkToMake = 1.9,
 
        WorkToBuild = 1.9,
 
        Beauty = 0.5,
 
        Flammability = 0.0,
 
        DoorOpenSpeed = 0.75,
 
        MeleeWeapon_CooldownMultiplier = 1.10,
 
 
       },
 
       },
 
     },
 
     },
    terrainAffordanceNeeded = "Medium",
 
 
   },
 
   },
  
   ["ThingDef:Jade"] = {
+
   ["ThingDef:Apparel_Tuque"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "HatMakeableBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Jade",
+
     defName = "Apparel_Tuque",
     label = "jade",
+
     label = "tuque",
     description = [[A hard, green stone. Because of its beauty and rarity, jade is often used for ornaments and decorations. Its hardness and density also makes it a good material for blunt weapons.]],
+
     description = [[A soft, thick cap. Great for keeping warm in winter.]],
    useHitPoints = false,
 
 
     statBases = {
 
     statBases = {
       MarketValue = 5,
+
       MaxHitPoints = 80,
       Mass = 0.5,
+
       WorkToMake = 1200,
       StuffPower_Armor_Sharp = 0.9,
+
       Mass = 0.07,
       StuffPower_Armor_Blunt = 0.45,
+
       StuffEffectMultiplierArmor = 0.2,
       StuffPower_Armor_Heat = 0.54,
+
       StuffEffectMultiplierInsulation_Cold = 0.50,
       StuffPower_Insulation_Cold = 3,
+
       StuffEffectMultiplierInsulation_Heat = 0,
       StuffPower_Insulation_Heat = 0,
+
       EquipDelay = 0.8,
      BluntDamageMultiplier = 1.5,
 
 
     },
 
     },
     thingCategories = {
+
     apparel = {
       "ResourcesRaw",
+
       bodyPartGroups = {
    },
+
        "UpperHead",
    smeltable = false,
+
      },
    stuffProps = {
+
       layers = {
       categories = {
+
         "Overhead",
         "Stony",
 
 
       },
 
       },
       statOffsets = {
+
       tags = {
         Beauty = 10,
+
         "IndustrialBasic",
 
       },
 
       },
       statFactors = {
+
       defaultOutfitTags = {
         MaxHitPoints = 0.5,
+
         "Worker",
        WorkToMake = 1.4,
+
         "Soldier",
        WorkToBuild = 5.0,
 
         Beauty = 2.5,
 
        Flammability = 0,
 
        MeleeWeapon_CooldownMultiplier = 1.3,
 
 
       },
 
       },
 
     },
 
     },
    terrainAffordanceNeeded = "Heavy",
 
 
   },
 
   },
  
   ["ThingDef:Cloth"] = {
+
   ["ThingDef:Apparel_WarMask"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "HatMakeableBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Cloth",
+
     defName = "Apparel_WarMask",
     label = "cloth",
+
     label = "war mask",
     description = [[Cloth woven from organic fibers.]],
+
     description = [[An artistically terrifying war mask. It hides the wearer's face and makes them more confident.]],
 
     statBases = {
 
     statBases = {
       StuffPower_Armor_Sharp = 0.36,
+
       WorkToMake = 3000,
      StuffPower_Armor_Blunt = 0,
 
      StuffPower_Armor_Heat = 0.18,
 
      StuffPower_Insulation_Cold = 18,
 
      StuffPower_Insulation_Heat = 18,
 
 
       MaxHitPoints = 80,
 
       MaxHitPoints = 80,
       MarketValue = 1.5,
+
       Mass = 1.4,
       Mass = 0.026,
+
      StuffEffectMultiplierArmor = 0.3,
       Flammability = 1.2,
+
       StuffEffectMultiplierInsulation_Cold = 0.05,
       DeteriorationRate = 4,
+
       StuffEffectMultiplierInsulation_Heat = 0.05,
 +
       EquipDelay = 1.5,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         Flammability = 1.2,
+
         "FullHead",
         Beauty = 1,
+
      },
 +
      layers = {
 +
         "Overhead",
 
       },
 
       },
       categories = {
+
       defaultOutfitTags = {
         "Fabric",
+
         "Soldier",
 
       },
 
       },
 
     },
 
     },
     thingCategories = {
+
     recipeMaker = {
       "Textiles",
+
       workSpeedStat = "GeneralLaborSpeed",
    },
+
      workSkill = "Crafting",
    comps = {
+
      effectWorking = "Sculpt",
       {
+
      soundWorking = "Recipe_Sculpt",
         compClass = "CompColorable",
+
      recipeUsers = {
 +
        "CraftingSpot",
 +
      },
 +
      unfinishedThingDef = "UnfinishedSculpture",
 +
       factionPrerequisiteTags = {
 +
         "Tribal",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Synthread"] = {
+
   ["ThingDef:Apparel_WarVeil"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "HatMakeableBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Synthread",
+
     defName = "Apparel_WarVeil",
     label = "synthread",
+
     label = "war veil",
     description = [[Spacer-tech synthetic fabric designed for making ordinary clothes. It is soft, light, strong, and insulates well.]],
+
     description = [[A war veil, made out of reinforced cloth torn to appear damaged in combat. Some believe this functions as a talisman of courage.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 150,
+
       WorkToMake = 1400,
       MarketValue = 4,
+
       MaxHitPoints = 80,
       Mass = 0.025,
+
       Mass = 0.08,
       Flammability = 0.7,
+
       StuffEffectMultiplierArmor = 0.2,
       DeteriorationRate = 3,
+
       StuffEffectMultiplierInsulation_Cold = 0.05,
       StuffPower_Armor_Sharp = 0.94,
+
       StuffEffectMultiplierInsulation_Heat = 0.05,
       StuffPower_Armor_Blunt = 0.26,
+
       EquipDelay = 1.5,
       StuffPower_Armor_Heat = 0.90,
+
    },
       StuffPower_Insulation_Cold = 22,
+
    apparel = {
       StuffPower_Insulation_Heat = 22,
+
       bodyPartGroups = {
 +
        "FullHead",
 +
      },
 +
       layers = {
 +
        "Overhead",
 +
       },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 +
      },
 
     },
 
     },
     stuffProps = {
+
     recipeMaker = {
       categories = {
+
       recipeUsers = {
         "Fabric",
+
         "CraftingSpot",
 
       },
 
       },
       statFactors = {
+
       factionPrerequisiteTags = {
         Flammability = 0.7,
+
         "Tribal",
        MaxHitPoints = 1.3,
 
        Beauty = 2.3,
 
 
       },
 
       },
    },
 
    thingCategories = {
 
      "Textiles",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:DevilstrandCloth"] = {
+
   ["ThingDef:Apparel_SimpleHelmet"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "ArmorHelmetMakeableBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "DevilstrandCloth",
+
     defName = "Apparel_SimpleHelmet",
     label = "devilstrand",
+
     label = "simple helmet",
     description = [[Fabric spun from microfibers extracted from devilstrand mushrooms. It is very tough, good at insulating, and protects exceptionally well against flame.]],
+
     description = [[A simple helmet which gives moderate protection against sharp attacks. Not effective against blunt weapons.]],
 
     statBases = {
 
     statBases = {
 +
      WorkToMake = 3200,
 
       MaxHitPoints = 100,
 
       MaxHitPoints = 100,
       MarketValue = 5.5,
+
       Mass = 2,
       Mass = 0.032,
+
       StuffEffectMultiplierArmor = 0.5,
       Flammability = 0.4,
+
       StuffEffectMultiplierInsulation_Cold = 0.15,
       DeteriorationRate = 3,
+
       StuffEffectMultiplierInsulation_Heat = 0,
       StuffPower_Armor_Sharp = 1.40,
+
       EquipDelay = 1.5,
      StuffPower_Armor_Blunt = 0.36,
+
    },
       StuffPower_Armor_Heat = 3.00,
+
    recipeMaker = {
      StuffPower_Insulation_Cold = 20,
+
       recipeUsers = {
       StuffPower_Insulation_Heat = 24,
+
        "ElectricSmithy",
 +
        "FueledSmithy",
 +
       },
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       categories = {
+
       bodyPartGroups = {
         "Fabric",
+
         "UpperHead",
 +
      },
 +
      layers = {
 +
        "Overhead",
 
       },
 
       },
       statFactors = {
+
       tags = {
         Flammability = 0.4,
+
         "IndustrialMilitaryBasic",
        MaxHitPoints = 1.3,
 
        Beauty = 3.2,
 
 
       },
 
       },
    },
+
       defaultOutfitTags = {
    thingCategories = {
+
         "Soldier",
       "Textiles",
 
    },
 
    comps = {
 
      {
 
         compClass = "CompColorable",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Hyperweave"] = {
+
   ["ThingDef:Apparel_AdvancedHelmet"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       ParentName = "ArmorHelmetMakeableBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Hyperweave",
+
     defName = "Apparel_AdvancedHelmet",
     label = "hyperweave",
+
     label = "flak helmet",
     description = [[Nano-fibers woven into sheets molecule-by-molecule using specialized production mechanites. While it flexes freely most of the time, it stiffens to absorb blows as they land, and is incredibly difficult to break. The secrets of its production are known only to the most advanced glitterworld cultures.]],
+
     description = [[A lightweight combat helmet with a complex design, reinforced with plasteel. Not effective against blunt weapons.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = "FlakArmor",
 +
      unfinishedThingDef = "UnfinishedMetallicTechArmor",
 +
      skillRequirements = {
 +
        Crafting = 5,
 +
      },
 +
    },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 200,
+
       WorkToMake = 8000,
       MarketValue = 9,
+
       MaxHitPoints = 120,
       Mass = 0.038,
+
       Mass = 1.2,
       Flammability = 0.4,
+
       StuffEffectMultiplierArmor = 0.7,
       DeteriorationRate = 1.0,
+
       StuffEffectMultiplierInsulation_Cold = 0.15,
       StuffPower_Armor_Sharp = 2.00,
+
       StuffEffectMultiplierInsulation_Heat = 0,
       StuffPower_Armor_Blunt = 0.54,
+
       EquipDelay = 1.5,
      StuffPower_Armor_Heat = 2.88,
+
    },
       StuffPower_Insulation_Cold = 26,
+
    costList = {
       StuffPower_Insulation_Heat = 26,
+
       ComponentIndustrial = 2,
 +
       Plasteel = 10,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       categories = {
+
       bodyPartGroups = {
         "Fabric",
+
         "UpperHead",
 +
      },
 +
      layers = {
 +
        "Overhead",
 +
      },
 +
      tags = {
 +
        "IndustrialMilitaryAdvanced",
 
       },
 
       },
       statFactors = {
+
       defaultOutfitTags = {
         Flammability = 0.4,
+
         "Soldier",
        MaxHitPoints = 2.4,
 
        Beauty = 5.5,
 
 
       },
 
       },
    },
 
    thingCategories = {
 
      "Textiles",
 
    },
 
    tradeTags = {
 
      "ExoticMisc",
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:ApparelArmorHelmetPowerBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
       Name = "ApparelArmorHelmetPowerBase",
       Name = "WoolBase",
+
       ParentName = "ArmorHelmetMakeableBase",
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     stackLimit = 100,
+
     recipeMaker = {
 +
      unfinishedThingDef = "UnfinishedTechArmor",
 +
      researchPrerequisite = "PoweredArmor",
 +
      skillRequirements = {
 +
        Crafting = 7,
 +
      },
 +
      recipeUsers = {
 +
        _ = {
 +
          Inherit = false,
 +
        },
 +
        "FabricationBench",
 +
      },
 +
    },
 +
    tradeTags = {
 +
      "HiTechArmor",
 +
    },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 90,
+
       WorkToMake = 21000,
       MarketValue = 2.7,
+
       MaxHitPoints = 150,
       Mass = 0.028,
+
       Mass = 1.5,
 
       Flammability = 0.4,
 
       Flammability = 0.4,
       DeteriorationRate = 3.4,
+
       ArmorRating_Sharp = 1.06,
       StuffPower_Armor_Sharp = 0.36,
+
       ArmorRating_Blunt = 0.45,
       StuffPower_Armor_Blunt = 0.00,
+
       ArmorRating_Heat = 0.54,
       StuffPower_Armor_Heat = 1.10,
+
       Insulation_Cold = 4,
 +
      Insulation_Heat = 2,
 +
      EquipDelay = 4,
 +
    },
 +
    costList = {
 +
      ComponentSpacer = 1,
 +
      Plasteel = 40,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         Flammability = 1.7,
+
         "FullHead",
         Beauty = 1.5,
+
      },
 +
      layers = {
 +
         "Overhead",
 
       },
 
       },
       categories = {
+
       defaultOutfitTags = {
         "Fabric",
+
         "Soldier",
 
       },
 
       },
 
     },
 
     },
     thingCategories = {
+
     comps = {
       "Textiles",
+
       CompProperties_BiocodableApparel = {},
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WoolMegasloth"] = {
+
   ["ThingDef:Apparel_PowerArmorHelmet"] = {
 
     _ = {
 
     _ = {
       ParentName = "WoolBase",
+
       ParentName = "ApparelArmorHelmetPowerBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "WoolMegasloth",
+
     defName = "Apparel_PowerArmorHelmet",
     label = "megasloth wool",
+
     label = "marine helmet",
     description = [[While somewhat coarse, megasloth wool's long fibers make it very strong. It is exceptionally warm.]],
+
     description = [[A marine armor helmet, with a built-in status computer and layered plasteel-weave plates.\n\nArmor like this is often used by imperial janissaries and rapid-incursion space marines.]],
     statBases = {
+
     apparel = {
       StuffPower_Armor_Sharp = 0.80,
+
       tags = {
      StuffPower_Insulation_Cold = 34,
+
        "SpacerMilitary",
       StuffPower_Insulation_Heat = 12,
+
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WoolMuffalo"] = {
+
   ["ThingDef:ApparelArmorHelmetReconBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "WoolBase",
+
      Name = "ApparelArmorHelmetReconBase",
       FileName = "Items_Resource_Stuff.xml",
+
       ParentName = "ArmorHelmetMakeableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "WoolMuffalo",
+
     recipeMaker = {
    label = "muffalo wool",
+
      unfinishedThingDef = "UnfinishedTechArmor",
     description = [[Soft, light and provides very good insulation. Muffalo wool clothes can keep the body warm even in very cold conditions.]],
+
      researchPrerequisite = "ReconArmor",
 +
      skillRequirements = {
 +
        Crafting = 6,
 +
      },
 +
      recipeUsers = {
 +
        _ = {
 +
          Inherit = false,
 +
        },
 +
        "FabricationBench",
 +
      },
 +
    },
 +
     tradeTags = {
 +
      "HiTechArmor",
 +
    },
 
     statBases = {
 
     statBases = {
       StuffPower_Insulation_Cold = 30,
+
       WorkToMake = 15750,
       StuffPower_Insulation_Heat = 12,
+
      MaxHitPoints = 120,
 +
      Mass = 1,
 +
      Flammability = 0.4,
 +
      ArmorRating_Sharp = 0.92,
 +
      ArmorRating_Blunt = 0.4,
 +
      ArmorRating_Heat = 0.46,
 +
      Insulation_Cold = 4,
 +
      Insulation_Heat = 2,
 +
      EquipDelay = 2,
 +
    },
 +
    costList = {
 +
      ComponentSpacer = 1,
 +
      Plasteel = 30,
 +
    },
 +
    apparel = {
 +
      bodyPartGroups = {
 +
        "FullHead",
 +
      },
 +
      layers = {
 +
        "Overhead",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 +
      },
 +
    },
 +
    comps = {
 +
       CompProperties_BiocodableApparel = {},
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WoolAlpaca"] = {
+
   ["ThingDef:Apparel_ArmorHelmetRecon"] = {
 
     _ = {
 
     _ = {
       ParentName = "WoolBase",
+
       ParentName = "ApparelArmorHelmetReconBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "WoolAlpaca",
+
     defName = "Apparel_ArmorHelmetRecon",
     label = "alpaca wool",
+
     label = "recon helmet",
     description = [[The remarkably soft wool of an alpaca. It is very warm.]],
+
     description = [[A high-tech armored helmet with a built-in status computer and a protective plasteel-weave plate.\n\nArmor like this is often used by imperial scout troops or glitterworld police forces.]],
     statBases = {
+
     apparel = {
       DeteriorationRate = 2.6,
+
       tags = {
      StuffPower_Insulation_Cold = 28,
+
        "SpacerMilitary",
       StuffPower_Insulation_Heat = 16,
+
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WoolBison"] = {
+
   ["ThingDef:Apparel_PsychicFoilHelmet"] = {
 
     _ = {
 
     _ = {
       ParentName = "WoolBase",
+
       ParentName = "HatBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Headgear.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "WoolBison",
+
     defName = "Apparel_PsychicFoilHelmet",
     label = "bison wool",
+
     label = "psychic foil helmet",
     description = [[Thick and coarse wool of a bison. Quite warm.]],
+
     description = [[A thin helmet containing finely-tuned sheets of psychically-absorptive foil. Reduces the impact of psychic waves.]],
 
     statBases = {
 
     statBases = {
       StuffPower_Insulation_Cold = 26,
+
       MaxHitPoints = 80,
       StuffPower_Insulation_Heat = 12,
+
       MarketValue = 250,
 +
      Mass = 1.0,
 +
      Flammability = 0.4,
 +
      ArmorRating_Sharp = 0.09,
 +
      ArmorRating_Blunt = 0.09,
 +
      ArmorRating_Heat = 0.27,
 +
      Insulation_Cold = 2,
 +
      Insulation_Heat = 1,
 +
      EquipDelay = 1.5,
 +
    },
 +
    apparel = {
 +
      bodyPartGroups = {
 +
        "UpperHead",
 +
      },
 +
      layers = {
 +
        "Overhead",
 +
      },
 +
      tags = {
 +
        "IndustrialMilitaryBasic",
 +
        "IndustrialMilitaryAdvanced",
 +
        "SpacerMilitary",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WoolSheep"] = {
+
   ["ThingDef:Apparel_SmokepopBelt"] = {
 
     _ = {
 
     _ = {
       ParentName = "WoolBase",
+
       ParentName = "ApparelBase",
       FileName = "Items_Resource_Stuff.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Packs.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "WoolSheep",
+
    thingClass = "SmokepopBelt",
     label = "sheep wool",
+
     defName = "Apparel_SmokepopBelt",
     description = [[Sheep's wool. It provides good insulation.]],
+
     label = "smokepop pack",
     statBases = {
+
     description = [[A defensive smokescreen. When activated, it will release a cloud of smoke, obscuring incoming shots and preventing turrets from locking on.]],
       StuffPower_Insulation_Cold = 26,
+
     comps = {
       StuffPower_Insulation_Heat = 10,
+
      CompProperties_Reloadable = {
 +
        maxCharges = 3,
 +
        ammoDef = "Chemfuel",
 +
        ammoCountToRefill = 10,
 +
        baseReloadTicks = 60,
 +
        soundReload = "Standard_Reload",
 +
        hotKey = "Misc4",
 +
        chargeNoun = "smokepop",
 +
        displayGizmoWhileUndrafted = false,
 +
      },
 +
    },
 +
    verbs = {
 +
      {
 +
        label = "pop smoke",
 +
        violent = false,
 +
        targetable = false,
 +
        nonInterruptingSelfCast = true,
 +
        onlyManualCast = true,
 +
      },
 +
    },
 +
    recipeMaker = {
 +
       unfinishedThingDef = "UnfinishedPack",
 +
      researchPrerequisite = "SmokepopBelt",
 +
      recipeUsers = {
 +
        "TableMachining",
 +
      },
 +
      useIngredientsForColor = false,
 +
      workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
       effectWorking = "Smith",
 +
      soundWorking = "Recipe_Smith",
 +
      skillRequirements = {
 +
        Crafting = 3,
 +
      },
 
     },
 
     },
  },
+
     costList = {
  ThingDef = {
+
       ComponentIndustrial = 1,
     _ = {
+
       Steel = 20,
       Abstract = true,
+
       Chemfuel = 40,
      Name = "LeatherBase",
 
      ParentName = "ResourceBase",
 
       FileName = "Items_Resource_Stuff_Leather.xml",
 
       DLC = "Core",
 
 
     },
 
     },
    description = [[Tanned, dried, scraped skin. A good traditional material for making clothes and bags.]],
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 60,
+
       WorkToMake = 1200,
      DeteriorationRate = 2,
+
       Mass = 3,
       Mass = 0.03,
+
       Flammability = 0.4,
       Flammability = 1,
+
       SmokepopBeltRadius = 4.9,
      MarketValue = 2.1,
+
       EquipDelay = 2,
      StuffPower_Armor_Sharp = 0.81,
 
       StuffPower_Armor_Blunt = 0.24,
 
       StuffPower_Armor_Heat = 1.5,
 
      StuffPower_Insulation_Cold = 16,
 
      StuffPower_Insulation_Heat = 16,
 
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "Leathers",
+
       "ApparelUtility",
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       categories = {
+
       bodyPartGroups = {
         "Leathery",
+
         "Waist",
 +
      },
 +
      layers = {
 +
        "Belt",
 
       },
 
       },
       statFactors = {
+
       tags = {
         MaxHitPoints = 1.3,
+
         "BeltDefensePop",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Plain"] = {
+
   ["ThingDef:Apparel_PsychicShockLance"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ApparelNoQualityBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Utility.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Plain",
+
     defName = "Apparel_PsychicShockLance",
     label = "plainleather",
+
     label = "psychic shock lance",
  },
+
    description = [[A limited-use psychic effector. It shocks the target's mind with chaotic images, blocking coherent perception and dropping him into a state of psychic shock. There is a risk of brain damage. It has a long range, but requires line of sight.]],
 
+
    tradeTags = {
  ["ThingDef:Leather_Dog"] = {
+
      "Artifact",
    _ = {
+
    },
       ParentName = "LeatherBase",
+
    statBases = {
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      Mass = 0.5,
       DLC = "Core",
+
       EquipDelay = 2,
 +
       MarketValue = 550,
 +
       MaxHitPoints = 80,
 
     },
 
     },
     defName = "Leather_Dog",
+
     thingCategories = {
    label = "dog leather",
+
      "ApparelUtility",
    statBases = {
 
      MarketValue = 2.0,
 
      StuffPower_Insulation_Cold = 14,
 
 
     },
 
     },
  },
+
    apparel = {
 
+
      bodyPartGroups = {
  ["ThingDef:Leather_Wolf"] = {
+
        "Waist",
    _ = {
+
       },
      ParentName = "LeatherBase",
+
      layers = {
       FileName = "Items_Resource_Stuff_Leather.xml",
+
        "Belt",
       DLC = "Core",
+
       },
 
     },
 
     },
     defName = "Leather_Wolf",
+
     smeltable = false,
     label = "wolfskin",
+
     verbs = {
    description = [[A soft furry pelt harvested from a wolf-like creature. It is difficult to pierce and insulates well against cold.]],
+
      {
    statBases = {
+
        label = "psychic shock lance",
      MarketValue = 3.0,
+
        targetable = true,
      StuffPower_Armor_Sharp = 1.02,
+
        onlyManualCast = true,
       StuffPower_Insulation_Cold = 24,
+
        range = 34.9,
 +
        warmupTime = 0.5,
 +
        targetParams = {
 +
          canTargetBuildings = false,
 +
          onlyTargetPsychicSensitive = true,
 +
          neverTargetIncapacitated = true,
 +
        },
 +
       },
 
     },
 
     },
     stuffProps = {
+
     comps = {
       statFactors = {
+
       CompProperties_Reloadable = {
         Beauty = 1.7,
+
         maxCharges = 2,
 +
        destroyOnEmpty = true,
 +
        hotKey = "Misc4",
 +
        chargeNoun = "charge",
 +
        displayGizmoWhileUndrafted = false,
 +
      },
 +
      {
 +
        compClass = "CompTargetEffect_PsychicShock",
 +
      },
 +
      CompProperties_TargetEffect_BrainDamageChance = {
 +
        brainDamageChance = 0.3,
 +
      },
 +
      CompProperties_TargetEffect_GoodwillImpact = {
 +
        goodwillImpact = -200,
 +
      },
 +
      CompProperties_TargetEffect_MoteOnTarget = {
 +
        moteDef = "Mote_PsycastPsychicEffect",
 +
      },
 +
      CompProperties_TargetEffect_MoteConnecting = {
 +
        moteDef = "Mote_PsycastPsychicLine",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Panthera"] = {
+
   ["ThingDef:Apparel_PsychicInsanityLance"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ApparelNoQualityBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Utility.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Panthera",
+
     defName = "Apparel_PsychicInsanityLance",
     label = "panthera fur",
+
     label = "psychic insanity lance",
     description = [[A soft furry pelt harvested from a big cat. It is difficult to pierce and insulates well against heat.]],
+
     description = [[A limited-use psychic effector. It overwhelms the target's mind with terrifying perceptual distortions, driving him into a berserk state. There is a risk of brain damage. It has a long range, but requires line of sight.]],
 +
    tradeTags = {
 +
      "Artifact",
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 3.0,
+
      Mass = 0.5,
       StuffPower_Armor_Sharp = 0.93,
+
      EquipDelay = 2,
       StuffPower_Insulation_Heat = 24,
+
       MarketValue = 650,
    },
+
      MaxHitPoints = 80,
    stuffProps = {
+
    },
       statFactors = {
+
    thingCategories = {
         Beauty = 1.7,
+
      "ApparelUtility",
       },
+
    },
 +
    apparel = {
 +
      bodyPartGroups = {
 +
        "Waist",
 +
      },
 +
      layers = {
 +
        "Belt",
 +
      },
 +
    },
 +
    smeltable = false,
 +
    verbs = {
 +
      {
 +
        label = "psychic insanity lance",
 +
        targetable = true,
 +
        onlyManualCast = true,
 +
        range = 34.9,
 +
        warmupTime = 0.5,
 +
        targetParams = {
 +
          canTargetBuildings = false,
 +
          onlyTargetPsychicSensitive = true,
 +
          neverTargetIncapacitated = true,
 +
        },
 +
       },
 +
    },
 +
    comps = {
 +
      CompProperties_Reloadable = {
 +
        maxCharges = 2,
 +
        destroyOnEmpty = true,
 +
        hotKey = "Misc4",
 +
        chargeNoun = "charge",
 +
        displayGizmoWhileUndrafted = false,
 +
      },
 +
      {
 +
        compClass = "CompTargetEffect_Berserk",
 +
      },
 +
      CompProperties_TargetEffect_BrainDamageChance = {
 +
        brainDamageChance = 0.3,
 +
      },
 +
       CompProperties_TargetEffect_GoodwillImpact = {
 +
        goodwillImpact = -200,
 +
      },
 +
      CompProperties_TargetEffect_MoteOnTarget = {
 +
        moteDef = "Mote_PsycastPsychicEffect",
 +
       },
 +
      CompProperties_TargetEffect_MoteConnecting = {
 +
         moteDef = "Mote_PsycastPsychicLine",
 +
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Camel"] = {
+
   ["ThingDef:ApparelNoQualityBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       Name = "ApparelNoQualityBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Camel",
+
     thingClass = "Apparel",
     label = "camelhide",
+
     category = "Item",
     description = [[Tanned, dried, scraped camel skin. Good at temperature regulation in hot climates.]],
+
     pathCost = 14,
 +
    useHitPoints = true,
 
     statBases = {
 
     statBases = {
       MarketValue = 2.3,
+
       MaxHitPoints = 100,
       StuffPower_Insulation_Heat = 24,
+
      Flammability = 1.0,
 +
      DeteriorationRate = 2,
 +
       Beauty = -3,
 
     },
 
     },
     stuffProps = {
+
     altitudeLayer = "Item",
       statFactors = {
+
    smeltable = true,
         Beauty = 1.3,
+
    comps = {
 +
       CompProperties_Forbiddable = {},
 +
      {
 +
         compClass = "CompColorable",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Bluefur"] = {
+
   ["ThingDef:ApparelBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
      Name = "ApparelBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
       ParentName = "ApparelNoQualityBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Bluefur",
+
     comps = {
    label = "bluefur",
+
       {
    description = [[The furry pelt of muffalo. Recognizable by its distinctive blue tint. Good at temperature regulation in cold climates.]],
+
         compClass = "CompQuality",
    statBases = {
 
       MarketValue = 2.3,
 
      StuffPower_Insulation_Cold = 20,
 
    },
 
    stuffProps = {
 
      statFactors = {
 
         Beauty = 1.3,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Bear"] = {
+
   ["ThingDef:ApparelMakeableBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
      Name = "ApparelMakeableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
       ParentName = "ApparelBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Bear",
+
     recipeMaker = {
    label = "bearskin",
+
      workSpeedStat = "GeneralLaborSpeed",
    description = [[The strong furry leather of a bear. Compared to most leather, it is quite a bit tougher and a bit better at all kinds of temperature regulation.]],
+
      workSkill = "Crafting",
    statBases = {
+
      effectWorking = "Tailor",
       MarketValue = 3.4,
+
      soundWorking = "Recipe_Tailor",
       StuffPower_Armor_Sharp = 1.12,
+
      recipeUsers = {
       StuffPower_Insulation_Cold = 20,
+
        "ElectricTailoringBench",
      StuffPower_Insulation_Heat = 20,
+
        "HandTailoringBench",
    },
+
       },
    stuffProps = {
+
       unfinishedThingDef = "UnfinishedApparel",
      statFactors = {
+
       defaultIngredientFilter = {
         Beauty = 1.9,
+
        categories = {
 +
          "Root",
 +
        },
 +
        disallowedThingDefs = {
 +
          "Gold",
 +
          "Silver",
 +
          "Plasteel",
 +
          "Jade",
 +
          "Uranium",
 +
         },
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_GuineaPig"] = {
+
   ["ThingDef:ArmorSmithableBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
      Name = "ArmorSmithableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
       ParentName = "ApparelBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_GuineaPig",
+
     smeltable = true,
     label = "guinea pig fur",
+
     recipeMaker = {
    description = [[Sheets of guinea pig fur. It is delicate, but luxurious.]],
+
      workSpeedStat = "GeneralLaborSpeed",
    statBases = {
+
      workSkill = "Crafting",
       MarketValue = 5,
+
      effectWorking = "Smith",
       StuffPower_Armor_Sharp = 0.67,
+
       soundWorking = "Recipe_Smith",
       StuffPower_Armor_Blunt = 0.14,
+
       recipeUsers = {
       StuffPower_Insulation_Cold = 38,
+
        "ElectricSmithy",
      StuffPower_Insulation_Heat = 18,
+
        "FueledSmithy",
    },
+
       },
    stuffProps = {
+
       defaultIngredientFilter = {
      statFactors = {
+
        categories = {
        MaxHitPoints = 0.6,
+
          "Root",
         Beauty = 2.8,
+
        },
 +
        disallowedThingDefs = {
 +
          "Gold",
 +
          "Silver",
 +
          "Plasteel",
 +
          "Jade",
 +
          "Uranium",
 +
         },
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Human"] = {
+
   ["ThingDef:ArmorMachineableBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
      Name = "ArmorMachineableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
       ParentName = "ApparelBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Human",
+
     recipeMaker = {
    label = "human leather",
+
      workSpeedStat = "GeneralLaborSpeed",
    description = [[Tanned, dried, scraped human skin. Most people find this material horrifying. Some find it fascinating. While a decent leather, it neither protects nor insulates particularly well.]],
+
      workSkill = "Crafting",
    statBases = {
+
      effectWorking = "Smith",
       MarketValue = 4.2,
+
      soundWorking = "Recipe_Machining",
       StuffPower_Armor_Sharp = 0.64,
+
      recipeUsers = {
      StuffPower_Insulation_Cold = 12,
+
        "TableMachining",
       StuffPower_Insulation_Heat = 12,
+
      },
 +
       unfinishedThingDef = "UnfinishedArmor",
 +
       defaultIngredientFilter = {
 +
        categories = {
 +
          "Root",
 +
        },
 +
        disallowedThingDefs = {
 +
          "Gold",
 +
          "Silver",
 +
          "Plasteel",
 +
          "Jade",
 +
          "Uranium",
 +
        },
 +
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Pig"] = {
+
   ["ThingDef:Apparel_TribalA"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ApparelMakeableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Pig",
+
     defName = "Apparel_TribalA",
     label = "pigskin",
+
     label = "tribalwear",
     description = [[Tanned, dried, scraped pig skin. While a decent leather, it neither protects nor insulates particularly well.]],
+
     description = [[A full-body garment crafted using neolithic tools. While it may look primitive, it is effective at insulating the wearer.]],
 +
    tradeability = "Sellable",
 
     statBases = {
 
     statBases = {
       MarketValue = 1.9,
+
       MaxHitPoints = 100,
       StuffPower_Armor_Sharp = 0.64,
+
      WorkToMake = 1800,
       StuffPower_Insulation_Cold = 12,
+
      Mass = 0.5,
       StuffPower_Insulation_Heat = 12,
+
      StuffEffectMultiplierArmor = 0.2,
 +
      StuffEffectMultiplierInsulation_Cold = 0.55,
 +
       StuffEffectMultiplierInsulation_Heat = 0.55,
 +
       EquipDelay = 1.5,
 +
    },
 +
    thingCategories = {
 +
      "Apparel",
 +
    },
 +
    apparel = {
 +
       bodyPartGroups = {
 +
        "Torso",
 +
        "Legs",
 +
      },
 +
      layers = {
 +
        "OnSkin",
 +
      },
 +
      tags = {
 +
        "Neolithic",
 +
      },
 +
    },
 +
    recipeMaker = {
 +
      recipeUsers = {
 +
        "ElectricTailoringBench",
 +
        "HandTailoringBench",
 +
        "CraftingSpot",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Light"] = {
+
   ["ThingDef:Apparel_Parka"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ApparelMakeableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Light",
+
     defName = "Apparel_Parka",
     label = "lightleather",
+
     label = "parka",
     description = [[Lightweight, thin leather. Probably harvested from a small animal. Not as protective as thicker leathers.]],
+
     description = [[A parka for staying warm in even the coldest of temperatures.]],
 +
    thingCategories = {
 +
      "Apparel",
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 1.9,
+
       MaxHitPoints = 180,
       StuffPower_Armor_Sharp = 0.54,
+
      WorkToMake = 8000,
       StuffPower_Armor_Blunt = 0.14,
+
      Mass = 2,
       StuffPower_Insulation_Cold = 12,
+
       StuffEffectMultiplierArmor = 0.2,
       StuffPower_Insulation_Heat = 12,
+
       StuffEffectMultiplierInsulation_Cold = 2.00,
 +
       StuffEffectMultiplierInsulation_Heat = 0.00,
 +
       EquipDelay = 3,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         MaxHitPoints = 1.0,
+
         "Torso",
 +
        "Neck",
 +
        "Shoulders",
 +
        "Arms",
 +
      },
 +
      layers = {
 +
        "Shell",
 +
      },
 +
      tags = {
 +
        "IndustrialBasic",
 +
        "Neolithic",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Worker",
 +
        "Soldier",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Bird"] = {
+
   ["ThingDef:Apparel_Pants"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ApparelMakeableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Bird",
+
     defName = "Apparel_Pants",
     label = "birdskin",
+
     label = "pants",
     description = [[Tanned, dried, scraped bird skin. It is quite delicate. Without its feathers, it provides little protection from heat or cold.]],
+
     description = [[A simple set of pants.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = "ComplexClothing",
 +
    },
 +
    thingCategories = {
 +
      "Apparel",
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 1.8,
+
       MaxHitPoints = 100,
       StuffPower_Armor_Sharp = 0.67,
+
      WorkToMake = 1600,
       StuffPower_Armor_Blunt = 0.14,
+
      Mass = 0.5,
       StuffPower_Insulation_Cold = 10,
+
       StuffEffectMultiplierArmor = 0.2,
       StuffPower_Insulation_Heat = 10,
+
       StuffEffectMultiplierInsulation_Cold = 0.20,
 +
       StuffEffectMultiplierInsulation_Heat = 0.08,
 +
       EquipDelay = 2,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         MaxHitPoints = 1.0,
+
         "Legs",
 +
      },
 +
      layers = {
 +
        "OnSkin",
 +
      },
 +
      tags = {
 +
        "IndustrialBasic",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Worker",
 +
        "Soldier",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Chinchilla"] = {
+
   ["ThingDef:Apparel_BasicShirt"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ApparelMakeableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Chinchilla",
+
     defName = "Apparel_BasicShirt",
     label = "chinchilla fur",
+
     label = "T-shirt",
     description = [[Tanned, dried, scraped chinchilla skin. Known as an extremely luxurious and insulating fur, it is exceptionally valuable.]],
+
     description = [[A simple T-shirt.]],
 +
    thingCategories = {
 +
      "Apparel",
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 6.5,
+
       MaxHitPoints = 100,
       StuffPower_Armor_Sharp = 0.67,
+
      WorkToMake = 1600,
       StuffPower_Armor_Blunt = 0.14,
+
      Mass = 0.25,
       StuffPower_Insulation_Cold = 30,
+
       StuffEffectMultiplierArmor = 0.2,
       StuffPower_Insulation_Heat = 16,
+
       StuffEffectMultiplierInsulation_Cold = 0.22,
 +
       StuffEffectMultiplierInsulation_Heat = 0.10,
 +
       EquipDelay = 1.5,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         MaxHitPoints = 1.0,
+
         "Torso",
         Beauty = 3.6,
+
        "Shoulders",
 +
      },
 +
      layers = {
 +
        "OnSkin",
 +
      },
 +
      tags = {
 +
         "IndustrialBasic",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Worker",
 +
        "Soldier",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Fox"] = {
+
   ["ThingDef:Apparel_CollarShirt"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ApparelMakeableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Fox",
+
     defName = "Apparel_CollarShirt",
     label = "foxfur",
+
    description = [[A nice-looking collared shirt with buttons.]],
     description = [[The pelt of a fox. It protects well from the cold and is quite luxurious, fetching a high price.]],
+
     label = "button-down shirt",
 +
     recipeMaker = {
 +
      researchPrerequisite = "ComplexClothing",
 +
    },
 +
    thingCategories = {
 +
      "Apparel",
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 3.5,
+
       MaxHitPoints = 100,
       StuffPower_Armor_Sharp = 0.81,
+
      WorkToMake = 2700,
       StuffPower_Armor_Blunt = 0.21,
+
      Mass = 0.3,
       StuffPower_Insulation_Cold = 20,
+
      StuffEffectMultiplierArmor = 0.2,
 +
       StuffEffectMultiplierInsulation_Cold = 0.26,
 +
       StuffEffectMultiplierInsulation_Heat = 0.10,
 +
       EquipDelay = 1.5,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         MaxHitPoints = 1.0,
+
         "Torso",
         Beauty = 2.0,
+
        "Neck",
 +
        "Shoulders",
 +
        "Arms",
 +
      },
 +
      layers = {
 +
        "OnSkin",
 +
      },
 +
      tags = {
 +
         "IndustrialBasic",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Worker",
 +
        "Soldier",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Lizard"] = {
+
   ["ThingDef:Apparel_Duster"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ApparelMakeableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Lizard",
+
     defName = "Apparel_Duster",
     label = "lizardskin",
+
    description = [[A long duster coat for blocking the sun and grit of the outdoors.]],
     description = [[The tanned skin of a cold-blooded reptile. Lizardskin is reasonably tough, but does not insulate well at all.]],
+
     label = "duster",
 +
     recipeMaker = {
 +
      researchPrerequisite = "ComplexClothing",
 +
    },
 +
    thingCategories = {
 +
      "Apparel",
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 2.1,
+
       MaxHitPoints = 200,
       StuffPower_Armor_Sharp = 0.81,
+
      WorkToMake = 10000,
       StuffPower_Armor_Blunt = 0.27,
+
      Mass = 2,
       StuffPower_Insulation_Cold = 12,
+
       StuffEffectMultiplierArmor = 0.3,
       StuffPower_Insulation_Heat = 12,
+
       StuffEffectMultiplierInsulation_Cold = 0.60,
 +
       StuffEffectMultiplierInsulation_Heat = 0.85,
 +
       EquipDelay = 3,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         MaxHitPoints = 1.0,
+
         "Torso",
         Beauty = 1.2,
+
        "Neck",
 +
        "Shoulders",
 +
        "Arms",
 +
        "Legs",
 +
      },
 +
      layers = {
 +
        "Shell",
 +
      },
 +
      tags = {
 +
         "IndustrialAdvanced",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Worker",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Elephant"] = {
+
   ["ThingDef:Apparel_Jacket"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ApparelMakeableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Elephant",
+
     defName = "Apparel_Jacket",
     label = "elephant leather",
+
     label = "jacket",
     description = [[Tanned, dried, scraped elephant skin. While quite tough, it is a poor insulator.]],
+
     description = [[A tough jacket to stop scrapes and bruises, and to keep one warm in chilly weather.]],
 +
    thingCategories = {
 +
      "Apparel",
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 3.0,
+
       MaxHitPoints = 160,
       StuffPower_Armor_Sharp = 1.12,
+
      WorkToMake = 7000,
       StuffPower_Insulation_Cold = 14,
+
      Mass = 1.7,
       StuffPower_Insulation_Heat = 12,
+
      StuffEffectMultiplierArmor = 0.3,
 +
       StuffEffectMultiplierInsulation_Cold = 0.80,
 +
       StuffEffectMultiplierInsulation_Heat = 0.30,
 +
       EquipDelay = 1.5,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         MaxHitPoints = 1.5,
+
         "Torso",
         Beauty = 1.6,
+
        "Neck",
 +
        "Shoulders",
 +
        "Arms",
 +
      },
 +
      layers = {
 +
        "Shell",
 +
      },
 +
      tags = {
 +
         "IndustrialAdvanced",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Worker",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Heavy"] = {
+
   ["ThingDef:Apparel_PlateArmor"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ArmorSmithableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Heavy",
+
     defName = "Apparel_PlateArmor",
     label = "heavy fur",
+
     label = "plate armor",
     description = [[Thick leather covered in a long, rugged mat of fur. Harvested from a large, hardy animal. This thick skin insulates and protects very well.]],
+
     description = [[Overlapping solid plates of armor covering the entire body from neck to feet.]],
     statBases = {
+
     recipeMaker = {
       MarketValue = 3.3,
+
       unfinishedThingDef = "UnfinishedMetallicTechArmor",
       StuffPower_Armor_Sharp = 1.24,
+
       researchPrerequisite = "PlateArmor",
      StuffPower_Insulation_Cold = 30,
+
       skillRequirements = {
       StuffPower_Insulation_Heat = 14,
+
         Crafting = 7,
    },
 
    stuffProps = {
 
      statFactors = {
 
         MaxHitPoints = 1.5,
 
        Beauty = 1.85,
 
 
       },
 
       },
 
     },
 
     },
  },
+
    statBases = {
 
+
      WorkToMake = 38000,
  ["ThingDef:Leather_Rhinoceros"] = {
+
      MaxHitPoints = 290,
    _ = {
+
      Mass = 15,
       ParentName = "LeatherBase",
+
      StuffEffectMultiplierArmor = 0.73,
       FileName = "Items_Resource_Stuff_Leather.xml",
+
       StuffEffectMultiplierInsulation_Cold = 1.0,
       DLC = "Core",
+
       StuffEffectMultiplierInsulation_Heat = 0,
 +
       EquipDelay = 15,
 
     },
 
     },
     defName = "Leather_Rhinoceros",
+
     thingCategories = {
    label = "rhinoceros leather",
+
      "ApparelArmor",
    description = [[Tanned, dried, scraped rhinocerous skin. It is exceptionally durable in combat, but provides little protection from weather.]],
 
    statBases = {
 
      MarketValue = 4.2,
 
      StuffPower_Armor_Sharp = 1.29,
 
      StuffPower_Insulation_Cold = 14,
 
      StuffPower_Insulation_Heat = 14,
 
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         MaxHitPoints = 1.5,
+
         "Torso",
         Beauty = 2.4,
+
        "Neck",
 +
        "Shoulders",
 +
        "Arms",
 +
        "Legs",
 +
      },
 +
      layers = {
 +
        "Middle",
 +
        "Shell",
 +
      },
 +
      tags = {
 +
         "MedievalMilitary",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Thrumbo"] = {
+
   ["ThingDef:Apparel_FlakVest"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ArmorMachineableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Thrumbo",
+
     defName = "Apparel_FlakVest",
     label = "thrumbofur",
+
     label = "flak vest",
     description = [[Furry pelt of a thrumbo. Luxurious and extraordinarily durable. Used for the highest-quality crafts for its insulation and strength.]],
+
     description = [[A vest with armor plates inserted on the chest and back. While quite effective at deflecting gunshots and stabbing attacks against the chest, it does nothing to protect the limbs.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = "FlakArmor",
 +
      unfinishedThingDef = "UnfinishedTechArmor",
 +
      skillRequirements = {
 +
        Crafting = 4,
 +
      },
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 14.0,
+
       WorkToMake = 9000,
       StuffPower_Armor_Sharp = 2.08,
+
      MaxHitPoints = 200,
       StuffPower_Armor_Blunt = 0.36,
+
      Mass = 4,
       StuffPower_Insulation_Cold = 34,
+
      Flammability = 0.6,
       StuffPower_Insulation_Heat = 22,
+
       ArmorRating_Sharp = 1.00,
 +
       ArmorRating_Blunt = 0.36,
 +
       ArmorRating_Heat = 0.27,
 +
      Insulation_Cold = 1,
 +
      EquipDelay = 5,
 +
    },
 +
    thingCategories = {
 +
      "ApparelArmor",
 +
    },
 +
    costList = {
 +
      Cloth = 30,
 +
      Steel = 60,
 +
       ComponentIndustrial = 1,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         MaxHitPoints = 2.0,
+
         "Torso",
         Beauty = 8,
+
        "Neck",
 +
        "Shoulders",
 +
      },
 +
      layers = {
 +
        "Middle",
 +
      },
 +
      tags = {
 +
         "IndustrialMilitaryBasic",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Leather_Patch"] = {
+
   ["ThingDef:Apparel_FlakPants"] = {
 
     _ = {
 
     _ = {
       ParentName = "LeatherBase",
+
       ParentName = "ArmorMachineableBase",
       FileName = "Items_Resource_Stuff_Leather.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Leather_Patch",
+
     defName = "Apparel_FlakPants",
     label = "patchleather",
+
     label = "flak pants",
     description = [[A weak textile created by cutting up and sewing together various types of leathers. Regardless of what kind of leather is used to create it, patchleather's irregular seams make it less tough and less insulating than any intact leather.]],
+
     description = [[A pair of pants with armor plates sewn in. While it's not as good as solid armor, it offers effective protection against all manner of attacks while remaining quite comfortable.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = "FlakArmor",
 +
      unfinishedThingDef = "UnfinishedTechArmor",
 +
      skillRequirements = {
 +
        Crafting = 4,
 +
      },
 +
    },
 
     statBases = {
 
     statBases = {
       MarketValue = 1.5,
+
       WorkToMake = 9000,
       StuffPower_Armor_Sharp = 0.45,
+
      MaxHitPoints = 200,
       StuffPower_Armor_Blunt = 0.19,
+
      Mass = 4,
       StuffPower_Armor_Heat = 0.9,
+
      Flammability = 0.6,
       StuffPower_Insulation_Cold = 9,
+
       ArmorRating_Sharp = 0.40,
       StuffPower_Insulation_Heat = 9,
+
       ArmorRating_Blunt = 0.08,
 +
       ArmorRating_Heat = 0.10,
 +
      Insulation_Cold = 3.5,
 +
       Insulation_Heat = 1,
 +
       EquipDelay = 5,
 +
    },
 +
    thingCategories = {
 +
      "ApparelArmor",
 +
    },
 +
    costList = {
 +
      Cloth = 30,
 +
      Steel = 60,
 +
      ComponentIndustrial = 1,
 
     },
 
     },
     stuffProps = {
+
     apparel = {
       statFactors = {
+
       bodyPartGroups = {
         MaxHitPoints = 1.0,
+
         "Legs",
 +
      },
 +
      layers = {
 +
        "OnSkin",
 +
        "Middle",
 +
      },
 +
      tags = {
 +
        "IndustrialMilitaryBasic",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Apparel_FlakJacket"] = {
 
     _ = {
 
     _ = {
       Name = "UnfinishedBase",
+
       ParentName = "ArmorMachineableBase",
       Abstract = true,
+
       DefCategory = "ThingDef",
       FileName = "Items_Unfinished.xml",
+
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "UnfinishedThing",
+
     defName = "Apparel_FlakJacket",
     category = "Item",
+
     label = "flak jacket",
     label = "unfinished thing",
+
     description = [[A tough fabric jacket with armor plates sewn in. While it's not as good as solid armor, it offers effective protection against all manner of attacks while remaining quite comfortable.]],
    altitudeLayer = "Item",
+
     recipeMaker = {
     useHitPoints = true,
+
      researchPrerequisite = "FlakArmor",
    tradeability = "None",
+
       unfinishedThingDef = "UnfinishedTechArmor",
    statBases = {
+
       skillRequirements = {
       MaxHitPoints = 50,
+
        Crafting = 4,
       DeteriorationRate = 2.0,
+
       },
      Beauty = -8,
 
       Mass = 1,
 
 
     },
 
     },
     comps = {
+
     costList = {
       CompProperties_Forbiddable = {},
+
       Cloth = 50,
 +
      Steel = 70,
 +
      ComponentIndustrial = 1,
 
     },
 
     },
    pathCost = 14,
 
 
     thingCategories = {
 
     thingCategories = {
       "Unfinished",
+
       "ApparelArmor",
 +
    },
 +
    statBases = {
 +
      MaxHitPoints = 200,
 +
      WorkToMake = 14000,
 +
      Mass = 7,
 +
      Flammability = 0.6,
 +
      ArmorRating_Sharp = 0.40,
 +
      ArmorRating_Blunt = 0.08,
 +
      ArmorRating_Heat = 0.10,
 +
      Insulation_Cold = 14.4,
 +
      Insulation_Heat = 3,
 +
      EquipDelay = 3,
 
     },
 
     },
  },
+
    apparel = {
 
+
      bodyPartGroups = {
  ["ThingDef:UnfinishedSculpture"] = {
+
        "Torso",
    _ = {
+
        "Neck",
      ParentName = "UnfinishedBase",
+
        "Shoulders",
       FileName = "Items_Unfinished.xml",
+
        "Arms",
       DLC = "Core",
+
      },
 +
      layers = {
 +
        "Shell",
 +
       },
 +
      tags = {
 +
        "IndustrialAdvanced",
 +
       },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 +
      },
 
     },
 
     },
    defName = "UnfinishedSculpture",
 
    label = "unfinished sculpture",
 
    description = [[An unfinished sculpture.]],
 
 
   },
 
   },
  
   ["ThingDef:UnfinishedGun"] = {
+
   ["ThingDef:ApparelArmorPowerBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "UnfinishedBase",
+
      Name = "ApparelArmorPowerBase",
       FileName = "Items_Unfinished.xml",
+
       ParentName = "ArmorMachineableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "UnfinishedGun",
+
     recipeMaker = {
    label = "unfinished gun",
+
      unfinishedThingDef = "UnfinishedTechArmor",
     description = [[An unfinished gun of some kind.]],
+
      researchPrerequisite = "PoweredArmor",
 +
      skillRequirements = {
 +
        Crafting = 7,
 +
      },
 +
      recipeUsers = {
 +
        _ = {
 +
          Inherit = false,
 +
        },
 +
        "FabricationBench",
 +
      },
 +
     },
 
     statBases = {
 
     statBases = {
       Flammability = 0.5,
+
      WorkToMake = 60000,
 +
      MaxHitPoints = 340,
 +
      Mass = 12,
 +
       Flammability = 0.4,
 +
      ArmorRating_Sharp = 1.06,
 +
      ArmorRating_Blunt = 0.45,
 +
      ArmorRating_Heat = 0.54,
 +
      Insulation_Cold = 34,
 +
      Insulation_Heat = 10,
 +
      EquipDelay = 14,
 
     },
 
     },
  },
+
     thingCategories = {
 
+
       "ApparelArmor",
  ["ThingDef:UnfinishedWeapon"] = {
 
     _ = {
 
       ParentName = "UnfinishedBase",
 
      FileName = "Items_Unfinished.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "UnfinishedWeapon",
+
     tradeTags = {
    label = "unfinished weapon",
+
       "HiTechArmor",
    description = [[An unfinished weapon.]],
 
  },
 
 
 
  ["ThingDef:UnfinishedArmor"] = {
 
    _ = {
 
       ParentName = "UnfinishedBase",
 
      FileName = "Items_Unfinished.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "UnfinishedArmor",
+
     costList = {
    label = "unfinished simple armor",
+
       ComponentSpacer = 4,
    description = [[An unfinished piece of simple armor.]],
+
       Plasteel = 100,
  },
+
       Uranium = 20,
 
 
  ["ThingDef:UnfinishedTechArmor"] = {
 
    _ = {
 
      Name = "UnfinishedTechArmor",
 
       ParentName = "UnfinishedBase",
 
       FileName = "Items_Unfinished.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "UnfinishedTechArmor",
+
     apparel = {
    label = "unfinished advanced armor",
+
      bodyPartGroups = {
    description = [[An unfinished piece of high-tech armor.]],
+
        "Torso",
    statBases = {
+
        "Neck",
       Flammability = 0.4,
+
        "Shoulders",
 +
        "Arms",
 +
        "Legs",
 +
      },
 +
      layers = {
 +
        "Middle",
 +
        "Shell",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 +
       },
 
     },
 
     },
  },
+
     comps = {
 
+
       CompProperties_BiocodableApparel = {},
  ["ThingDef:UnfinishedMetallicTechArmor"] = {
 
     _ = {
 
       ParentName = "UnfinishedTechArmor",
 
      FileName = "Items_Unfinished.xml",
 
      DLC = "Core",
 
 
     },
 
     },
    defName = "UnfinishedMetallicTechArmor",
 
    label = "unfinished metal armor",
 
    description = [[An unfinished piece of metal armor.]],
 
 
   },
 
   },
  
   ["ThingDef:UnfinishedApparel"] = {
+
   ["ThingDef:Apparel_PowerArmor"] = {
 
     _ = {
 
     _ = {
       ParentName = "UnfinishedBase",
+
       ParentName = "ApparelArmorPowerBase",
       FileName = "Items_Unfinished.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "UnfinishedApparel",
+
     defName = "Apparel_PowerArmor",
     label = "unfinished apparel",
+
     label = "marine armor",
     description = [[An unfinished piece of an apparel.]],
+
     description = [[A suit of powered armor. Layered plasteel-weave plates are very effective at stopping attacks, with few vulnerable joint sections. Neuro-memetic assistors allow a human to wear the armor and still move easily.\n\nArmor like this is often used by imperial janissaries and rapid-incursion space marines.]],
     comps = {
+
     apparel = {
       {
+
       tags = {
         compClass = "CompColorable",
+
         "SpacerMilitary",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:UnfinishedBelt"] = {
+
   ["ThingDef:ApparelArmorReconBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "UnfinishedBase",
+
      Name = "ApparelArmorReconBase",
       FileName = "Items_Unfinished.xml",
+
       ParentName = "ArmorMachineableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "UnfinishedBelt",
+
     recipeMaker = {
     label = "unfinished belt",
+
      unfinishedThingDef = "UnfinishedTechArmor",
     description = [[An unfinished piece of a belt.]],
+
      researchPrerequisite = "ReconArmor",
 +
      skillRequirements = {
 +
        Crafting = 6,
 +
      },
 +
      recipeUsers = {
 +
        _ = {
 +
          Inherit = false,
 +
        },
 +
        "FabricationBench",
 +
      },
 +
    },
 +
     tradeTags = {
 +
      "HiTechArmor",
 +
     },
 
     statBases = {
 
     statBases = {
       Flammability = 0.5,
+
      WorkToMake = 45000,
 +
      MaxHitPoints = 280,
 +
      Mass = 9,
 +
       Flammability = 0.4,
 +
      ArmorRating_Sharp = 0.92,
 +
      ArmorRating_Blunt = 0.4,
 +
      ArmorRating_Heat = 0.46,
 +
      Insulation_Cold = 32,
 +
      Insulation_Heat = 9,
 +
      EquipDelay = 11,
 +
    },
 +
    thingCategories = {
 +
      "ApparelArmor",
 +
    },
 +
    costList = {
 +
      ComponentSpacer = 3,
 +
      Plasteel = 80,
 +
      Uranium = 10,
 +
    },
 +
    apparel = {
 +
      bodyPartGroups = {
 +
        "Torso",
 +
        "Neck",
 +
        "Shoulders",
 +
        "Arms",
 +
        "Legs",
 +
      },
 +
      layers = {
 +
        "Middle",
 +
        "Shell",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_BiocodableApparel = {},
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:UnfinishedPack"] = {
+
   ["ThingDef:Apparel_ArmorRecon"] = {
 
     _ = {
 
     _ = {
       ParentName = "UnfinishedBase",
+
       ParentName = "ApparelArmorReconBase",
       FileName = "Items_Unfinished.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "UnfinishedPack",
+
     defName = "Apparel_ArmorRecon",
     label = "unfinished pack",
+
     label = "recon armor",
     description = [[An unfinished piece of a pack.]],
+
     description = [[A suit of light partially-powered armor, designed to permit quick movement. Lightweight plasteel-weave plates block attacks without compromising mobility, and neuro-memetic assistors in the lower body allow a human to wear the armor and still move easily.\n\nArmor like this is often used by imperial scout troops and glitterworld police forces.]],
     statBases = {
+
     apparel = {
       Flammability = 0.5,
+
       tags = {
 +
        "SpacerMilitary",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:UnfinishedComponent"] = {
+
   ["ThingDef:OrbitalStrikeBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "UnfinishedBase",
+
      Abstract = true,
       FileName = "Items_Unfinished.xml",
+
      Name = "OrbitalStrikeBase",
 +
       ParentName = "EtherealThingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_OrbitalStrikes.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "UnfinishedComponent",
+
     thingClass = "OrbitalStrike",
    label = "unfinished component",
 
    description = [[An unfinished component.]],
 
    statBases = {
 
      Flammability = 0.5,
 
    },
 
 
   },
 
   },
  
   ["ThingDef:UnfinishedHealthItemProsthetic"] = {
+
   ["ThingDef:Bombardment"] = {
 
     _ = {
 
     _ = {
       ParentName = "UnfinishedBase",
+
       ParentName = "OrbitalStrikeBase",
       FileName = "Items_Unfinished.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_OrbitalStrikes.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "UnfinishedHealthItemProsthetic",
+
     defName = "Bombardment",
     label = "unfinished prosthetic",
+
     label = "bombardment",
     description = [[An unfinished prosthetic.]],
+
     thingClass = "Bombardment",
     statBases = {
+
     comps = {
       Flammability = 0.5,
+
       CompProperties_OrbitalBeam = {
 +
        width = 0.2,
 +
        color = "(255, 20, 20, 242)",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:UnfinishedHealthItemBionic"] = {
+
   ["ThingDef:Mote_Bombardment_PreImpact"] = {
 
     _ = {
 
     _ = {
       ParentName = "UnfinishedBase",
+
       ParentName = "MoteBase",
       FileName = "Items_Unfinished.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_OrbitalStrikes.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "UnfinishedHealthItemBionic",
+
     defName = "Mote_Bombardment_PreImpact",
     label = "unfinished bionic",
+
     altitudeLayer = "MoteOverhead",
    description = [[An unfinished bionic.]],
 
    statBases = {
 
      Flammability = 0.5,
 
    },
 
 
   },
 
   },
  
   ["ThingDef:MinifiedThing"] = {
+
   ["ThingDef:PowerBeam"] = {
 
     _ = {
 
     _ = {
       FileName = "Items_Unfinished.xml",
+
      ParentName = "OrbitalStrikeBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_OrbitalStrikes.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MinifiedThing",
+
     defName = "PowerBeam",
     label = "minified thing",
+
     label = "power beam",
     thingClass = "MinifiedThing",
+
     thingClass = "PowerBeam",
    category = "Item",
 
    useHitPoints = true,
 
    altitudeLayer = "Item",
 
 
     comps = {
 
     comps = {
       CompProperties_Forbiddable = {},
+
       CompProperties_OrbitalBeam = {
 +
        width = 8,
 +
        color = "(255, 245, 214, 242)",
 +
        sound = "OrbitalBeam",
 +
      },
 +
      CompProperties_CameraShaker = {
 +
        mag = 0.03,
 +
      },
 +
      CompProperties_AffectsSky = {
 +
        skyColors = {
 +
          sky = "(255, 230, 200)",
 +
          shadow = "(225, 220, 185)",
 +
          overlay = "(255, 255, 255)",
 +
          saturation = 1.3,
 +
        },
 +
      },
 
     },
 
     },
    pathCost = 14,
 
 
   },
 
   },
  
   ["ThingDef:Apparel_ShieldBelt"] = {
+
   ["ThingDef:SignalAction_Letter"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelBase",
+
       ParentName = "SignalActionBase",
       FileName = "Apparel_Belts.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_SignalActions.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_ShieldBelt",
+
     defName = "SignalAction_Letter",
     label = "shield belt",
+
     label = "signal action - letter",
    description = [[A projectile-repulsion device. It will attempt to stop incoming projectiles or shrapnel, but does nothing against melee attacks or heat. It prevents the wearer from firing out, and shuts down instantly if hit by EMP.]],
+
     thingClass = "SignalAction_Letter",
     thingClass = "ShieldBelt",
 
    statBases = {
 
      Mass = 3,
 
      WorkToMake = 14000,
 
      Flammability = 0.4,
 
      EnergyShieldRechargeRate = 0.13,
 
      EnergyShieldEnergyMax = 1.1,
 
      EquipDelay = 2,
 
    },
 
    costList = {
 
      ComponentIndustrial = 2,
 
      Steel = 50,
 
      Plasteel = 20,
 
    },
 
    recipeMaker = {
 
      unfinishedThingDef = "UnfinishedBelt",
 
      researchPrerequisite = "ShieldBelt",
 
      workSpeedStat = "GeneralLaborSpeed",
 
      workSkill = "Crafting",
 
      effectWorking = "Smith",
 
      soundWorking = "Recipe_Machining",
 
      recipeUsers = {
 
        "TableMachining",
 
      },
 
      useIngredientsForColor = false,
 
      skillRequirements = {
 
        Crafting = 6,
 
      },
 
    },
 
    thingCategories = {
 
      "ApparelUtility",
 
    },
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:SignalAction_Ambush"] = {
 
     _ = {
 
     _ = {
       Name = "HatBase",
+
       ParentName = "SignalActionBase",
       ParentName = "ApparelBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Ethereal_SignalActions.xml",
       FileName = "Apparel_Headgear.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingCategories = {
+
     defName = "SignalAction_Ambush",
      "Headgear",
+
    label = "signal action - ambush",
     },
+
     thingClass = "SignalAction_Ambush",
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:SkyfallerBase"] = {
 
     _ = {
 
     _ = {
       Name = "HatMakeableBase",
+
       Name = "SkyfallerBase",
       ParentName = "ApparelMakeableBase",
+
       ParentName = "EtherealThingBase",
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Skyfallers.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingCategories = {
+
     thingClass = "Skyfaller",
      "Headgear",
+
     useHitPoints = false,
     },
+
    altitudeLayer = "Skyfaller",
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:DropPodIncoming"] = {
 
     _ = {
 
     _ = {
       Name = "ArmorHelmetMakeableBase",
+
       ParentName = "SkyfallerBase",
       ParentName = "ArmorMachineableBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Ethereal_Skyfallers.xml",
       FileName = "Apparel_Headgear.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingCategories = {
+
     defName = "DropPodIncoming",
      "ArmorHeadgear",
+
    label = "drop pod (incoming)",
     },
+
     thingClass = "DropPodIncoming",
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:DropPodLeaving"] = {
 
     _ = {
 
     _ = {
       Name = "NobleHatMakeableBase",
+
       ParentName = "SkyfallerBase",
       ParentName = "ApparelMakeableBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Ethereal_Skyfallers.xml",
       FileName = "Apparel_Headgear.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingCategories = {
+
     defName = "DropPodLeaving",
      "HeadgearNoble",
+
    label = "drop pod (leaving)",
     },
+
     thingClass = "DropPodLeaving",
 
   },
 
   },
  
   ["ThingDef:Apparel_CowboyHat"] = {
+
   ["ThingDef:ShipChunkIncoming"] = {
 
     _ = {
 
     _ = {
       ParentName = "HatMakeableBase",
+
       ParentName = "SkyfallerBase",
       Name = "CowboyHat",
+
       DefCategory = "ThingDef",
       FileName = "Apparel_Headgear.xml",
+
       FileName = "Ethereal_Skyfallers.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_CowboyHat",
+
     defName = "ShipChunkIncoming",
     label = "cowboy hat",
+
     label = "ship chunk (incoming)",
     description = [[Stylish yet rugged, this hat keeps the sun and rain off - and it gives anyone who wears it a bit of extra charm. It is the most important part of traditional western attire.]],
+
     size = {2, 2},
    recipeMaker = {
 
      researchPrerequisite = "ComplexClothing",
 
    },
 
    statBases = {
 
      MaxHitPoints = 80,
 
      WorkToMake = 1800,
 
      Mass = 0.14,
 
      StuffEffectMultiplierArmor = 0.2,
 
      StuffEffectMultiplierInsulation_Cold = 0.10,
 
      StuffEffectMultiplierInsulation_Heat = 0.50,
 
      EquipDelay = 0.8,
 
    },
 
 
   },
 
   },
  
   ["ThingDef:Apparel_BowlerHat"] = {
+
   ["ThingDef:CrashedShipPartIncoming"] = {
 
     _ = {
 
     _ = {
       ParentName = "CowboyHat",
+
       ParentName = "SkyfallerBase",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Skyfallers.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_BowlerHat",
+
     defName = "CrashedShipPartIncoming",
     label = "bowler hat",
+
     label = "crashed ship part (incoming)",
     description = [[A good-looking hat which projects a slightly urban, money-loving style. Improves social impact.]],
+
     size = {6, 3},
    statBases = {
 
      WorkToMake = 1800,
 
      Mass = 0.14,
 
      StuffEffectMultiplierArmor = 0.2,
 
      StuffEffectMultiplierInsulation_Cold = 0.10,
 
      StuffEffectMultiplierInsulation_Heat = 0.40,
 
      EquipDelay = 0.8,
 
    },
 
 
   },
 
   },
  
   ["ThingDef:Apparel_TribalHeaddress"] = {
+
   ["ThingDef:MeteoriteIncoming"] = {
 
     _ = {
 
     _ = {
       ParentName = "HatMakeableBase",
+
       ParentName = "SkyfallerBase",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Skyfallers.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_TribalHeaddress",
+
     defName = "MeteoriteIncoming",
     label = "tribal headdress",
+
     label = "meteorite (incoming)",
     description = [[Elegant traditional garb, often with religious significance. Improves social impact.]],
+
     size = {2, 2},
    recipeMaker = {
+
  },
      researchPrerequisite = {},
+
 
      recipeUsers = {
+
  ["ThingDef:EtherealThingBase"] = {
        "ElectricTailoringBench",
+
     _ = {
        "HandTailoringBench",
+
       Abstract = true,
        "CraftingSpot",
+
       Name = "EtherealThingBase",
      },
+
       DefCategory = "ThingDef",
      skillRequirements = {
+
       FileName = "Ethereal_Various.xml",
        Crafting = 4,
+
       DLC = "Core",
      },
 
      factionPrerequisiteTags = {
 
        "Tribal",
 
      },
 
    },
 
     statBases = {
 
       WorkToMake = 6000,
 
       Mass = 0.11,
 
       StuffEffectMultiplierArmor = 0.2,
 
       StuffEffectMultiplierInsulation_Cold = 0.1,
 
       StuffEffectMultiplierInsulation_Heat = 0.15,
 
      EquipDelay = 1.5,
 
 
     },
 
     },
 +
    category = "Ethereal",
 +
    useHitPoints = false,
 
   },
 
   },
  
   ["ThingDef:Apparel_Tuque"] = {
+
   ["ThingDef:RectTrigger"] = {
 
     _ = {
 
     _ = {
       ParentName = "HatMakeableBase",
+
       ParentName = "EtherealThingBase",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_Tuque",
+
     defName = "RectTrigger",
     label = "tuque",
+
     label = "rect trigger",
     description = [[A soft, thick cap. Great for keeping warm in winter.]],
+
     thingClass = "RectTrigger",
    statBases = {
 
      MaxHitPoints = 80,
 
      WorkToMake = 1200,
 
      Mass = 0.07,
 
      StuffEffectMultiplierArmor = 0.2,
 
      StuffEffectMultiplierInsulation_Cold = 0.50,
 
      StuffEffectMultiplierInsulation_Heat = 0,
 
      EquipDelay = 0.8,
 
    },
 
 
   },
 
   },
  
   ["ThingDef:Apparel_WarMask"] = {
+
   ["ThingDef:TriggerUnfogged"] = {
 
     _ = {
 
     _ = {
       ParentName = "HatMakeableBase",
+
       ParentName = "EtherealThingBase",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_WarMask",
+
     defName = "TriggerUnfogged",
     label = "war mask",
+
     label = "trigger unfogged",
     description = [[An artistically terrifying war mask. It hides the wearer's face and makes them more confident.]],
+
     thingClass = "TriggerUnfogged",
    statBases = {
 
      WorkToMake = 3000,
 
      MaxHitPoints = 80,
 
      Mass = 1.4,
 
      StuffEffectMultiplierArmor = 0.3,
 
      StuffEffectMultiplierInsulation_Cold = 0.05,
 
      StuffEffectMultiplierInsulation_Heat = 0.05,
 
      EquipDelay = 1.5,
 
    },
 
    recipeMaker = {
 
      workSpeedStat = "GeneralLaborSpeed",
 
      workSkill = "Crafting",
 
      effectWorking = "Sculpt",
 
      soundWorking = "Recipe_Sculpt",
 
      recipeUsers = {
 
        "CraftingSpot",
 
      },
 
      unfinishedThingDef = "UnfinishedSculpture",
 
      factionPrerequisiteTags = {
 
        "Tribal",
 
      },
 
    },
 
 
   },
 
   },
  
   ["ThingDef:Apparel_WarVeil"] = {
+
   ["ThingDef:Explosion"] = {
 
     _ = {
 
     _ = {
       ParentName = "HatMakeableBase",
+
       ParentName = "EtherealThingBase",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_WarVeil",
+
     defName = "Explosion",
     label = "war veil",
+
     label = "explosion",
     description = [[A war veil, made out of reinforced cloth torn to appear damaged in combat. Some believe this functions as a talisman of courage.]],
+
     thingClass = "Explosion",
    statBases = {
+
  },
      WorkToMake = 1400,
+
 
      MaxHitPoints = 80,
+
  ["ThingDef:Blight"] = {
      Mass = 0.08,
+
    _ = {
      StuffEffectMultiplierArmor = 0.2,
+
       ParentName = "EtherealThingBase",
       StuffEffectMultiplierInsulation_Cold = 0.05,
+
       DefCategory = "ThingDef",
       StuffEffectMultiplierInsulation_Heat = 0.05,
+
       FileName = "Ethereal_Various.xml",
       EquipDelay = 1.5,
+
       DLC = "Core",
    },
 
    recipeMaker = {
 
      recipeUsers = {
 
        "CraftingSpot",
 
       },
 
      factionPrerequisiteTags = {
 
        "Tribal",
 
      },
 
 
     },
 
     },
 +
    defName = "Blight",
 +
    label = "blight",
 +
    thingClass = "Blight",
 
   },
 
   },
  
   ["ThingDef:Apparel_SimpleHelmet"] = {
+
   ["ThingDef:Tornado"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArmorHelmetMakeableBase",
+
       ParentName = "EtherealThingBase",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_SimpleHelmet",
+
     defName = "Tornado",
     label = "simple helmet",
+
     label = "tornado",
     description = [[A simple helmet which gives moderate protection against sharp attacks. Not effective against blunt weapons.]],
+
     thingClass = "Tornado",
     statBases = {
+
     comps = {
       WorkToMake = 3200,
+
       CompProperties_WindSource = {},
      MaxHitPoints = 100,
 
      Mass = 2,
 
      StuffEffectMultiplierArmor = 0.5,
 
      StuffEffectMultiplierInsulation_Cold = 0.15,
 
      StuffEffectMultiplierInsulation_Heat = 0,
 
      EquipDelay = 1.5,
 
    },
 
    recipeMaker = {
 
      recipeUsers = {
 
        "ElectricSmithy",
 
        "FueledSmithy",
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_AdvancedHelmet"] = {
+
   ["ThingDef:TunnelHiveSpawner"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArmorHelmetMakeableBase",
+
       ParentName = "EtherealThingBase",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_AdvancedHelmet",
+
     defName = "TunnelHiveSpawner",
     label = "flak helmet",
+
     label = "tunnel",
     description = [[A lightweight combat helmet with a complex design, reinforced with plasteel. Not effective against blunt weapons.]],
+
     thingClass = "TunnelHiveSpawner",
    recipeMaker = {
 
      researchPrerequisite = "FlakArmor",
 
      unfinishedThingDef = "UnfinishedMetallicTechArmor",
 
      skillRequirements = {
 
        Crafting = 5,
 
      },
 
    },
 
    statBases = {
 
      WorkToMake = 8000,
 
      MaxHitPoints = 120,
 
      Mass = 1.2,
 
      StuffEffectMultiplierArmor = 0.7,
 
      StuffEffectMultiplierInsulation_Cold = 0.15,
 
      StuffEffectMultiplierInsulation_Heat = 0,
 
      EquipDelay = 1.5,
 
    },
 
    costList = {
 
      ComponentIndustrial = 2,
 
      Plasteel = 10,
 
    },
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:PawnFlyerBase"] = {
 
     _ = {
 
     _ = {
       Name = "ApparelArmorHelmetPowerBase",
+
       Name = "PawnFlyerBase",
      ParentName = "ArmorHelmetMakeableBase",
 
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Apparel_Headgear.xml",
+
      ParentName = "EtherealThingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     label = "flying",
      unfinishedThingDef = "UnfinishedTechArmor",
+
    thingClass = "PawnFlyer",
      researchPrerequisite = "PoweredArmor",
+
    useHitPoints = false,
      skillRequirements = {
+
    altitudeLayer = "Skyfaller",
        Crafting = 7,
+
  },
      },
+
 
      recipeUsers = {
+
  ["ThingDef:BaseFilth"] = {
        _ = {
+
    _ = {
          Inherit = false,
+
      Name = "BaseFilth",
        },
+
      Abstract = true,
        "FabricationBench",
+
      DefCategory = "ThingDef",
       },
+
       FileName = "Filth_Various.xml",
    },
+
      DLC = "Core",
    tradeTags = {
 
      "HiTechArmor",
 
 
     },
 
     },
 +
    thingClass = "Filth",
 +
    category = "Filth",
 +
    altitudeLayer = "Filth",
 +
    useHitPoints = false,
 
     statBases = {
 
     statBases = {
       WorkToMake = 21000,
+
       Beauty = -15,
       MaxHitPoints = 150,
+
       Cleanliness = -5,
      Mass = 1.5,
 
      Flammability = 0.4,
 
      ArmorRating_Sharp = 1.06,
 
      ArmorRating_Blunt = 0.45,
 
      ArmorRating_Heat = 0.54,
 
      Insulation_Cold = 4,
 
      Insulation_Heat = 2,
 
      EquipDelay = 4,
 
 
     },
 
     },
     costList = {
+
  },
       ComponentSpacer = 1,
+
 
       Plasteel = 40,
+
  ["ThingDef:Filth_Dirt"] = {
 +
     _ = {
 +
       ParentName = "BaseFilth",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Filth_Various.xml",
 +
       DLC = "Core",
 
     },
 
     },
     comps = {
+
     defName = "Filth_Dirt",
       CompProperties_BiocodableApparel = {},
+
    label = "dirt",
 +
  },
 +
 
 +
  ["ThingDef:Filth_AnimalFilth"] = {
 +
    _ = {
 +
       ParentName = "BaseFilth",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Filth_Various.xml",
 +
      DLC = "Core",
 
     },
 
     },
 +
    defName = "Filth_AnimalFilth",
 +
    label = "animal filth",
 
   },
 
   },
  
   ["ThingDef:Apparel_PowerArmorHelmet"] = {
+
   ["ThingDef:Filth_Trash"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelArmorHelmetPowerBase",
+
       ParentName = "BaseFilth",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Filth_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_PowerArmorHelmet",
+
     defName = "Filth_Trash",
     label = "marine helmet",
+
     label = "trash",
    description = [[A marine armor helmet, with a built-in status computer and layered plasteel-weave plates.\n\nArmor like this is often used by imperial janissaries and rapid-incursion space marines.]],
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Filth_Sand"] = {
 
     _ = {
 
     _ = {
       Name = "ApparelArmorHelmetReconBase",
+
       ParentName = "BaseFilth",
       ParentName = "ArmorHelmetMakeableBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Filth_Various.xml",
       FileName = "Apparel_Headgear.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     defName = "Filth_Sand",
      unfinishedThingDef = "UnfinishedTechArmor",
+
    label = "sand",
      researchPrerequisite = "ReconArmor",
+
  },
      skillRequirements = {
+
 
        Crafting = 6,
+
  ["ThingDef:Filth_RubbleRock"] = {
      },
+
    _ = {
      recipeUsers = {
+
      ParentName = "BaseFilth",
        _ = {
+
      DefCategory = "ThingDef",
          Inherit = false,
+
      FileName = "Filth_Various.xml",
        },
+
       DLC = "Core",
        "FabricationBench",
 
       },
 
 
     },
 
     },
     tradeTags = {
+
     defName = "Filth_RubbleRock",
       "HiTechArmor",
+
    label = "rock rubble",
 +
  },
 +
 
 +
  ["ThingDef:Filth_RubbleBuilding"] = {
 +
    _ = {
 +
       ParentName = "BaseFilth",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Filth_Various.xml",
 +
      DLC = "Core",
 
     },
 
     },
     statBases = {
+
     defName = "Filth_RubbleBuilding",
      WorkToMake = 15750,
+
    label = "building rubble",
      MaxHitPoints = 120,
+
  },
      Mass = 1,
+
 
      Flammability = 0.4,
+
  ["ThingDef:SlagRubble"] = {
      ArmorRating_Sharp = 0.92,
+
    _ = {
      ArmorRating_Blunt = 0.4,
+
       ParentName = "BaseFilth",
       ArmorRating_Heat = 0.46,
+
       DefCategory = "ThingDef",
       Insulation_Cold = 4,
+
       FileName = "Filth_Various.xml",
       Insulation_Heat = 2,
+
       DLC = "Core",
       EquipDelay = 2,
 
 
     },
 
     },
     costList = {
+
     defName = "SlagRubble",
       ComponentSpacer = 1,
+
    label = "scattered slag",
       Plasteel = 30,
+
  },
    },
+
 
    comps = {
+
  ["ThingDef:SandbagRubble"] = {
       CompProperties_BiocodableApparel = {},
+
    _ = {
 +
       ParentName = "BaseFilth",
 +
       DefCategory = "ThingDef",
 +
      FileName = "Filth_Various.xml",
 +
       DLC = "Core",
 
     },
 
     },
 +
    defName = "SandbagRubble",
 +
    label = "scattered sandbags",
 
   },
 
   },
  
   ["ThingDef:Apparel_ArmorHelmetRecon"] = {
+
   ["ThingDef:Filth_Blood"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelArmorHelmetReconBase",
+
       ParentName = "BaseFilth",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Filth_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_ArmorHelmetRecon",
+
     defName = "Filth_Blood",
     label = "recon helmet",
+
     label = "blood",
     description = [[A high-tech armored helmet with a built-in status computer and a protective plasteel-weave plate.\n\nArmor like this is often used by imperial scout troops or glitterworld police forces.]],
+
     statBases = {
 +
      Beauty = -30,
 +
      Cleanliness = -10,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Apparel_PsychicFoilHelmet"] = {
+
   ["ThingDef:Filth_BloodInsect"] = {
 
     _ = {
 
     _ = {
       ParentName = "HatBase",
+
       ParentName = "BaseFilth",
       FileName = "Apparel_Headgear.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Filth_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_PsychicFoilHelmet",
+
     defName = "Filth_BloodInsect",
     label = "psychic foil helmet",
+
     label = "bugblood",
    description = [[A thin helmet containing finely-tuned sheets of psychically-absorptive foil. Reduces the impact of psychic waves.]],
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 80,
+
       Beauty = -40,
       MarketValue = 250,
+
       Cleanliness = -15,
      Mass = 1.0,
 
      Flammability = 0.4,
 
      ArmorRating_Sharp = 0.09,
 
      ArmorRating_Blunt = 0.09,
 
      ArmorRating_Heat = 0.27,
 
      Insulation_Cold = 2,
 
      Insulation_Heat = 1,
 
      EquipDelay = 1.5,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_SmokepopBelt"] = {
+
   ["ThingDef:Filth_MachineBits"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelBase",
+
       ParentName = "BaseFilth",
       FileName = "Apparel_Packs.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Filth_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    thingClass = "SmokepopBelt",
+
     defName = "Filth_MachineBits",
     defName = "Apparel_SmokepopBelt",
+
     label = "machine bits",
     label = "smokepop pack",
+
     statBases = {
     description = [[A defensive smokescreen. When activated, it will release a cloud of smoke, obscuring incoming shots and preventing turrets from locking on.]],
+
       Beauty = -10,
    comps = {
+
      Cleanliness = -5,
       CompProperties_Reloadable = {
 
        maxCharges = 3,
 
        ammoDef = "Chemfuel",
 
        ammoCountToRefill = 10,
 
        baseReloadTicks = 60,
 
        soundReload = "Standard_Reload",
 
        hotKey = "Misc4",
 
        chargeNoun = "smokepop",
 
        displayGizmoWhileUndrafted = false,
 
      },
 
 
     },
 
     },
     verbs = {
+
  },
       {
+
 
        label = "pop smoke",
+
  ["ThingDef:Filth_AmnioticFluid"] = {
        violent = false,
+
     _ = {
        targetable = false,
+
       ParentName = "BaseFilth",
        nonInterruptingSelfCast = true,
+
      DefCategory = "ThingDef",
        onlyManualCast = true,
+
      FileName = "Filth_Various.xml",
      },
+
      DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     defName = "Filth_AmnioticFluid",
      unfinishedThingDef = "UnfinishedPack",
+
    label = "amniotic fluid",
      researchPrerequisite = "SmokepopBelt",
+
    statBases = {
      recipeUsers = {
+
       Beauty = -30,
        "TableMachining",
+
       Cleanliness = -5,
      },
 
       useIngredientsForColor = false,
 
       workSpeedStat = "GeneralLaborSpeed",
 
      workSkill = "Crafting",
 
      effectWorking = "Smith",
 
      soundWorking = "Recipe_Smith",
 
      skillRequirements = {
 
        Crafting = 3,
 
      },
 
 
     },
 
     },
     costList = {
+
  },
       ComponentIndustrial = 1,
+
 
       Steel = 20,
+
  ["ThingDef:Filth_Slime"] = {
       Chemfuel = 40,
+
     _ = {
 +
       ParentName = "BaseFilth",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Filth_Various.xml",
 +
       DLC = "Core",
 
     },
 
     },
 +
    defName = "Filth_Slime",
 +
    label = "slime",
 
     statBases = {
 
     statBases = {
       WorkToMake = 1200,
+
       Beauty = -25,
       Mass = 3,
+
       Cleanliness = -5,
      Flammability = 0.4,
 
      SmokepopBeltRadius = 4.9,
 
      EquipDelay = 2,
 
    },
 
    thingCategories = {
 
      "ApparelUtility",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_PsychicShockLance"] = {
+
   ["ThingDef:Filth_Vomit"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelNoQualityBase",
+
       ParentName = "BaseFilth",
       FileName = "Apparel_Utility.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Filth_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_PsychicShockLance",
+
     defName = "Filth_Vomit",
     label = "psychic shock lance",
+
     label = "vomit",
    description = [[A limited-use psychic effector. It shocks the target's mind with chaotic images, blocking coherent perception and dropping him into a state of psychic shock. There is a risk of brain damage. It has a long range, but requires line of sight.]],
 
    tradeTags = {
 
      "Artifact",
 
    },
 
 
     statBases = {
 
     statBases = {
       Mass = 0.5,
+
       Beauty = -40,
       EquipDelay = 2,
+
       Cleanliness = -15,
      MarketValue = 550,
 
      MaxHitPoints = 80,
 
 
     },
 
     },
     thingCategories = {
+
  },
       "ApparelUtility",
+
 
 +
  ["ThingDef:Filth_FireFoam"] = {
 +
     _ = {
 +
       ParentName = "BaseFilth",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Filth_Various.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Filth_FireFoam",
 +
    label = "firefoam",
 +
    statBases = {
 +
      Beauty = -25,
 +
      Cleanliness = -5,
 
     },
 
     },
    smeltable = false,
+
  },
     verbs = {
+
 
       {
+
  ["ThingDef:Filth_Fuel"] = {
        label = "psychic shock lance",
+
     _ = {
        targetable = true,
+
       ParentName = "BaseFilth",
        onlyManualCast = true,
+
      DefCategory = "ThingDef",
        range = 34.9,
+
      FileName = "Filth_Various.xml",
        warmupTime = 0.5,
+
      DLC = "Core",
        targetParams = {
 
          canTargetBuildings = false,
 
          onlyTargetPsychicSensitive = true,
 
          neverTargetIncapacitated = true,
 
        },
 
      },
 
 
     },
 
     },
     comps = {
+
     defName = "Filth_Fuel",
      CompProperties_Reloadable = {
+
    label = "chemfuel puddle",
        maxCharges = 2,
+
    description = [[A puddle of flammable chemfuel.]],
        destroyOnEmpty = true,
+
    thingClass = "LiquidFuel",
        hotKey = "Misc4",
+
    useHitPoints = true,
        chargeNoun = "charge",
+
    statBases = {
        displayGizmoWhileUndrafted = false,
+
      Beauty = -10,
      },
+
       Cleanliness = -15,
      {
+
       MaxHitPoints = 150,
        compClass = "CompTargetEffect_PsychicShock",
+
       Flammability = 2.0,
      },
 
      CompProperties_TargetEffect_BrainDamageChance = {
 
        brainDamageChance = 0.3,
 
      },
 
       CompProperties_TargetEffect_GoodwillImpact = {
 
        goodwillImpact = -200,
 
       },
 
      CompProperties_TargetEffect_MoteOnTarget = {
 
        moteDef = "Mote_PsycastPsychicEffect",
 
       },
 
      CompProperties_TargetEffect_MoteConnecting = {
 
        moteDef = "Mote_PsycastPsychicLine",
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_PsychicInsanityLance"] = {
+
   ["ThingDef:Filth_CorpseBile"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelNoQualityBase",
+
       ParentName = "BaseFilth",
       FileName = "Apparel_Utility.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Filth_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_PsychicInsanityLance",
+
     defName = "Filth_CorpseBile",
     label = "psychic insanity lance",
+
     label = "corpse bile",
    description = [[A limited-use psychic effector. It overwhelms the target's mind with terrifying perceptual distortions, driving him into a berserk state. There is a risk of brain damage. It has a long range, but requires line of sight.]],
 
    tradeTags = {
 
      "Artifact",
 
    },
 
 
     statBases = {
 
     statBases = {
       Mass = 0.5,
+
       Beauty = -50,
       EquipDelay = 2,
+
       Cleanliness = -20,
      MarketValue = 650,
 
      MaxHitPoints = 80,
 
 
     },
 
     },
     thingCategories = {
+
  },
       "ApparelUtility",
+
 
 +
  ["ThingDef:Filth_Ash"] = {
 +
     _ = {
 +
       ParentName = "BaseFilth",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Filth_Various.xml",
 +
      DLC = "Core",
 
     },
 
     },
     smeltable = false,
+
     defName = "Filth_Ash",
     verbs = {
+
     label = "ash",
      {
+
     statBases = {
        label = "psychic insanity lance",
+
       Beauty = -12,
        targetable = true,
+
       Cleanliness = -15,
        onlyManualCast = true,
 
        range = 34.9,
 
        warmupTime = 0.5,
 
        targetParams = {
 
          canTargetBuildings = false,
 
          onlyTargetPsychicSensitive = true,
 
          neverTargetIncapacitated = true,
 
        },
 
      },
 
    },
 
     comps = {
 
       CompProperties_Reloadable = {
 
        maxCharges = 2,
 
        destroyOnEmpty = true,
 
        hotKey = "Misc4",
 
        chargeNoun = "charge",
 
        displayGizmoWhileUndrafted = false,
 
      },
 
       {
 
        compClass = "CompTargetEffect_Berserk",
 
      },
 
      CompProperties_TargetEffect_BrainDamageChance = {
 
        brainDamageChance = 0.3,
 
      },
 
      CompProperties_TargetEffect_GoodwillImpact = {
 
        goodwillImpact = -200,
 
      },
 
      CompProperties_TargetEffect_MoteOnTarget = {
 
        moteDef = "Mote_PsycastPsychicEffect",
 
      },
 
      CompProperties_TargetEffect_MoteConnecting = {
 
        moteDef = "Mote_PsycastPsychicLine",
 
      },
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Filth_Water"] = {
 
     _ = {
 
     _ = {
       Name = "ApparelNoQualityBase",
+
       ParentName = "BaseFilth",
       Abstract = true,
+
       DefCategory = "ThingDef",
       FileName = "Apparel_Various.xml",
+
       FileName = "Filth_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Apparel",
+
     defName = "Filth_Water",
     category = "Item",
+
     label = "water puddle",
    pathCost = 14,
 
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 100,
+
       Beauty = -10,
      Flammability = 1.0,
+
       Cleanliness = -5,
      DeteriorationRate = 2,
 
       Beauty = -3,
 
    },
 
    altitudeLayer = "Item",
 
    smeltable = true,
 
    comps = {
 
       CompProperties_Forbiddable = {},
 
      {
 
        compClass = "CompColorable",
 
      },
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:BaseGas"] = {
 
     _ = {
 
     _ = {
       Name = "ApparelBase",
+
       Name = "BaseGas",
      ParentName = "ApparelNoQualityBase",
 
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Gas_Various.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     comps = {
+
     thingClass = "Gas",
      {
+
    label = "gas",
        compClass = "CompQuality",
+
    category = "Gas",
      },
+
    altitudeLayer = "Gas",
     },
+
     useHitPoints = false,
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Gas_Smoke"] = {
 
     _ = {
 
     _ = {
       Name = "ApparelMakeableBase",
+
       ParentName = "BaseGas",
       ParentName = "ApparelBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Gas_Various.xml",
       FileName = "Apparel_Various.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     defName = "Gas_Smoke",
      workSpeedStat = "GeneralLaborSpeed",
+
    label = "smoke",
      workSkill = "Crafting",
+
  },
      effectWorking = "Tailor",
+
 
       soundWorking = "Recipe_Tailor",
+
  ["ThingDef:ActiveDropPod"] = {
       recipeUsers = {
+
    _ = {
        "ElectricTailoringBench",
+
       DefCategory = "ThingDef",
        "HandTailoringBench",
+
       FileName = "Things_Special.xml",
      },
+
      DLC = "Core",
      unfinishedThingDef = "UnfinishedApparel",
+
    },
      defaultIngredientFilter = {
+
    defName = "ActiveDropPod",
        categories = {
+
    label = "drop pod",
          "Root",
+
    category = "Item",
        },
+
    thingClass = "ActiveDropPod",
        disallowedThingDefs = {
+
    altitudeLayer = "Building",
          "Gold",
+
    useHitPoints = true,
          "Silver",
+
    statBases = {
          "Plasteel",
+
      MaxHitPoints = 500,
          "Jade",
+
       Flammability = 0,
          "Uranium",
 
        },
 
       },
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Fire"] = {
 
     _ = {
 
     _ = {
       Name = "ArmorSmithableBase",
+
       DefCategory = "ThingDef",
      ParentName = "ApparelBase",
+
       FileName = "Things_Special.xml",
      Abstract = true,
 
       FileName = "Apparel_Various.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     smeltable = true,
+
     defName = "Fire",
     recipeMaker = {
+
     label = "fire",
      workSpeedStat = "GeneralLaborSpeed",
+
    thingClass = "Fire",
      workSkill = "Crafting",
+
    category = "Attachment",
      effectWorking = "Smith",
+
    altitudeLayer = "PawnState",
      soundWorking = "Recipe_Smith",
+
    useHitPoints = false,
      recipeUsers = {
+
  },
        "ElectricSmithy",
+
 
        "FueledSmithy",
+
  ["ThingDef:Spark"] = {
      },
+
    _ = {
      defaultIngredientFilter = {
+
      DefCategory = "ThingDef",
        categories = {
+
      FileName = "Things_Special.xml",
          "Root",
+
      DLC = "Core",
        },
 
        disallowedThingDefs = {
 
          "Gold",
 
          "Silver",
 
          "Plasteel",
 
          "Jade",
 
          "Uranium",
 
        },
 
      },
 
 
     },
 
     },
 +
    defName = "Spark",
 +
    label = "spark",
 +
    category = "Projectile",
 +
    thingClass = "Spark",
 +
    altitudeLayer = "Projectile",
 +
    useHitPoints = false,
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:ChunkBase"] = {
 
     _ = {
 
     _ = {
       Name = "ArmorMachineableBase",
+
       Name = "ChunkBase",
      ParentName = "ApparelBase",
 
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     category = "Item",
      workSpeedStat = "GeneralLaborSpeed",
+
    thingClass = "Thing",
      workSkill = "Crafting",
+
    altitudeLayer = "Item",
      effectWorking = "Smith",
+
    passability = "PassThroughOnly",
       soundWorking = "Recipe_Machining",
+
    fillPercent = 0.50,
       recipeUsers = {
+
    statBases = {
        "TableMachining",
+
       MaxHitPoints = 300,
       },
+
       Flammability = 0,
      unfinishedThingDef = "UnfinishedArmor",
+
      Beauty = -8,
      defaultIngredientFilter = {
+
       Cleanliness = -2,
        categories = {
+
    },
          "Root",
+
    pathCost = 42,
        },
+
    pathCostIgnoreRepeat = true,
        disallowedThingDefs = {
+
    stackLimit = 1,
          "Gold",
+
    tradeability = "None",
          "Silver",
+
  },
          "Plasteel",
+
 
          "Jade",
+
  ["ThingDef:ChunkRockBase"] = {
          "Uranium",
+
    _ = {
        },
+
      ParentName = "ChunkBase",
       },
+
      Name = "ChunkRockBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
      FileName = "Various_Stone.xml",
 +
      DLC = "Core",
 +
    },
 +
    description = [[A chunk of rock. Can be cut into usable stone blocks.]],
 +
    thingCategories = {
 +
       "StoneChunks",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_TribalA"] = {
+
   ["ThingDef:StoneBlocksBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelMakeableBase",
+
       ParentName = "ResourceBase",
       FileName = "Apparel_Various.xml",
+
      Name = "StoneBlocksBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Apparel_TribalA",
+
     description = [[Blocks of stone. Mostly useful for building long-lasting, simple structures.]],
    label = "tribalwear",
+
    useHitPoints = false,
     description = [[A full-body garment crafted using neolithic tools. While it may look primitive, it is effective at insulating the wearer.]],
+
     tradeability = "Buyable",
     tradeability = "Sellable",
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       MaxHitPoints = 200,
       WorkToMake = 1800,
+
       MarketValue = 0.9,
      Mass = 0.5,
+
       SharpDamageMultiplier = 0.6,
       StuffEffectMultiplierArmor = 0.2,
+
       BluntDamageMultiplier = 1.0,
       StuffEffectMultiplierInsulation_Cold = 0.55,
+
       Beauty = -12,
       StuffEffectMultiplierInsulation_Heat = 0.55,
+
       ConstructionSpeedFactor = 0.8,
       EquipDelay = 1.5,
 
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "Apparel",
+
       "StoneBlocks",
 
     },
 
     },
     recipeMaker = {
+
     stuffProps = {
       recipeUsers = {
+
       categories = {
         "ElectricTailoringBench",
+
         "Stony",
         "HandTailoringBench",
+
      },
         "CraftingSpot",
+
      statOffsets = {
 +
        WorkToBuild = 140,
 +
      },
 +
      statFactors = {
 +
        MarketValue = 0.4,
 +
        MaxHitPoints = 1.8,
 +
        Flammability = 0,
 +
        WorkToBuild = 6.0,
 +
        WorkToMake = 1.3,
 +
        DoorOpenSpeed = 0.45,
 +
         BedRestEffectiveness = 0.9,
 +
         MeleeWeapon_CooldownMultiplier = 1.30,
 
       },
 
       },
 
     },
 
     },
 +
    terrainAffordanceNeeded = "Heavy",
 
   },
 
   },
  
   ["ThingDef:Apparel_Parka"] = {
+
   ["ThingDef:UglyRockBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelMakeableBase",
+
      Name = "UglyRockBase",
       FileName = "Apparel_Various.xml",
+
       ParentName = "RockBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Apparel_Parka",
+
     statBases = {
    label = "parka",
+
       Flammability = 0,
    description = [[A parka for staying warm in even the coldest of temperatures.]],
+
       Beauty = -2,
    thingCategories = {
 
      "Apparel",
 
    },
 
     statBases = {
 
       MaxHitPoints = 180,
 
      WorkToMake = 8000,
 
      Mass = 2,
 
      StuffEffectMultiplierArmor = 0.2,
 
       StuffEffectMultiplierInsulation_Cold = 2.00,
 
      StuffEffectMultiplierInsulation_Heat = 0.00,
 
      EquipDelay = 3,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_Pants"] = {
+
   ["ThingDef:ChunkSlagSteel"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelMakeableBase",
+
       ParentName = "ChunkBase",
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_Pants",
+
     defName = "ChunkSlagSteel",
     label = "pants",
+
     label = "steel slag chunk",
     description = [[A simple set of pants.]],
+
     description = [[A chunk of steel slag. While it's useless in its current form, it can be smelted to recover steel.]],
     recipeMaker = {
+
     statBases = {
       researchPrerequisite = "ComplexClothing",
+
       Mass = 5,
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "Apparel",
+
       "Chunks",
 
     },
 
     },
     statBases = {
+
     smeltProducts = {
       MaxHitPoints = 100,
+
       Steel = 15,
      WorkToMake = 1600,
 
      Mass = 0.5,
 
      StuffEffectMultiplierArmor = 0.2,
 
      StuffEffectMultiplierInsulation_Cold = 0.20,
 
      StuffEffectMultiplierInsulation_Heat = 0.08,
 
      EquipDelay = 2,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_BasicShirt"] = {
+
   ["ThingDef:Sandstone"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelMakeableBase",
+
       ParentName = "UglyRockBase",
       FileName = "Apparel_Various.xml",
+
      Name = "SandstoneBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_BasicShirt",
+
     defName = "Sandstone",
     label = "T-shirt",
+
     label = "sandstone",
     description = [[A simple T-shirt.]],
+
     description = [[A sedimentary rock composed of sand particles compressed together.]],
     thingCategories = {
+
     statBases = {
       "Apparel",
+
       MaxHitPoints = 400,
 
     },
 
     },
     statBases = {
+
     building = {
       MaxHitPoints = 100,
+
       mineableThing = "ChunkSandstone",
      WorkToMake = 1600,
 
      Mass = 0.25,
 
      StuffEffectMultiplierArmor = 0.2,
 
      StuffEffectMultiplierInsulation_Cold = 0.22,
 
      StuffEffectMultiplierInsulation_Heat = 0.10,
 
      EquipDelay = 1.5,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_CollarShirt"] = {
+
   ["ThingDef:SmoothedSandstone"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelMakeableBase",
+
       ParentName = "SandstoneBase",
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_CollarShirt",
+
     defName = "SmoothedSandstone",
     description = [[A nice-looking collared shirt with buttons.]],
+
    label = "smoothed sandstone",
     label = "button-down shirt",
+
     description = [[A sedimentary rock composed of sand particles compressed together. The sand layers have been polished to a flat, smooth surface.]],
    recipeMaker = {
+
     statBases = {
       researchPrerequisite = "ComplexClothing",
+
      Beauty = 1,
 +
       MarketValue = 18,
 
     },
 
     },
     thingCategories = {
+
     building = {
       "Apparel",
+
       isNaturalRock = false,
 +
      artificialForMeditationPurposes = false,
 
     },
 
     },
    statBases = {
+
   },
      MaxHitPoints = 100,
+
 
      WorkToMake = 2700,
+
   ["ThingDef:ChunkSandstone"] = {
      Mass = 0.3,
 
      StuffEffectMultiplierArmor = 0.2,
 
      StuffEffectMultiplierInsulation_Cold = 0.26,
 
      StuffEffectMultiplierInsulation_Heat = 0.10,
 
      EquipDelay = 1.5,
 
    },
 
   },
 
 
 
   ["ThingDef:Apparel_Duster"] = {
 
 
     _ = {
 
     _ = {
       ParentName = "ApparelMakeableBase",
+
       ParentName = "ChunkRockBase",
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_Duster",
+
     defName = "ChunkSandstone",
    description = [[A long duster coat for blocking the sun and grit of the outdoors.]],
+
     label = "sandstone chunk",
     label = "duster",
 
    recipeMaker = {
 
      researchPrerequisite = "ComplexClothing",
 
    },
 
    thingCategories = {
 
      "Apparel",
 
    },
 
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 200,
+
       Mass = 20,
      WorkToMake = 10000,
 
       Mass = 2,
 
      StuffEffectMultiplierArmor = 0.3,
 
      StuffEffectMultiplierInsulation_Cold = 0.60,
 
      StuffEffectMultiplierInsulation_Heat = 0.85,
 
      EquipDelay = 3,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_Jacket"] = {
+
   ["ThingDef:BlocksSandstone"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelMakeableBase",
+
       ParentName = "StoneBlocksBase",
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_Jacket",
+
     defName = "BlocksSandstone",
     label = "jacket",
+
     label = "sandstone blocks",
     description = [[A tough jacket to stop scrapes and bruises, and to keep one warm in chilly weather.]],
+
     description = [[Blocks of solid sandstone. Sandstone is a relatively soft rock and chips easily.]],
     thingCategories = {
+
     statBases = {
       "Apparel",
+
       Mass = 1,
 +
      SharpDamageMultiplier = 0.5,
 
     },
 
     },
     statBases = {
+
     stuffProps = {
       MaxHitPoints = 160,
+
       statFactors = {
      WorkToMake = 7000,
+
        Beauty = 1.1,
      Mass = 1.7,
+
        MaxHitPoints = 1.4,
      StuffEffectMultiplierArmor = 0.3,
+
        WorkToBuild = 5.0,
      StuffEffectMultiplierInsulation_Cold = 0.80,
+
        WorkToMake = 1.1,
      StuffEffectMultiplierInsulation_Heat = 0.30,
+
       },
       EquipDelay = 1.5,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_PlateArmor"] = {
+
   ["ThingDef:Granite"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArmorSmithableBase",
+
       ParentName = "UglyRockBase",
       FileName = "Apparel_Various.xml",
+
      Name = "GraniteBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_PlateArmor",
+
     defName = "Granite",
     label = "plate armor",
+
     label = "granite",
     description = [[Overlapping solid plates of armor covering the entire body from neck to feet.]],
+
     description = [[A very hard igneous rock.]],
    recipeMaker = {
 
      unfinishedThingDef = "UnfinishedMetallicTechArmor",
 
      researchPrerequisite = "PlateArmor",
 
      skillRequirements = {
 
        Crafting = 7,
 
      },
 
    },
 
 
     statBases = {
 
     statBases = {
      WorkToMake = 38000,
+
       MaxHitPoints = 900,
       MaxHitPoints = 290,
 
      Mass = 15,
 
      StuffEffectMultiplierArmor = 0.73,
 
      StuffEffectMultiplierInsulation_Cold = 1.0,
 
      StuffEffectMultiplierInsulation_Heat = 0,
 
      EquipDelay = 15,
 
 
     },
 
     },
     thingCategories = {
+
     building = {
       "ApparelArmor",
+
       mineableThing = "ChunkGranite",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_FlakVest"] = {
+
   ["ThingDef:SmoothedGranite"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArmorMachineableBase",
+
       ParentName = "GraniteBase",
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_FlakVest",
+
     defName = "SmoothedGranite",
     label = "flak vest",
+
     label = "smoothed granite",
     description = [[A vest with armor plates inserted on the chest and back. While quite effective at deflecting gunshots and stabbing attacks against the chest, it does nothing to protect the limbs.]],
+
     description = [[A very hard igneous rock. The shining surface is filled with a mosaic of black, white, and pink speckles.]],
     recipeMaker = {
+
     statBases = {
       researchPrerequisite = "FlakArmor",
+
       Beauty = 1,
      unfinishedThingDef = "UnfinishedTechArmor",
+
       MarketValue = 20,
       skillRequirements = {
 
        Crafting = 4,
 
      },
 
 
     },
 
     },
     statBases = {
+
     building = {
       WorkToMake = 9000,
+
       isNaturalRock = false,
       MaxHitPoints = 200,
+
       artificialForMeditationPurposes = false,
      Mass = 4,
 
      Flammability = 0.6,
 
      ArmorRating_Sharp = 1.00,
 
      ArmorRating_Blunt = 0.36,
 
      ArmorRating_Heat = 0.27,
 
      Insulation_Cold = 1,
 
      EquipDelay = 5,
 
 
     },
 
     },
     thingCategories = {
+
  },
       "ApparelArmor",
+
 
 +
  ["ThingDef:ChunkGranite"] = {
 +
     _ = {
 +
       ParentName = "ChunkRockBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Various_Stone.xml",
 +
      DLC = "Core",
 
     },
 
     },
     costList = {
+
     defName = "ChunkGranite",
      Cloth = 30,
+
    label = "granite chunk",
      Steel = 60,
+
    statBases = {
       ComponentIndustrial = 1,
+
       Mass = 25,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_FlakPants"] = {
+
   ["ThingDef:BlocksGranite"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArmorMachineableBase",
+
       ParentName = "StoneBlocksBase",
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_FlakPants",
+
     defName = "BlocksGranite",
     label = "flak pants",
+
     label = "granite blocks",
     description = [[A pair of pants with armor plates sewn in. While it's not as good as solid armor, it offers effective protection against all manner of attacks while remaining quite comfortable.]],
+
     description = [[Blocks of solid granite. Granite is a very hard stone.]],
    recipeMaker = {
 
      researchPrerequisite = "FlakArmor",
 
      unfinishedThingDef = "UnfinishedTechArmor",
 
      skillRequirements = {
 
        Crafting = 4,
 
      },
 
    },
 
 
     statBases = {
 
     statBases = {
      WorkToMake = 9000,
+
       Mass = 1.25,
      MaxHitPoints = 200,
+
       SharpDamageMultiplier = 0.65,
       Mass = 4,
 
      Flammability = 0.6,
 
      ArmorRating_Sharp = 0.40,
 
      ArmorRating_Blunt = 0.08,
 
       ArmorRating_Heat = 0.10,
 
      Insulation_Cold = 3.5,
 
      Insulation_Heat = 1,
 
      EquipDelay = 5,
 
 
     },
 
     },
     thingCategories = {
+
     stuffProps = {
       "ApparelArmor",
+
       statFactors = {
    },
+
        MaxHitPoints = 1.7,
    costList = {
+
       },
      Cloth = 30,
 
       Steel = 60,
 
      ComponentIndustrial = 1,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_FlakJacket"] = {
+
   ["ThingDef:Limestone"] = {
 
     _ = {
 
     _ = {
       ParentName = "ArmorMachineableBase",
+
       ParentName = "UglyRockBase",
       FileName = "Apparel_Various.xml",
+
      Name = "LimestoneBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_FlakJacket",
+
     defName = "Limestone",
     label = "flak jacket",
+
     label = "limestone",
     description = [[A tough fabric jacket with armor plates sewn in. While it's not as good as solid armor, it offers effective protection against all manner of attacks while remaining quite comfortable.]],
+
     description = [[A sedimentary rock formed from the compacted remains of ancient seashells.]],
     recipeMaker = {
+
     statBases = {
       researchPrerequisite = "FlakArmor",
+
       MaxHitPoints = 700,
      unfinishedThingDef = "UnfinishedTechArmor",
 
      skillRequirements = {
 
        Crafting = 4,
 
      },
 
 
     },
 
     },
     costList = {
+
     building = {
       Cloth = 50,
+
       mineableThing = "ChunkLimestone",
      Steel = 70,
 
      ComponentIndustrial = 1,
 
    },
 
    thingCategories = {
 
      "ApparelArmor",
 
    },
 
    statBases = {
 
      MaxHitPoints = 200,
 
      WorkToMake = 14000,
 
      Mass = 7,
 
      Flammability = 0.6,
 
      ArmorRating_Sharp = 0.40,
 
      ArmorRating_Blunt = 0.08,
 
      ArmorRating_Heat = 0.10,
 
      Insulation_Cold = 14.4,
 
      Insulation_Heat = 3,
 
      EquipDelay = 3,
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:SmoothedLimestone"] = {
 
     _ = {
 
     _ = {
       Name = "ApparelArmorPowerBase",
+
       ParentName = "LimestoneBase",
       ParentName = "ArmorMachineableBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Various_Stone.xml",
       FileName = "Apparel_Various.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     defName = "SmoothedLimestone",
      unfinishedThingDef = "UnfinishedTechArmor",
+
    label = "smoothed limestone",
      researchPrerequisite = "PoweredArmor",
+
    description = [[A sedimentary rock formed from the compacted remains of ancient seashells. It glows a smooth white, with light patterns of impurities suspended within.]],
      skillRequirements = {
 
        Crafting = 7,
 
      },
 
      recipeUsers = {
 
        _ = {
 
          Inherit = false,
 
        },
 
        "FabricationBench",
 
      },
 
    },
 
 
     statBases = {
 
     statBases = {
       WorkToMake = 60000,
+
       Beauty = 1,
      MaxHitPoints = 340,
+
       MarketValue = 20,
      Mass = 12,
 
      Flammability = 0.4,
 
      ArmorRating_Sharp = 1.06,
 
      ArmorRating_Blunt = 0.45,
 
      ArmorRating_Heat = 0.54,
 
      Insulation_Cold = 34,
 
      Insulation_Heat = 10,
 
       EquipDelay = 14,
 
 
     },
 
     },
     thingCategories = {
+
     building = {
       "ApparelArmor",
+
       isNaturalRock = false,
    },
+
       artificialForMeditationPurposes = false,
    tradeTags = {
 
      "HiTechArmor",
 
    },
 
    costList = {
 
      ComponentSpacer = 4,
 
      Plasteel = 100,
 
       Uranium = 20,
 
    },
 
    comps = {
 
      CompProperties_BiocodableApparel = {},
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_PowerArmor"] = {
+
   ["ThingDef:ChunkLimestone"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelArmorPowerBase",
+
       ParentName = "ChunkRockBase",
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_PowerArmor",
+
     defName = "ChunkLimestone",
     label = "marine armor",
+
     label = "limestone chunk",
     description = [[A suit of powered armor. Layered plasteel-weave plates are very effective at stopping attacks, with few vulnerable joint sections. Neuro-memetic assistors allow a human to wear the armor and still move easily.\n\nArmor like this is often used by imperial janissaries and rapid-incursion space marines.]],
+
     statBases = {
 +
      Mass = 22,
 +
    },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:BlocksLimestone"] = {
 
     _ = {
 
     _ = {
       Name = "ApparelArmorReconBase",
+
       ParentName = "StoneBlocksBase",
       ParentName = "ArmorMachineableBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Various_Stone.xml",
       FileName = "Apparel_Various.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     defName = "BlocksLimestone",
      unfinishedThingDef = "UnfinishedTechArmor",
+
    label = "limestone blocks",
      researchPrerequisite = "ReconArmor",
+
    description = [[Blocks of solid limestone.]],
      skillRequirements = {
+
    statBases = {
        Crafting = 6,
+
      Mass = 1.1,
      },
+
    },
      recipeUsers = {
+
    stuffProps = {
        _ = {
+
      statFactors = {
          Inherit = false,
+
        MaxHitPoints = 1.55,
        },
 
        "FabricationBench",
 
 
       },
 
       },
 
     },
 
     },
     tradeTags = {
+
  },
       "HiTechArmor",
+
 
 +
  ["ThingDef:Slate"] = {
 +
     _ = {
 +
       ParentName = "UglyRockBase",
 +
      Name = "SlateBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Various_Stone.xml",
 +
      DLC = "Core",
 
     },
 
     },
 +
    defName = "Slate",
 +
    label = "slate",
 +
    description = [[A dark-colored metamorphic rock. Its fine layers are emblematic of slaty cleavage.]],
 
     statBases = {
 
     statBases = {
      WorkToMake = 45000,
+
       MaxHitPoints = 500,
       MaxHitPoints = 280,
 
      Mass = 9,
 
      Flammability = 0.4,
 
      ArmorRating_Sharp = 0.92,
 
      ArmorRating_Blunt = 0.4,
 
      ArmorRating_Heat = 0.46,
 
      Insulation_Cold = 32,
 
      Insulation_Heat = 9,
 
      EquipDelay = 11,
 
 
     },
 
     },
     thingCategories = {
+
     building = {
       "ApparelArmor",
+
       mineableThing = "ChunkSlate",
    },
 
    costList = {
 
      ComponentSpacer = 3,
 
      Plasteel = 80,
 
      Uranium = 10,
 
    },
 
    comps = {
 
      CompProperties_BiocodableApparel = {},
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_ArmorRecon"] = {
+
   ["ThingDef:SmoothedSlate"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelArmorReconBase",
+
       ParentName = "SlateBase",
       FileName = "Apparel_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Apparel_ArmorRecon",
+
     defName = "SmoothedSlate",
     label = "recon armor",
+
     label = "smoothed slate",
     description = [[A suit of light partially-powered armor, designed to permit quick movement. Lightweight plasteel-weave plates block attacks without compromising mobility, and neuro-memetic assistors in the lower body allow a human to wear the armor and still move easily.\n\nArmor like this is often used by imperial scout troops and glitterworld police forces.]],
+
     description = [[A dark-colored metamorphic rock. Its fine layers are emblematic of slaty cleavage. Interior strata are clearly visible through the polished surface.]],
 +
    statBases = {
 +
      Beauty = 1,
 +
      MarketValue = 20,
 +
    },
 +
    building = {
 +
      isNaturalRock = false,
 +
      artificialForMeditationPurposes = false,
 +
    },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:ChunkSlate"] = {
 
     _ = {
 
     _ = {
       Abstract = true,
+
       ParentName = "ChunkRockBase",
      Name = "OrbitalStrikeBase",
+
       DefCategory = "ThingDef",
       ParentName = "EtherealThingBase",
+
       FileName = "Various_Stone.xml",
       FileName = "Ethereal_OrbitalStrikes.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "OrbitalStrike",
+
     defName = "ChunkSlate",
   },
+
    label = "slate chunk",
 +
    statBases = {
 +
      Mass = 18,
 +
    },
 +
   },
  
   ["ThingDef:Bombardment"] = {
+
   ["ThingDef:BlocksSlate"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrbitalStrikeBase",
+
       ParentName = "StoneBlocksBase",
       FileName = "Ethereal_OrbitalStrikes.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bombardment",
+
     defName = "BlocksSlate",
     label = "bombardment",
+
     label = "slate blocks",
     thingClass = "Bombardment",
+
     description = [[Blocks of solid slate. A dull-looking rock that chips easily.]],
     comps = {
+
    statBases = {
       CompProperties_OrbitalBeam = {
+
      Mass = 0.9,
         width = 0.2,
+
    },
         color = "(255, 20, 20, 242)",
+
     stuffProps = {
 +
       statFactors = {
 +
         Beauty = 1.1,
 +
         MaxHitPoints = 1.3,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Mote_Bombardment_PreImpact"] = {
+
   ["ThingDef:Marble"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "UglyRockBase",
       FileName = "Ethereal_OrbitalStrikes.xml",
+
      Name = "MarbleBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Mote_Bombardment_PreImpact",
+
     defName = "Marble",
     altitudeLayer = "MoteOverhead",
+
     label = "marble",
 +
    description = [[A soft metamorphic rock.]],
 +
    statBases = {
 +
      MaxHitPoints = 450,
 +
      Beauty = -1,
 +
    },
 +
    building = {
 +
      mineableThing = "ChunkMarble",
 +
    },
 
   },
 
   },
  
   ["ThingDef:PowerBeam"] = {
+
   ["ThingDef:SmoothedMarble"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrbitalStrikeBase",
+
       ParentName = "MarbleBase",
       FileName = "Ethereal_OrbitalStrikes.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "PowerBeam",
+
     defName = "SmoothedMarble",
     label = "power beam",
+
     label = "smoothed marble",
     thingClass = "PowerBeam",
+
     description = [[A soft metamorphic rock. This semi-transparent rock almost appears to glow with its own inner light.]],
     comps = {
+
     statBases = {
       CompProperties_OrbitalBeam = {
+
       Beauty = 2,
        width = 8,
+
      MarketValue = 25,
        color = "(255, 245, 214, 242)",
+
    },
        sound = "OrbitalBeam",
+
    building = {
      },
+
      isNaturalRock = false,
      CompProperties_CameraShaker = {
+
       artificialForMeditationPurposes = false,
        mag = 0.03,
 
      },
 
       CompProperties_AffectsSky = {
 
        skyColors = {
 
          sky = "(255, 230, 200)",
 
          shadow = "(225, 220, 185)",
 
          overlay = "(255, 255, 255)",
 
          saturation = 1.3,
 
        },
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SignalAction_Letter"] = {
+
   ["ThingDef:ChunkMarble"] = {
 
     _ = {
 
     _ = {
       ParentName = "SignalActionBase",
+
       ParentName = "ChunkRockBase",
       FileName = "Ethereal_SignalActions.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SignalAction_Letter",
+
     defName = "ChunkMarble",
     label = "signal action - letter",
+
     label = "marble chunk",
     thingClass = "SignalAction_Letter",
+
     statBases = {
 +
      Mass = 25,
 +
    },
 
   },
 
   },
  
   ["ThingDef:SignalAction_Ambush"] = {
+
   ["ThingDef:BlocksMarble"] = {
 
     _ = {
 
     _ = {
       ParentName = "SignalActionBase",
+
       ParentName = "StoneBlocksBase",
       FileName = "Ethereal_SignalActions.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SignalAction_Ambush",
+
     defName = "BlocksMarble",
     label = "signal action - ambush",
+
     label = "marble blocks",
     thingClass = "SignalAction_Ambush",
+
     description = [[Blocks of solid marble. Marble is a soft, beautiful stone, known for being easy to sculpt.]],
 +
    statBases = {
 +
      Mass = 1.25,
 +
    },
 +
    stuffProps = {
 +
      statFactors = {
 +
        Beauty = 1.35,
 +
        MaxHitPoints = 1.2,
 +
        WorkToBuild = 5.5,
 +
        WorkToMake = 1.15,
 +
      },
 +
      statOffsets = {
 +
        Beauty = 1,
 +
      },
 +
    },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:BaseWeapon"] = {
 
     _ = {
 
     _ = {
      Name = "SkyfallerBase",
 
      ParentName = "EtherealThingBase",
 
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Ethereal_Skyfallers.xml",
+
      Name = "BaseWeapon",
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Skyfaller",
+
     thingClass = "ThingWithComps",
     useHitPoints = false,
+
    category = "Item",
     altitudeLayer = "Skyfaller",
+
    altitudeLayer = "Item",
 +
     useHitPoints = true,
 +
    pathCost = 14,
 +
    statBases = {
 +
      MaxHitPoints = 100,
 +
      Flammability = 1.0,
 +
      DeteriorationRate = 2,
 +
      Beauty = -3,
 +
      SellPriceFactor = 0.20,
 +
     },
 +
    comps = {
 +
      CompProperties_Forbiddable = {},
 +
      {
 +
        compClass = "CompEquippable",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:DropPodIncoming"] = {
+
   ["ThingDef:BaseGun"] = {
 
     _ = {
 
     _ = {
       ParentName = "SkyfallerBase",
+
      Name = "BaseGun",
       FileName = "Ethereal_Skyfallers.xml",
+
      Abstract = true,
 +
       ParentName = "BaseWeapon",
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "DropPodIncoming",
+
     smeltable = true,
     label = "drop pod (incoming)",
+
    thingCategories = {
    thingClass = "DropPodIncoming",
+
      "WeaponsRanged",
 +
     },
 +
    statBases = {
 +
      Flammability = 0.5,
 +
    },
 +
    comps = {
 +
      CompProperties_Art = {
 +
        nameMaker = "NamerArtWeaponGun",
 +
        descriptionMaker = "ArtDescription_WeaponGun",
 +
        minQualityForArtistic = "Excellent",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:DropPodLeaving"] = {
+
   ["ThingDef:BaseGunWithQuality"] = {
 
     _ = {
 
     _ = {
       ParentName = "SkyfallerBase",
+
      Name = "BaseGunWithQuality",
       FileName = "Ethereal_Skyfallers.xml",
+
      Abstract = true,
 +
       ParentName = "BaseGun",
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "DropPodLeaving",
+
     comps = {
    label = "drop pod (leaving)",
+
      {
     thingClass = "DropPodLeaving",
+
        compClass = "CompQuality",
 +
      },
 +
     },
 
   },
 
   },
  
   ["ThingDef:ShipChunkIncoming"] = {
+
   ["ThingDef:BaseMakeableGun"] = {
 
     _ = {
 
     _ = {
       ParentName = "SkyfallerBase",
+
      Name = "BaseMakeableGun",
       FileName = "Ethereal_Skyfallers.xml",
+
       ParentName = "BaseGunWithQuality",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ShipChunkIncoming",
+
     recipeMaker = {
    label = "ship chunk (incoming)",
+
      workSpeedStat = "GeneralLaborSpeed",
    size = {2, 2},
+
      workSkill = "Crafting",
 +
      effectWorking = "Smith",
 +
      soundWorking = "Recipe_Smith",
 +
      recipeUsers = {
 +
        "TableMachining",
 +
      },
 +
      unfinishedThingDef = "UnfinishedGun",
 +
      researchPrerequisite = "Gunsmithing",
 +
    },
 
   },
 
   },
  
   ["ThingDef:CrashedShipPartIncoming"] = {
+
   ["ThingDef:BaseHumanMakeableGun"] = {
 
     _ = {
 
     _ = {
       ParentName = "SkyfallerBase",
+
      Name = "BaseHumanMakeableGun",
       FileName = "Ethereal_Skyfallers.xml",
+
       ParentName = "BaseMakeableGun",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "CrashedShipPartIncoming",
+
     weaponTags = {
     label = "crashed ship part (incoming)",
+
      "Gun",
     size = {6, 3},
+
     },
 +
     comps = {
 +
      CompProperties_BiocodableWeapon = {},
 +
    },
 
   },
 
   },
  
   ["ThingDef:MeteoriteIncoming"] = {
+
   ["ThingDef:BaseBullet"] = {
 
     _ = {
 
     _ = {
       ParentName = "SkyfallerBase",
+
       Name = "BaseBullet",
       FileName = "Ethereal_Skyfallers.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MeteoriteIncoming",
+
     category = "Projectile",
     label = "meteorite (incoming)",
+
    altitudeLayer = "Projectile",
     size = {2, 2},
+
    thingClass = "Bullet",
 +
     label = "bullet",
 +
     useHitPoints = false,
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:BaseMeleeWeapon"] = {
 
     _ = {
 
     _ = {
 +
      Name = "BaseMeleeWeapon",
 
       Abstract = true,
 
       Abstract = true,
       Name = "EtherealThingBase",
+
       ParentName = "BaseWeapon",
       FileName = "Ethereal_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     category = "Ethereal",
+
     smeltable = true,
     useHitPoints = false,
+
    thingCategories = {
 +
      "WeaponsMelee",
 +
     },
 +
    recipeMaker = {
 +
      workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
      effectWorking = "Smith",
 +
      soundWorking = "Recipe_Smith",
 +
      recipeUsers = {
 +
        "ElectricSmithy",
 +
        "FueledSmithy",
 +
      },
 +
      unfinishedThingDef = "UnfinishedWeapon",
 +
    },
 
   },
 
   },
  
   ["ThingDef:RectTrigger"] = {
+
   ["ThingDef:BaseMeleeWeapon_Sharp"] = {
 
     _ = {
 
     _ = {
       ParentName = "EtherealThingBase",
+
      Name = "BaseMeleeWeapon_Sharp",
       FileName = "Ethereal_Various.xml",
+
       ParentName = "BaseMeleeWeapon",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "RectTrigger",
+
     recipeMaker = {
    label = "rect trigger",
+
      defaultIngredientFilter = {
    thingClass = "RectTrigger",
+
        categories = {
 +
          "Root",
 +
        },
 +
        disallowedThingDefs = {
 +
          "Silver",
 +
          "Gold",
 +
          "WoodLog",
 +
        },
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:TriggerUnfogged"] = {
+
   ["ThingDef:BaseMeleeWeapon_Blunt"] = {
 
     _ = {
 
     _ = {
       ParentName = "EtherealThingBase",
+
      Name = "BaseMeleeWeapon_Blunt",
       FileName = "Ethereal_Various.xml",
+
       ParentName = "BaseMeleeWeapon",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TriggerUnfogged",
+
     recipeMaker = {
    label = "trigger unfogged",
+
      defaultIngredientFilter = {
    thingClass = "TriggerUnfogged",
+
        categories = {
 +
          "Root",
 +
        },
 +
        disallowedThingDefs = {
 +
          "Silver",
 +
          "Gold",
 +
        },
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Explosion"] = {
+
   ["ThingDef:BaseMeleeWeapon_Sharp_Quality"] = {
 
     _ = {
 
     _ = {
       ParentName = "EtherealThingBase",
+
      Name = "BaseMeleeWeapon_Sharp_Quality",
       FileName = "Ethereal_Various.xml",
+
      Abstract = true,
 +
       ParentName = "BaseMeleeWeapon_Sharp",
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Explosion",
+
     comps = {
    label = "explosion",
+
      {
    thingClass = "Explosion",
+
        compClass = "CompQuality",
  },
+
      },
 
+
      CompProperties_Art = {
  ["ThingDef:Blight"] = {
+
        nameMaker = "NamerArtWeaponMelee",
    _ = {
+
        descriptionMaker = "ArtDescription_WeaponMelee",
      ParentName = "EtherealThingBase",
+
        minQualityForArtistic = "Excellent",
      FileName = "Ethereal_Various.xml",
+
       },
       DLC = "Core",
 
 
     },
 
     },
    defName = "Blight",
 
    label = "blight",
 
    thingClass = "Blight",
 
 
   },
 
   },
  
   ["ThingDef:Tornado"] = {
+
   ["ThingDef:BaseMeleeWeapon_Blunt_Quality"] = {
 
     _ = {
 
     _ = {
       ParentName = "EtherealThingBase",
+
      Name = "BaseMeleeWeapon_Blunt_Quality",
       FileName = "Ethereal_Various.xml",
+
      Abstract = true,
 +
       ParentName = "BaseMeleeWeapon_Sharp",
 +
      DefCategory = "ThingDef",
 +
       FileName = "BaseWeapons.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Tornado",
 
    label = "tornado",
 
    thingClass = "Tornado",
 
 
     comps = {
 
     comps = {
       CompProperties_WindSource = {},
+
       {
 +
        compClass = "CompQuality",
 +
      },
 +
      CompProperties_Art = {
 +
        nameMaker = "NamerArtWeaponMelee",
 +
        descriptionMaker = "ArtDescription_WeaponMelee",
 +
        minQualityForArtistic = "Excellent",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TunnelHiveSpawner"] = {
+
   ["ThingDef:MeleeWeapon_Mace"] = {
 
     _ = {
 
     _ = {
       ParentName = "EtherealThingBase",
+
       ParentName = "BaseMeleeWeapon_Blunt_Quality",
       FileName = "Ethereal_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeMedieval.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TunnelHiveSpawner",
+
     defName = "MeleeWeapon_Mace",
     label = "tunnel",
+
     label = "mace",
     thingClass = "TunnelHiveSpawner",
+
     description = [[A refined club, engineered for efficient swinging and deadly impacts.]],
  },
+
     statBases = {
  ThingDef = {
+
       WorkToMake = 6000,
     _ = {
+
       Mass = 1.25,
       Name = "PawnFlyerBase",
 
       Abstract = true,
 
      ParentName = "EtherealThingBase",
 
      FileName = "Ethereal_Various.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     label = "flying",
+
     recipeMaker = {
    thingClass = "PawnFlyer",
+
      skillRequirements = {
    useHitPoints = false,
+
        Crafting = 3,
    altitudeLayer = "Skyfaller",
+
       },
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "BaseFilth",
 
       Abstract = true,
 
      FileName = "Filth_Various.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     thingClass = "Filth",
+
     weaponTags = {
     category = "Filth",
+
      "MedievalMeleeDecent",
    altitudeLayer = "Filth",
+
     },
    useHitPoints = false,
+
    tools = {
    statBases = {
+
      {
      Beauty = -15,
+
        label = "handle",
       Cleanliness = -5,
+
        capacities = {
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 15.7,
 +
        cooldownTime = 2,
 +
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Filth_Dirt"] = {
+
   ["ThingDef:MeleeWeapon_Gladius"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseFilth",
+
       ParentName = "BaseMeleeWeapon_Sharp_Quality",
       FileName = "Filth_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeMedieval.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Filth_Dirt",
+
     defName = "MeleeWeapon_Gladius",
     label = "dirt",
+
     label = "gladius",
  },
+
    description = [[A short sword of ancient design. Good for stabbing or slashing. It's light and nimble, which sometimes lets it beat bigger, heavier weapons.]],
 
+
    weaponTags = {
  ["ThingDef:Filth_AnimalFilth"] = {
+
      "MedievalMeleeDecent",
     _ = {
+
    },
       ParentName = "BaseFilth",
+
    statBases = {
       FileName = "Filth_Various.xml",
+
      WorkToMake = 12000,
       DLC = "Core",
+
      Mass = 0.85,
 +
    },
 +
     tools = {
 +
       {
 +
        label = "handle",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
       {
 +
        label = "point",
 +
        capacities = {
 +
          "Stab",
 +
        },
 +
        power = 16,
 +
        cooldownTime = 2,
 +
      },
 +
       {
 +
        label = "edge",
 +
        capacities = {
 +
          "Cut",
 +
        },
 +
        power = 16,
 +
        cooldownTime = 2,
 +
      },
 
     },
 
     },
     defName = "Filth_AnimalFilth",
+
     recipeMaker = {
    label = "animal filth",
+
      researchPrerequisite = "Smithing",
  },
+
      skillRequirements = {
 
+
        Crafting = 3,
  ["ThingDef:Filth_Trash"] = {
+
       },
    _ = {
 
      ParentName = "BaseFilth",
 
       FileName = "Filth_Various.xml",
 
      DLC = "Core",
 
 
     },
 
     },
    defName = "Filth_Trash",
 
    label = "trash",
 
 
   },
 
   },
  
   ["ThingDef:Filth_Sand"] = {
+
   ["ThingDef:MeleeWeapon_LongSword"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseFilth",
+
       ParentName = "BaseMeleeWeapon_Sharp_Quality",
       FileName = "Filth_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeMedieval.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Filth_Sand",
+
     defName = "MeleeWeapon_LongSword",
     label = "sand",
+
     label = "longsword",
  },
+
    description = [[The ancient weapon of kings, the longsword can be used for slashing or stabbing.]],
 
+
     weaponTags = {
  ["ThingDef:Filth_RubbleRock"] = {
+
       "MedievalMeleeAdvanced",
     _ = {
+
    },
       ParentName = "BaseFilth",
+
    statBases = {
       FileName = "Filth_Various.xml",
+
       WorkToMake = 18000,
       DLC = "Core",
+
       Mass = 2,
 
     },
 
     },
     defName = "Filth_RubbleRock",
+
     tools = {
    label = "rock rubble",
+
      {
  },
+
        label = "handle",
 
+
        capacities = {
  ["ThingDef:Filth_RubbleBuilding"] = {
+
          "Blunt",
    _ = {
+
        },
      ParentName = "BaseFilth",
+
        power = 9,
      FileName = "Filth_Various.xml",
+
        cooldownTime = 2,
       DLC = "Core",
+
      },
 +
      {
 +
        label = "point",
 +
        capacities = {
 +
          "Stab",
 +
        },
 +
        power = 23,
 +
        cooldownTime = 2.6,
 +
      },
 +
      {
 +
        label = "edge",
 +
        capacities = {
 +
          "Cut",
 +
        },
 +
        power = 23,
 +
        cooldownTime = 2.6,
 +
       },
 
     },
 
     },
     defName = "Filth_RubbleBuilding",
+
     recipeMaker = {
    label = "building rubble",
+
      researchPrerequisite = "LongBlades",
  },
+
      skillRequirements = {
 
+
        Crafting = 5,
  ["ThingDef:SlagRubble"] = {
+
       },
    _ = {
 
      ParentName = "BaseFilth",
 
       FileName = "Filth_Various.xml",
 
      DLC = "Core",
 
 
     },
 
     },
    defName = "SlagRubble",
 
    label = "scattered slag",
 
 
   },
 
   },
  
   ["ThingDef:SandbagRubble"] = {
+
   ["ThingDef:MeleeWeapon_Club"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseFilth",
+
       ParentName = "BaseMeleeWeapon_Blunt",
       FileName = "Filth_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SandbagRubble",
+
     defName = "MeleeWeapon_Club",
     label = "scattered sandbags",
+
     label = "club",
  },
+
    description = [[A shaped stick, heavy at one end, for bashing enemies to death. This weapon is so old it's part of human biology. Evolutionary biologists say that a major reason humans can tilt our wrists side-to-side (instead of just forward-and-back like other primates) is to be able to better swing a club.]],
 
+
     weaponTags = {
  ["ThingDef:Filth_Blood"] = {
+
       "NeolithicMeleeBasic",
     _ = {
 
       ParentName = "BaseFilth",
 
      FileName = "Filth_Various.xml",
 
      DLC = "Core",
 
 
     },
 
     },
    defName = "Filth_Blood",
 
    label = "blood",
 
 
     statBases = {
 
     statBases = {
       Beauty = -30,
+
       WorkToMake = 1200,
       Cleanliness = -10,
+
       Mass = 2,
 
     },
 
     },
  },
+
     recipeMaker = {
 
+
       recipeUsers = {
  ["ThingDef:Filth_BloodInsect"] = {
+
        "CraftingSpot",
     _ = {
+
       },
       ParentName = "BaseFilth",
 
      FileName = "Filth_Various.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "Filth_BloodInsect",
+
     tools = {
    label = "bugblood",
+
      {
    statBases = {
+
        label = "handle",
      Beauty = -40,
+
        capacities = {
       Cleanliness = -15,
+
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 14,
 +
        cooldownTime = 2,
 +
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Filth_MachineBits"] = {
+
   ["ThingDef:MeleeWeapon_Knife"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseFilth",
+
       ParentName = "BaseMeleeWeapon_Sharp_Quality",
       FileName = "Filth_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Filth_MachineBits",
+
     defName = "MeleeWeapon_Knife",
     label = "machine bits",
+
     label = "knife",
 +
    description = [[One of mankind's oldest manufactured objects. The knife has taken many forms, but the concept has always remained the same: A handle for holding and a sharp edge for cutting.]],
 +
    weaponTags = {
 +
      "MedievalMeleeBasic",
 +
      "NeolithicMeleeBasic",
 +
    },
 
     statBases = {
 
     statBases = {
       Beauty = -10,
+
       WorkToMake = 1800,
       Cleanliness = -5,
+
       Mass = 0.5,
 
     },
 
     },
  },
+
    tools = {
 
+
      {
  ["ThingDef:Filth_AmnioticFluid"] = {
+
        label = "handle",
    _ = {
+
        capacities = {
      ParentName = "BaseFilth",
+
          "Blunt",
       FileName = "Filth_Various.xml",
+
        },
      DLC = "Core",
+
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "blade",
 +
        capacities = {
 +
          "Cut",
 +
        },
 +
        power = 12,
 +
        cooldownTime = 1.5,
 +
      },
 +
       {
 +
        label = "point",
 +
        capacities = {
 +
          "Stab",
 +
        },
 +
        power = 13,
 +
        cooldownTime = 2,
 +
      },
 
     },
 
     },
     defName = "Filth_AmnioticFluid",
+
     recipeMaker = {
    label = "amniotic fluid",
+
      recipeUsers = {
    statBases = {
+
        "CraftingSpot",
       Beauty = -30,
+
       },
      Cleanliness = -5,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Filth_Slime"] = {
+
   ["ThingDef:MeleeWeapon_Ikwa"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseFilth",
+
       ParentName = "BaseMeleeWeapon_Sharp_Quality",
       FileName = "Filth_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Filth_Slime",
+
     defName = "MeleeWeapon_Ikwa",
     label = "slime",
+
     label = "ikwa",
 +
    description = [[A short spearhandle attached to a long bladed point, designed to be driven into vital organs with a quick thrust.]],
 +
    weaponTags = {
 +
      "NeolithicMeleeDecent",
 +
    },
 
     statBases = {
 
     statBases = {
       Beauty = -25,
+
       WorkToMake = 5000,
       Cleanliness = -5,
+
       Mass = 1.1,
 +
    },
 +
    tools = {
 +
      {
 +
        label = "handle",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Stab",
 +
        },
 +
        power = 15,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "edge",
 +
        capacities = {
 +
          "Cut",
 +
        },
 +
        power = 15,
 +
        cooldownTime = 2,
 +
      },
 +
    },
 +
    recipeMaker = {
 +
      researchPrerequisite = "Smithing",
 +
      skillRequirements = {
 +
        Crafting = 3,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Filth_Vomit"] = {
+
   ["ThingDef:MeleeWeapon_Spear"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseFilth",
+
       ParentName = "BaseMeleeWeapon_Sharp_Quality",
       FileName = "Filth_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Filth_Vomit",
+
     defName = "MeleeWeapon_Spear",
     label = "vomit",
+
     label = "spear",
 +
    description = [[A polearm tipped with a sharp point for stabbing opponents.]],
 +
    weaponTags = {
 +
      "NeolithicMeleeAdvanced",
 +
      "MedievalMeleeAdvanced",
 +
    },
 
     statBases = {
 
     statBases = {
       Beauty = -40,
+
       WorkToMake = 12000,
       Cleanliness = -15,
+
       Mass = 2,
 +
    },
 +
    tools = {
 +
      {
 +
        label = "shaft",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 13,
 +
        cooldownTime = 2.6,
 +
      },
 +
      {
 +
        label = "point",
 +
        capacities = {
 +
          "Stab",
 +
        },
 +
        power = 23,
 +
        cooldownTime = 2.6,
 +
      },
 +
    },
 +
    recipeMaker = {
 +
      researchPrerequisite = "LongBlades",
 +
      skillRequirements = {
 +
        Crafting = 4,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Filth_FireFoam"] = {
+
   ["ThingDef:Bullet_Revolver"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseFilth",
+
       ParentName = "BaseBullet",
       FileName = "Filth_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Filth_FireFoam",
+
     defName = "Bullet_Revolver",
     label = "firefoam",
+
     label = "revolver bullet",
    statBases = {
+
   },
      Beauty = -25,
 
      Cleanliness = -5,
 
    },
 
   },
 
  
   ["ThingDef:Filth_Fuel"] = {
+
   ["ThingDef:Gun_Revolver"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseFilth",
+
       ParentName = "BaseHumanMakeableGun",
       FileName = "Filth_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Filth_Fuel",
+
     defName = "Gun_Revolver",
     label = "chemfuel puddle",
+
     label = "revolver",
     description = [[A puddle of flammable chemfuel.]],
+
     description = [[An ancient pattern double-action revolver. It's not very powerful, but has a decent range for a pistol and is quick on the draw.]],
    thingClass = "LiquidFuel",
 
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
       Beauty = -10,
+
       WorkToMake = 4000,
       Cleanliness = -15,
+
       Mass = 1.4,
       MaxHitPoints = 150,
+
       AccuracyTouch = 0.80,
       Flammability = 2.0,
+
       AccuracyShort = 0.75,
 +
      AccuracyMedium = 0.45,
 +
      AccuracyLong = 0.35,
 +
      RangedWeapon_Cooldown = 1.6,
 +
    },
 +
    weaponTags = {
 +
      "SimpleGun",
 +
      "Revolver",
 
     },
 
     },
  },
+
     costList = {
 
+
       Steel = 30,
  ["ThingDef:Filth_CorpseBile"] = {
+
       ComponentIndustrial = 2,
     _ = {
 
       ParentName = "BaseFilth",
 
      FileName = "Filth_Various.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "Filth_CorpseBile",
+
     recipeMaker = {
    label = "corpse bile",
+
      skillRequirements = {
    statBases = {
+
        Crafting = 3,
      Beauty = -50,
+
       },
       Cleanliness = -20,
 
 
     },
 
     },
  },
+
    verbs = {
 
+
      {
  ["ThingDef:Filth_Ash"] = {
+
        defaultProjectile = "Bullet_Revolver",
    _ = {
+
        warmupTime = 0.3,
      ParentName = "BaseFilth",
+
        range = 25.9,
      FileName = "Filth_Various.xml",
+
       },
       DLC = "Core",
 
 
     },
 
     },
     defName = "Filth_Ash",
+
     tools = {
    label = "ash",
+
      {
    statBases = {
+
        label = "grip",
      Beauty = -12,
+
        capacities = {
       Cleanliness = -15,
+
          "Blunt",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Filth_Water"] = {
+
   ["ThingDef:Gun_Autopistol"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseFilth",
+
       ParentName = "BaseHumanMakeableGun",
       FileName = "Filth_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Filth_Water",
+
     defName = "Gun_Autopistol",
     label = "water puddle",
+
     label = "autopistol",
 +
    description = [[An ancient pattern blowback-operated self-loading pistol. It lacks stopping power and range, but is quick to fire.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = "BlowbackOperation",
 +
      skillRequirements = {
 +
        Crafting = 4,
 +
      },
 +
    },
 +
    weaponTags = {
 +
      "SimpleGun",
 +
    },
 
     statBases = {
 
     statBases = {
       Beauty = -10,
+
       WorkToMake = 5000,
       Cleanliness = -5,
+
       Mass = 1.2,
 +
      AccuracyTouch = 0.80,
 +
      AccuracyShort = 0.70,
 +
      AccuracyMedium = 0.40,
 +
      AccuracyLong = 0.30,
 +
      RangedWeapon_Cooldown = 1,
 +
    },
 +
    costList = {
 +
      Steel = 30,
 +
      ComponentIndustrial = 2,
 +
    },
 +
    verbs = {
 +
      {
 +
        defaultProjectile = "Bullet_Autopistol",
 +
        warmupTime = 0.3,
 +
        range = 25.9,
 +
      },
 
     },
 
     },
  },
+
    tools = {
  ThingDef = {
+
      {
    _ = {
+
        label = "grip",
      Name = "BaseGas",
+
        capacities = {
       Abstract = true,
+
          "Blunt",
       FileName = "Gas_Various.xml",
+
        },
      DLC = "Core",
+
        power = 9,
 +
        cooldownTime = 2,
 +
       },
 +
       {
 +
        label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 
     },
 
     },
    thingClass = "Gas",
 
    label = "gas",
 
    category = "Gas",
 
    altitudeLayer = "Gas",
 
    useHitPoints = false,
 
 
   },
 
   },
  
   ["ThingDef:Gas_Smoke"] = {
+
   ["ThingDef:Bullet_Autopistol"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseGas",
+
       ParentName = "BaseBullet",
       FileName = "Gas_Various.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gas_Smoke",
+
     defName = "Bullet_Autopistol",
     label = "smoke",
+
     label = "autopistol bullet",
 
   },
 
   },
  
   ["ThingDef:ActiveDropPod"] = {
+
   ["ThingDef:Gun_MachinePistol"] = {
 
     _ = {
 
     _ = {
       FileName = "Things_Special.xml",
+
      ParentName = "BaseHumanMakeableGun",
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ActiveDropPod",
+
     defName = "Gun_MachinePistol",
     label = "drop pod",
+
     label = "machine pistol",
     category = "Item",
+
     description = [[A micro-submachine gun. It is short-ranged, but very light in the hands. Its rate of fire tends to make up for its weakness.]],
     thingClass = "ActiveDropPod",
+
     recipeMaker = {
    altitudeLayer = "Building",
+
      researchPrerequisite = "BlowbackOperation",
     useHitPoints = true,
+
      skillRequirements = {
 +
        Crafting = 4,
 +
      },
 +
     },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 500,
+
       WorkToMake = 11000,
       Flammability = 0,
+
       Mass = 2.5,
 +
      AccuracyTouch = 0.90,
 +
      AccuracyShort = 0.65,
 +
      AccuracyMedium = 0.35,
 +
      AccuracyLong = 0.15,
 +
      RangedWeapon_Cooldown = 0.9,
 +
    },
 +
    costList = {
 +
      Steel = 45,
 +
      ComponentIndustrial = 3,
 +
    },
 +
    verbs = {
 +
      {
 +
        defaultProjectile = "Bullet_MachinePistol",
 +
        warmupTime = 0.5,
 +
        range = 19.9,
 +
        burstShotCount = 3,
 +
        ticksBetweenBurstShots = 7,
 +
      },
 +
    },
 +
    tools = {
 +
      {
 +
        label = "grip",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Fire"] = {
+
   ["ThingDef:Bullet_MachinePistol"] = {
 
     _ = {
 
     _ = {
       FileName = "Things_Special.xml",
+
      ParentName = "BaseBullet",
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Fire",
+
     defName = "Bullet_MachinePistol",
     label = "fire",
+
     label = "machine pistol bullet",
    thingClass = "Fire",
 
    category = "Attachment",
 
    altitudeLayer = "PawnState",
 
    useHitPoints = false,
 
 
   },
 
   },
  
   ["ThingDef:Spark"] = {
+
   ["ThingDef:Gun_IncendiaryLauncher"] = {
 
     _ = {
 
     _ = {
       FileName = "Things_Special.xml",
+
      ParentName = "BaseHumanMakeableGun",
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Spark",
+
     defName = "Gun_IncendiaryLauncher",
     label = "spark",
+
     label = "incendiary launcher",
     category = "Projectile",
+
     description = [[A wide-barreled incendiary bolt launcher. The bolts create small incendiary explosions on impact, starting fires.]],
    thingClass = "Spark",
 
    altitudeLayer = "Projectile",
 
    useHitPoints = false,
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "ChunkBase",
 
      Abstract = true,
 
      FileName = "Various_Stone.xml",
 
      DLC = "Core",
 
    },
 
    category = "Item",
 
    thingClass = "Thing",
 
    altitudeLayer = "Item",
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.50,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 300,
+
       WorkToMake = 20000,
       Flammability = 0,
+
       Mass = 3.4,
       Beauty = -8,
+
       RangedWeapon_Cooldown = 3.5,
      Cleanliness = -2,
 
 
     },
 
     },
     pathCost = 42,
+
     costList = {
    pathCostIgnoreRepeat = true,
+
       Steel = 75,
    stackLimit = 1,
+
       ComponentIndustrial = 4,
    tradeability = "None",
 
  },
 
  ThingDef = {
 
    _ = {
 
      ParentName = "ChunkBase",
 
      Name = "ChunkRockBase",
 
      Abstract = true,
 
       FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     description = [[A chunk of rock. Can be cut into usable stone blocks.]],
+
     recipeMaker = {
    thingCategories = {
+
      skillRequirements = {
       "StoneChunks",
+
        Crafting = 4,
 +
       },
 
     },
 
     },
  },
+
    verbs = {
  ThingDef = {
+
      {
    _ = {
+
        defaultProjectile = "Bullet_IncendiaryLauncher",
      ParentName = "ResourceBase",
+
        warmupTime = 3.5,
      Name = "StoneBlocksBase",
+
        range = 23.9,
      Abstract = true,
+
        forcedMissRadius = 1.9,
      FileName = "Various_Stone.xml",
+
        burstShotCount = 1,
       DLC = "Core",
+
        targetParams = {
 +
          canTargetLocations = true,
 +
        },
 +
       },
 
     },
 
     },
     description = [[Blocks of stone. Mostly useful for building long-lasting, simple structures.]],
+
     tools = {
    useHitPoints = false,
+
      {
    tradeability = "Buyable",
+
        label = "stock",
    statBases = {
+
        capacities = {
      MaxHitPoints = 200,
+
          "Blunt",
      MarketValue = 0.9,
+
        },
      SharpDamageMultiplier = 0.6,
+
        power = 9,
      BluntDamageMultiplier = 1.0,
+
        cooldownTime = 2,
      Beauty = -12,
 
      ConstructionSpeedFactor = 0.8,
 
    },
 
    thingCategories = {
 
      "StoneBlocks",
 
    },
 
    stuffProps = {
 
      categories = {
 
        "Stony",
 
 
       },
 
       },
       statOffsets = {
+
       {
         WorkToBuild = 140,
+
         label = "barrel",
      },
+
        capacities = {
      statFactors = {
+
          "Blunt",
        MarketValue = 0.4,
+
          "Poke",
        MaxHitPoints = 1.8,
+
         },
         Flammability = 0,
+
         power = 9,
        WorkToBuild = 6.0,
+
         cooldownTime = 2,
        WorkToMake = 1.3,
 
        DoorOpenSpeed = 0.45,
 
         BedRestEffectiveness = 0.9,
 
         MeleeWeapon_CooldownMultiplier = 1.30,
 
 
       },
 
       },
 
     },
 
     },
    terrainAffordanceNeeded = "Heavy",
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Bullet_IncendiaryLauncher"] = {
 
     _ = {
 
     _ = {
       Name = "UglyRockBase",
+
       ParentName = "BaseBullet",
       ParentName = "RockBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "RangedIndustrial.xml",
       FileName = "Various_Stone.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     statBases = {
+
     defName = "Bullet_IncendiaryLauncher",
      Flammability = 0,
+
    label = "incendiary bolt",
      Beauty = -2,
+
     thingClass = "Projectile_Explosive",
     },
 
 
   },
 
   },
  
   ["ThingDef:ChunkSlagSteel"] = {
+
   ["ThingDef:Gun_SmokeLauncher"] = {
 
     _ = {
 
     _ = {
       ParentName = "ChunkBase",
+
       ParentName = "BaseHumanMakeableGun",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ChunkSlagSteel",
+
     defName = "Gun_SmokeLauncher",
     label = "steel slag chunk",
+
     label = "smoke launcher",
     description = [[A chunk of steel slag. While it's useless in its current form, it can be smelted to recover steel.]],
+
     description = [[A wide-barreled smoke shell launcher. The shell will upon impact release a cloud of smoke, obscuring incoming shots and preventing turrets from locking on.]],
 
     statBases = {
 
     statBases = {
       Mass = 5,
+
      WorkToMake = 30000,
 +
       Mass = 3.4,
 +
      RangedWeapon_Cooldown = 4.5,
 
     },
 
     },
     thingCategories = {
+
     costList = {
       "Chunks",
+
       Steel = 75,
 +
      ComponentIndustrial = 4,
 
     },
 
     },
     smeltProducts = {
+
     weaponTags = {
       Steel = 15,
+
       _ = {
 +
        Inherit = false,
 +
      },
 +
      "GrenadeSmoke",
 
     },
 
     },
  },
+
     recipeMaker = {
 
+
       skillRequirements = {
  ["ThingDef:Sandstone"] = {
+
        Crafting = 4,
     _ = {
+
       },
       ParentName = "UglyRockBase",
 
      Name = "SandstoneBase",
 
       FileName = "Various_Stone.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     defName = "Sandstone",
+
     verbs = {
    label = "sandstone",
+
      {
    description = [[A sedimentary rock composed of sand particles compressed together.]],
+
        defaultProjectile = "Bullet_SmokeLauncher",
    statBases = {
+
        warmupTime = 3.5,
       MaxHitPoints = 400,
+
        range = 23.9,
 +
        forcedMissRadius = 1.9,
 +
        burstShotCount = 1,
 +
        targetParams = {
 +
          canTargetLocations = true,
 +
        },
 +
       },
 
     },
 
     },
     building = {
+
     tools = {
       mineableThing = "ChunkSandstone",
+
       {
 +
        label = "stock",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SmoothedSandstone"] = {
+
   ["ThingDef:Bullet_SmokeLauncher"] = {
 
     _ = {
 
     _ = {
       ParentName = "SandstoneBase",
+
       ParentName = "BaseBullet",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SmoothedSandstone",
+
     defName = "Bullet_SmokeLauncher",
     label = "smoothed sandstone",
+
     label = "smoke launcher shell",
     description = [[A sedimentary rock composed of sand particles compressed together. The sand layers have been polished to a flat, smooth surface.]],
+
     thingClass = "Projectile_Explosive",
    statBases = {
 
      Beauty = 1,
 
      MarketValue = 18,
 
    },
 
    building = {
 
      isNaturalRock = false,
 
      artificialForMeditationPurposes = false,
 
    },
 
 
   },
 
   },
  
   ["ThingDef:ChunkSandstone"] = {
+
   ["ThingDef:Gun_EmpLauncher"] = {
 
     _ = {
 
     _ = {
       ParentName = "ChunkRockBase",
+
       ParentName = "BaseHumanMakeableGun",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ChunkSandstone",
+
     defName = "Gun_EmpLauncher",
     label = "sandstone chunk",
+
     label = "EMP launcher",
 +
    description = [[A wide-barreled EMP shell launcher. The shell will upon impact release a burst of electromagnetic energy, stunning mechanical targets (mechanoids, turrets, mortars) and depleting shields in the area of effect.]],
 +
    weaponTags = {
 +
      "GrenadeEMP",
 +
    },
 
     statBases = {
 
     statBases = {
       Mass = 20,
+
      WorkToMake = 30000,
 +
       Mass = 3.4,
 +
      RangedWeapon_Cooldown = 3.5,
 
     },
 
     },
  },
+
    costList = {
 
+
      Steel = 75,
  ["ThingDef:BlocksSandstone"] = {
+
      ComponentIndustrial = 8,
    _ = {
+
    },
      ParentName = "StoneBlocksBase",
+
    recipeMaker = {
       FileName = "Various_Stone.xml",
+
      skillRequirements = {
       DLC = "Core",
+
        Crafting = 4,
 +
       },
 +
       researchPrerequisite = "MicroelectronicsBasics",
 
     },
 
     },
     defName = "BlocksSandstone",
+
     verbs = {
    label = "sandstone blocks",
+
      {
    description = [[Blocks of solid sandstone. Sandstone is a relatively soft rock and chips easily.]],
+
        defaultProjectile = "Bullet_EMPLauncher",
    statBases = {
+
        warmupTime = 3.5,
      Mass = 1,
+
        range = 23.9,
       SharpDamageMultiplier = 0.5,
+
        forcedMissRadius = 1.9,
 +
        burstShotCount = 1,
 +
        targetParams = {
 +
          canTargetLocations = true,
 +
        },
 +
       },
 
     },
 
     },
     stuffProps = {
+
     tools = {
       statFactors = {
+
       {
         Beauty = 1.1,
+
        label = "stock",
         MaxHitPoints = 1.4,
+
        capacities = {
         WorkToBuild = 5.0,
+
          "Blunt",
         WorkToMake = 1.1,
+
         },
 +
        power = 9,
 +
         cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
         power = 9,
 +
         cooldownTime = 2,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Granite"] = {
+
   ["ThingDef:Bullet_EMPLauncher"] = {
 
     _ = {
 
     _ = {
       ParentName = "UglyRockBase",
+
       ParentName = "BaseBullet",
       Name = "GraniteBase",
+
       DefCategory = "ThingDef",
       FileName = "Various_Stone.xml",
+
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Granite",
+
     defName = "Bullet_EMPLauncher",
     label = "granite",
+
     label = "EMP launcher shell",
     description = [[A very hard igneous rock.]],
+
     thingClass = "Projectile_Explosive",
    statBases = {
 
      MaxHitPoints = 900,
 
    },
 
    building = {
 
      mineableThing = "ChunkGranite",
 
    },
 
 
   },
 
   },
  
   ["ThingDef:SmoothedGranite"] = {
+
   ["ThingDef:Gun_BoltActionRifle"] = {
 
     _ = {
 
     _ = {
       ParentName = "GraniteBase",
+
       ParentName = "BaseHumanMakeableGun",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SmoothedGranite",
+
     defName = "Gun_BoltActionRifle",
     label = "smoothed granite",
+
     label = "bolt-action rifle",
     description = [[A very hard igneous rock. The shining surface is filled with a mosaic of black, white, and pink speckles.]],
+
     description = [[An ancient pattern bolt-action rifle. With its long range, and low fire rate, it is unlikely to drive animals to revenge, which makes it a favorite weapon for hunting.]],
 
     statBases = {
 
     statBases = {
       Beauty = 1,
+
       WorkToMake = 12000,
       MarketValue = 20,
+
      Mass = 3.5,
 +
      AccuracyTouch = 0.65,
 +
      AccuracyShort = 0.80,
 +
      AccuracyMedium = 0.90,
 +
      AccuracyLong = 0.80,
 +
       RangedWeapon_Cooldown = 1.5,
 
     },
 
     },
     building = {
+
     costList = {
       isNaturalRock = false,
+
       Steel = 60,
       artificialForMeditationPurposes = false,
+
       ComponentIndustrial = 3,
 
     },
 
     },
  },
+
     recipeMaker = {
 
+
       skillRequirements = {
  ["ThingDef:ChunkGranite"] = {
+
        Crafting = 5,
     _ = {
+
       },
       ParentName = "ChunkRockBase",
 
      FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "ChunkGranite",
+
     verbs = {
    label = "granite chunk",
+
      {
    statBases = {
+
        defaultProjectile = "Bullet_BoltActionRifle",
       Mass = 25,
+
        warmupTime = 1.7,
 +
        range = 36.9,
 +
       },
 
     },
 
     },
  },
+
    tools = {
 
+
      {
  ["ThingDef:BlocksGranite"] = {
+
        label = "stock",
    _ = {
+
        capacities = {
      ParentName = "StoneBlocksBase",
+
          "Blunt",
      FileName = "Various_Stone.xml",
+
        },
      DLC = "Core",
+
        power = 9,
    },
+
        cooldownTime = 2,
    defName = "BlocksGranite",
+
      },
    label = "granite blocks",
+
      {
    description = [[Blocks of solid granite. Granite is a very hard stone.]],
+
        label = "barrel",
    statBases = {
+
        capacities = {
      Mass = 1.25,
+
          "Blunt",
      SharpDamageMultiplier = 0.65,
+
          "Poke",
    },
+
        },
    stuffProps = {
+
        power = 9,
      statFactors = {
+
         cooldownTime = 2,
         MaxHitPoints = 1.7,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Limestone"] = {
+
   ["ThingDef:Bullet_BoltActionRifle"] = {
 
     _ = {
 
     _ = {
       ParentName = "UglyRockBase",
+
       ParentName = "BaseBullet",
       Name = "LimestoneBase",
+
       DefCategory = "ThingDef",
       FileName = "Various_Stone.xml",
+
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Limestone",
+
     defName = "Bullet_BoltActionRifle",
     label = "limestone",
+
     label = "bolt-action rifle bullet",
    description = [[A sedimentary rock formed from the compacted remains of ancient seashells.]],
 
    statBases = {
 
      MaxHitPoints = 700,
 
    },
 
    building = {
 
      mineableThing = "ChunkLimestone",
 
    },
 
 
   },
 
   },
  
   ["ThingDef:SmoothedLimestone"] = {
+
   ["ThingDef:Gun_PumpShotgun"] = {
 
     _ = {
 
     _ = {
       ParentName = "LimestoneBase",
+
       ParentName = "BaseHumanMakeableGun",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SmoothedLimestone",
+
     defName = "Gun_PumpShotgun",
     label = "smoothed limestone",
+
     label = "pump shotgun",
     description = [[A sedimentary rock formed from the compacted remains of ancient seashells. It glows a smooth white, with light patterns of impurities suspended within.]],
+
     description = [[An ancient design of shotgun that emits a tight-packed spray of pellets. Deadly, but short range.]],
 
     statBases = {
 
     statBases = {
       Beauty = 1,
+
       WorkToMake = 12000,
       MarketValue = 20,
+
      Mass = 3.4,
 +
      AccuracyTouch = 0.80,
 +
      AccuracyShort = 0.87,
 +
      AccuracyMedium = 0.77,
 +
      AccuracyLong = 0.64,
 +
       RangedWeapon_Cooldown = 1.25,
 
     },
 
     },
     building = {
+
     costList = {
       isNaturalRock = false,
+
       Steel = 60,
       artificialForMeditationPurposes = false,
+
       ComponentIndustrial = 3,
 +
    },
 +
    recipeMaker = {
 +
      skillRequirements = {
 +
        Crafting = 5,
 +
      },
 +
    },
 +
    verbs = {
 +
      {
 +
        defaultProjectile = "Bullet_Shotgun",
 +
        warmupTime = 0.9,
 +
        range = 15.9,
 +
      },
 +
    },
 +
    tools = {
 +
      {
 +
        label = "stock",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ChunkLimestone"] = {
+
   ["ThingDef:Bullet_Shotgun"] = {
 
     _ = {
 
     _ = {
       ParentName = "ChunkRockBase",
+
       ParentName = "BaseBullet",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ChunkLimestone",
+
     defName = "Bullet_Shotgun",
     label = "limestone chunk",
+
     label = "shotgun blast",
    statBases = {
 
      Mass = 22,
 
    },
 
 
   },
 
   },
  
   ["ThingDef:BlocksLimestone"] = {
+
   ["ThingDef:Gun_ChainShotgun"] = {
 
     _ = {
 
     _ = {
       ParentName = "StoneBlocksBase",
+
       ParentName = "BaseHumanMakeableGun",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BlocksLimestone",
+
     defName = "Gun_ChainShotgun",
     label = "limestone blocks",
+
     label = "chain shotgun",
     description = [[Blocks of solid limestone.]],
+
     description = [[A magazine-fed fully automatic shotgun. It is even shorter-ranged than a typical shotgun, but is extraordinarily dangerous due to burst fire.]],
     statBases = {
+
     recipeMaker = {
       Mass = 1.1,
+
       researchPrerequisite = "GasOperation",
    },
+
       skillRequirements = {
    stuffProps = {
+
         Crafting = 6,
       statFactors = {
 
         MaxHitPoints = 1.55,
 
 
       },
 
       },
 
     },
 
     },
  },
 
 
  ["ThingDef:Slate"] = {
 
    _ = {
 
      ParentName = "UglyRockBase",
 
      Name = "SlateBase",
 
      FileName = "Various_Stone.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Slate",
 
    label = "slate",
 
    description = [[A dark-colored metamorphic rock. Its fine layers are emblematic of slaty cleavage.]],
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 500,
+
       WorkToMake = 31000,
 +
      Mass = 4.5,
 +
      AccuracyTouch = 0.57,
 +
      AccuracyShort = 0.64,
 +
      AccuracyMedium = 0.55,
 +
      AccuracyLong = 0.45,
 +
      RangedWeapon_Cooldown = 1.35,
 
     },
 
     },
     building = {
+
     costList = {
       mineableThing = "ChunkSlate",
+
       Steel = 70,
 +
      ComponentIndustrial = 5,
 
     },
 
     },
  },
+
    verbs = {
 
+
      {
  ["ThingDef:SmoothedSlate"] = {
+
        defaultProjectile = "Bullet_Shotgun",
    _ = {
+
        warmupTime = 1.2,
      ParentName = "SlateBase",
+
        range = 12.9,
      FileName = "Various_Stone.xml",
+
        burstShotCount = 3,
       DLC = "Core",
+
        ticksBetweenBurstShots = 10,
 +
       },
 
     },
 
     },
     defName = "SmoothedSlate",
+
     weaponTags = {
    label = "smoothed slate",
+
      "IndustrialGunAdvanced",
    description = [[A dark-colored metamorphic rock. Its fine layers are emblematic of slaty cleavage. Interior strata are clearly visible through the polished surface.]],
 
    statBases = {
 
      Beauty = 1,
 
      MarketValue = 20,
 
 
     },
 
     },
     building = {
+
     tools = {
       isNaturalRock = false,
+
       {
       artificialForMeditationPurposes = false,
+
        label = "stock",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
       },
 +
      {
 +
        label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ChunkSlate"] = {
+
   ["ThingDef:Gun_HeavySMG"] = {
 
     _ = {
 
     _ = {
       ParentName = "ChunkRockBase",
+
       ParentName = "BaseHumanMakeableGun",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ChunkSlate",
+
     defName = "Gun_HeavySMG",
     label = "slate chunk",
+
     label = "heavy SMG",
 +
    description = [[A compact, wide-caliber slug-thrower. It's got a very short range, but it packs a punch and handles quite well.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = "GasOperation",
 +
      skillRequirements = {
 +
        Crafting = 5,
 +
      },
 +
    },
 
     statBases = {
 
     statBases = {
       Mass = 18,
+
      WorkToMake = 24000,
 +
       Mass = 3.5,
 +
      AccuracyTouch = 0.85,
 +
      AccuracyShort = 0.65,
 +
      AccuracyMedium = 0.35,
 +
      AccuracyLong = 0.20,
 +
      RangedWeapon_Cooldown = 1.65,
 
     },
 
     },
  },
+
     costList = {
 
+
       Steel = 75,
  ["ThingDef:BlocksSlate"] = {
+
       ComponentIndustrial = 4,
     _ = {
 
       ParentName = "StoneBlocksBase",
 
      FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "BlocksSlate",
+
     verbs = {
    label = "slate blocks",
+
      {
    description = [[Blocks of solid slate. A dull-looking rock that chips easily.]],
+
        defaultProjectile = "Bullet_HeavySMG",
    statBases = {
+
        warmupTime = 0.9,
       Mass = 0.9,
+
        range = 22.9,
 +
        burstShotCount = 3,
 +
        ticksBetweenBurstShots = 11,
 +
       },
 
     },
 
     },
     stuffProps = {
+
     weaponTags = {
       statFactors = {
+
       "IndustrialGunAdvanced",
        Beauty = 1.1,
 
        MaxHitPoints = 1.3,
 
      },
 
 
     },
 
     },
  },
+
    tools = {
 
+
      {
  ["ThingDef:Marble"] = {
+
        label = "grip",
    _ = {
+
        capacities = {
      ParentName = "UglyRockBase",
+
          "Blunt",
      Name = "MarbleBase",
+
        },
      FileName = "Various_Stone.xml",
+
        power = 9,
      DLC = "Core",
+
        cooldownTime = 2,
    },
+
      },
    defName = "Marble",
+
      {
    label = "marble",
+
        label = "barrel",
    description = [[A soft metamorphic rock.]],
+
        capacities = {
    statBases = {
+
          "Blunt",
      MaxHitPoints = 450,
+
          "Poke",
      Beauty = -1,
+
        },
    },
+
        power = 9,
    building = {
+
        cooldownTime = 2,
      mineableThing = "ChunkMarble",
+
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SmoothedMarble"] = {
+
   ["ThingDef:Bullet_HeavySMG"] = {
 
     _ = {
 
     _ = {
       ParentName = "MarbleBase",
+
       ParentName = "BaseBullet",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "SmoothedMarble",
+
     defName = "Bullet_HeavySMG",
     label = "smoothed marble",
+
     label = "heavy SMG bullet",
    description = [[A soft metamorphic rock. This semi-transparent rock almost appears to glow with its own inner light.]],
 
    statBases = {
 
      Beauty = 2,
 
      MarketValue = 25,
 
    },
 
    building = {
 
      isNaturalRock = false,
 
      artificialForMeditationPurposes = false,
 
    },
 
 
   },
 
   },
  
   ["ThingDef:ChunkMarble"] = {
+
   ["ThingDef:Gun_LMG"] = {
 
     _ = {
 
     _ = {
       ParentName = "ChunkRockBase",
+
       ParentName = "BaseHumanMakeableGun",
       FileName = "Various_Stone.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "ChunkMarble",
+
     defName = "Gun_LMG",
     label = "marble chunk",
+
     label = "LMG",
 +
    description = [[A gas-operated light machine gun. While it is somewhat unwieldy and inaccurate, its long bursts of fire are effective against groups of enemies.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = "GasOperation",
 +
      skillRequirements = {
 +
        Crafting = 6,
 +
      },
 +
    },
 
     statBases = {
 
     statBases = {
       Mass = 25,
+
      WorkToMake = 34000,
 +
       Mass = 8.5,
 +
      AccuracyTouch = 0.40,
 +
      AccuracyShort = 0.48,
 +
      AccuracyMedium = 0.35,
 +
      AccuracyLong = 0.26,
 +
      RangedWeapon_Cooldown = 1.8,
 
     },
 
     },
  },
+
     costList = {
 
+
       Steel = 75,
  ["ThingDef:BlocksMarble"] = {
+
       ComponentIndustrial = 5,
     _ = {
 
       ParentName = "StoneBlocksBase",
 
      FileName = "Various_Stone.xml",
 
       DLC = "Core",
 
 
     },
 
     },
     defName = "BlocksMarble",
+
     verbs = {
    label = "marble blocks",
+
       {
    description = [[Blocks of solid marble. Marble is a soft, beautiful stone, known for being easy to sculpt.]],
+
         defaultProjectile = "Bullet_LMG",
    statBases = {
+
         warmupTime = 1.8,
       Mass = 1.25,
+
         range = 25.9,
    },
+
         ticksBetweenBurstShots = 7,
    stuffProps = {
+
         burstShotCount = 6,
      statFactors = {
 
         Beauty = 1.35,
 
         MaxHitPoints = 1.2,
 
         WorkToBuild = 5.5,
 
         WorkToMake = 1.15,
 
      },
 
      statOffsets = {
 
         Beauty = 1,
 
 
       },
 
       },
 
     },
 
     },
  },
+
     weaponTags = {
  ThingDef = {
+
       "IndustrialGunAdvanced",
     _ = {
 
       Abstract = true,
 
      Name = "BaseWeapon",
 
      FileName = "BaseWeapons.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     thingClass = "ThingWithComps",
+
     tools = {
    category = "Item",
+
      {
    altitudeLayer = "Item",
+
        label = "stock",
    useHitPoints = true,
+
        capacities = {
    pathCost = 14,
+
          "Blunt",
    statBases = {
+
        },
      MaxHitPoints = 100,
+
        power = 9,
      Flammability = 1.0,
+
        cooldownTime = 2,
      DeteriorationRate = 2,
+
       },
       Beauty = -3,
 
      SellPriceFactor = 0.20,
 
    },
 
    comps = {
 
      CompProperties_Forbiddable = {},
 
 
       {
 
       {
         compClass = "CompEquippable",
+
         label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Bullet_LMG"] = {
 
     _ = {
 
     _ = {
       Name = "BaseGun",
+
       ParentName = "BaseBullet",
       Abstract = true,
+
       DefCategory = "ThingDef",
      ParentName = "BaseWeapon",
+
       FileName = "RangedIndustrial.xml",
       FileName = "BaseWeapons.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     smeltable = true,
+
     defName = "Bullet_LMG",
    thingCategories = {
+
     label = "LMG bullet",
      "WeaponsRanged",
 
     },
 
    statBases = {
 
      Flammability = 0.5,
 
    },
 
    comps = {
 
      CompProperties_Art = {
 
        nameMaker = "NamerArtWeaponGun",
 
        descriptionMaker = "ArtDescription_WeaponGun",
 
        minQualityForArtistic = "Excellent",
 
      },
 
    },
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Gun_AssaultRifle"] = {
 
     _ = {
 
     _ = {
       Name = "BaseGunWithQuality",
+
       ParentName = "BaseHumanMakeableGun",
       Abstract = true,
+
       DefCategory = "ThingDef",
      ParentName = "BaseGun",
+
       FileName = "RangedIndustrial.xml",
       FileName = "BaseWeapons.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     comps = {
+
     defName = "Gun_AssaultRifle",
       {
+
    label = "assault rifle",
         compClass = "CompQuality",
+
    description = [[A general-purpose gas-operated assault rifle for field or urban combat. It has good range, decent power, and good accuracy.]],
 +
    recipeMaker = {
 +
       researchPrerequisite = "PrecisionRifling",
 +
      skillRequirements = {
 +
         Crafting = 6,
 
       },
 
       },
 
     },
 
     },
  },
+
    statBases = {
  ThingDef = {
+
      WorkToMake = 40000,
    _ = {
+
      Mass = 3.5,
       Name = "BaseMakeableGun",
+
      AccuracyTouch = 0.60,
       ParentName = "BaseGunWithQuality",
+
       AccuracyShort = 0.70,
       Abstract = true,
+
       AccuracyMedium = 0.65,
       FileName = "BaseWeapons.xml",
+
       AccuracyLong = 0.55,
       DLC = "Core",
+
       RangedWeapon_Cooldown = 1.70,
 +
    },
 +
    costList = {
 +
      Steel = 60,
 +
       ComponentIndustrial = 7,
 
     },
 
     },
     recipeMaker = {
+
     verbs = {
       workSpeedStat = "GeneralLaborSpeed",
+
       {
      workSkill = "Crafting",
+
        defaultProjectile = "Bullet_AssaultRifle",
      effectWorking = "Smith",
+
        warmupTime = 1.0,
      soundWorking = "Recipe_Smith",
+
        range = 30.9,
      recipeUsers = {
+
        burstShotCount = 3,
        "TableMachining",
+
        ticksBetweenBurstShots = 10,
 
       },
 
       },
      unfinishedThingDef = "UnfinishedGun",
 
      researchPrerequisite = "Gunsmithing",
 
    },
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "BaseHumanMakeableGun",
 
      ParentName = "BaseMakeableGun",
 
      Abstract = true,
 
      FileName = "BaseWeapons.xml",
 
      DLC = "Core",
 
 
     },
 
     },
 
     weaponTags = {
 
     weaponTags = {
       "Gun",
+
       "IndustrialGunAdvanced",
 
     },
 
     },
     comps = {
+
     tools = {
       CompProperties_BiocodableWeapon = {},
+
       {
 +
        label = "stock",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Bullet_AssaultRifle"] = {
 
     _ = {
 
     _ = {
       Name = "BaseBullet",
+
       ParentName = "BaseBullet",
       Abstract = true,
+
       DefCategory = "ThingDef",
       FileName = "BaseWeapons.xml",
+
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     category = "Projectile",
+
     defName = "Bullet_AssaultRifle",
    altitudeLayer = "Projectile",
+
     label = "assault rifle bullet",
    thingClass = "Bullet",
 
     label = "bullet",
 
    useHitPoints = false,
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Gun_SniperRifle"] = {
 
     _ = {
 
     _ = {
       Name = "BaseMeleeWeapon",
+
       ParentName = "BaseHumanMakeableGun",
       Abstract = true,
+
       DefCategory = "ThingDef",
      ParentName = "BaseWeapon",
+
       FileName = "RangedIndustrial.xml",
       FileName = "BaseWeapons.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     smeltable = true,
+
     defName = "Gun_SniperRifle",
     thingCategories = {
+
     label = "sniper rifle",
       "WeaponsMelee",
+
    description = [[An ancient design of precision sniper rifle. Bolt action. It has an exceptionally long range, great accuracy and good power. Because it's so unwieldy, other weapons outclass it at close range.]],
 +
    recipeMaker = {
 +
       researchPrerequisite = "PrecisionRifling",
 +
      skillRequirements = {
 +
        Crafting = 7,
 +
      },
 
     },
 
     },
     recipeMaker = {
+
     statBases = {
       workSpeedStat = "GeneralLaborSpeed",
+
       WorkToMake = 45000,
       workSkill = "Crafting",
+
      Mass = 4,
       effectWorking = "Smith",
+
      AccuracyTouch = 0.50,
       soundWorking = "Recipe_Smith",
+
      AccuracyShort = 0.70,
       recipeUsers = {
+
      AccuracyMedium = 0.86,
         "ElectricSmithy",
+
       AccuracyLong = 0.88,
         "FueledSmithy",
+
       RangedWeapon_Cooldown = 2.3,
 +
    },
 +
    costList = {
 +
       Steel = 60,
 +
       ComponentIndustrial = 8,
 +
    },
 +
    verbs = {
 +
      {
 +
         defaultProjectile = "Bullet_SniperRifle",
 +
         warmupTime = 3.5,
 +
        range = 44.9,
 
       },
 
       },
      unfinishedThingDef = "UnfinishedWeapon",
 
 
     },
 
     },
  },
+
     tools = {
  ThingDef = {
+
       {
     _ = {
+
        label = "stock",
       Name = "BaseMeleeWeapon_Sharp",
+
         capacities = {
      ParentName = "BaseMeleeWeapon",
+
           "Blunt",
      Abstract = true,
 
      FileName = "BaseWeapons.xml",
 
      DLC = "Core",
 
    },
 
    recipeMaker = {
 
      defaultIngredientFilter = {
 
         categories = {
 
           "Root",
 
 
         },
 
         },
         disallowedThingDefs = {
+
         power = 9,
          "Silver",
+
        cooldownTime = 2,
           "Gold",
+
      },
           "WoodLog",
+
      {
 +
        label = "barrel",
 +
        capacities = {
 +
           "Blunt",
 +
           "Poke",
 
         },
 
         },
 +
        power = 9,
 +
        cooldownTime = 2,
 
       },
 
       },
 +
    },
 +
    weaponTags = {
 +
      _ = {
 +
        Inherit = false,
 +
      },
 +
      "SniperRifle",
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Bullet_SniperRifle"] = {
 
     _ = {
 
     _ = {
       Name = "BaseMeleeWeapon_Blunt",
+
       ParentName = "BaseBullet",
       ParentName = "BaseMeleeWeapon",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "RangedIndustrial.xml",
       FileName = "BaseWeapons.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     recipeMaker = {
+
     defName = "Bullet_SniperRifle",
      defaultIngredientFilter = {
+
    label = "sniper rifle bullet",
        categories = {
 
          "Root",
 
        },
 
        disallowedThingDefs = {
 
          "Silver",
 
          "Gold",
 
        },
 
      },
 
    },
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Gun_Minigun"] = {
 
     _ = {
 
     _ = {
       Name = "BaseMeleeWeapon_Sharp_Quality",
+
       ParentName = "BaseHumanMakeableGun",
       Abstract = true,
+
       DefCategory = "ThingDef",
      ParentName = "BaseMeleeWeapon_Sharp",
+
       FileName = "RangedIndustrial.xml",
       FileName = "BaseWeapons.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     comps = {
+
     defName = "Gun_Minigun",
       {
+
    label = "minigun",
        compClass = "CompQuality",
+
    description = [[A multi-barrel machine gun. It's unwieldy, but once it starts firing it fires very fast. Where most self-loading guns are powered by the energy from the gunpowder, the minigun uses an electric motor to rapidly cycle cartridges through the weapon.]],
       },
+
    statBases = {
       CompProperties_Art = {
+
       WorkToMake = 60000,
        nameMaker = "NamerArtWeaponMelee",
+
       Mass = 10,
        descriptionMaker = "ArtDescription_WeaponMelee",
+
       AccuracyTouch = 0.15,
        minQualityForArtistic = "Excellent",
+
      AccuracyShort = 0.25,
       },
+
      AccuracyMedium = 0.25,
 +
      AccuracyLong = 0.18,
 +
       RangedWeapon_Cooldown = 2.3,
 
     },
 
     },
  },
+
     costList = {
  ThingDef = {
+
       Steel = 160,
    _ = {
+
       ComponentIndustrial = 20,
      Name = "BaseMeleeWeapon_Blunt_Quality",
 
      Abstract = true,
 
      ParentName = "BaseMeleeWeapon_Sharp",
 
      FileName = "BaseWeapons.xml",
 
      DLC = "Core",
 
    },
 
    comps = {
 
      {
 
        compClass = "CompQuality",
 
      },
 
      CompProperties_Art = {
 
        nameMaker = "NamerArtWeaponMelee",
 
        descriptionMaker = "ArtDescription_WeaponMelee",
 
        minQualityForArtistic = "Excellent",
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_Mace"] = {
 
    _ = {
 
      ParentName = "BaseMeleeWeapon_Blunt_Quality",
 
      FileName = "MeleeMedieval.xml",
 
      DLC = "Core",
 
    },
 
    defName = "MeleeWeapon_Mace",
 
    label = "mace",
 
    description = [[A refined club, engineered for efficient swinging and deadly impacts.]],
 
     statBases = {
 
       WorkToMake = 6000,
 
       Mass = 1.25,
 
 
     },
 
     },
 
     recipeMaker = {
 
     recipeMaker = {
 +
      researchPrerequisite = "MultibarrelWeapons",
 
       skillRequirements = {
 
       skillRequirements = {
         Crafting = 3,
+
         Crafting = 7,
 
       },
 
       },
 
     },
 
     },
 
     weaponTags = {
 
     weaponTags = {
       "MedievalMeleeDecent",
+
       "GunHeavy",
 
     },
 
     },
     tools = {
+
     verbs = {
 
       {
 
       {
         label = "handle",
+
         defaultProjectile = "Bullet_Minigun",
         capacities = {
+
         warmupTime = 2.5,
          "Poke",
+
         range = 30.9,
         },
+
         burstShotCount = 25,
         power = 9,
+
         ticksBetweenBurstShots = 5,
         cooldownTime = 2,
 
 
       },
 
       },
 +
    },
 +
    tools = {
 
       {
 
       {
         label = "head",
+
         label = "barrels",
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 15.7,
+
         power = 11.7,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MeleeWeapon_Gladius"] = {
+
   ["ThingDef:Bullet_Minigun"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMeleeWeapon_Sharp_Quality",
+
       ParentName = "BaseBullet",
       FileName = "MeleeMedieval.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MeleeWeapon_Gladius",
+
     defName = "Bullet_Minigun",
     label = "gladius",
+
     label = "minigun bullet",
     description = [[A short sword of ancient design. Good for stabbing or slashing. It's light and nimble, which sometimes lets it beat bigger, heavier weapons.]],
+
  },
    weaponTags = {
+
 
      "MedievalMeleeDecent",
+
  ["ThingDef:Gun_TripleRocket"] = {
 +
     _ = {
 +
      ParentName = "BaseGun",
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedIndustrialConsumable.xml",
 +
      DLC = "Core",
 
     },
 
     },
 +
    defName = "Gun_TripleRocket",
 +
    label = "triple rocket launcher",
 +
    description = [[A single-use rocket launcher that fires three large-bore explosive rockets. Good against small groups of tough targets.\n\nBecause of its unwieldiness, single-use limitation, and the massive destruction it causes, it's said that one must be slightly crazy to use this weapon.]],
 
     statBases = {
 
     statBases = {
       WorkToMake = 12000,
+
       MarketValue = 1000,
       Mass = 0.85,
+
       Mass = 7,
 +
      RangedWeapon_Cooldown = 4.5,
 
     },
 
     },
     tools = {
+
     weaponTags = {
 +
      "Gun",
 +
      "GunSingleUse",
 +
    },
 +
    tradeTags = {
 +
      "ExoticMisc",
 +
    },
 +
    verbs = {
 
       {
 
       {
         label = "handle",
+
         defaultProjectile = "Bullet_Rocket",
         capacities = {
+
         forcedMissRadius = 2.9,
           "Blunt",
+
        warmupTime = 4.5,
 +
        range = 35.9,
 +
        ticksBetweenBurstShots = 20,
 +
        burstShotCount = 3,
 +
        onlyManualCast = true,
 +
        stopBurstWithoutLos = false,
 +
        targetParams = {
 +
           canTargetLocations = true,
 
         },
 
         },
        power = 9,
 
        cooldownTime = 2,
 
 
       },
 
       },
 +
    },
 +
    tools = {
 
       {
 
       {
         label = "point",
+
         label = "barrel",
 
         capacities = {
 
         capacities = {
           "Stab",
+
           "Blunt",
 
         },
 
         },
         power = 16,
+
         power = 11.7,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
       },
 
       },
       {
+
    },
         label = "edge",
+
    comps = {
         capacities = {
+
       CompProperties_Explosive = {
          "Cut",
+
         explosiveRadius = 3.9,
         },
+
         explosiveDamageType = "Bomb",
        power = 16,
+
         requiredDamageTypeToExplode = "Flame",
        cooldownTime = 2,
 
 
       },
 
       },
 +
      CompProperties_BiocodableWeapon = {},
 
     },
 
     },
     recipeMaker = {
+
  },
       researchPrerequisite = "Smithing",
+
 
       skillRequirements = {
+
  ["ThingDef:Bullet_Rocket"] = {
        Crafting = 3,
+
     _ = {
       },
+
       ParentName = "BaseBullet",
 +
       DefCategory = "ThingDef",
 +
      FileName = "RangedIndustrialConsumable.xml",
 +
       DLC = "Core",
 
     },
 
     },
 +
    defName = "Bullet_Rocket",
 +
    label = "rocket",
 +
    thingClass = "Projectile_Explosive",
 
   },
 
   },
  
   ["ThingDef:MeleeWeapon_LongSword"] = {
+
   ["ThingDef:Gun_DoomsdayRocket"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMeleeWeapon_Sharp_Quality",
+
       ParentName = "BaseGun",
       FileName = "MeleeMedieval.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrialConsumable.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MeleeWeapon_LongSword",
+
     defName = "Gun_DoomsdayRocket",
     label = "longsword",
+
     label = "doomsday rocket launcher",
     description = [[The ancient weapon of kings, the longsword can be used for slashing or stabbing.]],
+
     description = [[A single-use rocket launcher that fires a massive explosive projectile. Good against large groups of soft targets. Starts fires.\n\nBecause of its unwieldiness, single-use limitation, and the massive destruction it causes, it's said that one must be slightly crazy to use this weapon.]],
 +
    statBases = {
 +
      MarketValue = 1000,
 +
      Mass = 8,
 +
      RangedWeapon_Cooldown = 4.5,
 +
    },
 
     weaponTags = {
 
     weaponTags = {
       "MedievalMeleeAdvanced",
+
       "Gun",
 +
      "GunSingleUse",
 
     },
 
     },
     statBases = {
+
     tradeTags = {
       WorkToMake = 18000,
+
       "ExoticMisc",
      Mass = 2,
 
 
     },
 
     },
     tools = {
+
     verbs = {
 
       {
 
       {
         label = "handle",
+
         defaultProjectile = "Bullet_DoomsdayRocket",
         capacities = {
+
         forcedMissRadius = 1.9,
           "Blunt",
+
        warmupTime = 4.5,
 +
        range = 35.9,
 +
        burstShotCount = 1,
 +
        onlyManualCast = true,
 +
        targetParams = {
 +
           canTargetLocations = true,
 
         },
 
         },
        power = 9,
 
        cooldownTime = 2,
 
 
       },
 
       },
 +
    },
 +
    tools = {
 
       {
 
       {
         label = "point",
+
         label = "barrel",
 
         capacities = {
 
         capacities = {
           "Stab",
+
           "Blunt",
 
         },
 
         },
         power = 23,
+
         power = 11.7,
        cooldownTime = 2.6,
 
      },
 
      {
 
        label = "edge",
 
        capacities = {
 
          "Cut",
 
        },
 
        power = 23,
 
 
         cooldownTime = 2.6,
 
         cooldownTime = 2.6,
 
       },
 
       },
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       researchPrerequisite = "LongBlades",
+
       CompProperties_Explosive = {
      skillRequirements = {
+
        explosiveRadius = 7.8,
         Crafting = 5,
+
        explosiveDamageType = "Bomb",
 +
         requiredDamageTypeToExplode = "Flame",
 
       },
 
       },
 +
      CompProperties_BiocodableWeapon = {},
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MeleeWeapon_Club"] = {
+
   ["ThingDef:Bullet_DoomsdayRocket"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMeleeWeapon_Blunt",
+
       ParentName = "BaseBullet",
       FileName = "MeleeNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrialConsumable.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MeleeWeapon_Club",
+
     defName = "Bullet_DoomsdayRocket",
     label = "club",
+
     label = "doomsday rocket",
     description = [[A shaped stick, heavy at one end, for bashing enemies to death. This weapon is so old it's part of human biology. Evolutionary biologists say that a major reason humans can tilt our wrists side-to-side (instead of just forward-and-back like other primates) is to be able to better swing a club.]],
+
     thingClass = "Projectile_DoomsdayRocket",
     weaponTags = {
+
  },
       "NeolithicMeleeBasic",
+
 
 +
  ["ThingDef:BaseGrenadeProjectile"] = {
 +
     _ = {
 +
       Name = "BaseGrenadeProjectile",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedIndustrialGrenades.xml",
 +
      DLC = "Core",
 
     },
 
     },
     statBases = {
+
     category = "Projectile",
       WorkToMake = 1200,
+
    altitudeLayer = "Projectile",
       Mass = 2,
+
    thingClass = "Projectile_Explosive",
 +
    label = "projectile",
 +
    useHitPoints = false,
 +
  },
 +
 
 +
  ["ThingDef:BaseMakeableGrenade"] = {
 +
    _ = {
 +
      Name = "BaseMakeableGrenade",
 +
      ParentName = "BaseWeapon",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrialGrenades.xml",
 +
       DLC = "Core",
 
     },
 
     },
 
     recipeMaker = {
 
     recipeMaker = {
 +
      workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
      effectWorking = "Smith",
 +
      soundWorking = "Recipe_Smith",
 
       recipeUsers = {
 
       recipeUsers = {
         "CraftingSpot",
+
         "TableMachining",
      },
 
    },
 
    tools = {
 
      {
 
        label = "handle",
 
        capacities = {
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 14,
 
        cooldownTime = 2,
 
 
       },
 
       },
 +
      unfinishedThingDef = "UnfinishedGun",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MeleeWeapon_Knife"] = {
+
   ["ThingDef:Weapon_GrenadeFrag"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMeleeWeapon_Sharp_Quality",
+
       ParentName = "BaseMakeableGrenade",
       FileName = "MeleeNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrialGrenades.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MeleeWeapon_Knife",
+
     defName = "Weapon_GrenadeFrag",
     label = "knife",
+
     label = "frag grenades",
     description = [[One of mankind's oldest manufactured objects. The knife has taken many forms, but the concept has always remained the same: A handle for holding and a sharp edge for cutting.]],
+
     description = [[Old-school fragmentation grenades. They can be thrown a short distance, where they'll explode, damaging anything and anyone nearby.]],
 +
    statBases = {
 +
      Mass = 1,
 +
      RangedWeapon_Cooldown = 2.66,
 +
      WorkToMake = 12000,
 +
    },
 +
    costList = {
 +
      Steel = 20,
 +
      Chemfuel = 80,
 +
    },
 
     weaponTags = {
 
     weaponTags = {
       "MedievalMeleeBasic",
+
       "GrenadeDestructive",
      "NeolithicMeleeBasic",
 
 
     },
 
     },
     statBases = {
+
     thingCategories = {
       WorkToMake = 1800,
+
       "Grenades",
      Mass = 0.5,
 
 
     },
 
     },
     tools = {
+
     verbs = {
 
       {
 
       {
         label = "handle",
+
         label = "throw frag grenade",
         capacities = {
+
         range = 12.9,
           "Blunt",
+
        forcedMissRadius = 1.9,
 +
        warmupTime = 1.5,
 +
        noiseRadius = 4,
 +
        targetParams = {
 +
           canTargetLocations = true,
 
         },
 
         },
         power = 9,
+
         defaultProjectile = "Proj_GrenadeFrag",
        cooldownTime = 2,
 
      },
 
      {
 
        label = "blade",
 
        capacities = {
 
          "Cut",
 
        },
 
        power = 12,
 
        cooldownTime = 1.5,
 
      },
 
      {
 
        label = "point",
 
        capacities = {
 
          "Stab",
 
        },
 
        power = 13,
 
        cooldownTime = 2,
 
 
       },
 
       },
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       recipeUsers = {
+
       CompProperties_Explosive = {
         "CraftingSpot",
+
         explosiveRadius = 2.66,
 +
        explosiveDamageType = "Bomb",
 +
        requiredDamageTypeToExplode = "Flame",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MeleeWeapon_Ikwa"] = {
+
   ["ThingDef:BaseFragGrenadeProjectile"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMeleeWeapon_Sharp_Quality",
+
      Name = "BaseFragGrenadeProjectile",
       FileName = "MeleeNeolithic.xml",
+
       ParentName = "BaseGrenadeProjectile",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrialGrenades.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "MeleeWeapon_Ikwa",
+
     thingClass = "Projectile_Explosive",
     label = "ikwa",
+
  },
    description = [[A short spearhandle attached to a long bladed point, designed to be driven into vital organs with a quick thrust.]],
+
 
    weaponTags = {
+
  ["ThingDef:Proj_GrenadeFrag"] = {
      "NeolithicMeleeDecent",
+
     _ = {
 +
      ParentName = "BaseFragGrenadeProjectile",
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedIndustrialGrenades.xml",
 +
      DLC = "Core",
 
     },
 
     },
     statBases = {
+
     defName = "Proj_GrenadeFrag",
       WorkToMake = 5000,
+
    label = "frag grenade",
       Mass = 1.1,
+
  },
 +
 
 +
  ["ThingDef:Weapon_GrenadeMolotov"] = {
 +
    _ = {
 +
       ParentName = "BaseMakeableGrenade",
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrialGrenades.xml",
 +
      DLC = "Core",
 
     },
 
     },
     tools = {
+
     defName = "Weapon_GrenadeMolotov",
      {
+
    label = "molotov cocktails",
        label = "handle",
+
    description = [[Glass bottles filled with flammable liquid, with a burning cloth in the neck. A favorite weapon of hooligans and desperate warriors from rim to rim.]],
        capacities = {
+
    statBases = {
          "Blunt",
+
      Mass = 1,
          "Poke",
+
      RangedWeapon_Cooldown = 2.66,
        },
+
       WorkToMake = 6000,
        power = 9,
 
        cooldownTime = 2,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Stab",
 
        },
 
        power = 15,
 
        cooldownTime = 2,
 
       },
 
      {
 
        label = "edge",
 
        capacities = {
 
          "Cut",
 
        },
 
        power = 15,
 
        cooldownTime = 2,
 
      },
 
 
     },
 
     },
     recipeMaker = {
+
     costList = {
       researchPrerequisite = "Smithing",
+
       Cloth = 25,
       skillRequirements = {
+
       Chemfuel = 80,
        Crafting = 3,
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_Spear"] = {
 
    _ = {
 
      ParentName = "BaseMeleeWeapon_Sharp_Quality",
 
      FileName = "MeleeNeolithic.xml",
 
      DLC = "Core",
 
 
     },
 
     },
    defName = "MeleeWeapon_Spear",
 
    label = "spear",
 
    description = [[A polearm tipped with a sharp point for stabbing opponents.]],
 
 
     weaponTags = {
 
     weaponTags = {
       "NeolithicMeleeAdvanced",
+
       "GrenadeDestructive",
      "MedievalMeleeAdvanced",
 
 
     },
 
     },
     statBases = {
+
     thingCategories = {
       WorkToMake = 12000,
+
       "Grenades",
      Mass = 2,
 
 
     },
 
     },
     tools = {
+
     verbs = {
 
       {
 
       {
         label = "shaft",
+
         label = "throw molotov",
         capacities = {
+
         range = 12.9,
          "Blunt",
+
        forcedMissRadius = 1.9,
           "Poke",
+
        warmupTime = 1.5,
 +
        noiseRadius = 4,
 +
        targetParams = {
 +
           canTargetLocations = true,
 
         },
 
         },
         power = 13,
+
         defaultProjectile = "Proj_GrenadeMolotov",
        cooldownTime = 2.6,
 
      },
 
      {
 
        label = "point",
 
        capacities = {
 
          "Stab",
 
        },
 
        power = 23,
 
        cooldownTime = 2.6,
 
 
       },
 
       },
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       researchPrerequisite = "LongBlades",
+
       CompProperties_Explosive = {
      skillRequirements = {
+
        explosiveRadius = 2.66,
         Crafting = 4,
+
        explosiveDamageType = "Flame",
 +
         requiredDamageTypeToExplode = "Flame",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_Revolver"] = {
+
   ["ThingDef:Proj_GrenadeMolotov"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "BaseIncendiaryProjectile",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrialGrenades.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Revolver",
+
     defName = "Proj_GrenadeMolotov",
     label = "revolver bullet",
+
     label = "molotov cocktail",
 
   },
 
   },
  
   ["ThingDef:Gun_Revolver"] = {
+
   ["ThingDef:Weapon_GrenadeEMP"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "BaseMakeableGrenade",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrialGrenades.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_Revolver",
+
     defName = "Weapon_GrenadeEMP",
     label = "revolver",
+
     label = "EMP grenades",
     description = [[An ancient pattern double-action revolver. It's not very powerful, but has a decent range for a pistol and is quick on the draw.]],
+
     description = [[Electromagnetic pulse grenades damaging to electronic equipment.]],
 
     statBases = {
 
     statBases = {
      WorkToMake = 4000,
+
       Mass = 1,
       Mass = 1.4,
+
       RangedWeapon_Cooldown = 2.66,
       AccuracyTouch = 0.80,
+
       WorkToMake = 24000,
       AccuracyShort = 0.75,
 
      AccuracyMedium = 0.45,
 
      AccuracyLong = 0.35,
 
      RangedWeapon_Cooldown = 1.6,
 
    },
 
    weaponTags = {
 
      "SimpleGun",
 
      "Revolver",
 
 
     },
 
     },
 
     costList = {
 
     costList = {
       Steel = 30,
+
       Steel = 20,
       ComponentIndustrial = 2,
+
       ComponentIndustrial = 6,
 
     },
 
     },
 
     recipeMaker = {
 
     recipeMaker = {
       skillRequirements = {
+
       researchPrerequisite = "MicroelectronicsBasics",
        Crafting = 3,
+
    },
       },
+
    weaponTags = {
 +
      "GrenadeEMP",
 +
    },
 +
    thingCategories = {
 +
       "Grenades",
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_Revolver",
+
         label = "throw EMP grenade",
         warmupTime = 0.3,
+
         range = 12.9,
         range = 25.9,
+
         forcedMissRadius = 1.9,
 +
        warmupTime = 1.5,
 +
        noiseRadius = 4,
 +
        targetParams = {
 +
          canTargetLocations = true,
 +
        },
 +
        defaultProjectile = "Proj_GrenadeEMP",
 
       },
 
       },
 
     },
 
     },
     tools = {
+
     comps = {
       {
+
       CompProperties_Explosive = {
        label = "grip",
+
         explosiveRadius = 2.66,
        capacities = {
+
         explosiveDamageType = "EMP",
          "Blunt",
+
         requiredDamageTypeToExplode = "Flame",
        },
 
         power = 9,
 
        cooldownTime = 2,
 
      },
 
      {
 
         label = "barrel",
 
         capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
 
       },
 
       },
 +
    },
 +
    smeltProducts = {
 +
      Steel = 10,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Gun_Autopistol"] = {
+
   ["ThingDef:Proj_GrenadeEMP"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "BaseGrenadeProjectile",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedIndustrialGrenades.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_Autopistol",
+
     defName = "Proj_GrenadeEMP",
     label = "autopistol",
+
     label = "EMP grenade",
     description = [[An ancient pattern blowback-operated self-loading pistol. It lacks stopping power and range, but is quick to fire.]],
+
     thingClass = "Projectile_Explosive",
     recipeMaker = {
+
  },
       researchPrerequisite = "BlowbackOperation",
+
 
       skillRequirements = {
+
  ["ThingDef:Bullet_ChargeBlasterHeavy"] = {
        Crafting = 4,
+
     _ = {
       },
+
       ParentName = "BaseBullet",
 +
       DefCategory = "ThingDef",
 +
      FileName = "RangedMechanoid.xml",
 +
       DLC = "Core",
 
     },
 
     },
     weaponTags = {
+
     defName = "Bullet_ChargeBlasterHeavy",
       "SimpleGun",
+
    label = "charge blaster shot",
 +
  },
 +
 
 +
  ["ThingDef:Gun_ChargeBlasterHeavyBase"] = {
 +
    _ = {
 +
       Abstract = true,
 +
      ParentName = "BaseGunWithQuality",
 +
      Name = "Gun_ChargeBlasterHeavyBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedMechanoid.xml",
 +
      DLC = "Core",
 
     },
 
     },
 +
    label = "heavy charge blaster",
 +
    description = [[A pulse-charged rapid-fire blaster for area suppressive fire. Heavy cooling allows long, deadly bursts.]],
 
     statBases = {
 
     statBases = {
       WorkToMake = 5000,
+
       MarketValue = 1400,
       Mass = 1.2,
+
       Mass = 22,
       AccuracyTouch = 0.80,
+
       AccuracyTouch = 0.18,
       AccuracyShort = 0.70,
+
       AccuracyShort = 0.26,
       AccuracyMedium = 0.40,
+
       AccuracyMedium = 0.26,
       AccuracyLong = 0.30,
+
       AccuracyLong = 0.18,
       RangedWeapon_Cooldown = 1,
+
       RangedWeapon_Cooldown = 7.4,
    },
 
    costList = {
 
      Steel = 30,
 
      ComponentIndustrial = 2,
 
    },
 
    verbs = {
 
      {
 
        defaultProjectile = "Bullet_Autopistol",
 
        warmupTime = 0.3,
 
        range = 25.9,
 
      },
 
 
     },
 
     },
 +
    tradeability = "None",
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "grip",
+
         label = "barrel",
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 9,
+
         power = 11.7,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
       },
 
       },
 +
    },
 +
  },
 +
 +
  ["ThingDef:Gun_ChargeBlasterHeavy"] = {
 +
    _ = {
 +
      ParentName = "Gun_ChargeBlasterHeavyBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedMechanoid.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Gun_ChargeBlasterHeavy",
 +
    verbs = {
 
       {
 
       {
         label = "barrel",
+
         defaultProjectile = "Bullet_ChargeBlasterHeavy",
         capacities = {
+
         warmupTime = 1.25,
          "Blunt",
+
         range = 26.9,
          "Poke",
+
         ticksBetweenBurstShots = 5,
         },
+
         burstShotCount = 24,
         power = 9,
 
         cooldownTime = 2,
 
 
       },
 
       },
 +
    },
 +
    weaponTags = {
 +
      "MechanoidGunHeavy",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_Autopistol"] = {
+
   ["ThingDef:Bullet_InfernoCannon"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BaseBullet",
 
       ParentName = "BaseBullet",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedMechanoid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Autopistol",
+
     defName = "Bullet_InfernoCannon",
     label = "autopistol bullet",
+
     label = "inferno cannon shell",
 +
    thingClass = "Projectile_Explosive",
 
   },
 
   },
  
   ["ThingDef:Gun_MachinePistol"] = {
+
   ["ThingDef:Gun_InfernoCannonBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
      Abstract = true,
       FileName = "RangedIndustrial.xml",
+
       ParentName = "BaseGunWithQuality",
 +
      Name = "Gun_InfernoCannonBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedMechanoid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Gun_MachinePistol",
+
     label = "inferno cannon",
     label = "machine pistol",
+
     description = [[An incendiary-shot mini-artillery device. It fires a large incendiary warhead.]],
     description = [[A micro-submachine gun. It is short-ranged, but very light in the hands. Its rate of fire tends to make up for its weakness.]],
+
    statBases = {
     recipeMaker = {
+
      MarketValue = 1400,
       researchPrerequisite = "BlowbackOperation",
+
      Mass = 18,
       skillRequirements = {
+
      RangedWeapon_Cooldown = 8.4,
         Crafting = 4,
+
    },
 +
    tradeability = "None",
 +
    tools = {
 +
      {
 +
        label = "barrel",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 11.7,
 +
        cooldownTime = 2.6,
 +
      },
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:Gun_InfernoCannon"] = {
 +
     _ = {
 +
       ParentName = "Gun_InfernoCannonBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedMechanoid.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Gun_InfernoCannon",
 +
    weaponTags = {
 +
      "MechanoidGunHeavy",
 +
    },
 +
    verbs = {
 +
      {
 +
        defaultProjectile = "Bullet_InfernoCannon",
 +
        forcedMissRadius = 3.5,
 +
         warmupTime = 1.25,
 +
        range = 26.9,
 +
        burstShotCount = 1,
 
       },
 
       },
 
     },
 
     },
 +
  },
 +
 +
  ["ThingDef:Gun_Needle"] = {
 +
    _ = {
 +
      ParentName = "BaseGunWithQuality",
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedMechanoid.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Gun_Needle",
 +
    label = "needle gun",
 +
    description = [[A long-range weapon used by mechanoids. Named after its needle-like projectiles, it fires single shots with great accuracy. While it does less damage than charge weapons, it can reach over very long distances.]],
 +
    tradeability = "None",
 
     statBases = {
 
     statBases = {
       WorkToMake = 11000,
+
       MarketValue = 1400,
       Mass = 2.5,
+
       Mass = 2.6,
       AccuracyTouch = 0.90,
+
       AccuracyTouch = 0.60,
       AccuracyShort = 0.65,
+
       AccuracyShort = 0.80,
       AccuracyMedium = 0.35,
+
       AccuracyMedium = 0.90,
       AccuracyLong = 0.15,
+
       AccuracyLong = 0.85,
       RangedWeapon_Cooldown = 0.9,
+
       RangedWeapon_Cooldown = 2.1,
 
     },
 
     },
     costList = {
+
     weaponTags = {
       Steel = 45,
+
       "MechanoidGunLongRange",
      ComponentIndustrial = 3,
 
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_MachinePistol",
+
         defaultProjectile = "Bullet_NeedleGun",
         warmupTime = 0.5,
+
         warmupTime = 2.5,
         range = 19.9,
+
         range = 44.9,
        burstShotCount = 3,
 
        ticksBetweenBurstShots = 7,
 
 
       },
 
       },
 
     },
 
     },
 
     tools = {
 
     tools = {
      {
 
        label = "grip",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
 
       {
 
       {
 
         label = "barrel",
 
         label = "barrel",
Line 14,824: Line 16,412:
 
         },
 
         },
 
         power = 9,
 
         power = 9,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_MachinePistol"] = {
+
   ["ThingDef:Bullet_NeedleGun"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BaseBullet",
 
       ParentName = "BaseBullet",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedMechanoid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_MachinePistol",
+
     defName = "Bullet_NeedleGun",
     label = "machine pistol bullet",
+
     label = "needle shot",
 
   },
 
   },
  
   ["ThingDef:Gun_IncendiaryLauncher"] = {
+
   ["ThingDef:BaseWeaponNeolithic"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
      Name = "BaseWeaponNeolithic",
       FileName = "RangedIndustrial.xml",
+
      Abstract = true,
 +
      ParentName = "BaseWeapon",
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedNeolithic.xml",
 +
      DLC = "Core",
 +
    },
 +
    weaponTags = {
 +
      "Neolithic",
 +
    },
 +
    thingCategories = {
 +
      "WeaponsRanged",
 +
    },
 +
    comps = {
 +
      {
 +
        compClass = "CompQuality",
 +
      },
 +
    },
 +
    recipeMaker = {
 +
      workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
      recipeUsers = {
 +
        "ElectricSmithy",
 +
        "FueledSmithy",
 +
      },
 +
      effectWorking = "Smelt",
 +
      soundWorking = "Recipe_MakeBow",
 +
      unfinishedThingDef = "UnfinishedWeapon",
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:BaseProjectileNeolithic"] = {
 +
    _ = {
 +
      Name = "BaseProjectileNeolithic",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedNeolithic.xml",
 +
      DLC = "Core",
 +
    },
 +
    category = "Projectile",
 +
    altitudeLayer = "Projectile",
 +
    thingClass = "Bullet",
 +
    label = "arrow",
 +
    useHitPoints = false,
 +
  },
 +
 
 +
  ["ThingDef:Bow_Short"] = {
 +
    _ = {
 +
       ParentName = "BaseWeaponNeolithic",
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_IncendiaryLauncher",
+
     defName = "Bow_Short",
     label = "incendiary launcher",
+
     label = "short bow",
     description = [[A wide-barreled incendiary bolt launcher. The bolts create small incendiary explosions on impact, starting fires.]],
+
     description = [[A simple short selfbow made from a single piece of wood.]],
 +
    costList = {
 +
      WoodLog = 30,
 +
    },
 
     statBases = {
 
     statBases = {
       WorkToMake = 20000,
+
       WorkToMake = 2400,
       Mass = 3.4,
+
       Mass = 0.8,
       RangedWeapon_Cooldown = 3.5,
+
      AccuracyTouch = 0.75,
 +
      AccuracyShort = 0.65,
 +
      AccuracyMedium = 0.45,
 +
      AccuracyLong = 0.25,
 +
       RangedWeapon_Cooldown = 1.65,
 
     },
 
     },
     costList = {
+
     weaponTags = {
       Steel = 75,
+
       "NeolithicRangedBasic",
      ComponentIndustrial = 4,
 
 
     },
 
     },
 
     recipeMaker = {
 
     recipeMaker = {
 +
      recipeUsers = {
 +
        "CraftingSpot",
 +
      },
 
       skillRequirements = {
 
       skillRequirements = {
         Crafting = 4,
+
         Crafting = 2,
 
       },
 
       },
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_IncendiaryLauncher",
+
         defaultProjectile = "Arrow_Short",
         warmupTime = 3.5,
+
         warmupTime = 1.35,
         range = 23.9,
+
         range = 22.9,
        forcedMissRadius = 1.9,
 
        burstShotCount = 1,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
 
       },
 
       },
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "stock",
+
         label = "limb",
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
 +
          "Poke",
 
         },
 
         },
 
         power = 9,
 
         power = 9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
       },
 
       },
      {
+
     },
        label = "barrel",
+
   },
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
     },
 
   },
 
  
   ["ThingDef:Bullet_IncendiaryLauncher"] = {
+
   ["ThingDef:Arrow_Short"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "BaseProjectileNeolithic",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_IncendiaryLauncher",
+
     defName = "Arrow_Short",
     label = "incendiary bolt",
+
     label = "shortbow arrow",
    thingClass = "Projectile_Explosive",
 
 
   },
 
   },
  
   ["ThingDef:Gun_SmokeLauncher"] = {
+
   ["ThingDef:Pila"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "BaseWeaponNeolithic",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_SmokeLauncher",
+
     defName = "Pila",
     label = "smoke launcher",
+
     label = "pila",
     description = [[A wide-barreled smoke shell launcher. The shell will upon impact release a cloud of smoke, obscuring incoming shots and preventing turrets from locking on.]],
+
     description = [[Pila are spears for throwing. They take a long time to throw, but one hit can do heavy damage. This weapon represents a bundle of pila and can be thrown over and over. The singular of pila is pilum.]],
 +
    costList = {
 +
      WoodLog = 70,
 +
    },
 
     statBases = {
 
     statBases = {
       WorkToMake = 30000,
+
       WorkToMake = 7000,
       Mass = 3.4,
+
       Mass = 4,
       RangedWeapon_Cooldown = 4.5,
+
       AccuracyTouch = 0.50,
    },
+
      AccuracyShort = 0.71,
    costList = {
+
      AccuracyMedium = 0.50,
       Steel = 75,
+
       AccuracyLong = 0.32,
       ComponentIndustrial = 4,
+
       RangedWeapon_Cooldown = 4,
 
     },
 
     },
 
     weaponTags = {
 
     weaponTags = {
      _ = {
+
       "NeolithicRangedHeavy",
        Inherit = false,
 
      },
 
       "GrenadeSmoke",
 
 
     },
 
     },
 
     recipeMaker = {
 
     recipeMaker = {
 
       skillRequirements = {
 
       skillRequirements = {
         Crafting = 4,
+
         Crafting = 3,
 
       },
 
       },
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_SmokeLauncher",
+
         defaultProjectile = "Pilum_Thrown",
         warmupTime = 3.5,
+
         warmupTime = 4,
         range = 23.9,
+
         range = 18.9,
        forcedMissRadius = 1.9,
 
        burstShotCount = 1,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
 
       },
 
       },
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "stock",
+
         label = "shaft",
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
Line 14,957: Line 16,587:
 
       },
 
       },
 
       {
 
       {
         label = "barrel",
+
         label = "point",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Stab",
          "Poke",
 
 
         },
 
         },
 
         power = 9,
 
         power = 9,
Line 14,968: Line 16,597:
 
   },
 
   },
  
   ["ThingDef:Bullet_SmokeLauncher"] = {
+
   ["ThingDef:Pilum_Thrown"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "BaseProjectileNeolithic",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_SmokeLauncher",
+
     defName = "Pilum_Thrown",
     label = "smoke launcher shell",
+
     label = "pilum",
    thingClass = "Projectile_Explosive",
 
 
   },
 
   },
  
   ["ThingDef:Gun_EmpLauncher"] = {
+
   ["ThingDef:Bow_Recurve"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "BaseWeaponNeolithic",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_EmpLauncher",
+
     defName = "Bow_Recurve",
     label = "EMP launcher",
+
     label = "recurve bow",
     description = [[A wide-barreled EMP shell launcher. The shell will upon impact release a burst of electromagnetic energy, stunning mechanical targets (mechanoids, turrets, mortars) and depleting shields in the area of effect.]],
+
     description = [[A recurve bow. Its construction behaves like a tuned spring, storing energy more efficiently and delivering a faster shot.]],
     weaponTags = {
+
     costList = {
       "GrenadeEMP",
+
       WoodLog = 40,
 
     },
 
     },
 
     statBases = {
 
     statBases = {
       WorkToMake = 30000,
+
       WorkToMake = 5000,
       Mass = 3.4,
+
       Mass = 1.3,
       RangedWeapon_Cooldown = 3.5,
+
      AccuracyTouch = 0.70,
 +
      AccuracyShort = 0.78,
 +
      AccuracyMedium = 0.65,
 +
      AccuracyLong = 0.35,
 +
       RangedWeapon_Cooldown = 1.65,
 
     },
 
     },
     costList = {
+
     weaponTags = {
       Steel = 75,
+
       "NeolithicRangedDecent",
      ComponentIndustrial = 8,
 
 
     },
 
     },
 
     recipeMaker = {
 
     recipeMaker = {
 +
      recipeUsers = {
 +
        "CraftingSpot",
 +
      },
 +
      researchPrerequisite = "RecurveBow",
 
       skillRequirements = {
 
       skillRequirements = {
         Crafting = 4,
+
         Crafting = 5,
 
       },
 
       },
      researchPrerequisite = "MicroelectronicsBasics",
 
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_EMPLauncher",
+
         defaultProjectile = "Arrow_Recurve",
         warmupTime = 3.5,
+
         warmupTime = 1.45,
         range = 23.9,
+
         range = 25.9,
        forcedMissRadius = 1.9,
 
        burstShotCount = 1,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
 
       },
 
       },
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "stock",
+
         label = "limb",
        capacities = {
 
          "Blunt",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
      {
 
        label = "barrel",
 
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
Line 15,039: Line 16,662:
 
   },
 
   },
  
   ["ThingDef:Bullet_EMPLauncher"] = {
+
   ["ThingDef:Arrow_Recurve"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "BaseProjectileNeolithic",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_EMPLauncher",
+
     defName = "Arrow_Recurve",
     label = "EMP launcher shell",
+
     label = "recurve bow arrow",
    thingClass = "Projectile_Explosive",
 
 
   },
 
   },
  
   ["ThingDef:Gun_BoltActionRifle"] = {
+
   ["ThingDef:Bow_Great"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "BaseWeaponNeolithic",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_BoltActionRifle",
+
     defName = "Bow_Great",
     label = "bolt-action rifle",
+
     label = "greatbow",
     description = [[An ancient pattern bolt-action rifle. With its long range, and low fire rate, it is unlikely to drive animals to revenge, which makes it a favorite weapon for hunting.]],
+
     description = [[A powerful greatbow. Fires a heavy arrow long distances.]],
 +
    costList = {
 +
      WoodLog = 60,
 +
    },
 
     statBases = {
 
     statBases = {
       WorkToMake = 12000,
+
       WorkToMake = 9000,
       Mass = 3.5,
+
       Mass = 3.0,
 
       AccuracyTouch = 0.65,
 
       AccuracyTouch = 0.65,
       AccuracyShort = 0.80,
+
       AccuracyShort = 0.85,
       AccuracyMedium = 0.90,
+
       AccuracyMedium = 0.75,
       AccuracyLong = 0.80,
+
       AccuracyLong = 0.50,
 
       RangedWeapon_Cooldown = 1.5,
 
       RangedWeapon_Cooldown = 1.5,
 
     },
 
     },
     costList = {
+
     weaponTags = {
       Steel = 60,
+
       "NeolithicRangedHeavy",
      ComponentIndustrial = 3,
+
       "NeolithicRangedChief",
    },
 
    recipeMaker = {
 
      skillRequirements = {
 
        Crafting = 5,
 
       },
 
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_BoltActionRifle",
+
         defaultProjectile = "Arrow_Great",
         warmupTime = 1.7,
+
         warmupTime = 2.0,
         range = 36.9,
+
         range = 29.9,
 
       },
 
       },
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "stock",
+
         label = "limb",
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
 +
          "Poke",
 
         },
 
         },
 
         power = 9,
 
         power = 9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
       },
 
       },
       {
+
    },
         label = "barrel",
+
    recipeMaker = {
        capacities = {
+
       recipeUsers = {
          "Blunt",
+
         "CraftingSpot",
          "Poke",
+
      },
        },
+
      researchPrerequisite = "Greatbow",
        power = 9,
+
      skillRequirements = {
         cooldownTime = 2,
+
         Crafting = 6,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_BoltActionRifle"] = {
+
   ["ThingDef:Arrow_Great"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "BaseProjectileNeolithic",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedNeolithic.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_BoltActionRifle",
+
     defName = "Arrow_Great",
     label = "bolt-action rifle bullet",
+
     label = "greatbow arrow",
 
   },
 
   },
  
   ["ThingDef:Gun_PumpShotgun"] = {
+
   ["ThingDef:Gun_ChargeRifle"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BaseHumanMakeableGun",
 
       ParentName = "BaseHumanMakeableGun",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedSpacer.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_PumpShotgun",
+
     defName = "Gun_ChargeRifle",
     label = "pump shotgun",
+
     label = "charge rifle",
     description = [[An ancient design of shotgun that emits a tight-packed spray of pellets. Deadly, but short range.]],
+
     description = [[A charged-shot assault rifle. Pulse-charge technology charges each shot with unstable energy as it leaves the barrel. Released on impact, the charged energy greatly increases the damage done.]],
 
     statBases = {
 
     statBases = {
       WorkToMake = 12000,
+
       WorkToMake = 45000,
       Mass = 3.4,
+
       Mass = 4.6,
       AccuracyTouch = 0.80,
+
       AccuracyTouch = 0.55,
       AccuracyShort = 0.87,
+
       AccuracyShort = 0.64,
       AccuracyMedium = 0.77,
+
       AccuracyMedium = 0.55,
       AccuracyLong = 0.64,
+
       AccuracyLong = 0.45,
       RangedWeapon_Cooldown = 1.25,
+
       RangedWeapon_Cooldown = 2.00,
    },
 
    costList = {
 
      Steel = 60,
 
      ComponentIndustrial = 3,
 
 
     },
 
     },
 
     recipeMaker = {
 
     recipeMaker = {
 +
      researchPrerequisite = "ChargedShot",
 
       skillRequirements = {
 
       skillRequirements = {
         Crafting = 5,
+
         Crafting = 7,
 +
      },
 +
      recipeUsers = {
 +
        _ = {
 +
          Inherit = false,
 +
        },
 +
        "FabricationBench",
 
       },
 
       },
 +
    },
 +
    costList = {
 +
      Plasteel = 50,
 +
      ComponentSpacer = 2,
 +
    },
 +
    weaponTags = {
 +
      "SpacerGun",
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_Shotgun",
+
         defaultProjectile = "Bullet_ChargeRifle",
         warmupTime = 0.9,
+
         warmupTime = 1.0,
         range = 15.9,
+
         range = 25.9,
 +
        ticksBetweenBurstShots = 12,
 +
        burstShotCount = 3,
 
       },
 
       },
 
     },
 
     },
Line 15,170: Line 16,807:
 
   },
 
   },
  
   ["ThingDef:Bullet_Shotgun"] = {
+
   ["ThingDef:Bullet_ChargeRifle"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BaseBullet",
 
       ParentName = "BaseBullet",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedSpacer.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Shotgun",
+
     defName = "Bullet_ChargeRifle",
     label = "shotgun blast",
+
     label = "charge shot",
 
   },
 
   },
  
   ["ThingDef:Gun_ChainShotgun"] = {
+
   ["ThingDef:Gun_ChargeLance"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "BaseHumanMakeableGun",
 
       ParentName = "BaseHumanMakeableGun",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedSpacer.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_ChainShotgun",
+
     defName = "Gun_ChargeLance",
     label = "chain shotgun",
+
     label = "charge lance",
     description = [[A magazine-fed fully automatic shotgun. It is even shorter-ranged than a typical shotgun, but is extraordinarily dangerous due to burst fire.]],
+
     description = [[A pulse-charged rail-assisted lance weapon. It fires a single shot at high velocity, charging it with unstable energy as it leaves the acceleration rail.]],
 +
    statBases = {
 +
      Mass = 8,
 +
      AccuracyTouch = 0.65,
 +
      AccuracyShort = 0.85,
 +
      AccuracyMedium = 0.85,
 +
      AccuracyLong = 0.75,
 +
      RangedWeapon_Cooldown = 2.7,
 +
      WorkToMake = 60000,
 +
    },
 
     recipeMaker = {
 
     recipeMaker = {
       researchPrerequisite = "GasOperation",
+
       researchPrerequisite = "ChargedShot",
 
       skillRequirements = {
 
       skillRequirements = {
         Crafting = 6,
+
         Crafting = 9,
 +
      },
 +
      recipeUsers = {
 +
        _ = {
 +
          Inherit = false,
 +
        },
 +
        "FabricationBench",
 
       },
 
       },
 
     },
 
     },
     statBases = {
+
     costList = {
       WorkToMake = 31000,
+
       Plasteel = 60,
       Mass = 4.5,
+
       ComponentSpacer = 3,
      AccuracyTouch = 0.57,
 
      AccuracyShort = 0.64,
 
      AccuracyMedium = 0.55,
 
      AccuracyLong = 0.45,
 
      RangedWeapon_Cooldown = 1.35,
 
 
     },
 
     },
     costList = {
+
     weaponTags = {
       Steel = 70,
+
       "MechanoidGunMedium",
       ComponentIndustrial = 5,
+
       "SpacerGun",
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_Shotgun",
+
         defaultProjectile = "Bullet_ChargeLance",
         warmupTime = 1.2,
+
         warmupTime = 1.7,
         range = 12.9,
+
         range = 29.9,
        burstShotCount = 3,
 
        ticksBetweenBurstShots = 10,
 
 
       },
 
       },
    },
 
    weaponTags = {
 
      "IndustrialGunAdvanced",
 
 
     },
 
     },
 
     tools = {
 
     tools = {
      {
 
        label = "stock",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
 
       {
 
       {
 
         label = "barrel",
 
         label = "barrel",
Line 15,241: Line 16,877:
 
   },
 
   },
  
   ["ThingDef:Gun_HeavySMG"] = {
+
   ["ThingDef:Bullet_ChargeLance"] = {
 +
    _ = {
 +
      ParentName = "BaseBullet",
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedSpacer.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Bullet_ChargeLance",
 +
    label = "charge lance shot",
 +
  },
 +
 
 +
  ["ThingDef:OrbitalWeaponBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "BaseWeapon",
       FileName = "RangedIndustrial.xml",
+
      Name = "OrbitalWeaponBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "RangedSpecial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_HeavySMG",
+
     thingCategories = {
    label = "heavy SMG",
+
       "WeaponsRanged",
    description = [[A compact, wide-caliber slug-thrower. It's got a very short range, but it packs a punch and handles quite well.]],
 
    recipeMaker = {
 
       researchPrerequisite = "GasOperation",
 
      skillRequirements = {
 
        Crafting = 5,
 
      },
 
 
     },
 
     },
 
     statBases = {
 
     statBases = {
       WorkToMake = 24000,
+
       MarketValue = 1200,
       Mass = 3.5,
+
       Mass = 0.2,
      AccuracyTouch = 0.85,
+
       Beauty = -3,
       AccuracyShort = 0.65,
+
       Flammability = 0.5,
       AccuracyMedium = 0.35,
 
      AccuracyLong = 0.20,
 
      RangedWeapon_Cooldown = 1.65,
 
 
     },
 
     },
     costList = {
+
     tradeability = "Sellable",
       Steel = 75,
+
    tradeTags = {
       ComponentIndustrial = 4,
+
       "ExoticMisc",
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:OrbitalUtilityBase"] = {
 +
    _ = {
 +
      ParentName = "ApparelNoQualityBase",
 +
       Name = "OrbitalUtilityBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedSpecial.xml",
 +
      DLC = "Core",
 +
    },
 +
    thingCategories = {
 +
      "ApparelUtility",
 
     },
 
     },
     verbs = {
+
     statBases = {
       {
+
       MarketValue = 1200,
        defaultProjectile = "Bullet_HeavySMG",
+
      Mass = 0.2,
        warmupTime = 0.9,
+
      Beauty = -3,
        range = 22.9,
+
      Flammability = 0.5,
        burstShotCount = 3,
 
        ticksBetweenBurstShots = 11,
 
      },
 
 
     },
 
     },
     weaponTags = {
+
     tradeability = "Sellable",
       "IndustrialGunAdvanced",
+
    tradeTags = {
 +
       "ExoticMisc",
 
     },
 
     },
     tools = {
+
     apparel = {
       {
+
       bodyPartGroups = {
         label = "grip",
+
         "Waist",
        capacities = {
 
          "Blunt",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
 
       },
 
       },
       {
+
       layers = {
         label = "barrel",
+
         "Belt",
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_HeavySMG"] = {
+
   ["ThingDef:OrbitalTargeterBombardment"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "OrbitalUtilityBase",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedSpecial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_HeavySMG",
+
     defName = "OrbitalTargeterBombardment",
     label = "heavy SMG bullet",
+
     label = "orbital bombardment targeter",
 +
    description = [[An ancient targeting apparatus for an orbital bombardment system. This unit designates a target and transmits the coordinates to a network of satellites, which then bombard the target area with kinetic impactors. This unit has been reprogrammed to accept unauthorized users, but once it is used, the network will detect the incursion and cut off the link permanently.]],
 +
    verbs = {
 +
      {
 +
        warmupTime = 3,
 +
        range = 44.9,
 +
        burstShotCount = 1,
 +
        onlyManualCast = true,
 +
        targetParams = {
 +
          canTargetLocations = true,
 +
        },
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_Reloadable = {
 +
        maxCharges = 1,
 +
        destroyOnEmpty = true,
 +
        hotKey = "Misc4",
 +
        chargeNoun = "charge",
 +
        displayGizmoWhileUndrafted = false,
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Gun_LMG"] = {
+
   ["ThingDef:OrbitalTargeterPowerBeam"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "OrbitalUtilityBase",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "RangedSpecial.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_LMG",
+
     defName = "OrbitalTargeterPowerBeam",
     label = "LMG",
+
     label = "orbital power beam targeter",
     description = [[A gas-operated light machine gun. While it is somewhat unwieldy and inaccurate, its long bursts of fire are effective against groups of enemies.]],
+
     description = [[An ancient targeting unit for a network of power-collection satellites. Once aimed at a target, it directs ancient satellites to begin beaming power down in a massive column of electromagnetic energy. This power can safely be collected in a giant absorption dish. Since you have no absorption dish, you'll be aiming it at enemies, at which point the power column will turn the area into a thousand-degree inferno. This will last until the satellites detect the unsafe targeting, shut themselves down, and permanently deactivate the targeter.]],
     recipeMaker = {
+
     verbs = {
       researchPrerequisite = "GasOperation",
+
       {
      skillRequirements = {
+
        warmupTime = 3,
         Crafting = 6,
+
        range = 44.9,
 +
        burstShotCount = 1,
 +
        onlyManualCast = true,
 +
        targetParams = {
 +
          canTargetLocations = true,
 +
         },
 
       },
 
       },
 
     },
 
     },
 +
    comps = {
 +
      CompProperties_Reloadable = {
 +
        maxCharges = 1,
 +
        destroyOnEmpty = true,
 +
        hotKey = "Misc4",
 +
        chargeNoun = "charge",
 +
        displayGizmoWhileUndrafted = false,
 +
      },
 +
    },
 +
  },
 +
 +
  ["ThingDef:TornadoGenerator"] = {
 +
    _ = {
 +
      ParentName = "OrbitalUtilityBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "RangedSpecial.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "TornadoGenerator",
 +
    label = "tornado generator",
 +
    description = [[An ancient control unit for a network of weather-control satellites. This device has had certain failsafes bypassed; it is capable of causing a massive air current disturbance, which will generate a tornado at a chosen location. The weather network will detect this unauthorized intrusion and lock out the device after use, but the tornado will be left to spend its energy normally.]],
 
     statBases = {
 
     statBases = {
       WorkToMake = 34000,
+
       MarketValue = 800,
      Mass = 8.5,
 
      AccuracyTouch = 0.40,
 
      AccuracyShort = 0.48,
 
      AccuracyMedium = 0.35,
 
      AccuracyLong = 0.26,
 
      RangedWeapon_Cooldown = 1.8,
 
    },
 
    costList = {
 
      Steel = 75,
 
      ComponentIndustrial = 5,
 
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_LMG",
+
         warmupTime = 3,
         warmupTime = 1.8,
+
        spawnDef = "Tornado",
         range = 25.9,
+
         colonyWideTaleDef = "TornadoFromItem",
         ticksBetweenBurstShots = 7,
+
         range = 44.9,
         burstShotCount = 6,
+
         burstShotCount = 1,
 +
        onlyManualCast = true,
 +
         targetParams = {
 +
          canTargetLocations = true,
 +
        },
 
       },
 
       },
 
     },
 
     },
     weaponTags = {
+
     comps = {
       "IndustrialGunAdvanced",
+
       CompProperties_Reloadable = {
    },
+
         maxCharges = 1,
    tools = {
+
         destroyOnEmpty = true,
      {
+
         hotKey = "Misc4",
         label = "stock",
+
         chargeNoun = "charge",
         capacities = {
+
         displayGizmoWhileUndrafted = false,
          "Blunt",
 
         },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
      {
 
        label = "barrel",
 
         capacities = {
 
          "Blunt",
 
          "Poke",
 
         },
 
        power = 9,
 
        cooldownTime = 2,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_LMG"] = {
+
   ["ThingDef:PlantBaseNonEdible"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       Name = "PlantBaseNonEdible",
       FileName = "RangedIndustrial.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Bases.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_LMG",
+
     category = "Plant",
     label = "LMG bullet",
+
     thingClass = "Plant",
   },
+
    altitudeLayer = "LowPlant",
 
+
    useHitPoints = true,
   ["ThingDef:Gun_AssaultRifle"] = {
+
    statBases = {
     _ = {
+
      Flammability = 1,
       ParentName = "BaseHumanMakeableGun",
+
    },
       FileName = "RangedIndustrial.xml",
+
    pathCostIgnoreRepeat = false,
 +
    plant = {
 +
      fertilityMin = 0.7,
 +
      fertilitySensitivity = 1.0,
 +
      sowWork = 170,
 +
      harvestWork = 200,
 +
    },
 +
   },
 +
 
 +
   ["ThingDef:PlantBase"] = {
 +
     _ = {
 +
       ParentName = "PlantBaseNonEdible",
 +
      Name = "PlantBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Bases.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_AssaultRifle",
+
     ingestible = {
    label = "assault rifle",
+
       foodType = {
    description = [[A general-purpose gas-operated assault rifle for field or urban combat. It has good range, decent power, and good accuracy.]],
+
         "Plant",
    recipeMaker = {
 
      researchPrerequisite = "PrecisionRifling",
 
      skillRequirements = {
 
        Crafting = 6,
 
      },
 
    },
 
    statBases = {
 
      WorkToMake = 40000,
 
      Mass = 3.5,
 
      AccuracyTouch = 0.60,
 
      AccuracyShort = 0.70,
 
      AccuracyMedium = 0.65,
 
      AccuracyLong = 0.55,
 
      RangedWeapon_Cooldown = 1.70,
 
    },
 
    costList = {
 
      Steel = 60,
 
      ComponentIndustrial = 7,
 
    },
 
    verbs = {
 
      {
 
        defaultProjectile = "Bullet_AssaultRifle",
 
        warmupTime = 1.0,
 
        range = 30.9,
 
        burstShotCount = 3,
 
        ticksBetweenBurstShots = 10,
 
      },
 
    },
 
    weaponTags = {
 
       "IndustrialGunAdvanced",
 
    },
 
    tools = {
 
      {
 
        label = "stock",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
      {
 
         label = "barrel",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
 
       },
 
       },
 +
      preferability = "RawBad",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_AssaultRifle"] = {
+
   ["ThingDef:BushBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrial.xml",
+
      Name = "BushBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Bases.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_AssaultRifle",
+
     statBases = {
     label = "assault rifle bullet",
+
      MaxHitPoints = 120,
 +
      Nutrition = 0.3,
 +
    },
 +
    fillPercent = 0.20,
 +
    pathCost = 30,
 +
     plant = {
 +
      fertilitySensitivity = 0.5,
 +
      growDays = 3,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Gun_SniperRifle"] = {
+
   ["ThingDef:TreeBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrial.xml",
+
      Name = "TreeBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Bases.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_SniperRifle",
+
     statBases = {
    label = "sniper rifle",
+
      MaxHitPoints = 200,
    description = [[An ancient design of precision sniper rifle. Bolt action. It has an exceptionally long range, great accuracy and good power. Because it's so unwieldy, other weapons outclass it at close range.]],
+
      Flammability = 0.8,
    recipeMaker = {
+
       Nutrition = 1.7,
       researchPrerequisite = "PrecisionRifling",
 
      skillRequirements = {
 
        Crafting = 7,
 
      },
 
 
     },
 
     },
     statBases = {
+
     altitudeLayer = "Building",
      WorkToMake = 45000,
+
    fillPercent = 0.25,
      Mass = 4,
+
    passability = "PassThroughOnly",
      AccuracyTouch = 0.50,
+
    pathCost = 42,
      AccuracyShort = 0.70,
+
     ingestible = {
      AccuracyMedium = 0.86,
+
       foodType = {
      AccuracyLong = 0.88,
+
         "Tree",
      RangedWeapon_Cooldown = 2.3,
 
    },
 
     costList = {
 
       Steel = 60,
 
      ComponentIndustrial = 8,
 
    },
 
    verbs = {
 
      {
 
         defaultProjectile = "Bullet_SniperRifle",
 
        warmupTime = 3.5,
 
        range = 44.9,
 
 
       },
 
       },
 +
      preferability = "RawBad",
 
     },
 
     },
     tools = {
+
     plant = {
       {
+
       lifespanDaysPerGrowDays = 9,
        label = "stock",
+
      fertilitySensitivity = 0.5,
        capacities = {
+
      sowWork = 4000,
          "Blunt",
+
      sowMinSkill = 6,
        },
+
      sowResearchPrerequisites = {
        power = 9,
+
         "TreeSowing",
         cooldownTime = 2,
 
 
       },
 
       },
       {
+
       harvestWork = 800,
        label = "barrel",
+
      harvestedThingDef = "WoodLog",
        capacities = {
+
      harvestYield = 25,
          "Blunt",
+
      harvestTag = "Wood",
          "Poke",
+
      harvestMinGrowth = 0.40,
        },
+
      harvestFailable = false,
        power = 9,
+
      blockAdjacentSow = true,
         cooldownTime = 2,
+
      sowTags = {
 +
         "Ground",
 
       },
 
       },
    },
+
       interferesWithRoof = true,
    weaponTags = {
 
       _ = {
 
        Inherit = false,
 
      },
 
      "SniperRifle",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_SniperRifle"] = {
+
   ["ThingDef:CavePlantBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
      Name = "CavePlantBase",
       FileName = "RangedIndustrial.xml",
+
       ParentName = "PlantBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cave.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_SniperRifle",
+
     plant = {
     label = "sniper rifle bullet",
+
      growMinGlow = 0,
 +
      growOptimalGlow = 0,
 +
      cavePlant = true,
 +
     },
 
   },
 
   },
  
   ["ThingDef:Gun_Minigun"] = {
+
   ["ThingDef:Glowstool"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "CavePlantBase",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cave.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_Minigun",
+
     defName = "Glowstool",
     label = "minigun",
+
     label = "glowstool",
     description = [[A multi-barrel machine gun. It's unwieldy, but once it starts firing it fires very fast. Where most self-loading guns are powered by the energy from the gunpowder, the minigun uses an electric motor to rapidly cycle cartridges through the weapon.]],
+
     description = [[A small brown mushroom typically found in caves. It smells like an old, dirty rag pulled from the stomach of a rotting muffalo - but it tastes surprisingly good when cooked. Dies when exposed to light.]],
 
     statBases = {
 
     statBases = {
       WorkToMake = 60000,
+
       MaxHitPoints = 100,
       Mass = 10,
+
       Beauty = 2,
       AccuracyTouch = 0.15,
+
       Nutrition = 0.35,
      AccuracyShort = 0.25,
 
      AccuracyMedium = 0.25,
 
      AccuracyLong = 0.18,
 
      RangedWeapon_Cooldown = 2.3,
 
 
     },
 
     },
     costList = {
+
     pathCost = 14,
       Steel = 160,
+
    plant = {
       ComponentIndustrial = 20,
+
       fertilityMin = 0.01,
 +
      fertilitySensitivity = 0.15,
 +
       growDays = 40,
 +
      harvestYield = 20,
 +
      harvestTag = "Standard",
 +
      harvestedThingDef = "RawFungus",
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       researchPrerequisite = "MultibarrelWeapons",
+
       CompProperties_Glower = {
      skillRequirements = {
+
         glowRadius = 10,
         Crafting = 7,
+
        glowColor = {5, 25, 32, 0},
      },
 
    },
 
    weaponTags = {
 
      "GunHeavy",
 
    },
 
    verbs = {
 
      {
 
        defaultProjectile = "Bullet_Minigun",
 
        warmupTime = 2.5,
 
        range = 30.9,
 
        burstShotCount = 25,
 
        ticksBetweenBurstShots = 5,
 
      },
 
    },
 
    tools = {
 
      {
 
        label = "barrels",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 11.7,
 
        cooldownTime = 2.6,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_Minigun"] = {
+
   ["ThingDef:Agarilux"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "CavePlantBase",
       FileName = "RangedIndustrial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cave.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Minigun",
+
     defName = "Agarilux",
     label = "minigun bullet",
+
     label = "agarilux",
 +
    description = [[An enormous purple mushroom. Its size and glowing protrusions make this fungus beautiful to look at. It dies when exposed to light.]],
 +
    statBases = {
 +
      MaxHitPoints = 150,
 +
      Beauty = 4,
 +
      Nutrition = 0.5,
 +
    },
 +
    pathCost = 30,
 +
    plant = {
 +
      fertilityMin = 0.01,
 +
      fertilitySensitivity = 0.15,
 +
      growDays = 60,
 +
      harvestYield = 35,
 +
      harvestTag = "Standard",
 +
      harvestedThingDef = "RawFungus",
 +
    },
 +
    comps = {
 +
      CompProperties_Glower = {
 +
        glowRadius = 10,
 +
        glowColor = {23, 15, 30, 0},
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Gun_TripleRocket"] = {
+
   ["ThingDef:Bryolux"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseGun",
+
       ParentName = "CavePlantBase",
       FileName = "RangedIndustrialConsumable.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cave.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_TripleRocket",
+
     defName = "Bryolux",
     label = "triple rocket launcher",
+
     label = "bryolux",
     description = [[A single-use rocket launcher that fires three large-bore explosive rockets. Good against small groups of tough targets.\n\nBecause of its unwieldiness, single-use limitation, and the massive destruction it causes, it's said that one must be slightly crazy to use this weapon.]],
+
     description = [[A blue moss typically found in deep, dark caves. It is sticky, with tangled fibers, which slows anyone walking over it. Dies when exposed to light.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1000,
+
       MaxHitPoints = 100,
       Mass = 7,
+
       Beauty = 1,
       RangedWeapon_Cooldown = 4.5,
+
       Nutrition = 0.15,
 
     },
 
     },
     weaponTags = {
+
     pathCost = 30,
      "Gun",
+
     plant = {
      "GunSingleUse",
+
       fertilityMin = 0.01,
    },
+
      fertilitySensitivity = 0.15,
    tradeTags = {
+
       growDays = 60,
      "ExoticMisc",
 
     },
 
    verbs = {
 
       {
 
        defaultProjectile = "Bullet_Rocket",
 
        forcedMissRadius = 2.9,
 
        warmupTime = 4.5,
 
        range = 35.9,
 
        ticksBetweenBurstShots = 20,
 
        burstShotCount = 3,
 
        onlyManualCast = true,
 
        stopBurstWithoutLos = false,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
       },
 
    },
 
    tools = {
 
      {
 
        label = "barrel",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 11.7,
 
        cooldownTime = 2.6,
 
      },
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Explosive = {
+
       CompProperties_Glower = {
         explosiveRadius = 3.9,
+
         glowRadius = 10,
         explosiveDamageType = "Bomb",
+
         glowColor = {5, 5, 25, 0},
        requiredDamageTypeToExplode = "Flame",
 
 
       },
 
       },
      CompProperties_BiocodableWeapon = {},
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_Rocket"] = {
+
   ["ThingDef:Plant_Rose"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrialConsumable.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Decorative.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_Rocket",
+
     defName = "Plant_Rose",
     label = "rocket",
+
     label = "rose",
     thingClass = "Projectile_Explosive",
+
     description = [[A beautiful cultivated flower, the rose has been a symbol of love since Earth's ancient era.]],
 +
    statBases = {
 +
      MaxHitPoints = 85,
 +
      Beauty = 14,
 +
      Nutrition = 0.05,
 +
    },
 +
    altitudeLayer = "Item",
 +
    ingestible = {
 +
      canAutoSelectAsFoodForCaravan = false,
 +
    },
 +
    plant = {
 +
      harvestTag = "Standard",
 +
      sowWork = 750,
 +
      sowTags = {
 +
        "Ground",
 +
        "Decorative",
 +
      },
 +
      growMinGlow = 0.3,
 +
      growDays = 1.5,
 +
      lifespanDaysPerGrowDays = 5,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Gun_DoomsdayRocket"] = {
+
   ["ThingDef:Plant_Daylily"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseGun",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrialConsumable.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Decorative.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_DoomsdayRocket",
+
     defName = "Plant_Daylily",
     label = "doomsday rocket launcher",
+
     label = "daylily",
     description = [[A single-use rocket launcher that fires a massive explosive projectile. Good against large groups of soft targets. Starts fires.\n\nBecause of its unwieldiness, single-use limitation, and the massive destruction it causes, it's said that one must be slightly crazy to use this weapon.]],
+
     description = [[A cultivated flower with wide petals and a short lifespan. Daylilies are very beautiful, but must be replanted often.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1000,
+
       MaxHitPoints = 85,
       Mass = 8,
+
       Beauty = 18,
       RangedWeapon_Cooldown = 4.5,
+
       Nutrition = 0.05,
 
     },
 
     },
     weaponTags = {
+
     altitudeLayer = "Item",
      "Gun",
+
    ingestible = {
       "GunSingleUse",
+
       canAutoSelectAsFoodForCaravan = false,
 
     },
 
     },
     tradeTags = {
+
     plant = {
       "ExoticMisc",
+
       harvestTag = "Standard",
    },
+
      sowWork = 540,
    verbs = {
+
      sowTags = {
      {
+
         "Ground",
         defaultProjectile = "Bullet_DoomsdayRocket",
+
         "Decorative",
         forcedMissRadius = 1.9,
 
        warmupTime = 4.5,
 
        range = 35.9,
 
        burstShotCount = 1,
 
        onlyManualCast = true,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
 
       },
 
       },
    },
+
       growMinGlow = 0.3,
    tools = {
+
       growDays = 1.5,
       {
+
       lifespanDaysPerGrowDays = 3,
        label = "barrel",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 11.7,
 
        cooldownTime = 2.6,
 
       },
 
    },
 
    comps = {
 
      CompProperties_Explosive = {
 
        explosiveRadius = 7.8,
 
        explosiveDamageType = "Bomb",
 
        requiredDamageTypeToExplode = "Flame",
 
      },
 
       CompProperties_BiocodableWeapon = {},
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_DoomsdayRocket"] = {
+
   ["ThingDef:Plant_Rice"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrialConsumable.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_DoomsdayRocket",
+
     defName = "Plant_Rice",
     label = "doomsday rocket",
+
     label = "rice plant",
     thingClass = "Projectile_DoomsdayRocket",
+
     description = [[A short, fast-growing crop that yields small edible grains. Its great nutritional ouput and ease of cultivation has made it the economic core of many great civilizations. While rice grows quickly, it is sensitive to soil fertility and will not fare well in poor soil.]],
  },
+
     statBases = {
  ThingDef = {
+
       MaxHitPoints = 85,
     _ = {
+
       Nutrition = 0.18,
       Name = "BaseGrenadeProjectile",
 
      Abstract = true,
 
       FileName = "RangedIndustrialGrenades.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     category = "Projectile",
+
     pathCost = 14,
    altitudeLayer = "Projectile",
+
     plant = {
    thingClass = "Projectile_Explosive",
+
       harvestTag = "Standard",
     label = "projectile",
+
       harvestedThingDef = "RawRice",
    useHitPoints = false,
+
       harvestYield = 6,
  },
+
       sowTags = {
  ThingDef = {
+
        "Ground",
    _ = {
+
         "Hydroponic",
       Name = "BaseMakeableGrenade",
 
       ParentName = "BaseWeapon",
 
       Abstract = true,
 
      FileName = "RangedIndustrialGrenades.xml",
 
       DLC = "Core",
 
    },
 
    recipeMaker = {
 
      workSpeedStat = "GeneralLaborSpeed",
 
      workSkill = "Crafting",
 
      effectWorking = "Smith",
 
      soundWorking = "Recipe_Smith",
 
      recipeUsers = {
 
         "TableMachining",
 
 
       },
 
       },
       unfinishedThingDef = "UnfinishedGun",
+
       growDays = 3,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Weapon_GrenadeFrag"] = {
+
   ["ThingDef:Plant_Potato"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMakeableGrenade",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrialGrenades.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Weapon_GrenadeFrag",
+
     defName = "Plant_Potato",
     label = "frag grenades",
+
     label = "potato plant",
     description = [[Old-school fragmentation grenades. They can be thrown a short distance, where they'll explode, damaging anything and anyone nearby.]],
+
     description = [[A highly nutritious tuber. Potatoes grow well even in somewhat poor soil, and form a delicious crispy outer coating when fried in oil.]],
 
     statBases = {
 
     statBases = {
       Mass = 1,
+
       MaxHitPoints = 85,
       RangedWeapon_Cooldown = 2.66,
+
       Nutrition = 0.2,
      WorkToMake = 12000,
 
 
     },
 
     },
     costList = {
+
     pathCost = 14,
      Steel = 20,
+
     plant = {
      Chemfuel = 80,
+
       fertilitySensitivity = 0.4,
     },
+
       harvestTag = "Standard",
    weaponTags = {
+
      harvestedThingDef = "RawPotatoes",
       "GrenadeDestructive",
+
       harvestYield = 11,
    },
+
       sowTags = {
    thingCategories = {
+
         "Ground",
      "Grenades",
+
         "Hydroponic",
    },
 
    verbs = {
 
       {
 
        label = "throw frag grenade",
 
        range = 12.9,
 
        forcedMissRadius = 1.9,
 
        warmupTime = 1.5,
 
        noiseRadius = 4,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
        defaultProjectile = "Proj_GrenadeFrag",
 
       },
 
    },
 
    comps = {
 
       CompProperties_Explosive = {
 
         explosiveRadius = 2.66,
 
        explosiveDamageType = "Bomb",
 
         requiredDamageTypeToExplode = "Flame",
 
 
       },
 
       },
 +
      growDays = 5.8,
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_Corn"] = {
 
     _ = {
 
     _ = {
       Name = "BaseFragGrenadeProjectile",
+
       ParentName = "PlantBase",
       ParentName = "BaseGrenadeProjectile",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Plants_Cultivated_Farm.xml",
       FileName = "RangedIndustrialGrenades.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Projectile_Explosive",
+
     defName = "Plant_Corn",
  },
+
    label = "corn plant",
 
+
    description = [[A tall grain plant which produces ears of soft, edible seeds. While corn takes a long time to grow, it yields lots of food compared to other crops. Harvested corn takes a long time to spoil.]],
  ["ThingDef:Proj_GrenadeFrag"] = {
+
    statBases = {
     _ = {
+
      MaxHitPoints = 150,
       ParentName = "BaseFragGrenadeProjectile",
+
      Nutrition = 0.3,
       FileName = "RangedIndustrialGrenades.xml",
+
    },
       DLC = "Core",
+
    pathCost = 14,
 +
     plant = {
 +
       fertilityMin = 0.70,
 +
      harvestTag = "Standard",
 +
       harvestedThingDef = "RawCorn",
 +
       harvestYield = 22,
 +
      sowTags = {
 +
        "Ground",
 +
      },
 +
      growDays = 11.3,
 
     },
 
     },
    defName = "Proj_GrenadeFrag",
 
    label = "frag grenade",
 
 
   },
 
   },
  
   ["ThingDef:Weapon_GrenadeMolotov"] = {
+
   ["ThingDef:Plant_Strawberry"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMakeableGrenade",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrialGrenades.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Weapon_GrenadeMolotov",
+
     defName = "Plant_Strawberry",
     label = "molotov cocktails",
+
     label = "strawberry plant",
     description = [[Glass bottles filled with flammable liquid, with a burning cloth in the neck. A favorite weapon of hooligans and desperate warriors from rim to rim.]],
+
     description = [[A low bush-like plant that yields fragile but delicious strawberries. While it isn't quite as productive calorie-for-calorie as other crops, strawberries are delicious even when raw.]],
 
     statBases = {
 
     statBases = {
       Mass = 1,
+
       MaxHitPoints = 85,
       RangedWeapon_Cooldown = 2.66,
+
       Nutrition = 0.2,
      WorkToMake = 6000,
 
 
     },
 
     },
     costList = {
+
     pathCost = 14,
       Cloth = 25,
+
    plant = {
       Chemfuel = 80,
+
       growDays = 4.6,
 +
      harvestTag = "Standard",
 +
      harvestedThingDef = "RawBerries",
 +
      harvestYield = 8,
 +
       sowMinSkill = 5,
 +
      sowTags = {
 +
        "Ground",
 +
        "Hydroponic",
 +
      },
 
     },
 
     },
     weaponTags = {
+
  },
       "GrenadeDestructive",
+
 
 +
  ["ThingDef:Plant_Haygrass"] = {
 +
     _ = {
 +
       ParentName = "PlantBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Plants_Cultivated_Farm.xml",
 +
      DLC = "Core",
 
     },
 
     },
     thingCategories = {
+
     defName = "Plant_Haygrass",
       "Grenades",
+
    label = "haygrass",
 +
    description = [[A mixture of nutrient-rich grasses which yield large amounts of hay. Hay is edible for animals, but not humans.]],
 +
    statBases = {
 +
       MaxHitPoints = 85,
 +
      Flammability = 1.3,
 +
      Nutrition = 0.2,
 
     },
 
     },
     verbs = {
+
     pathCost = 14,
      {
+
    plant = {
        label = "throw molotov",
+
      fertilitySensitivity = 0.6,
        range = 12.9,
+
      growDays = 7,
        forcedMissRadius = 1.9,
+
      harvestTag = "Standard",
        warmupTime = 1.5,
+
      harvestedThingDef = "Hay",
        noiseRadius = 4,
+
       harvestYield = 18,
        targetParams = {
+
       sowTags = {
          canTargetLocations = true,
+
         "Ground",
        },
 
        defaultProjectile = "Proj_GrenadeMolotov",
 
       },
 
    },
 
    comps = {
 
       CompProperties_Explosive = {
 
         explosiveRadius = 2.66,
 
        explosiveDamageType = "Flame",
 
        requiredDamageTypeToExplode = "Flame",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Proj_GrenadeMolotov"] = {
+
   ["ThingDef:Plant_Cotton"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseIncendiaryProjectile",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrialGrenades.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Proj_GrenadeMolotov",
+
     defName = "Plant_Cotton",
     label = "molotov cocktail",
+
     label = "cotton plant",
 +
    description = [[A mid-size crop that yields fine white cotton fibers. These are used to make cloth.]],
 +
    statBases = {
 +
      MaxHitPoints = 85,
 +
      Nutrition = 0.2,
 +
    },
 +
    pathCost = 14,
 +
    plant = {
 +
      growDays = 8,
 +
      harvestTag = "Standard",
 +
      harvestedThingDef = "Cloth",
 +
      harvestYield = 10,
 +
      sowTags = {
 +
        "Ground",
 +
        "Hydroponic",
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Weapon_GrenadeEMP"] = {
+
   ["ThingDef:Plant_Devilstrand"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMakeableGrenade",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrialGrenades.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Weapon_GrenadeEMP",
+
     defName = "Plant_Devilstrand",
     label = "EMP grenades",
+
     label = "devilstrand",
     description = [[Electromagnetic pulse grenades damaging to electronic equipment.]],
+
     description = [[This fragile mushroom was genetically engineered to produce a silk net that is both difficult to tear and soft to the touch. While the mushroom takes a very long time to grow, only exotic ultra-tech fabrics outperform its devilstrand fibers.\n\nSome say it's called devilstrand because of its red color. Others think it owes its name to the greed it inspires in people.]],
 
     statBases = {
 
     statBases = {
       Mass = 1,
+
       MaxHitPoints = 85,
       RangedWeapon_Cooldown = 2.66,
+
       Nutrition = 0.15,
      WorkToMake = 24000,
 
 
     },
 
     },
     costList = {
+
     pathCost = 14,
      Steel = 20,
+
     plant = {
      ComponentIndustrial = 6,
+
       growDays = 22.5,
     },
+
      sowWork = 400,
    recipeMaker = {
+
       harvestTag = "Standard",
       researchPrerequisite = "MicroelectronicsBasics",
+
       harvestedThingDef = "DevilstrandCloth",
    },
+
      harvestYield = 6,
    weaponTags = {
+
      sowTags = {
       "GrenadeEMP",
+
         "Ground",
    },
 
    thingCategories = {
 
      "Grenades",
 
    },
 
    verbs = {
 
       {
 
        label = "throw EMP grenade",
 
        range = 12.9,
 
        forcedMissRadius = 1.9,
 
        warmupTime = 1.5,
 
        noiseRadius = 4,
 
        targetParams = {
 
          canTargetLocations = true,
 
         },
 
        defaultProjectile = "Proj_GrenadeEMP",
 
 
       },
 
       },
    },
+
      sowMinSkill = 10,
    comps = {
+
       sowResearchPrerequisites = {
       CompProperties_Explosive = {
+
         "Devilstrand",
         explosiveRadius = 2.66,
 
        explosiveDamageType = "EMP",
 
        requiredDamageTypeToExplode = "Flame",
 
 
       },
 
       },
    },
 
    smeltProducts = {
 
      Steel = 10,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Proj_GrenadeEMP"] = {
+
   ["ThingDef:HealrootBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseGrenadeProjectile",
+
       ParentName = "PlantBase",
       FileName = "RangedIndustrialGrenades.xml",
+
      Name = "HealrootBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Proj_GrenadeEMP",
+
     statBases = {
     label = "EMP grenade",
+
      MaxHitPoints = 60,
    thingClass = "Projectile_Explosive",
+
      Nutrition = 0.15,
 +
    },
 +
    pathCost = 14,
 +
     plant = {
 +
      growDays = 10,
 +
      harvestWork = 400,
 +
      harvestTag = "Standard",
 +
      harvestedThingDef = "MedicineHerbal",
 +
      harvestYield = 1,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Bullet_ChargeBlasterHeavy"] = {
+
   ["ThingDef:Plant_Healroot"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "HealrootBase",
       FileName = "RangedMechanoid.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_ChargeBlasterHeavy",
+
     defName = "Plant_Healroot",
     label = "charge blaster shot",
+
     label = "healroot",
 +
    description = [[A slow-growing plant which yields herbal medicine when harvested. Sowing and harvesting healroot are both very labor-intensive tasks because of its delicate shoots.\n\nHealroot was selectively bred for centuries by settlers. It is sometimes also called "healer's hand" by tribespeople - a nickname it owes to its five major medicinal virtues.]],
 +
    plant = {
 +
      growDays = 7,
 +
      sowWork = 800,
 +
      sowMinSkill = 8,
 +
      sowTags = {
 +
        "Ground",
 +
        "Hydroponic",
 +
      },
 +
    },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_Hops"] = {
 
     _ = {
 
     _ = {
      Abstract = true,
+
       ParentName = "PlantBase",
       ParentName = "BaseGunWithQuality",
+
       DefCategory = "ThingDef",
       Name = "Gun_ChargeBlasterHeavyBase",
+
       FileName = "Plants_Cultivated_Farm.xml",
       FileName = "RangedMechanoid.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     label = "heavy charge blaster",
+
    defName = "Plant_Hops",
     description = [[A pulse-charged rapid-fire blaster for area suppressive fire. Heavy cooling allows long, deadly bursts.]],
+
     label = "hop plant",
 +
     description = [[A flowering crop that yields hops, an essential ingredient in beer.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1400,
+
       MaxHitPoints = 85,
       Mass = 22,
+
       Nutrition = 0.2,
      AccuracyTouch = 0.18,
 
      AccuracyShort = 0.26,
 
      AccuracyMedium = 0.26,
 
      AccuracyLong = 0.18,
 
      RangedWeapon_Cooldown = 7.4,
 
 
     },
 
     },
     tradeability = "None",
+
     pathCost = 14,
     tools = {
+
     plant = {
       {
+
       fertilitySensitivity = 0.7,
        label = "barrel",
+
      growDays = 5,
        capacities = {
+
      harvestTag = "Standard",
          "Blunt",
+
      harvestedThingDef = "RawHops",
        },
+
      harvestYield = 8,
         power = 11.7,
+
      sowMinSkill = 3,
         cooldownTime = 2.6,
+
      sowTags = {
 +
         "Ground",
 +
         "Hydroponic",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Gun_ChargeBlasterHeavy"] = {
+
   ["ThingDef:Plant_Smokeleaf"] = {
 
     _ = {
 
     _ = {
       ParentName = "Gun_ChargeBlasterHeavyBase",
+
       ParentName = "PlantBase",
       FileName = "RangedMechanoid.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_ChargeBlasterHeavy",
+
     defName = "Plant_Smokeleaf",
     verbs = {
+
     label = "smokeleaf plant",
       {
+
    description = [[A leafy crop grown for the psychological effects of chemicals in its leaves. Smokeleaf leaves can be prepared into joints at the crafting spot. Smokeleaf makes a user feel relaxed, but reduces motivation, and can be addictive.]],
        defaultProjectile = "Bullet_ChargeBlasterHeavy",
+
    statBases = {
        warmupTime = 1.25,
+
       MaxHitPoints = 85,
        range = 26.9,
+
      Nutrition = 0.15,
         ticksBetweenBurstShots = 5,
+
    },
         burstShotCount = 24,
+
    pathCost = 14,
 +
    plant = {
 +
      growDays = 7.50,
 +
      harvestTag = "Standard",
 +
      harvestedThingDef = "SmokeleafLeaves",
 +
      harvestYield = 9,
 +
      sowMinSkill = 4,
 +
      sowTags = {
 +
         "Ground",
 +
         "Hydroponic",
 
       },
 
       },
    },
 
    weaponTags = {
 
      "MechanoidGunHeavy",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_InfernoCannon"] = {
+
   ["ThingDef:Plant_Psychoid"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "PlantBase",
       FileName = "RangedMechanoid.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_InfernoCannon",
+
     defName = "Plant_Psychoid",
     label = "inferno cannon shell",
+
     label = "psychoid plant",
     thingClass = "Projectile_Explosive",
+
     description = [[A leafy plant which generates the chemical compound psychite. Originally evolved as a defense mechanism to ward off plant-eating animals by overstimulating and sickening them, the psychite drug can be extracted and refined into various forms for recreational use. It is addictive.]],
  },
+
     statBases = {
  ThingDef = {
+
       MaxHitPoints = 85,
     _ = {
+
       Nutrition = 0.15,
       Abstract = true,
 
       ParentName = "BaseGunWithQuality",
 
      Name = "Gun_InfernoCannonBase",
 
      FileName = "RangedMechanoid.xml",
 
      DLC = "Core",
 
 
     },
 
     },
     label = "inferno cannon",
+
     pathCost = 14,
     description = [[An incendiary-shot mini-artillery device. It fires a large incendiary warhead.]],
+
     plant = {
    statBases = {
+
      growDays = 9.00,
       MarketValue = 1400,
+
       harvestTag = "Standard",
       Mass = 18,
+
       harvestedThingDef = "PsychoidLeaves",
       RangedWeapon_Cooldown = 8.4,
+
       harvestYield = 8,
    },
+
      sowMinSkill = 6,
    tradeability = "None",
+
      sowTags = {
    tools = {
+
         "Ground",
      {
+
         "Hydroponic",
         label = "barrel",
 
         capacities = {
 
          "Blunt",
 
        },
 
        power = 11.7,
 
        cooldownTime = 2.6,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Gun_InfernoCannon"] = {
+
   ["ThingDef:Plant_TreeCocoa"] = {
 
     _ = {
 
     _ = {
       ParentName = "Gun_InfernoCannonBase",
+
       ParentName = "TreeBase",
       FileName = "RangedMechanoid.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Cultivated_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_InfernoCannon",
+
     defName = "Plant_TreeCocoa",
     weaponTags = {
+
     label = "cocoa tree",
       "MechanoidGunHeavy",
+
    description = [[A tropical tree that produces chocolate, genetically engineered to sweeten its own product, and survive in slightly less-warm climates.]],
 +
    statBases = {
 +
       Beauty = 2,
 +
      Nutrition = 1.25,
 
     },
 
     },
     verbs = {
+
     plant = {
       {
+
       growDays = 16,
         defaultProjectile = "Bullet_InfernoCannon",
+
      sowMinSkill = 8,
         forcedMissRadius = 3.5,
+
      sowTags = {
        warmupTime = 1.25,
+
         "Ground",
         range = 26.9,
+
      },
         burstShotCount = 1,
+
      sowResearchPrerequisites = {
 +
         _ = {
 +
          Inherit = false,
 +
         },
 +
         "Cocoa",
 
       },
 
       },
 +
      harvestWork = 400,
 +
      harvestTag = "Standard",
 +
      harvestYield = 20,
 +
      harvestedThingDef = "Chocolate",
 +
      harvestFailable = true,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Gun_Needle"] = {
+
   ["ThingDef:BurnedTree"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseGunWithQuality",
+
       DefCategory = "ThingDef",
       FileName = "RangedMechanoid.xml",
+
       FileName = "Plants_Special.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_Needle",
+
     defName = "BurnedTree",
     label = "needle gun",
+
     label = "burned tree",
     description = [[A long-range weapon used by mechanoids. Named after its needle-like projectiles, it fires single shots with great accuracy. While it does less damage than charge weapons, it can reach over very long distances.]],
+
     description = [[A burned tree stump. It's ugly and yields no usable wood.]],
     tradeability = "None",
+
     category = "Plant",
 +
    thingClass = "DeadPlant",
 +
    altitudeLayer = "Building",
 +
    useHitPoints = true,
 
     statBases = {
 
     statBases = {
       MarketValue = 1400,
+
       MaxHitPoints = 100,
       Mass = 2.6,
+
       Flammability = 0,
      AccuracyTouch = 0.60,
+
       DeteriorationRate = 4,
       AccuracyShort = 0.80,
+
       Beauty = -8,
      AccuracyMedium = 0.90,
 
      AccuracyLong = 0.85,
 
       RangedWeapon_Cooldown = 2.1,
 
 
     },
 
     },
     weaponTags = {
+
     fillPercent = 0.20,
      "MechanoidGunLongRange",
+
    pathCostIgnoreRepeat = false,
     },
+
    passability = "PassThroughOnly",
     verbs = {
+
     pathCost = 14,
       {
+
     plant = {
        defaultProjectile = "Bullet_NeedleGun",
+
       harvestWork = 180,
        warmupTime = 2.5,
+
      harvestYield = 0,
        range = 44.9,
+
      fertilityMin = 0.01,
       },
+
       fertilitySensitivity = 0,
    },
+
      blockAdjacentSow = true,
    tools = {
+
       harvestedThingDef = "WoodLog",
       {
+
      harvestFailable = false,
        label = "barrel",
+
      harvestTag = "Wood",
        capacities = {
+
      growDays = 30,
          "Blunt",
+
      growMinGlow = 0,
          "Poke",
+
       lifespanDaysPerGrowDays = 0,
        },
 
        power = 9,
 
        cooldownTime = 2.6,
 
       },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_NeedleGun"] = {
+
   ["ThingDef:Plant_Ambrosia"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "PlantBase",
       FileName = "RangedMechanoid.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Special.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_NeedleGun",
+
     defName = "Plant_Ambrosia",
     label = "needle shot",
+
     label = "ambrosia bush",
 +
    description = [[A rare wild bush which yields the ambrosia fruit. Ambrosia fruit is delicious and produces a drug-like mood boost. Ambrosia cannot be farmed, which makes wild ambrosia groves very valuable.\n\nIts rarity, beauty, and desirability are why ambrosia was named after the food of the ancient Greek gods.]],
 +
    statBases = {
 +
      MaxHitPoints = 100,
 +
      Nutrition = 0.35,
 +
    },
 +
    pathCost = 14,
 +
    plant = {
 +
      fertilitySensitivity = 0.15,
 +
      growDays = 6,
 +
      harvestYield = 4,
 +
      harvestTag = "Standard",
 +
      harvestedThingDef = "Ambrosia",
 +
    },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_Agave"] = {
 
     _ = {
 
     _ = {
       Name = "BaseWeaponNeolithic",
+
       ParentName = "PlantBase",
       Abstract = true,
+
       DefCategory = "ThingDef",
      ParentName = "BaseWeapon",
+
       FileName = "Plants_Wild_Arid.xml",
       FileName = "RangedNeolithic.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     weaponTags = {
+
     defName = "Plant_Agave",
       "Neolithic",
+
    label = "agave",
 +
    description = [[A large-leafed desert plant with edible flowers and stalks.]],
 +
    statBases = {
 +
       MaxHitPoints = 120,
 +
      Nutrition = 0.2,
 
     },
 
     },
     thingCategories = {
+
     fillPercent = 0.20,
      "WeaponsRanged",
+
     pathCost = 30,
     },
+
     plant = {
    comps = {
+
       fertilitySensitivity = 0.5,
      {
+
       growDays = 6,
        compClass = "CompQuality",
+
       harvestTag = "Standard",
      },
+
       harvestedThingDef = "RawAgave",
     },
+
       harvestYield = 10,
    recipeMaker = {
+
       harvestWork = 300,
       workSpeedStat = "GeneralLaborSpeed",
 
       workSkill = "Crafting",
 
       recipeUsers = {
 
        "ElectricSmithy",
 
        "FueledSmithy",
 
       },
 
      effectWorking = "Smelt",
 
       soundWorking = "Recipe_MakeBow",
 
       unfinishedThingDef = "UnfinishedWeapon",
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_PincushionCactus"] = {
 
     _ = {
 
     _ = {
       Name = "BaseProjectileNeolithic",
+
       ParentName = "PlantBase",
       Abstract = true,
+
       DefCategory = "ThingDef",
       FileName = "RangedNeolithic.xml",
+
       FileName = "Plants_Wild_Arid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     category = "Projectile",
+
     defName = "Plant_PincushionCactus",
     altitudeLayer = "Projectile",
+
     label = "pincushion cactus",
     thingClass = "Bullet",
+
     description = [[A short cactus. It is so named because it resembles a pincushion.]],
     label = "arrow",
+
    statBases = {
     useHitPoints = false,
+
      MaxHitPoints = 150,
 +
      Nutrition = 0.25,
 +
    },
 +
     pathCost = 30,
 +
     plant = {
 +
      fertilityMin = 0.05,
 +
      fertilitySensitivity = 0,
 +
      growDays = 2.5,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Bow_Short"] = {
+
   ["ThingDef:Plant_SaguaroCactus"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseWeaponNeolithic",
+
       ParentName = "TreeBase",
       FileName = "RangedNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Arid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bow_Short",
+
     defName = "Plant_SaguaroCactus",
     label = "short bow",
+
     label = "saguaro cactus",
     description = [[A simple short selfbow made from a single piece of wood.]],
+
     description = [[A large cactus native to arid Earth environments. Though it is not a tree, it yields a small amount of fibrous material that can be used like wood.]],
    costList = {
 
      WoodLog = 30,
 
    },
 
 
     statBases = {
 
     statBases = {
       WorkToMake = 2400,
+
       MaxHitPoints = 130,
       Mass = 0.8,
+
       Nutrition = 1.5,
      AccuracyTouch = 0.75,
 
      AccuracyShort = 0.65,
 
      AccuracyMedium = 0.45,
 
      AccuracyLong = 0.25,
 
      RangedWeapon_Cooldown = 1.65,
 
 
     },
 
     },
     weaponTags = {
+
     fillPercent = 0.35,
       "NeolithicRangedBasic",
+
    plant = {
 +
       lifespanDaysPerGrowDays = 40,
 +
      fertilityMin = 0.05,
 +
      fertilitySensitivity = 0,
 +
      growDays = 5,
 +
      harvestWork = 300,
 +
      harvestYield = 15,
 +
      harvestMinGrowth = 0.2,
 
     },
 
     },
     recipeMaker = {
+
  },
       recipeUsers = {
+
 
        "CraftingSpot",
+
  ["ThingDef:Plant_TreeDrago"] = {
       },
+
     _ = {
       skillRequirements = {
+
       ParentName = "TreeBase",
        Crafting = 2,
+
       DefCategory = "ThingDef",
       },
+
       FileName = "Plants_Wild_Arid.xml",
 +
       DLC = "Core",
 
     },
 
     },
     verbs = {
+
     defName = "Plant_TreeDrago",
      {
+
    label = "drago tree",
        defaultProjectile = "Arrow_Short",
+
    description = [[A hardy desert tree topped with thick, pointed leaves.]],
        warmupTime = 1.35,
+
    statBases = {
        range = 22.9,
+
      Beauty = 1,
       },
+
       Nutrition = 1,
 
     },
 
     },
     tools = {
+
     plant = {
       {
+
       growDays = 15,
        label = "limb",
+
      harvestWork = 750,
        capacities = {
+
      harvestYield = 25,
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Arrow_Short"] = {
+
   ["ThingDef:Plant_Grass"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseProjectileNeolithic",
+
       ParentName = "PlantBase",
       FileName = "RangedNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_General.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Arrow_Short",
+
     defName = "Plant_Grass",
     label = "shortbow arrow",
+
     label = "grass",
 +
    description = [[Wild grass. Grows anywhere there is a little light and minimally fertile ground.]],
 +
    statBases = {
 +
      MaxHitPoints = 85,
 +
      Flammability = 1.3,
 +
      Nutrition = 0.25,
 +
    },
 +
    plant = {
 +
      fertilityMin = 0.05,
 +
      fertilitySensitivity = 0.3,
 +
      growDays = 2.5,
 +
      harvestWork = 40,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Pila"] = {
+
   ["ThingDef:Plant_TallGrass"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseWeaponNeolithic",
+
       ParentName = "PlantBase",
       FileName = "RangedNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_General.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Pila",
+
     defName = "Plant_TallGrass",
     label = "pila",
+
     label = "tall grass",
     description = [[Pila are spears for throwing. They take a long time to throw, but one hit can do heavy damage. This weapon represents a bundle of pila and can be thrown over and over. The singular of pila is pilum.]],
+
     description = [[Wild tall grass. Slows down anyone moving over it.]],
    costList = {
 
      WoodLog = 70,
 
    },
 
 
     statBases = {
 
     statBases = {
       WorkToMake = 7000,
+
       MaxHitPoints = 90,
       Mass = 4,
+
       Flammability = 1.3,
      AccuracyTouch = 0.50,
+
       Nutrition = 0.30,
       AccuracyShort = 0.71,
 
      AccuracyMedium = 0.50,
 
      AccuracyLong = 0.32,
 
      RangedWeapon_Cooldown = 4,
 
 
     },
 
     },
     weaponTags = {
+
     pathCost = 14,
      "NeolithicRangedHeavy",
+
     plant = {
    },
+
       fertilitySensitivity = 0.7,
    recipeMaker = {
+
       growDays = 3,
      skillRequirements = {
+
       harvestWork = 60,
        Crafting = 3,
 
      },
 
     },
 
    verbs = {
 
       {
 
        defaultProjectile = "Pilum_Thrown",
 
        warmupTime = 4,
 
        range = 18.9,
 
       },
 
    },
 
    tools = {
 
      {
 
        label = "shaft",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
       },
 
      {
 
        label = "point",
 
        capacities = {
 
          "Stab",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Pilum_Thrown"] = {
+
   ["ThingDef:Plant_Bush"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseProjectileNeolithic",
+
       ParentName = "BushBase",
       FileName = "RangedNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_General.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Pilum_Thrown",
+
     defName = "Plant_Bush",
     label = "pilum",
+
     label = "bush",
 +
    description = [[A short shrub. Does not typically talk.]],
 +
    plant = {
 +
      growDays = 3,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Bow_Recurve"] = {
+
   ["ThingDef:Plant_Brambles"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseWeaponNeolithic",
+
       ParentName = "PlantBase",
       FileName = "RangedNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_General.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bow_Recurve",
+
     defName = "Plant_Brambles",
     label = "recurve bow",
+
     label = "brambles",
     description = [[A recurve bow. Its construction behaves like a tuned spring, storing energy more efficiently and delivering a faster shot.]],
+
     description = [[Tangled, thorny, woody shoots covered with leaves. Brambles grow in clusters, and slow down anyone moving over them.]],
    costList = {
 
      WoodLog = 40,
 
    },
 
 
     statBases = {
 
     statBases = {
       WorkToMake = 5000,
+
       MaxHitPoints = 100,
       Mass = 1.3,
+
       Nutrition = 0.2,
      AccuracyTouch = 0.70,
 
      AccuracyShort = 0.78,
 
      AccuracyMedium = 0.65,
 
      AccuracyLong = 0.35,
 
      RangedWeapon_Cooldown = 1.65,
 
 
     },
 
     },
     weaponTags = {
+
     pathCost = 14,
      "NeolithicRangedDecent",
+
     plant = {
    },
+
       fertilitySensitivity = 0.7,
     recipeMaker = {
+
       growDays = 3,
       recipeUsers = {
+
       harvestWork = 60,
        "CraftingSpot",
 
       },
 
      researchPrerequisite = "RecurveBow",
 
       skillRequirements = {
 
        Crafting = 5,
 
      },
 
    },
 
    verbs = {
 
      {
 
        defaultProjectile = "Arrow_Recurve",
 
        warmupTime = 1.45,
 
        range = 25.9,
 
      },
 
    },
 
    tools = {
 
      {
 
        label = "limb",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Arrow_Recurve"] = {
+
   ["ThingDef:Plant_HealrootWild"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseProjectileNeolithic",
+
       ParentName = "HealrootBase",
       FileName = "RangedNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_General.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Arrow_Recurve",
+
     defName = "Plant_HealrootWild",
     label = "recurve bow arrow",
+
     label = "wild healroot",
 +
    description = [[A slow-growing plant which yields herbal medicine when harvested.\n\nThis wild breed of healroot is hardier than domesticated healroot, but too difficult to cultivate. It is prized by tribespeople in colder climates.]],
 
   },
 
   },
  
   ["ThingDef:Bow_Great"] = {
+
   ["ThingDef:Plant_TreeWillow"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseWeaponNeolithic",
+
       ParentName = "DeciduousTreeBase",
       FileName = "RangedNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Swamp.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bow_Great",
+
     defName = "Plant_TreeWillow",
     label = "greatbow",
+
     label = "willow tree",
     description = [[A powerful greatbow. Fires a heavy arrow long distances.]],
+
     description = [[One of the fastest growing shade trees, willows provide a beautiful, leafy canopy. It doesn't yield much usable wood.]],
    costList = {
 
      WoodLog = 60,
 
    },
 
 
     statBases = {
 
     statBases = {
       WorkToMake = 9000,
+
       Beauty = 2,
      Mass = 3.0,
 
      AccuracyTouch = 0.65,
 
      AccuracyShort = 0.85,
 
      AccuracyMedium = 0.75,
 
      AccuracyLong = 0.50,
 
      RangedWeapon_Cooldown = 1.5,
 
 
     },
 
     },
     weaponTags = {
+
     plant = {
       "NeolithicRangedHeavy",
+
       growDays = 13,
       "NeolithicRangedChief",
+
      harvestWork = 800,
 +
       harvestYield = 27,
 
     },
 
     },
     verbs = {
+
  },
       {
+
 
        defaultProjectile = "Arrow_Great",
+
  ["ThingDef:Plant_TreeCypress"] = {
        warmupTime = 2.0,
+
     _ = {
        range = 29.9,
+
       ParentName = "DeciduousTreeBase",
       },
+
      DefCategory = "ThingDef",
 +
      FileName = "Plants_Wild_Swamp.xml",
 +
       DLC = "Core",
 
     },
 
     },
     tools = {
+
     defName = "Plant_TreeCypress",
      {
+
    label = "cypress tree",
        label = "limb",
+
    description = [[A tall coniferous tree often found in swamps. Despite its slow growth, planting these trees can be profitable as a low-effort, long-term investment because they yield so much usable wood.]],
        capacities = {
+
    statBases = {
          "Blunt",
+
       Beauty = 1,
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
       },
 
 
     },
 
     },
     recipeMaker = {
+
     plant = {
       recipeUsers = {
+
       growDays = 35,
        "CraftingSpot",
+
       harvestWork = 1800,
      },
+
       harvestYield = 60,
       researchPrerequisite = "Greatbow",
 
       skillRequirements = {
 
        Crafting = 6,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Arrow_Great"] = {
+
   ["ThingDef:Plant_TreeMaple"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseProjectileNeolithic",
+
       ParentName = "DeciduousTreeBase",
       FileName = "RangedNeolithic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Swamp.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Arrow_Great",
+
     defName = "Plant_TreeMaple",
     label = "greatbow arrow",
+
     label = "maple tree",
 +
    description = [[A common medium-sized tree, easily identifiable by its distinct three-pointed leaf.]],
 +
    statBases = {
 +
      Beauty = 2,
 +
    },
 +
    plant = {
 +
      growDays = 27,
 +
      harvestWork = 800,
 +
      harvestYield = 27,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Gun_ChargeRifle"] = {
+
   ["ThingDef:Plant_Chokevine"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "PlantBase",
       FileName = "RangedSpacer.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Swamp.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_ChargeRifle",
+
     defName = "Plant_Chokevine",
     label = "charge rifle",
+
     label = "chokevine",
     description = [[A charged-shot assault rifle. Pulse-charge technology charges each shot with unstable energy as it leaves the barrel. Released on impact, the charged energy greatly increases the damage done.]],
+
     description = [[Tangled masses of cord-like, spiky vines which coil in great masses along the ground. Chokevine greatky slows down anyone who moves over it. Multiple tribes have independently generated stories of chokevine strangling children to death in the night, as a way to scare kids into coming home before dark.]],
 
     statBases = {
 
     statBases = {
       WorkToMake = 45000,
+
       MaxHitPoints = 100,
       Mass = 4.6,
+
       Nutrition = 0.25,
      AccuracyTouch = 0.55,
 
      AccuracyShort = 0.64,
 
      AccuracyMedium = 0.55,
 
      AccuracyLong = 0.45,
 
      RangedWeapon_Cooldown = 2.00,
 
 
     },
 
     },
     recipeMaker = {
+
     pathCost = 42,
      researchPrerequisite = "ChargedShot",
+
    plant = {
      skillRequirements = {
+
      fertilitySensitivity = 0.7,
        Crafting = 7,
+
       growDays = 5,
       },
+
       harvestWork = 150,
       recipeUsers = {
 
        _ = {
 
          Inherit = false,
 
        },
 
        "FabricationBench",
 
      },
 
 
     },
 
     },
     costList = {
+
  },
       Plasteel = 50,
+
 
       ComponentSpacer = 2,
+
  ["ThingDef:Plant_Dandelion"] = {
 +
     _ = {
 +
       ParentName = "PlantBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Plants_Wild_Temperate.xml",
 +
       DLC = "Core",
 
     },
 
     },
     weaponTags = {
+
     defName = "Plant_Dandelion",
       "SpacerGun",
+
    label = "dandelions",
 +
    description = [[A tiny yellow flower which grows in large clusters. Though it is often considered a weed, dandelions in bloom are quite beautiful.]],
 +
    statBases = {
 +
       MaxHitPoints = 85,
 +
      Beauty = 4,
 +
      Nutrition = 0.18,
 
     },
 
     },
     verbs = {
+
     plant = {
       {
+
       fertilitySensitivity = 0.0,
        defaultProjectile = "Bullet_ChargeRifle",
+
      growDays = 2.5,
        warmupTime = 1.0,
+
       sowTags = {
        range = 25.9,
+
         "Ground",
        ticksBetweenBurstShots = 12,
 
        burstShotCount = 3,
 
       },
 
    },
 
    tools = {
 
      {
 
         label = "stock",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
      {
 
        label = "barrel",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
 
       },
 
       },
 +
      fertilityMin = 0.05,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_ChargeRifle"] = {
+
   ["ThingDef:Plant_Astragalus"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "PlantBase",
       FileName = "RangedSpacer.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_ChargeRifle",
+
     defName = "Plant_Astragalus",
     label = "charge shot",
+
     label = "astragalus",
 +
    description = [[A small perennial wildflower that grows in alpine climates.]],
 +
    statBases = {
 +
      MaxHitPoints = 85,
 +
      Beauty = 4,
 +
      Nutrition = 0.18,
 +
    },
 +
    plant = {
 +
      fertilityMin = 0.05,
 +
      fertilitySensitivity = 0,
 +
      growDays = 2.5,
 +
    },
 
   },
 
   },
  
   ["ThingDef:Gun_ChargeLance"] = {
+
   ["ThingDef:Plant_Moss"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseHumanMakeableGun",
+
       ParentName = "PlantBase",
       FileName = "RangedSpacer.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gun_ChargeLance",
+
     defName = "Plant_Moss",
     label = "charge lance",
+
     label = "moss",
     description = [[A pulse-charged rail-assisted lance weapon. It fires a single shot at high velocity, charging it with unstable energy as it leaves the acceleration rail.]],
+
     description = [[Wild moss that grows in clumps in areas of low light and cool temperatures. Moss takes a long time to grow, but is very frost-resistant.]],
 
     statBases = {
 
     statBases = {
       Mass = 8,
+
       MaxHitPoints = 120,
       AccuracyTouch = 0.65,
+
       Flammability = 0.6,
       AccuracyShort = 0.85,
+
       Nutrition = 0.15,
      AccuracyMedium = 0.85,
 
      AccuracyLong = 0.75,
 
      RangedWeapon_Cooldown = 2.7,
 
      WorkToMake = 60000,
 
 
     },
 
     },
     recipeMaker = {
+
     plant = {
       researchPrerequisite = "ChargedShot",
+
       fertilityMin = 0.05,
       skillRequirements = {
+
       fertilitySensitivity = 0,
        Crafting = 9,
+
       growDays = 15,
      },
+
       harvestWork = 60,
       recipeUsers = {
 
        _ = {
 
          Inherit = false,
 
        },
 
        "FabricationBench",
 
       },
 
    },
 
    costList = {
 
      Plasteel = 60,
 
      ComponentSpacer = 3,
 
    },
 
    weaponTags = {
 
      "MechanoidGunMedium",
 
      "SpacerGun",
 
    },
 
    verbs = {
 
      {
 
        defaultProjectile = "Bullet_ChargeLance",
 
        warmupTime = 1.7,
 
        range = 29.9,
 
      },
 
    },
 
    tools = {
 
      {
 
        label = "barrel",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_ChargeLance"] = {
+
   ["ThingDef:Plant_Berry"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
       ParentName = "PlantBase",
       FileName = "RangedSpacer.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bullet_ChargeLance",
+
     defName = "Plant_Berry",
     label = "charge lance shot",
+
     label = "berry bush",
 +
    description = [[A bushy wild plant which yields delicious berries. Berries can be cooked, but they're also good to eat even when raw.]],
 +
    statBases = {
 +
      MaxHitPoints = 120,
 +
      Nutrition = 0.35,
 +
    },
 +
    fillPercent = 0.20,
 +
    pathCost = 30,
 +
    plant = {
 +
      fertilityMin = 0.5,
 +
      fertilitySensitivity = 0.5,
 +
      growDays = 6,
 +
      harvestYield = 10,
 +
      harvestWork = 250,
 +
      harvestTag = "Standard",
 +
      harvestedThingDef = "RawBerries",
 +
    },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_TreeOak"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseWeapon",
+
       ParentName = "DeciduousTreeBase",
       Name = "OrbitalWeaponBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Plants_Wild_Temperate.xml",
       FileName = "RangedSpecial.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingCategories = {
+
     defName = "Plant_TreeOak",
      "WeaponsRanged",
+
    label = "oak tree",
     },
+
     description = [[A hardwood tree. Oaks take a long time to grow, but their wood is so strong that 'oak' is used as a metaphor for strength across many cultures.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 1200,
+
       Beauty = 2,
      Mass = 0.2,
 
      Beauty = -3,
 
      Flammability = 0.5,
 
 
     },
 
     },
     tradeability = "Sellable",
+
     plant = {
    tradeTags = {
+
      growDays = 30,
       "ExoticMisc",
+
      harvestWork = 1400,
 +
       harvestYield = 46,
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_TreePoplar"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelNoQualityBase",
+
       ParentName = "DeciduousTreeBase",
       Name = "OrbitalUtilityBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Plants_Wild_Temperate.xml",
       FileName = "RangedSpecial.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingCategories = {
+
     defName = "Plant_TreePoplar",
      "ApparelUtility",
+
    label = "poplar tree",
     },
+
     description = [[A softwood tree that grows very fast. Unfortunately, its wood is weak and so it yields less useful material than hardwood trees.]],
 
     statBases = {
 
     statBases = {
      MarketValue = 1200,
+
       Beauty = 1,
      Mass = 0.2,
+
       Nutrition = 1,
       Beauty = -3,
 
       Flammability = 0.5,
 
 
     },
 
     },
     tradeability = "Sellable",
+
     plant = {
    tradeTags = {
+
      growDays = 15.05,
       "ExoticMisc",
+
      harvestWork = 800,
 +
       harvestYield = 27,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:OrbitalTargeterBombardment"] = {
+
   ["ThingDef:Plant_TreePine"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrbitalUtilityBase",
+
       ParentName = "TreeBase",
       FileName = "RangedSpecial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "OrbitalTargeterBombardment",
+
     defName = "Plant_TreePine",
     label = "orbital bombardment targeter",
+
     label = "pine tree",
     description = [[An ancient targeting apparatus for an orbital bombardment system. This unit designates a target and transmits the coordinates to a network of satellites, which then bombard the target area with kinetic impactors. This unit has been reprogrammed to accept unauthorized users, but once it is used, the network will detect the incursion and cut off the link permanently.]],
+
     description = [[A large conifer covered with prickly pine cones. It grows in a distinctive conical shape.]],
     verbs = {
+
     statBases = {
       {
+
       Beauty = 2,
        warmupTime = 3,
+
      Nutrition = 1.25,
        range = 44.9,
 
        burstShotCount = 1,
 
        onlyManualCast = true,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
      },
 
 
     },
 
     },
     comps = {
+
     plant = {
       CompProperties_Reloadable = {
+
       growDays = 20,
        maxCharges = 1,
+
      harvestWork = 800,
        destroyOnEmpty = true,
+
      harvestYield = 27,
        hotKey = "Misc4",
 
        chargeNoun = "charge",
 
        displayGizmoWhileUndrafted = false,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:OrbitalTargeterPowerBeam"] = {
+
   ["ThingDef:Plant_TreeBirch"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrbitalUtilityBase",
+
       ParentName = "DeciduousTreeBase",
       FileName = "RangedSpecial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "OrbitalTargeterPowerBeam",
+
     defName = "Plant_TreeBirch",
     label = "orbital power beam targeter",
+
     label = "birch tree",
     description = [[An ancient targeting unit for a network of power-collection satellites. Once aimed at a target, it directs ancient satellites to begin beaming power down in a massive column of electromagnetic energy. This power can safely be collected in a giant absorption dish. Since you have no absorption dish, you'll be aiming it at enemies, at which point the power column will turn the area into a thousand-degree inferno. This will last until the satellites detect the unsafe targeting, shut themselves down, and permanently deactivate the targeter.]],
+
     description = [[A temperate-biome tree known for its thin, white, paper-like bark.]],
     verbs = {
+
     statBases = {
       {
+
       Beauty = 2,
        warmupTime = 3,
+
      Nutrition = 1.25,
        range = 44.9,
 
        burstShotCount = 1,
 
        onlyManualCast = true,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
      },
 
 
     },
 
     },
     comps = {
+
     plant = {
       CompProperties_Reloadable = {
+
       growDays = 20,
        maxCharges = 1,
+
      harvestWork = 800,
        destroyOnEmpty = true,
+
      harvestYield = 27,
        hotKey = "Misc4",
 
        chargeNoun = "charge",
 
        displayGizmoWhileUndrafted = false,
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:TornadoGenerator"] = {
+
   ["ThingDef:Plant_ShrubLow"] = {
 
     _ = {
 
     _ = {
       ParentName = "OrbitalUtilityBase",
+
       ParentName = "PlantBase",
       FileName = "RangedSpecial.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Tropical.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "TornadoGenerator",
+
     defName = "Plant_ShrubLow",
     label = "tornado generator",
+
     label = "low shrubs",
     description = [[An ancient control unit for a network of weather-control satellites. This device has had certain failsafes bypassed; it is capable of causing a massive air current disturbance, which will generate a tornado at a chosen location. The weather network will detect this unauthorized intrusion and lock out the device after use, but the tornado will be left to spend its energy normally.]],
+
     description = [[Various low broadleaf shrubs. These grow in clusters and slow down movement.]],
 
     statBases = {
 
     statBases = {
       MarketValue = 800,
+
       MaxHitPoints = 90,
 +
      Nutrition = 0.2,
 
     },
 
     },
     verbs = {
+
     pathCost = 14,
      {
+
    plant = {
        warmupTime = 3,
+
      fertilitySensitivity = 0.7,
        spawnDef = "Tornado",
+
      growDays = 3,
        colonyWideTaleDef = "TornadoFromItem",
+
      harvestWork = 60,
        range = 44.9,
 
        burstShotCount = 1,
 
        onlyManualCast = true,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
      },
 
 
     },
 
     },
    comps = {
+
  },
      CompProperties_Reloadable = {
+
 
        maxCharges = 1,
+
  ["ThingDef:Plant_Alocasia"] = {
        destroyOnEmpty = true,
+
    _ = {
        hotKey = "Misc4",
+
      ParentName = "BushBase",
        chargeNoun = "charge",
+
      DefCategory = "ThingDef",
        displayGizmoWhileUndrafted = false,
+
      FileName = "Plants_Wild_Tropical.xml",
      },
+
      DLC = "Core",
 
     },
 
     },
 +
    defName = "Plant_Alocasia",
 +
    label = "alocasia",
 +
    description = [[A tropical plant. Its extremely broad leaves are a commonly-recognized signifier of tropical forests.]],
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_Clivia"] = {
 
     _ = {
 
     _ = {
       Name = "PlantBaseNonEdible",
+
       ParentName = "BushBase",
       Abstract = true,
+
       DefCategory = "ThingDef",
       FileName = "Plants_Bases.xml",
+
       FileName = "Plants_Wild_Tropical.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     category = "Plant",
+
     defName = "Plant_Clivia",
     thingClass = "Plant",
+
     label = "clivia",
     altitudeLayer = "LowPlant",
+
     description = [[An unusual plant with tall, pretty flowers. Some call it the 'bush lily'.]],
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
       Flammability = 1,
+
       Beauty = 2,
    },
 
    pathCostIgnoreRepeat = false,
 
    plant = {
 
      fertilityMin = 0.7,
 
      fertilitySensitivity = 1.0,
 
      sowWork = 170,
 
      harvestWork = 200,
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_Rafflesia"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBaseNonEdible",
+
       ParentName = "BushBase",
       Name = "PlantBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Plants_Wild_Tropical.xml",
       FileName = "Plants_Bases.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     ingestible = {
+
     defName = "Plant_Rafflesia",
      foodType = "Plant",
+
    label = "giant rafflesia",
       preferability = "RawBad",
+
    description = [[A rare, giant flower which can be found deep in steaming jungles. You would think a giant flower would be beautiful, but this one looks and smells like rotting flesh.]],
 +
    statBases = {
 +
       Beauty = -6,
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_TreeTeak"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "DeciduousTreeBase",
       Name = "BushBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Plants_Wild_Tropical.xml",
       FileName = "Plants_Bases.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "Plant_TreeTeak",
 +
    label = "teak tree",
 +
    description = [[An exceptionally strong hardwood tree that grows in warm climates. Because teak wood is so durable and water-resistant, it was used to form the keel of wooden sailing ships in ancient times.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 120,
+
       Beauty = 2,
      Nutrition = 0.3,
 
 
     },
 
     },
    fillPercent = 0.20,
 
    pathCost = 30,
 
 
     plant = {
 
     plant = {
       fertilitySensitivity = 0.5,
+
       growDays = 32.5,
       growDays = 3,
+
       harvestWork = 1800,
 +
      harvestYield = 60,
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_TreeCecropia"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "TreeBase",
       Name = "TreeBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Plants_Wild_Tropical.xml",
       FileName = "Plants_Bases.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "Plant_TreeCecropia",
 +
    label = "cecropia tree",
 +
    description = [[One of the most common rainforest trees. Cecropia grows very fast, but yields little usable wood.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 200,
+
       Beauty = 1,
      Flammability = 0.8,
+
       Nutrition = 1.2,
       Nutrition = 1.7,
 
    },
 
    altitudeLayer = "Building",
 
    fillPercent = 0.25,
 
    passability = "PassThroughOnly",
 
    pathCost = 42,
 
    ingestible = {
 
      foodType = "Tree",
 
      preferability = "RawBad",
 
 
     },
 
     },
 
     plant = {
 
     plant = {
       lifespanDaysPerGrowDays = 9,
+
       growDays = 14,
      fertilitySensitivity = 0.5,
+
       harvestWork = 600,
      sowWork = 4000,
+
       harvestYield = 18,
      sowMinSkill = 6,
 
      sowResearchPrerequisites = {
 
        "TreeSowing",
 
      },
 
       harvestWork = 800,
 
      harvestedThingDef = "WoodLog",
 
       harvestYield = 25,
 
      harvestTag = "Wood",
 
      harvestMinGrowth = 0.40,
 
      harvestFailable = false,
 
      blockAdjacentSow = true,
 
      sowTags = {
 
        "Ground",
 
      },
 
      interferesWithRoof = true,
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Plant_TreePalm"] = {
 
     _ = {
 
     _ = {
       Name = "CavePlantBase",
+
       ParentName = "TreeBase",
       ParentName = "PlantBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Plants_Wild_Tropical.xml",
       FileName = "Plants_Cave.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 +
    },
 +
    defName = "Plant_TreePalm",
 +
    label = "palm tree",
 +
    description = [[A tropical tree with a tall, naked trunk topped by a cluster of very broad leaves. Unfortunately, this variety doesn't produce any edible coconuts.]],
 +
    statBases = {
 +
      Beauty = 1,
 +
      Nutrition = 1.2,
 
     },
 
     },
 
     plant = {
 
     plant = {
       growMinGlow = 0,
+
       growDays = 14,
       growOptimalGlow = 0,
+
       harvestWork = 600,
       cavePlant = true,
+
       harvestYield = 18,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Glowstool"] = {
+
   ["ThingDef:Plant_TreeBamboo"] = {
 
     _ = {
 
     _ = {
       ParentName = "CavePlantBase",
+
       ParentName = "TreeBase",
       FileName = "Plants_Cave.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Plants_Wild_Tropical.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Glowstool",
+
     defName = "Plant_TreeBamboo",
     label = "glowstool",
+
     label = "bamboo tree",
     description = [[A small brown mushroom typically found in caves. It smells like an old, dirty rag pulled from the stomach of a rotting muffalo - but it tastes surprisingly good when cooked. Dies when exposed to light.]],
+
     description = [[A fast-growing tree-like plant that grows in dense groves. Bamboo can be harvested for a wood-like material. The plant itself is not beautiful.]],
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 100,
+
       Nutrition = 1.2,
      Beauty = 2,
 
       Nutrition = 0.35,
 
 
     },
 
     },
    pathCost = 14,
 
 
     plant = {
 
     plant = {
       fertilityMin = 0.01,
+
       growDays = 12,
       fertilitySensitivity = 0.15,
+
       harvestWork = 550,
      growDays = 40,
+
       harvestYield = 10,
       harvestYield = 20,
 
      harvestTag = "Standard",
 
      harvestedThingDef = "RawFungus",
 
 
     },
 
     },
    comps = {
+
   },
      CompProperties_Glower = {
+
 
        glowRadius = 10,
+
   ["ThingDef:Muffalo"] = {
        glowColor = {5, 25, 32, 0},
 
      },
 
    },
 
   },
 
 
 
   ["ThingDef:Agarilux"] = {
 
 
     _ = {
 
     _ = {
       ParentName = "CavePlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Cave.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Arid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Agarilux",
+
     defName = "Muffalo",
     label = "agarilux",
+
     label = "muffalo",
     description = [[An enormous purple mushroom. Its size and glowing protrusions make this fungus beautiful to look at. It dies when exposed to light.]],
+
     description = [[A large herding herbivore descended from buffalo and adapted for both cold and warm environments. While enraged muffalo are deadly, tamed muffalo are quite docile and can be used as pack animals.\n\nNobody is quite sure why they're blue - it might even be some early genetic modification test that just never got changed.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 150,
+
       MoveSpeed = 4.5,
       Beauty = 4,
+
      MarketValue = 300,
       Nutrition = 0.5,
+
       ComfyTemperatureMin = -55,
 +
       ComfyTemperatureMax = 45,
 
     },
 
     },
     pathCost = 30,
+
     tools = {
    plant = {
+
      {
      fertilityMin = 0.01,
+
        label = "head",
       fertilitySensitivity = 0.15,
+
        capacities = {
       growDays = 60,
+
          "Blunt",
       harvestYield = 35,
+
        },
       harvestTag = "Standard",
+
        power = 13,
      harvestedThingDef = "RawFungus",
+
        cooldownTime = 2.6,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
       },
 +
      {
 +
        label = "left hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 10,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftLeg",
 +
      },
 +
       {
 +
        label = "right hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 10,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontRightLeg",
 +
       },
 +
       {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 10,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.5,
 +
      },
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Glower = {
+
       CompProperties_Shearable = {
         glowRadius = 10,
+
         woolDef = "WoolMuffalo",
         glowColor = {23, 15, 30, 0},
+
         shearIntervalDays = 25,
 +
        woolAmount = 100,
 
       },
 
       },
 
     },
 
     },
  },
+
    race = {
 
+
      herdAnimal = true,
  ["ThingDef:Bryolux"] = {
+
      baseBodySize = 2.1,
    _ = {
+
      foodType = {
       ParentName = "CavePlantBase",
+
        "VegetarianRoughAnimal",
       FileName = "Plants_Cave.xml",
+
      },
       DLC = "Core",
+
       leatherDef = "Leather_Bluefur",
    },
+
       gestationPeriodDays = 28,
    defName = "Bryolux",
+
      wildness = 0.6,
    label = "bryolux",
+
       trainability = "Simple",
    description = [[A blue moss typically found in deep, dark caves. It is sticky, with tangled fibers, which slows anyone walking over it. Dies when exposed to light.]],
+
      lifeExpectancy = 15,
    statBases = {
+
      lifeStageAges = {
      MaxHitPoints = 100,
+
        {
      Beauty = 1,
+
          def = "AnimalBaby",
       Nutrition = 0.15,
+
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.25,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.5,
 +
        },
 +
       },
 
     },
 
     },
     pathCost = 30,
+
     tradeTags = {
    plant = {
+
       "AnimalCommon",
       fertilityMin = 0.01,
+
       "AnimalFarm",
      fertilitySensitivity = 0.15,
 
      growDays = 60,
 
    },
 
    comps = {
 
      CompProperties_Glower = {
 
        glowRadius = 10,
 
        glowColor = {5, 5, 25, 0},
 
       },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Rose"] = {
+
   ["ThingDef:Gazelle"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Cultivated_Decorative.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Arid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Rose",
+
     defName = "Gazelle",
     label = "rose",
+
     label = "gazelle",
     description = [[A beautiful cultivated flower, the rose has been a symbol of love since Earth's ancient era.]],
+
     description = [[A small, extremely quick antelope known for its amazingly long leap.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       MoveSpeed = 6.0,
       Beauty = 14,
+
       ComfyTemperatureMin = -10,
       Nutrition = 0.05,
+
       MarketValue = 150,
 
     },
 
     },
     altitudeLayer = "Item",
+
     tools = {
    ingestible = {
+
      {
       canAutoSelectAsFoodForCaravan = false,
+
        label = "left hoof",
    },
+
        capacities = {
    plant = {
+
          "Blunt",
      harvestTag = "Standard",
+
          "Poke",
       sowWork = 750,
+
        },
      sowTags = {
+
        power = 5.5,
        "Ground",
+
        cooldownTime = 1.5,
         "Decorative",
+
        linkedBodyPartsGroup = "FrontLeftLeg",
 +
      },
 +
       {
 +
        label = "right hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 5.5,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "FrontRightLeg",
 +
      },
 +
      {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 7,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
      },
 +
       {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
         },
 +
        power = 7,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 
       },
 
       },
      growMinGlow = 0.3,
 
      growDays = 1.5,
 
      lifespanDaysPerGrowDays = 5,
 
    },
 
  },
 
 
  ["ThingDef:Plant_Daylily"] = {
 
    _ = {
 
      ParentName = "PlantBase",
 
      FileName = "Plants_Cultivated_Decorative.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Plant_Daylily",
 
    label = "daylily",
 
    description = [[A cultivated flower with wide petals and a short lifespan. Daylilies are very beautiful, but must be replanted often.]],
 
    statBases = {
 
      MaxHitPoints = 85,
 
      Beauty = 18,
 
      Nutrition = 0.05,
 
 
     },
 
     },
     altitudeLayer = "Item",
+
     race = {
    ingestible = {
+
      herdAnimal = true,
       canAutoSelectAsFoodForCaravan = false,
+
      baseBodySize = 0.7,
 +
      foodType = {
 +
        "VegetarianRoughAnimal",
 +
      },
 +
      leatherDef = "Leather_Plain",
 +
      wildness = 0.75,
 +
      gestationPeriodDays = 22,
 +
      lifeExpectancy = 12,
 +
      manhunterOnTameFailChance = 0,
 +
      manhunterOnDamageChance = 0,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.20,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.4,
 +
        },
 +
       },
 
     },
 
     },
     plant = {
+
     tradeTags = {
       harvestTag = "Standard",
+
       "AnimalCommon",
      sowWork = 540,
 
      sowTags = {
 
        "Ground",
 
        "Decorative",
 
      },
 
      growMinGlow = 0.3,
 
      growDays = 1.5,
 
      lifespanDaysPerGrowDays = 3,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Rice"] = {
+
   ["ThingDef:Iguana"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Cultivated_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Arid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Rice",
+
     defName = "Iguana",
     label = "rice plant",
+
     label = "iguana",
     description = [[A short, fast-growing crop that yields small edible grains. Its great nutritional ouput and ease of cultivation has made it the economic core of many great civilizations. While rice grows quickly, it is sensitive to soil fertility and will not fare well in poor soil.]],
+
     description = [[These large lizards normally feed on plant matter. However, when angered, their tough hide and sharp claws make them quite dangerous.\n\nResting iguanas hold their heads high, giving them an amusing 'proud' look. But they're not proud; they're just trying to see predators so they don't get eaten.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       MoveSpeed = 3.0,
       Nutrition = 0.18,
+
      MarketValue = 100,
 +
       ComfyTemperatureMin = 0,
 +
      ComfyTemperatureMax = 60,
 
     },
 
     },
     pathCost = 14,
+
     tools = {
    plant = {
+
      {
      harvestTag = "Standard",
+
        label = "left claw",
      harvestedThingDef = "RawRice",
+
        capacities = {
      harvestYield = 6,
+
          "Scratch",
      sowTags = {
+
        },
         "Ground",
+
        power = 8,
         "Hydroponic",
+
         cooldownTime = 2,
 +
         linkedBodyPartsGroup = "FrontLeftClaws",
 
       },
 
       },
       growDays = 3,
+
       {
 +
        label = "right claw",
 +
        capacities = {
 +
          "Scratch",
 +
        },
 +
        power = 8,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontRightClaws",
 +
      },
 +
      {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 10,
 +
        cooldownTime = 2.6,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 5,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_EggLayer = {
 +
        eggFertilizedDef = "EggIguanaFertilized",
 +
        eggFertilizationCountMax = 1,
 +
        eggLayIntervalDays = 15,
 +
        eggProgressUnfertilizedMax = 0.5,
 +
        eggCountRange = { ["<"]=1, [">"]=2 },
 +
      },
 +
    },
 +
    race = {
 +
      baseBodySize = 0.20,
 +
      foodType = {
 +
        "OmnivoreRoughAnimal",
 +
      },
 +
      leatherDef = "Leather_Lizard",
 +
      wildness = 0.5,
 +
      trainability = "None",
 +
      petness = 0.15,
 +
      lifeExpectancy = 12,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.09,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.25,
 +
        },
 +
      },
 +
    },
 +
    tradeTags = {
 +
      "AnimalUncommon",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Potato"] = {
+
   ["ThingDef:Dromedary"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Cultivated_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Arid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Potato",
+
     defName = "Dromedary",
     label = "potato plant",
+
     label = "dromedary",
     description = [[A highly nutritious tuber. Potatoes grow well even in somewhat poor soil, and form a delicious crispy outer coating when fried in oil.]],
+
     description = [[A large land mammal adapted to arid environments. Domesticated since ancient times, its wool and leather are both exceptionally good at insulating against the desert heat, and its milk is quite nourishing. It can be used as a pack animal, but its bouncing gait makes it too uncomfortable to ride for any distance.\n\nBy storing water in its large humps and reclaiming moisture from its breath as it exhales, it can go weeks without drinking.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       MoveSpeed = 4.3,
       Nutrition = 0.2,
+
      MarketValue = 300,
 +
       ComfyTemperatureMin = -22,
 +
      ComfyTemperatureMax = 60,
 
     },
 
     },
     pathCost = 14,
+
     comps = {
    plant = {
+
       CompProperties_Milkable = {
       fertilitySensitivity = 0.4,
+
        milkDef = "Milk",
      harvestTag = "Standard",
+
        milkIntervalDays = 2,
      harvestedThingDef = "RawPotatoes",
+
        milkAmount = 12,
      harvestYield = 11,
 
      sowTags = {
 
        "Ground",
 
        "Hydroponic",
 
 
       },
 
       },
      growDays = 5.8,
 
 
     },
 
     },
  },
+
    tools = {
 
+
      {
  ["ThingDef:Plant_Corn"] = {
+
        label = "left hoof",
    _ = {
+
        capacities = {
       ParentName = "PlantBase",
+
          "Blunt",
      FileName = "Plants_Cultivated_Farm.xml",
+
          "Poke",
      DLC = "Core",
+
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftLeg",
 +
      },
 +
      {
 +
        label = "right hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontRightLeg",
 +
      },
 +
      {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 10,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
      },
 +
       {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 7,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 
     },
 
     },
     defName = "Plant_Corn",
+
     race = {
    label = "corn plant",
+
      herdAnimal = true,
    description = [[A tall grain plant which produces ears of soft, edible seeds. While corn takes a long time to grow, it yields lots of food compared to other crops. Harvested corn takes a long time to spoil.]],
+
      baseBodySize = 2.0,
    statBases = {
+
      foodType = {
       MaxHitPoints = 150,
+
        "VegetarianRoughAnimal",
       Nutrition = 0.3,
+
      },
 +
      leatherDef = "Leather_Camel",
 +
      wildness = 0.25,
 +
      trainability = "Simple",
 +
      gestationPeriodDays = 28,
 +
      lifeExpectancy = 45,
 +
       manhunterOnTameFailChance = 0,
 +
       manhunterOnDamageChance = 0,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.25,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.5,
 +
        },
 +
      },
 
     },
 
     },
     pathCost = 14,
+
     tradeTags = {
    plant = {
+
       "AnimalCommon",
       fertilityMin = 0.70,
+
       "AnimalFarm",
      harvestTag = "Standard",
 
      harvestedThingDef = "RawCorn",
 
       harvestYield = 22,
 
      sowTags = {
 
        "Ground",
 
      },
 
      growDays = 11.3,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Strawberry"] = {
+
   ["ThingDef:BasePawn"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       Name = "BasePawn",
       FileName = "Plants_Cultivated_Farm.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Base.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Strawberry",
+
     thingClass = "Pawn",
     label = "strawberry plant",
+
     category = "Pawn",
     description = [[A low bush-like plant that yields fragile but delicious strawberries. While it isn't quite as productive calorie-for-calorie as other crops, strawberries are delicious even when raw.]],
+
     altitudeLayer = "Pawn",
 +
    useHitPoints = false,
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       Mass = 60,
       Nutrition = 0.2,
+
       Flammability = 0.7,
 
     },
 
     },
     pathCost = 14,
+
     comps = {
    plant = {
+
       {
       growDays = 4.6,
+
         compClass = "CompAttachBase",
      harvestTag = "Standard",
 
      harvestedThingDef = "RawBerries",
 
      harvestYield = 8,
 
      sowMinSkill = 5,
 
      sowTags = {
 
         "Ground",
 
        "Hydroponic",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Haygrass"] = {
+
   ["ThingDef:AnimalThingBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "BasePawn",
       FileName = "Plants_Cultivated_Farm.xml",
+
      Name = "AnimalThingBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Base.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Plant_Haygrass",
 
    label = "haygrass",
 
    description = [[A mixture of nutrient-rich grasses which yield large amounts of hay. Hay is edible for animals, but not humans.]],
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       LeatherAmount = 30,
      Flammability = 1.3,
 
      Nutrition = 0.2,
 
 
     },
 
     },
     pathCost = 14,
+
     race = {
    plant = {
+
       manhunterOnDamageChance = 0.02,
       fertilitySensitivity = 0.6,
+
       manhunterOnTameFailChance = 0.013,
       growDays = 7,
+
       trainability = "Intermediate",
      harvestTag = "Standard",
 
      harvestedThingDef = "Hay",
 
       harvestYield = 18,
 
      sowTags = {
 
        "Ground",
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Cotton"] = {
+
   ["ThingDef:BaseBear"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
      Abstract = true,
       FileName = "Plants_Cultivated_Farm.xml",
+
       ParentName = "AnimalThingBase",
 +
      Name = "BaseBear",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Bears.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Plant_Cotton",
 
    label = "cotton plant",
 
    description = [[A mid-size crop that yields fine white cotton fibers. These are used to make cloth.]],
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       MoveSpeed = 4.6,
       Nutrition = 0.2,
+
      ComfyTemperatureMin = -40,
 +
       MarketValue = 700,
 
     },
 
     },
     pathCost = 14,
+
     tools = {
    plant = {
+
      {
       growDays = 8,
+
        label = "left claw",
       harvestTag = "Standard",
+
        capacities = {
      harvestedThingDef = "Cloth",
+
          "Scratch",
       harvestYield = 10,
+
        },
       sowTags = {
+
        power = 17,
         "Ground",
+
        cooldownTime = 2,
         "Hydroponic",
+
        linkedBodyPartsGroup = "FrontLeftPaw",
 +
      },
 +
       {
 +
        label = "right claw",
 +
        capacities = {
 +
          "Scratch",
 +
        },
 +
        power = 17,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontRightPaw",
 +
       },
 +
      {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 23.6,
 +
        cooldownTime = 2.6,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.5,
 +
       },
 +
       {
 +
         label = "head",
 +
         capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 11,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
  },
+
     race = {
 
+
       herdAnimal = false,
  ["ThingDef:Plant_Devilstrand"] = {
+
       baseBodySize = 2.15,
     _ = {
+
       foodType = {
       ParentName = "PlantBase",
+
        "OmnivoreAnimal",
       FileName = "Plants_Cultivated_Farm.xml",
+
         "OvivoreAnimal",
       DLC = "Core",
 
    },
 
    defName = "Plant_Devilstrand",
 
    label = "devilstrand",
 
    description = [[This fragile mushroom was genetically engineered to produce a silk net that is both difficult to tear and soft to the touch. While the mushroom takes a very long time to grow, only exotic ultra-tech fabrics outperform its devilstrand fibers.\n\nSome say it's called devilstrand because of its red color. Others think it owes its name to the greed it inspires in people.]],
 
    statBases = {
 
      MaxHitPoints = 85,
 
      Nutrition = 0.15,
 
    },
 
    pathCost = 14,
 
    plant = {
 
      growDays = 22.5,
 
      sowWork = 400,
 
      harvestTag = "Standard",
 
      harvestedThingDef = "DevilstrandCloth",
 
      harvestYield = 6,
 
      sowTags = {
 
         "Ground",
 
 
       },
 
       },
       sowMinSkill = 10,
+
       leatherDef = "Leather_Bear",
       sowResearchPrerequisites = {
+
      gestationPeriodDays = 30,
         "Devilstrand",
+
      wildness = 0.80,
 +
      lifeExpectancy = 22,
 +
      trainability = "Advanced",
 +
      manhunterOnTameFailChance = 0.10,
 +
      manhunterOnDamageChance = 0.10,
 +
       lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.4,
 +
        },
 +
         {
 +
          def = "AnimalAdult",
 +
          minAge = 0.8,
 +
        },
 
       },
 
       },
 +
    },
 +
    tradeTags = {
 +
      "AnimalUncommon",
 +
      "AnimalFighter",
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Bear_Grizzly"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "BaseBear",
       Name = "HealrootBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Races_Animal_Bears.xml",
       FileName = "Plants_Cultivated_Farm.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     statBases = {
+
     defName = "Bear_Grizzly",
      MaxHitPoints = 60,
+
    label = "grizzly bear",
      Nutrition = 0.15,
+
    description = [[A huge omnivorous mammal adapted for cold climates. Bears' thick blubber and fur keeps them warm in winter.\n\nWhile their usual diet consists of fish, berries, honey, and scavenged meat, the grizzly is capable of using its massive strength and deadly claws to kill live prey. They are startlingly quick for such lumbering creatures.]],
    },
+
     race = {
    pathCost = 14,
+
       wildness = 0.80,
     plant = {
 
       growDays = 10,
 
      harvestWork = 400,
 
      harvestTag = "Standard",
 
      harvestedThingDef = "MedicineHerbal",
 
      harvestYield = 1,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Healroot"] = {
+
   ["ThingDef:Bear_Polar"] = {
 
     _ = {
 
     _ = {
       ParentName = "HealrootBase",
+
       ParentName = "BaseBear",
       FileName = "Plants_Cultivated_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Bears.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Healroot",
+
     defName = "Bear_Polar",
     label = "healroot",
+
     label = "polar bear",
     description = [[A slow-growing plant which yields herbal medicine when harvested. Sowing and harvesting healroot are both very labor-intensive tasks because of its delicate shoots.\n\nHealroot was selectively bred for centuries by settlers. It is sometimes also called "healer's hand" by tribespeople - a nickname it owes to its five major medicinal virtues.]],
+
     description = [[A great white bear adapted for frozen climates. Their thick blubber and fur keep them warm in winter.\n\nWhile their usual diet consists of fish and scavenged meat, the polar bear can also use its massive strength and deadly claws to kill live prey. They are startlingly quick for such lumbering creatures.]],
    plant = {
 
      growDays = 7,
 
      sowWork = 800,
 
      sowMinSkill = 8,
 
      sowTags = {
 
        "Ground",
 
        "Hydroponic",
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:Plant_Hops"] = {
 
    _ = {
 
      ParentName = "PlantBase",
 
      FileName = "Plants_Cultivated_Farm.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Plant_Hops",
 
    label = "hop plant",
 
    description = [[A flowering crop that yields hops, an essential ingredient in beer.]],
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       ComfyTemperatureMin = -55,
      Nutrition = 0.2,
 
 
     },
 
     },
     pathCost = 14,
+
     race = {
    plant = {
+
       wildness = 0.85,
       fertilitySensitivity = 0.7,
 
      growDays = 5,
 
      harvestTag = "Standard",
 
      harvestedThingDef = "RawHops",
 
      harvestYield = 8,
 
      sowMinSkill = 3,
 
      sowTags = {
 
        "Ground",
 
        "Hydroponic",
 
      },
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Smokeleaf"] = {
+
   ["ThingDef:BigCatThingBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Cultivated_Farm.xml",
+
      Name = "BigCatThingBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_BigCats.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Plant_Smokeleaf",
 
    label = "smokeleaf plant",
 
    description = [[A leafy crop grown for the psychological effects of chemicals in its leaves. Smokeleaf leaves can be prepared into joints at the crafting spot. Smokeleaf makes a user feel relaxed, but reduces motivation, and can be addictive.]],
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       MoveSpeed = 5.0,
       Nutrition = 0.15,
+
       MarketValue = 400,
 
     },
 
     },
     pathCost = 14,
+
     tools = {
    plant = {
+
      {
       growDays = 7.50,
+
        label = "left claw",
       harvestTag = "Standard",
+
        capacities = {
      harvestedThingDef = "SmokeleafLeaves",
+
          "Scratch",
       harvestYield = 9,
+
        },
       sowMinSkill = 4,
+
        power = 11,
      sowTags = {
+
        cooldownTime = 1.5,
        "Ground",
+
        linkedBodyPartsGroup = "FrontLeftPaw",
         "Hydroponic",
+
      },
 +
       {
 +
        label = "right claw",
 +
        capacities = {
 +
          "Scratch",
 +
        },
 +
        power = 11,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "FrontRightPaw",
 +
      },
 +
       {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 16,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
       },
 +
       {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
         },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
  },
+
     race = {
 
+
       herdAnimal = false,
  ["ThingDef:Plant_Psychoid"] = {
+
       baseBodySize = 1.4,
     _ = {
+
       foodType = {
       ParentName = "PlantBase",
+
        "CarnivoreAnimal",
       FileName = "Plants_Cultivated_Farm.xml",
+
        "OvivoreAnimal",
       DLC = "Core",
+
      },
    },
+
      leatherDef = "Leather_Panthera",
    defName = "Plant_Psychoid",
+
      wildness = 0.80,
    label = "psychoid plant",
+
      trainability = "Advanced",
    description = [[A leafy plant which generates the chemical compound psychite. Originally evolved as a defense mechanism to ward off plant-eating animals by overstimulating and sickening them, the psychite drug can be extracted and refined into various forms for recreational use. It is addictive.]],
+
       manhunterOnTameFailChance = 0.10,
    statBases = {
+
       manhunterOnDamageChance = 0.10,
       MaxHitPoints = 85,
+
      gestationPeriodDays = 26,
       Nutrition = 0.15,
+
      lifeExpectancy = 13,
    },
+
      lifeStageAges = {
    pathCost = 14,
+
        {
    plant = {
+
          def = "AnimalBaby",
      growDays = 9.00,
+
          minAge = 0,
      harvestTag = "Standard",
+
        },
      harvestedThingDef = "PsychoidLeaves",
+
        {
      harvestYield = 8,
+
          def = "AnimalJuvenile",
      sowMinSkill = 6,
+
          minAge = 0.25,
      sowTags = {
+
        },
        "Ground",
+
        {
         "Hydroponic",
+
          def = "AnimalAdult",
 +
          minAge = 0.5,
 +
         },
 
       },
 
       },
 +
    },
 +
    tradeTags = {
 +
      "AnimalUncommon",
 +
      "AnimalFighter",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_TreeCocoa"] = {
+
   ["ThingDef:Cougar"] = {
 
     _ = {
 
     _ = {
       ParentName = "TreeBase",
+
       ParentName = "BigCatThingBase",
       FileName = "Plants_Cultivated_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_BigCats.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_TreeCocoa",
+
     defName = "Cougar",
     label = "cocoa tree",
+
     label = "cougar",
     description = [[A tropical tree that produces chocolate, genetically engineered to sweeten its own product, and survive in slightly less-warm climates.]],
+
     description = [[One of the most dangerous big cats, cougars are solitary hunters with long, sharp teeth and claws. They stalk prey from hidden positions before pouncing.\n\nWhile humans are not their normal diet, they won't turn down a meal of vulnerable human meat.]],
 
     statBases = {
 
     statBases = {
       Beauty = 2,
+
       ComfyTemperatureMin = -25,
      Nutrition = 1.25,
 
    },
 
    plant = {
 
      growDays = 16,
 
      sowMinSkill = 8,
 
      sowTags = {
 
        "Ground",
 
      },
 
      sowResearchPrerequisites = {
 
        _ = {
 
          Inherit = false,
 
        },
 
        "Cocoa",
 
      },
 
      harvestWork = 400,
 
      harvestTag = "Standard",
 
      harvestYield = 20,
 
      harvestedThingDef = "Chocolate",
 
      harvestFailable = true,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:BurnedTree"] = {
+
   ["ThingDef:Panther"] = {
 
     _ = {
 
     _ = {
       FileName = "Plants_Special.xml",
+
      ParentName = "BigCatThingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_BigCats.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "BurnedTree",
+
     defName = "Panther",
     label = "burned tree",
+
     label = "panther",
     description = [[A burned tree stump. It's ugly and yields no usable wood.]],
+
     description = [[An agile and powerful big cat native to the jungles of old Earth. As solitary ambush predators, panthers are masters of taking down both large and small prey. Onlookers tend to focus on their graceful movements, while those in closer contact usually notice their skull-crushing strength.]],
    category = "Plant",
 
    thingClass = "DeadPlant",
 
    altitudeLayer = "Building",
 
    useHitPoints = true,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       ComfyTemperatureMin = -8,
      Flammability = 0,
+
       ComfyTemperatureMax = 50,
      DeteriorationRate = 4,
 
      Beauty = -8,
 
    },
 
    fillPercent = 0.20,
 
    pathCostIgnoreRepeat = false,
 
    passability = "PassThroughOnly",
 
    pathCost = 14,
 
    plant = {
 
      harvestWork = 180,
 
      harvestYield = 0,
 
      fertilityMin = 0.01,
 
      fertilitySensitivity = 0,
 
      blockAdjacentSow = true,
 
      harvestedThingDef = "WoodLog",
 
      harvestFailable = false,
 
      harvestTag = "Wood",
 
      growDays = 30,
 
      growMinGlow = 0,
 
       lifespanDaysPerGrowDays = 0,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Ambrosia"] = {
+
   ["ThingDef:Lynx"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Special.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_BigCats.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Ambrosia",
+
     defName = "Lynx",
     label = "ambrosia bush",
+
     label = "lynx",
     description = [[A rare wild bush which yields the ambrosia fruit. Ambrosia fruit is delicious and produces a drug-like mood boost. Ambrosia cannot be farmed, which makes wild ambrosia groves very valuable.\n\nIts rarity, beauty, and desirability are why ambrosia was named after the food of the ancient Greek gods.]],
+
     description = [[A wildcat larger than a housecat, but smaller than a cougar. Lynxes survive on a diet of small birds and animals. Their very warm fur keeps them safe from the brutally cold temperatures of their frozen territories.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       MoveSpeed = 5.0,
       Nutrition = 0.35,
+
      ComfyTemperatureMin = -50,
 +
       MarketValue = 250,
 
     },
 
     },
     pathCost = 14,
+
     tools = {
    plant = {
+
      {
       fertilitySensitivity = 0.15,
+
        label = "left claw",
       growDays = 6,
+
        capacities = {
       harvestYield = 4,
+
          "Scratch",
      harvestTag = "Standard",
+
        },
      harvestedThingDef = "Ambrosia",
+
        power = 9,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "FrontLeftPaw",
 +
      },
 +
      {
 +
        label = "right claw",
 +
        capacities = {
 +
          "Scratch",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "FrontRightPaw",
 +
       },
 +
      {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 12,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
       },
 +
       {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 6,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 
     },
 
     },
  },
+
    race = {
 
+
      herdAnimal = false,
  ["ThingDef:Plant_Agave"] = {
+
      baseBodySize = 0.8,
    _ = {
+
      foodType = {
      ParentName = "PlantBase",
+
        "CarnivoreAnimal",
      FileName = "Plants_Wild_Arid.xml",
+
        "OvivoreAnimal",
      DLC = "Core",
+
      },
 +
      leatherDef = "Leather_Panthera",
 +
      wildness = 0.80,
 +
      manhunterOnTameFailChance = 0.10,
 +
      manhunterOnDamageChance = 0.10,
 +
      gestationPeriodDays = 26,
 +
      lifeExpectancy = 9,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.2,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.4,
 +
        },
 +
      },
 
     },
 
     },
     defName = "Plant_Agave",
+
     tradeTags = {
    label = "agave",
+
       "AnimalUncommon",
    description = [[A large-leafed desert plant with edible flowers and stalks.]],
+
       "AnimalFighter",
    statBases = {
 
      MaxHitPoints = 120,
 
      Nutrition = 0.2,
 
    },
 
    fillPercent = 0.20,
 
    pathCost = 30,
 
    plant = {
 
       fertilitySensitivity = 0.5,
 
      growDays = 6,
 
      harvestTag = "Standard",
 
       harvestedThingDef = "RawAgave",
 
      harvestYield = 10,
 
      harvestWork = 300,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_PincushionCactus"] = {
+
   ["ThingDef:BigBirdThingBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Arid.xml",
+
      Name = "BigBirdThingBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Birds.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_PincushionCactus",
+
     race = {
    label = "pincushion cactus",
+
      leatherDef = "Leather_Bird",
    description = [[A short cactus. It is so named because it resembles a pincushion.]],
+
      gestationPeriodDays = 24,
    statBases = {
+
      lifeStageAges = {
      MaxHitPoints = 150,
+
        {
      Nutrition = 0.25,
+
          def = "AnimalBabyTiny",
    },
+
          minAge = 0,
    pathCost = 30,
+
        },
    plant = {
+
        {
      fertilityMin = 0.05,
+
          def = "AnimalJuvenile",
      fertilitySensitivity = 0,
+
          minAge = 0.22,
       growDays = 2.5,
+
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.45,
 +
        },
 +
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_SaguaroCactus"] = {
+
   ["ThingDef:Cassowary"] = {
 
     _ = {
 
     _ = {
       ParentName = "TreeBase",
+
       ParentName = "BigBirdThingBase",
       FileName = "Plants_Wild_Arid.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Birds.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_SaguaroCactus",
+
     defName = "Cassowary",
     label = "saguaro cactus",
+
     label = "cassowary",
     description = [[A large cactus native to arid Earth environments. Though it is not a tree, it yields a small amount of fibrous material that can be used like wood.]],
+
     description = [[A large flightless bird with brightly-colored feathers. While it looks beautiful, its kick is vicious. It's known for being quick to aggression when harmed by violence or confronted by incompetent animal tamers.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 130,
+
       MoveSpeed = 4.6,
       Nutrition = 1.5,
+
      MarketValue = 200,
 +
       ComfyTemperatureMin = -8,
 +
      ComfyTemperatureMax = 50,
 
     },
 
     },
     fillPercent = 0.35,
+
     race = {
    plant = {
+
       herdAnimal = false,
       lifespanDaysPerGrowDays = 40,
+
       baseBodySize = 0.8,
       fertilityMin = 0.05,
+
       foodType = {
       fertilitySensitivity = 0,
+
        "VegetarianRoughAnimal",
       growDays = 5,
+
      },
       harvestWork = 300,
+
       wildness = 0.80,
       harvestYield = 15,
+
       lifeExpectancy = 45,
       harvestMinGrowth = 0.2,
+
       manhunterOnTameFailChance = 0.10,
 +
       manhunterOnDamageChance = 0.10,
 
     },
 
     },
  },
+
    comps = {
 
+
      CompProperties_EggLayer = {
  ["ThingDef:Plant_TreeDrago"] = {
+
        eggFertilizedDef = "EggCassowaryFertilized",
    _ = {
+
        eggFertilizationCountMax = 1,
      ParentName = "TreeBase",
+
        eggLayIntervalDays = 17,
      FileName = "Plants_Wild_Arid.xml",
+
        eggProgressUnfertilizedMax = 0.5,
       DLC = "Core",
+
        eggCountRange = 1,
 +
       },
 
     },
 
     },
     defName = "Plant_TreeDrago",
+
     tools = {
    label = "drago tree",
+
      {
    description = [[A hardy desert tree topped with thick, pointed leaves.]],
+
        label = "claws",
    statBases = {
+
        capacities = {
       Beauty = 1,
+
          "Scratch",
       Nutrition = 1,
+
        },
 +
        power = 7,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "Feet",
 +
      },
 +
      {
 +
        label = "beak",
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 8,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Beak",
 +
       },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 6,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
       },
 
     },
 
     },
     plant = {
+
     tradeTags = {
       growDays = 15,
+
       "AnimalUncommon",
      harvestWork = 750,
 
      harvestYield = 25,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Grass"] = {
+
   ["ThingDef:Emu"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "BigBirdThingBase",
       FileName = "Plants_Wild_General.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Birds.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Grass",
+
     defName = "Emu",
     label = "grass",
+
     label = "emu",
     description = [[Wild grass. Grows anywhere there is a little light and minimally fertile ground.]],
+
     description = [[A large flightless bird with beady eyes on its ugly face. With its bad attitude, it is the jerk of the natural world. Bother it, and it is guaranteed to seek revenge.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       MoveSpeed = 5.5,
       Flammability = 1.3,
+
       MarketValue = 200,
       Nutrition = 0.25,
+
      ComfyTemperatureMin = -8,
 +
       ComfyTemperatureMax = 50,
 
     },
 
     },
     plant = {
+
     race = {
       fertilityMin = 0.05,
+
       herdAnimal = false,
       fertilitySensitivity = 0.3,
+
      baseBodySize = 0.8,
       growDays = 2.5,
+
      foodType = {
       harvestWork = 40,
+
        "VegetarianRoughAnimal",
 +
       },
 +
      wildness = 0.95,
 +
       lifeExpectancy = 45,
 +
      manhunterOnTameFailChance = 1.00,
 +
       manhunterOnDamageChance = 1.00,
 
     },
 
     },
  },
+
    comps = {
 
+
      CompProperties_EggLayer = {
  ["ThingDef:Plant_TallGrass"] = {
+
        eggFertilizedDef = "EggEmuFertilized",
    _ = {
+
        eggFertilizationCountMax = 1,
      ParentName = "PlantBase",
+
        eggLayIntervalDays = 17,
      FileName = "Plants_Wild_General.xml",
+
        eggProgressUnfertilizedMax = 0.5,
       DLC = "Core",
+
        eggCountRange = 1,
 +
       },
 
     },
 
     },
     defName = "Plant_TallGrass",
+
     tools = {
    label = "tall grass",
+
      {
    description = [[Wild tall grass. Slows down anyone moving over it.]],
+
        label = "claws",
    statBases = {
+
        capacities = {
       MaxHitPoints = 90,
+
          "Scratch",
      Flammability = 1.3,
+
        },
      Nutrition = 0.30,
+
        power = 8,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "Feet",
 +
      },
 +
      {
 +
        label = "beak",
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Beak",
 +
       },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 6,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 
     },
 
     },
     pathCost = 14,
+
     tradeTags = {
    plant = {
+
       "AnimalUncommon",
       fertilitySensitivity = 0.7,
 
      growDays = 3,
 
      harvestWork = 60,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Bush"] = {
+
   ["ThingDef:Ostrich"] = {
 
     _ = {
 
     _ = {
       ParentName = "BushBase",
+
       ParentName = "BigBirdThingBase",
       FileName = "Plants_Wild_General.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Birds.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Bush",
+
     defName = "Ostrich",
     label = "bush",
+
     label = "ostrich",
     description = [[A short shrub. Does not typically talk.]],
+
     description = [[The largest unmodified bird species, ostriches are known for their fast run, huge eggs, and powerful kick. It is easily angered.]],
    plant = {
 
      growDays = 3,
 
    },
 
  },
 
 
 
  ["ThingDef:Plant_Brambles"] = {
 
    _ = {
 
      ParentName = "PlantBase",
 
      FileName = "Plants_Wild_General.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Plant_Brambles",
 
    label = "brambles",
 
    description = [[Tangled, thorny, woody shoots covered with leaves. Brambles grow in clusters, and slow down anyone moving over them.]],
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       MoveSpeed = 6.0,
       Nutrition = 0.2,
+
      MarketValue = 250,
 +
      ComfyTemperatureMin = -8,
 +
       ComfyTemperatureMax = 50,
 
     },
 
     },
     pathCost = 14,
+
     race = {
    plant = {
+
      herdAnimal = false,
       fertilitySensitivity = 0.7,
+
      baseBodySize = 1.0,
       growDays = 3,
+
      foodType = {
       harvestWork = 60,
+
        "VegetarianRoughAnimal",
 +
      },
 +
       wildness = 0.95,
 +
      lifeExpectancy = 45,
 +
       manhunterOnTameFailChance = 0.10,
 +
       manhunterOnDamageChance = 0.10,
 
     },
 
     },
  },
+
    comps = {
 
+
      CompProperties_EggLayer = {
  ["ThingDef:Plant_HealrootWild"] = {
+
        eggFertilizedDef = "EggOstrichFertilized",
    _ = {
+
        eggFertilizationCountMax = 1,
      ParentName = "HealrootBase",
+
        eggLayIntervalDays = 19,
      FileName = "Plants_Wild_General.xml",
+
        eggProgressUnfertilizedMax = 0.5,
       DLC = "Core",
+
        eggCountRange = 1,
 +
       },
 
     },
 
     },
     defName = "Plant_HealrootWild",
+
     tools = {
    label = "wild healroot",
+
      {
    description = [[A slow-growing plant which yields herbal medicine when harvested.\n\nThis wild breed of healroot is hardier than domesticated healroot, but too difficult to cultivate. It is prized by tribespeople in colder climates.]],
+
        label = "claws",
  },
+
        capacities = {
 
+
          "Scratch",
  ["ThingDef:Plant_TreeWillow"] = {
+
        },
    _ = {
+
        power = 11,
      ParentName = "DeciduousTreeBase",
+
        cooldownTime = 1.5,
      FileName = "Plants_Wild_Swamp.xml",
+
        linkedBodyPartsGroup = "Feet",
      DLC = "Core",
+
      },
 +
      {
 +
        label = "beak",
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 11,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Beak",
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 6,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 
     },
 
     },
     defName = "Plant_TreeWillow",
+
     tradeTags = {
    label = "willow tree",
+
      "AnimalUncommon",
    description = [[One of the fastest growing shade trees, willows provide a beautiful, leafy canopy. It doesn't yield much usable wood.]],
 
    statBases = {
 
      Beauty = 2,
 
    },
 
    plant = {
 
      growDays = 13,
 
      harvestWork = 800,
 
      harvestYield = 27,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_TreeCypress"] = {
+
   ["ThingDef:Turkey"] = {
 
     _ = {
 
     _ = {
       ParentName = "DeciduousTreeBase",
+
       ParentName = "BigBirdThingBase",
       FileName = "Plants_Wild_Swamp.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Birds.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_TreeCypress",
+
     defName = "Turkey",
     label = "cypress tree",
+
     label = "turkey",
     description = [[A tall coniferous tree often found in swamps. Despite its slow growth, planting these trees can be profitable as a low-effort, long-term investment because they yield so much usable wood.]],
+
     description = [[A short, fat, flightless bird known for its hilarious 'gobbling' call. It has been long domesticated, but also lives in the wild.]],
 
     statBases = {
 
     statBases = {
       Beauty = 1,
+
       MoveSpeed = 3.6,
 +
      MarketValue = 100,
 +
      ComfyTemperatureMin = -8,
 
     },
 
     },
     plant = {
+
     race = {
       growDays = 35,
+
       herdAnimal = false,
       harvestWork = 1800,
+
       baseBodySize = 0.6,
       harvestYield = 60,
+
       foodType = {
 +
        "VegetarianRoughAnimal",
 +
      },
 +
      wildness = 0.45,
 +
      trainability = "None",
 +
      lifeExpectancy = 9,
 +
      manhunterOnTameFailChance = 0,
 +
      manhunterOnDamageChance = 0,
 
     },
 
     },
  },
+
    comps = {
 
+
      CompProperties_EggLayer = {
  ["ThingDef:Plant_TreeMaple"] = {
+
        eggFertilizedDef = "EggTurkeyFertilized",
    _ = {
+
        eggFertilizationCountMax = 1,
      ParentName = "DeciduousTreeBase",
+
        eggLayIntervalDays = 11,
      FileName = "Plants_Wild_Swamp.xml",
+
        eggProgressUnfertilizedMax = 0.5,
      DLC = "Core",
+
        eggCountRange = { ["<"]=1, [">"]=1 },
 +
      },
 
     },
 
     },
     defName = "Plant_TreeMaple",
+
     tools = {
    label = "maple tree",
+
      {
    description = [[A common medium-sized tree, easily identifiable by its distinct three-pointed leaf.]],
+
        label = "claws",
    statBases = {
+
        capacities = {
       Beauty = 2,
+
          "Scratch",
 +
        },
 +
        power = 5,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "Feet",
 +
      },
 +
      {
 +
        label = "beak",
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 6,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Beak",
 +
       },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 4,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 
     },
 
     },
     plant = {
+
     tradeTags = {
       growDays = 27,
+
       "AnimalCommon",
      harvestWork = 800,
+
       "AnimalFarm",
       harvestYield = 27,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Chokevine"] = {
+
   ["ThingDef:Chicken"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Swamp.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Chokevine",
+
     defName = "Chicken",
     label = "chokevine",
+
     label = "chicken",
     description = [[Tangled masses of cord-like, spiky vines which coil in great masses along the ground. Chokevine greatky slows down anyone who moves over it. Multiple tribes have independently generated stories of chokevine strangling children to death in the night, as a way to scare kids into coming home before dark.]],
+
     description = [[The most traditional farm bird, the chicken is raised for its eggs and meat. It grows very quickly and lays eggs very often.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       MoveSpeed = 2.1,
       Nutrition = 0.25,
+
      MarketValue = 50,
 +
       LeatherAmount = 0,
 +
      ComfyTemperatureMin = -10,
 
     },
 
     },
     pathCost = 42,
+
     tools = {
    plant = {
+
      {
      fertilitySensitivity = 0.7,
+
        label = "claws",
      growDays = 5,
+
        capacities = {
      harvestWork = 150,
+
          "Scratch",
    },
+
        },
  },
+
        power = 2,
 
+
        cooldownTime = 1.5,
  ["ThingDef:Plant_Dandelion"] = {
+
        linkedBodyPartsGroup = "Feet",
    _ = {
+
      },
      ParentName = "PlantBase",
+
      {
      FileName = "Plants_Wild_Temperate.xml",
+
        label = "beak",
      DLC = "Core",
+
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 3,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Beak",
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 1,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 
     },
 
     },
     defName = "Plant_Dandelion",
+
     comps = {
    label = "dandelions",
+
      CompProperties_EggLayer = {
    description = [[A tiny yellow flower which grows in large clusters. Though it is often considered a weed, dandelions in bloom are quite beautiful.]],
+
        eggUnfertilizedDef = "EggChickenUnfertilized",
    statBases = {
+
        eggFertilizedDef = "EggChickenFertilized",
      MaxHitPoints = 85,
+
        eggFertilizationCountMax = 1,
      Beauty = 4,
+
        eggLayIntervalDays = 2,
       Nutrition = 0.18,
+
        eggCountRange = 1,
 +
       },
 
     },
 
     },
     plant = {
+
     race = {
       fertilitySensitivity = 0.0,
+
       baseBodySize = 0.18,
       growDays = 2.5,
+
      foodType = {
       sowTags = {
+
        "VegetarianRoughAnimal",
         "Ground",
+
      },
 +
      trainability = "None",
 +
      wildness = 0,
 +
      manhunterOnTameFailChance = 0,
 +
      manhunterOnDamageChance = 0,
 +
       mateMtbHours = 8,
 +
      lifeExpectancy = 6,
 +
       lifeStageAges = {
 +
         {
 +
          def = "AnimalBabyTiny",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.12,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.3,
 +
        },
 
       },
 
       },
       fertilityMin = 0.05,
+
    },
 +
    tradeTags = {
 +
       "AnimalCommon",
 +
      "AnimalFarm",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Astragalus"] = {
+
   ["ThingDef:Pig"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Temperate.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Astragalus",
+
     defName = "Pig",
     label = "astragalus",
+
     label = "pig",
     description = [[A small perennial wildflower that grows in alpine climates.]],
+
     description = [[The pig was one of the first animals domesticated by humans. It is commonly raised for meat, and is easy to feed because of its omnivorous diet. Though pigs are self-serving by disposition, they can be trained in complex tasks.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 85,
+
       MoveSpeed = 3.9,
       Beauty = 4,
+
       ComfyTemperatureMin = -5,
       Nutrition = 0.18,
+
       MarketValue = 200,
 
     },
 
     },
     plant = {
+
     tools = {
       fertilityMin = 0.05,
+
       {
       fertilitySensitivity = 0,
+
        capacities = {
      growDays = 2.5,
+
          "Bite",
 +
        },
 +
        power = 7.3,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
      },
 +
       {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 6,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 
     },
 
     },
  },
+
    race = {
 
+
      baseBodySize = 0.75,
  ["ThingDef:Plant_Moss"] = {
+
      foodType = {
    _ = {
+
        "OmnivoreRoughAnimal",
       ParentName = "PlantBase",
+
      },
      FileName = "Plants_Wild_Temperate.xml",
+
      leatherDef = "Leather_Pig",
      DLC = "Core",
+
      wildness = 0.07,
 +
      trainability = "Advanced",
 +
      manhunterOnTameFailChance = 0,
 +
      manhunterOnDamageChance = 0,
 +
      gestationPeriodDays = 17,
 +
      litterSizeCurve = {
 +
        points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {1.7, 1},
 +
          {2.0, 0},
 +
        },
 +
       },
 +
      lifeExpectancy = 12,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.1,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.4,
 +
        },
 +
      },
 
     },
 
     },
     defName = "Plant_Moss",
+
     tradeTags = {
    label = "moss",
+
      "AnimalCommon",
    description = [[Wild moss that grows in clumps in areas of low light and cool temperatures. Moss takes a long time to grow, but is very frost-resistant.]],
+
      "AnimalFarm",
    statBases = {
 
      MaxHitPoints = 120,
 
      Flammability = 0.6,
 
      Nutrition = 0.15,
 
    },
 
    plant = {
 
      fertilityMin = 0.05,
 
      fertilitySensitivity = 0,
 
      growDays = 15,
 
      harvestWork = 60,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Berry"] = {
+
   ["ThingDef:Cow"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Temperate.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Berry",
+
     defName = "Cow",
     label = "berry bush",
+
     label = "cow",
     description = [[A bushy wild plant which yields delicious berries. Berries can be cooked, but they're also good to eat even when raw.]],
+
     description = [[A large domesticated ungulate, cows have been bred for millennia to produce huge amounts of milk, meat, and leather. They are exceptionally gentle creatures and will never seek revenge, no matter how many times they are harmed. Most of them are so adapted to farm life that they cannot survive in the wild.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 120,
+
       MoveSpeed = 3.2,
       Nutrition = 0.35,
+
      ComfyTemperatureMin = -10,
 +
       MarketValue = 300,
 
     },
 
     },
     fillPercent = 0.20,
+
     comps = {
    pathCost = 30,
+
       CompProperties_Milkable = {
    plant = {
+
        milkDef = "Milk",
       fertilityMin = 0.5,
+
        milkIntervalDays = 1,
      fertilitySensitivity = 0.5,
+
        milkAmount = 18,
      growDays = 6,
+
       },
      harvestYield = 10,
 
      harvestWork = 250,
 
       harvestTag = "Standard",
 
      harvestedThingDef = "RawBerries",
 
 
     },
 
     },
  },
+
    tools = {
 
+
      {
  ["ThingDef:Plant_TreeOak"] = {
+
        capacities = {
    _ = {
+
          "Bite",
       ParentName = "DeciduousTreeBase",
+
        },
       FileName = "Plants_Wild_Temperate.xml",
+
        power = 8.8,
      DLC = "Core",
+
        cooldownTime = 2.6,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 7,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
       },
 +
      {
 +
        label = "left hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 8,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftLeg",
 +
       },
 +
      {
 +
        label = "right hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 8,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontRightLeg",
 +
      },
 
     },
 
     },
     defName = "Plant_TreeOak",
+
     race = {
    label = "oak tree",
+
      herdAnimal = true,
    description = [[A hardwood tree. Oaks take a long time to grow, but their wood is so strong that 'oak' is used as a metaphor for strength across many cultures.]],
+
      baseBodySize = 2.0,
    statBases = {
+
      foodType = {
      Beauty = 2,
+
        "VegetarianRoughAnimal",
 +
      },
 +
      leatherDef = "Leather_Plain",
 +
      wildness = 0.05,
 +
      trainability = "None",
 +
      gestationPeriodDays = 20,
 +
      lifeExpectancy = 22,
 +
      manhunterOnDamageChance = 0,
 +
      manhunterOnTameFailChance = 0,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.2,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.45,
 +
        },
 +
      },
 
     },
 
     },
     plant = {
+
     tradeTags = {
       growDays = 30,
+
       "AnimalCommon",
      harvestWork = 1400,
+
       "AnimalFarm",
       harvestYield = 46,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_TreePoplar"] = {
+
   ["ThingDef:Alpaca"] = {
 
     _ = {
 
     _ = {
       ParentName = "DeciduousTreeBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Temperate.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_TreePoplar",
+
     defName = "Alpaca",
     label = "poplar tree",
+
     label = "alpaca",
     description = [[A softwood tree that grows very fast. Unfortunately, its wood is weak and so it yields less useful material than hardwood trees.]],
+
     description = [[A medium-sized ungulate closely related to the llama, the alpaca is usually raised for its remarkably soft and insulating wool. Alpacas have also been used as pack animals since they hauled cargo on the rugged mountain trails of ancient South America]],
 
     statBases = {
 
     statBases = {
       Beauty = 1,
+
       MoveSpeed = 4.1,
       Nutrition = 1,
+
       ComfyTemperatureMin = -18,
 +
      MarketValue = 350,
 +
      ComfyTemperatureMax = 45,
 +
    },
 +
    tools = {
 +
      {
 +
        label = "left hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 7.3,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftLeg",
 +
      },
 +
      {
 +
        label = "right hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 7.3,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontRightLeg",
 +
      },
 +
      {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 8,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 7,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_Shearable = {
 +
        woolDef = "WoolAlpaca",
 +
        shearIntervalDays = 15,
 +
        woolAmount = 100,
 +
      },
 +
    },
 +
    race = {
 +
      herdAnimal = true,
 +
      baseBodySize = 1.0,
 +
      foodType = {
 +
        "VegetarianRoughAnimal",
 +
      },
 +
      leatherDef = "Leather_Camel",
 +
      wildness = 0.25,
 +
      manhunterOnTameFailChance = 0,
 +
      manhunterOnDamageChance = 0,
 +
      gestationPeriodDays = 25,
 +
      lifeExpectancy = 15,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.2,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.45,
 +
        },
 +
      },
 
     },
 
     },
     plant = {
+
     tradeTags = {
       growDays = 15.05,
+
       "AnimalCommon",
      harvestWork = 800,
+
       "AnimalFarm",
       harvestYield = 27,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_TreePine"] = {
+
   ["ThingDef:Duck"] = {
 
     _ = {
 
     _ = {
       ParentName = "TreeBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Temperate.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_TreePine",
+
     defName = "Duck",
     label = "pine tree",
+
     label = "duck",
     description = [[A large conifer covered with prickly pine cones. It grows in a distinctive conical shape.]],
+
     description = [[A very common type of farm bird, also appearing in the wild, the duck is raised for its delicious meat. It grows quick but lays eggs quite rarely.]],
 
     statBases = {
 
     statBases = {
       Beauty = 2,
+
       MoveSpeed = 2.1,
       Nutrition = 1.25,
+
      MarketValue = 60,
 +
      LeatherAmount = 0,
 +
      ComfyTemperatureMin = -10,
 +
    },
 +
    tools = {
 +
      {
 +
        label = "claws",
 +
        capacities = {
 +
          "Scratch",
 +
        },
 +
        power = 3,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "Feet",
 +
      },
 +
      {
 +
        label = "beak",
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 4,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Beak",
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 2,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 +
    },
 +
    comps = {
 +
       CompProperties_EggLayer = {
 +
        eggUnfertilizedDef = "EggDuckUnfertilized",
 +
        eggFertilizedDef = "EggDuckFertilized",
 +
        eggFertilizationCountMax = 1,
 +
        eggLayIntervalDays = 3.5,
 +
        eggCountRange = 1,
 +
      },
 +
    },
 +
    race = {
 +
      baseBodySize = 0.18,
 +
      foodType = {
 +
        "VegetarianRoughAnimal",
 +
      },
 +
      trainability = "None",
 +
      wildness = 0,
 +
      manhunterOnTameFailChance = 0,
 +
      manhunterOnDamageChance = 0,
 +
      mateMtbHours = 8,
 +
      lifeExpectancy = 6,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBabyTiny",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.12,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.3,
 +
        },
 +
      },
 
     },
 
     },
     plant = {
+
     tradeTags = {
       growDays = 20,
+
       "AnimalCommon",
      harvestWork = 800,
+
       "AnimalFarm",
       harvestYield = 27,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_TreeBirch"] = {
+
   ["ThingDef:Bison"] = {
 
     _ = {
 
     _ = {
       ParentName = "DeciduousTreeBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Temperate.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_TreeBirch",
+
     defName = "Bison",
     label = "birch tree",
+
     label = "bison",
     description = [[A temperate-biome tree known for its thin, white, paper-like bark.]],
+
     description = [[A large plant eating mammal appearing in the savannah wilderness. Tamed are quite docile, but enraged are fast and dangerous.]],
 
     statBases = {
 
     statBases = {
       Beauty = 2,
+
       MoveSpeed = 4.7,
       Nutrition = 1.25,
+
      MarketValue = 350,
 +
       ComfyTemperatureMin = -55,
 +
      ComfyTemperatureMax = 45,
 
     },
 
     },
     plant = {
+
     tools = {
       growDays = 20,
+
       {
       harvestWork = 800,
+
        label = "head",
       harvestYield = 27,
+
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 15,
 +
        cooldownTime = 2.9,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
      },
 +
      {
 +
        label = "left hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 10,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftLeg",
 +
      },
 +
      {
 +
        label = "right hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 10,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontRightLeg",
 +
       },
 +
      {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 10,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.5,
 +
       },
 +
    },
 +
    comps = {
 +
      CompProperties_Shearable = {
 +
        woolDef = "WoolBison",
 +
        shearIntervalDays = 25,
 +
        woolAmount = 100,
 +
      },
 +
    },
 +
    race = {
 +
      herdAnimal = true,
 +
      baseBodySize = 2.1,
 +
      foodType = {
 +
        "VegetarianRoughAnimal",
 +
      },
 +
      leatherDef = "Leather_Plain",
 +
      gestationPeriodDays = 28,
 +
      wildness = 0.6,
 +
      trainability = "Simple",
 +
      manhunterOnDamageChance = 0.1,
 +
      lifeExpectancy = 15,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.25,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.5,
 +
        },
 +
      },
 +
    },
 +
    tradeTags = {
 +
      "AnimalCommon",
 +
      "AnimalFarm",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_ShrubLow"] = {
+
   ["ThingDef:Goat"] = {
 
     _ = {
 
     _ = {
       ParentName = "PlantBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Tropical.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_ShrubLow",
+
     defName = "Goat",
     label = "low shrubs",
+
     label = "goat",
     description = [[Various low broadleaf shrubs. These grow in clusters and slow down movement.]],
+
     description = [[Naturally curious about the world, goats are among the friendliest domesticated creature bred by mankind.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 90,
+
       MoveSpeed = 3.9,
       Nutrition = 0.2,
+
      ComfyTemperatureMin = -20,
 +
       MarketValue = 200,
 
     },
 
     },
     pathCost = 14,
+
     comps = {
    plant = {
+
      CompProperties_Milkable = {
      fertilitySensitivity = 0.7,
+
        milkDef = "Milk",
      growDays = 3,
+
        milkIntervalDays = 2,
       harvestWork = 60,
+
        milkAmount = 12,
 +
       },
 
     },
 
     },
  },
+
    tools = {
 
+
      {
  ["ThingDef:Plant_Alocasia"] = {
+
        capacities = {
    _ = {
+
          "Bite",
      ParentName = "BushBase",
+
        },
      FileName = "Plants_Wild_Tropical.xml",
+
        power = 7.3,
      DLC = "Core",
+
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 6,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 
     },
 
     },
     defName = "Plant_Alocasia",
+
     race = {
    label = "alocasia",
+
      baseBodySize = 0.75,
    description = [[A tropical plant. Its extremely broad leaves are a commonly-recognized signifier of tropical forests.]],
+
      foodType = {
  },
+
        "VegetarianRoughAnimal",
 
+
      },
  ["ThingDef:Plant_Clivia"] = {
+
      leatherDef = "Leather_Plain",
    _ = {
+
      wildness = 0.07,
      ParentName = "BushBase",
+
      trainability = "None",
      FileName = "Plants_Wild_Tropical.xml",
+
      manhunterOnTameFailChance = 0,
       DLC = "Core",
+
      manhunterOnDamageChance = 0,
 +
      gestationPeriodDays = 17,
 +
      litterSizeCurve = {
 +
        points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {1.7, 1},
 +
          {2.0, 0},
 +
        },
 +
      },
 +
      lifeExpectancy = 12,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.1,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.4,
 +
        },
 +
       },
 
     },
 
     },
     defName = "Plant_Clivia",
+
     tradeTags = {
    label = "clivia",
+
      "AnimalCommon",
    description = [[An unusual plant with tall, pretty flowers. Some call it the 'bush lily'.]],
+
      "AnimalFarm",
    statBases = {
 
      Beauty = 2,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_Rafflesia"] = {
+
   ["ThingDef:Goose"] = {
 
     _ = {
 
     _ = {
       ParentName = "BushBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Tropical.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_Rafflesia",
+
     defName = "Goose",
     label = "giant rafflesia",
+
     label = "goose",
     description = [[A rare, giant flower which can be found deep in steaming jungles. You would think a giant flower would be beautiful, but this one looks and smells like rotting flesh.]],
+
     description = [[A domesticated bird kept by humans as poultry for it's eggs and meat. Lays eggs very often, however they take a long time to hatch.]],
 
     statBases = {
 
     statBases = {
       Beauty = -6,
+
       MoveSpeed = 2.3,
 +
      MarketValue = 90,
 +
      LeatherAmount = 36,
 +
      ComfyTemperatureMin = -10,
 +
    },
 +
    tools = {
 +
      {
 +
        label = "claws",
 +
        capacities = {
 +
          "Scratch",
 +
        },
 +
        power = 3,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "Feet",
 +
      },
 +
      {
 +
        label = "beak",
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 5.6,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Beak",
 +
      },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 2,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 +
      },
 
     },
 
     },
  },
+
    comps = {
 
+
      CompProperties_EggLayer = {
  ["ThingDef:Plant_TreeTeak"] = {
+
        eggUnfertilizedDef = "EggGooseUnfertilized",
    _ = {
+
        eggFertilizedDef = "EggGooseFertilized",
      ParentName = "DeciduousTreeBase",
+
        eggFertilizationCountMax = 1,
      FileName = "Plants_Wild_Tropical.xml",
+
        eggLayIntervalDays = 1.6,
       DLC = "Core",
+
        eggCountRange = 1,
 +
       },
 
     },
 
     },
     defName = "Plant_TreeTeak",
+
     race = {
    label = "teak tree",
+
      baseBodySize = 0.40,
    description = [[An exceptionally strong hardwood tree that grows in warm climates. Because teak wood is so durable and water-resistant, it was used to form the keel of wooden sailing ships in ancient times.]],
+
      foodType = {
    statBases = {
+
        "VegetarianRoughAnimal",
       Beauty = 2,
+
      },
 +
      leatherDef = "Leather_Bird",
 +
      trainability = "None",
 +
      wildness = 0.6,
 +
      manhunterOnTameFailChance = 0.2,
 +
      manhunterOnDamageChance = 0.25,
 +
      mateMtbHours = 8,
 +
      lifeExpectancy = 8,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBabyTiny",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.12,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.3,
 +
        },
 +
       },
 
     },
 
     },
     plant = {
+
     tradeTags = {
       growDays = 32.5,
+
       "AnimalCommon",
      harvestWork = 1800,
+
       "AnimalFarm",
       harvestYield = 60,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Plant_TreeCecropia"] = {
+
   ["ThingDef:Sheep"] = {
 
     _ = {
 
     _ = {
       ParentName = "TreeBase",
+
       ParentName = "AnimalThingBase",
       FileName = "Plants_Wild_Tropical.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Plant_TreeCecropia",
+
     defName = "Sheep",
     label = "cecropia tree",
+
     label = "sheep",
     description = [[One of the most common rainforest trees. Cecropia grows very fast, but yields little usable wood.]],
+
     description = [[Sheep husbandry is practised throughout the majority of the inhabited worlds, however only recently it has been introduced to the rimworlds. Domestic sheep are relatively small herbivores, usually with yellowish wool and medium sized horns.]],
 
     statBases = {
 
     statBases = {
      Beauty = 1,
+
       MoveSpeed = 4.8,
      Nutrition = 1.2,
+
       MarketValue = 210,
    },
 
    plant = {
 
      growDays = 14,
 
      harvestWork = 600,
 
      harvestYield = 18,
 
    },
 
  },
 
 
 
  ["ThingDef:Plant_TreePalm"] = {
 
    _ = {
 
      ParentName = "TreeBase",
 
      FileName = "Plants_Wild_Tropical.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Plant_TreePalm",
 
    label = "palm tree",
 
    description = [[A tropical tree with a tall, naked trunk topped by a cluster of very broad leaves. Unfortunately, this variety doesn't produce any edible coconuts.]],
 
    statBases = {
 
      Beauty = 1,
 
      Nutrition = 1.2,
 
    },
 
    plant = {
 
      growDays = 14,
 
      harvestWork = 600,
 
      harvestYield = 18,
 
    },
 
  },
 
 
 
  ["ThingDef:Plant_TreeBamboo"] = {
 
    _ = {
 
      ParentName = "TreeBase",
 
      FileName = "Plants_Wild_Tropical.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Plant_TreeBamboo",
 
    label = "bamboo tree",
 
    description = [[A fast-growing tree-like plant that grows in dense groves. Bamboo can be harvested for a wood-like material. The plant itself is not beautiful.]],
 
    statBases = {
 
      Nutrition = 1.2,
 
    },
 
    plant = {
 
      growDays = 12,
 
      harvestWork = 550,
 
      harvestYield = 10,
 
    },
 
  },
 
 
 
  ["ThingDef:Muffalo"] = {
 
    _ = {
 
      ParentName = "AnimalThingBase",
 
      FileName = "Races_Animal_Arid.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Muffalo",
 
    label = "muffalo",
 
    description = [[A large herding herbivore descended from buffalo and adapted for both cold and warm environments. While enraged muffalo are deadly, tamed muffalo are quite docile and can be used as pack animals.\n\nNobody is quite sure why they're blue - it might even be some early genetic modification test that just never got changed.]],
 
    statBases = {
 
       MoveSpeed = 4.5,
 
       MarketValue = 300,
 
 
       ComfyTemperatureMin = -55,
 
       ComfyTemperatureMin = -55,
 
       ComfyTemperatureMax = 45,
 
       ComfyTemperatureMax = 45,
Line 17,953: Line 20,138:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 13,
+
         power = 14,
         cooldownTime = 2.6,
+
         cooldownTime = 2.9,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
       },
 
       },
Line 17,963: Line 20,148:
 
           "Poke",
 
           "Poke",
 
         },
 
         },
         power = 10,
+
         power = 6,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontLeftLeg",
 
         linkedBodyPartsGroup = "FrontLeftLeg",
Line 17,973: Line 20,158:
 
           "Poke",
 
           "Poke",
 
         },
 
         },
         power = 10,
+
         power = 6,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontRightLeg",
 
         linkedBodyPartsGroup = "FrontRightLeg",
Line 17,981: Line 20,166:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 10,
+
         power = 8,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
Line 17,989: Line 20,174:
 
     comps = {
 
     comps = {
 
       CompProperties_Shearable = {
 
       CompProperties_Shearable = {
         woolDef = "WoolMuffalo",
+
         woolDef = "WoolSheep",
         shearIntervalDays = 25,
+
         shearIntervalDays = 10,
         woolAmount = 100,
+
         woolAmount = 45,
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
 
       herdAnimal = true,
 
       herdAnimal = true,
       baseBodySize = 2.1,
+
       baseBodySize = 0.75,
       foodType = "VegetarianRoughAnimal",
+
       foodType = {
       leatherDef = "Leather_Bluefur",
+
        "VegetarianRoughAnimal",
       gestationPeriodDays = 28,
+
      },
       wildness = 0.6,
+
       leatherDef = "Leather_Plain",
       trainability = "Simple",
+
       gestationPeriodDays = 17,
       lifeExpectancy = 15,
+
      litterSizeCurve = {
       lifeStageAges = {
+
        points = {
         {
+
          {0.5, 0},
           def = "AnimalBaby",
+
          {1, 1},
 +
          {1.7, 1},
 +
          {2.0, 0},
 +
        },
 +
      },
 +
       wildness = 0,
 +
       trainability = "None",
 +
      manhunterOnDamageChance = 0.0,
 +
       lifeExpectancy = 12,
 +
       lifeStageAges = {
 +
         {
 +
           def = "AnimalBaby",
 
           minAge = 0,
 
           minAge = 0,
 
         },
 
         },
Line 18,024: Line 20,220:
 
   },
 
   },
  
   ["ThingDef:Gazelle"] = {
+
   ["ThingDef:Horse"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Arid.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Gazelle",
+
     defName = "Horse",
     label = "gazelle",
+
     label = "horse",
     description = [[A small, extremely quick antelope known for its amazingly long leap.]],
+
     description = [[A large hoofed mammal with a short coat, a long mane, and a long tail. Horses have been domesticated since ancient times.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 6.0,
+
       MoveSpeed = 5.8,
       ComfyTemperatureMin = -10,
+
      MarketValue = 550,
       MarketValue = 150,
+
       ComfyTemperatureMin = -35,
 +
       ComfyTemperatureMax = 45,
 
     },
 
     },
 
     tools = {
 
     tools = {
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 10,
 +
        cooldownTime = 2.9,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
      },
 
       {
 
       {
 
         label = "left hoof",
 
         label = "left hoof",
Line 18,045: Line 20,252:
 
           "Poke",
 
           "Poke",
 
         },
 
         },
         power = 5.5,
+
         power = 7,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontLeftLeg",
 
         linkedBodyPartsGroup = "FrontLeftLeg",
 
       },
 
       },
Line 18,055: Line 20,262:
 
           "Poke",
 
           "Poke",
 
         },
 
         },
         power = 5.5,
+
         power = 7,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontRightLeg",
 
         linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
       },
Line 18,063: Line 20,270:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 7,
+
         power = 5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
         chanceFactor = 0.7,
+
         chanceFactor = 0.5,
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 7,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
 
       herdAnimal = true,
 
       herdAnimal = true,
       baseBodySize = 0.7,
+
       baseBodySize = 2.0,
       foodType = "VegetarianRoughAnimal",
+
       foodType = {
 +
        "VegetarianRoughAnimal",
 +
      },
 
       leatherDef = "Leather_Plain",
 
       leatherDef = "Leather_Plain",
       wildness = 0.75,
+
      gestationPeriodDays = 28,
       gestationPeriodDays = 22,
+
       wildness = 0.5,
       lifeExpectancy = 12,
+
       petness = 0.6,
       manhunterOnTameFailChance = 0,
+
       trainability = "Advanced",
       manhunterOnDamageChance = 0,
+
       manhunterOnDamageChance = 0.1,
 +
       lifeExpectancy = 30,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 18,096: Line 20,296:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.20,
+
           minAge = 0.25,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.4,
+
           minAge = 0.5,
 
         },
 
         },
 
       },
 
       },
Line 18,106: Line 20,306:
 
     tradeTags = {
 
     tradeTags = {
 
       "AnimalCommon",
 
       "AnimalCommon",
 +
      "AnimalFarm",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Iguana"] = {
+
   ["ThingDef:Yak"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Arid.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Iguana",
+
     defName = "Yak",
     label = "iguana",
+
     label = "yak",
     description = [[These large lizards normally feed on plant matter. However, when angered, their tough hide and sharp claws make them quite dangerous.\n\nResting iguanas hold their heads high, giving them an amusing 'proud' look. But they're not proud; they're just trying to see predators so they don't get eaten.]],
+
     description = [[Yaks are robust cattle with a bulky frame, short but thick legs, and rounded cloven hooves that are splayed to help them walk in snow.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 3.0,
+
       MoveSpeed = 3.2,
      MarketValue = 100,
+
       ComfyTemperatureMin = -45,
       ComfyTemperatureMin = 0,
+
       MarketValue = 320,
       ComfyTemperatureMax = 60,
 
 
     },
 
     },
     tools = {
+
     comps = {
       {
+
       CompProperties_Milkable = {
        label = "left claw",
+
         milkDef = "Milk",
        capacities = {
+
         milkIntervalDays = 2,
          "Scratch",
+
         milkAmount = 12,
        },
 
        power = 8,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontLeftClaws",
 
      },
 
      {
 
         label = "right claw",
 
         capacities = {
 
          "Scratch",
 
        },
 
        power = 8,
 
        cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontRightClaws",
 
 
       },
 
       },
 +
    },
 +
    tools = {
 
       {
 
       {
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 10,
+
         power = 8.8,
 
         cooldownTime = 2.6,
 
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
Line 18,157: Line 20,347:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 5,
+
         power = 9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         chanceFactor = 0.2,
 
         chanceFactor = 0.2,
 
       },
 
       },
    },
+
      {
    comps = {
+
        label = "left hoof",
      CompProperties_EggLayer = {
+
        capacities = {
         eggFertilizedDef = "EggIguanaFertilized",
+
          "Blunt",
         eggFertilizationCountMax = 1,
+
          "Poke",
         eggLayIntervalDays = 15,
+
        },
         eggProgressUnfertilizedMax = 0.5,
+
         power = 8,
         eggCountRange = { ["<"]=1, [">"]=2 },
+
         cooldownTime = 2,
 +
         linkedBodyPartsGroup = "FrontLeftLeg",
 +
      },
 +
      {
 +
         label = "right hoof",
 +
         capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 8,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.20,
+
      herdAnimal = true,
       foodType = "OmnivoreRoughAnimal",
+
       baseBodySize = 1.9,
       leatherDef = "Leather_Lizard",
+
       foodType = {
       wildness = 0.5,
+
        "VegetarianRoughAnimal",
 +
      },
 +
       leatherDef = "Leather_Plain",
 +
       wildness = 0.11,
 +
      petness = 0.3,
 
       trainability = "None",
 
       trainability = "None",
       petness = 0.15,
+
       gestationPeriodDays = 20,
       lifeExpectancy = 12,
+
      lifeExpectancy = 22,
 +
      manhunterOnDamageChance = 0.05,
 +
       manhunterOnTameFailChance = 0.02,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 18,187: Line 20,394:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.09,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.25,
+
           minAge = 0.45,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalUncommon",
+
       "AnimalCommon",
 +
      "AnimalFarm",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Dromedary"] = {
+
   ["ThingDef:GuineaPig"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Arid.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Dromedary",
+
     defName = "GuineaPig",
     label = "dromedary",
+
     label = "guinea pig",
     description = [[A large land mammal adapted to arid environments. Domesticated since ancient times, its wool and leather are both exceptionally good at insulating against the desert heat, and its milk is quite nourishing. It can be used as a pack animal, but its bouncing gait makes it too uncomfortable to ride for any distance.\n\nBy storing water in its large humps and reclaiming moisture from its breath as it exhales, it can go weeks without drinking.]],
+
     description = [[Neither a pig or a creature from Guinea, these little rodents are bred to be a household pet and a delicious dinner.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.3,
+
       MoveSpeed = 5.0,
       MarketValue = 300,
+
       MarketValue = 150,
       ComfyTemperatureMin = -22,
+
       ComfyTemperatureMin = -15,
       ComfyTemperatureMax = 60,
+
       ComfyTemperatureMax = 55,
    },
 
    comps = {
 
      CompProperties_Milkable = {
 
        milkDef = "Milk",
 
        milkIntervalDays = 2,
 
        milkAmount = 12,
 
      },
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "left hoof",
+
         label = "left claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
          "Poke",
 
 
         },
 
         },
         power = 9,
+
         power = 3.6,
         cooldownTime = 2,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
 
       {
 
       {
         label = "right hoof",
+
         label = "right claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
          "Poke",
 
 
         },
 
         },
         power = 9,
+
         power = 3.6,
         cooldownTime = 2,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
 
       {
 
       {
Line 18,247: Line 20,447:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 10,
+
         power = 5.8,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
Line 18,257: Line 20,457:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 7,
+
         power = 2,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 18,264: Line 20,464:
 
     },
 
     },
 
     race = {
 
     race = {
      herdAnimal = true,
+
       baseBodySize = 0.28,
       baseBodySize = 2.0,
+
       foodType = {
       foodType = "VegetarianRoughAnimal",
+
        "VegetarianRoughAnimal",
       leatherDef = "Leather_Camel",
+
      },
       wildness = 0.25,
+
       leatherDef = "Leather_GuineaPig",
       trainability = "Simple",
+
       wildness = 0.60,
       gestationPeriodDays = 28,
+
       trainability = "None",
       lifeExpectancy = 45,
+
       petness = 0.30,
       manhunterOnTameFailChance = 0,
+
      mateMtbHours = 8,
 +
      nuzzleMtbHours = 24,
 +
       gestationPeriodDays = 14,
 +
       manhunterOnTameFailChance = 0.02,
 
       manhunterOnDamageChance = 0,
 
       manhunterOnDamageChance = 0,
 +
      litterSizeCurve = {
 +
        points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {2.5, 1},
 +
          {3, 0},
 +
        },
 +
      },
 +
      lifeExpectancy = 4,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 18,281: Line 20,493:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.25,
+
           minAge = 0.15,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.5,
+
           minAge = 0.30,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalPet",
 +
      "AnimalUncommon",
 
       "AnimalFarm",
 
       "AnimalFarm",
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Donkey"] = {
 
     _ = {
 
     _ = {
       Name = "BasePawn",
+
       ParentName = "AnimalThingBase",
       Abstract = true,
+
       DefCategory = "ThingDef",
       FileName = "Races_Animal_Base.xml",
+
       FileName = "Races_Animal_Farm.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     thingClass = "Pawn",
+
     defName = "Donkey",
     category = "Pawn",
+
     label = "donkey",
     altitudeLayer = "Pawn",
+
     description = [[A small relative of the horse, domesticated in ancient times for farm work. Its goofy call is simultaneously annoying and endearing.]],
    useHitPoints = false,
 
 
     statBases = {
 
     statBases = {
       Mass = 60,
+
       MoveSpeed = 5.3,
       Flammability = 0.7,
+
      MarketValue = 320,
 +
       ComfyTemperatureMin = -25,
 +
      ComfyTemperatureMax = 45,
 
     },
 
     },
     comps = {
+
     tools = {
 
       {
 
       {
         compClass = "CompAttachBase",
+
         label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 12,
 +
        cooldownTime = 2.9,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
      },
 +
      {
 +
        label = "left hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 8,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftLeg",
 +
      },
 +
      {
 +
        label = "right hoof",
 +
        capacities = {
 +
          "Blunt",
 +
          "Poke",
 +
        },
 +
        power = 8,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontRightLeg",
 +
      },
 +
      {
 +
        capacities = {
 +
          "Bite",
 +
        },
 +
        power = 6,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.5,
 
       },
 
       },
 
     },
 
     },
  },
+
    race = {
  ThingDef = {
+
      herdAnimal = true,
    _ = {
+
      baseBodySize = 1.5,
       ParentName = "BasePawn",
+
      foodType = {
       Name = "AnimalThingBase",
+
        "VegetarianRoughAnimal",
       Abstract = true,
+
       },
       FileName = "Races_Animal_Base.xml",
+
      leatherDef = "Leather_Plain",
      DLC = "Core",
+
       gestationPeriodDays = 28,
    },
+
      wildness = 0.03,
    statBases = {
+
      petness = 0.60,
       LeatherAmount = 30,
+
      trainability = "Advanced",
 +
       manhunterOnDamageChance = 0.05,
 +
      lifeExpectancy = 24,
 +
       lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 0.25,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 0.5,
 +
        },
 +
       },
 
     },
 
     },
     race = {
+
     tradeTags = {
       manhunterOnDamageChance = 0.02,
+
       "AnimalUncommon",
      manhunterOnTameFailChance = 0.013,
+
       "AnimalFarm",
       trainability = "Intermediate",
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Rhinoceros"] = {
 
     _ = {
 
     _ = {
      Abstract = true,
 
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       Name = "BaseBear",
+
       DefCategory = "ThingDef",
       FileName = "Races_Animal_Bears.xml",
+
       FileName = "Races_Animal_Giant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "Rhinoceros",
 +
    label = "rhinoceros",
 +
    description = [[Despite being herbivorous, this large mammal is very easy to enrage. Once angered, its massive strength and sharp horn make it a brutal opponent. It has more muscle in one leg than most humans do in their whole body.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.6,
+
       MoveSpeed = 5.0,
      ComfyTemperatureMin = -40,
 
 
       MarketValue = 700,
 
       MarketValue = 700,
 +
      ComfyTemperatureMin = -8,
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "left claw",
+
         label = "horn",
 
         capacities = {
 
         capacities = {
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 17,
+
         power = 19,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftPaw",
+
         linkedBodyPartsGroup = "HornAttackTool",
 
       },
 
       },
 
       {
 
       {
         label = "right claw",
+
         label = "horn",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 
         },
 
         },
         power = 17,
+
         power = 19,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightPaw",
+
         linkedBodyPartsGroup = "HornAttackTool",
 
       },
 
       },
 
       {
 
       {
Line 18,368: Line 20,636:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 23.6,
+
         power = 19,
 
         cooldownTime = 2.6,
 
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
         chanceFactor = 0.5,
+
         chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
Line 18,378: Line 20,646:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 11,
+
         power = 15,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 18,385: Line 20,653:
 
     },
 
     },
 
     race = {
 
     race = {
      herdAnimal = false,
+
       baseBodySize = 3.0,
       baseBodySize = 2.15,
+
       foodType = {
       foodType = "OmnivoreAnimal, OvivoreAnimal",
+
        "VegetarianRoughAnimal",
       leatherDef = "Leather_Bear",
+
      },
      gestationPeriodDays = 30,
+
       leatherDef = "Leather_Rhinoceros",
       wildness = 0.80,
+
       wildness = 0.90,
      lifeExpectancy = 22,
 
      trainability = "Advanced",
 
 
       manhunterOnTameFailChance = 0.10,
 
       manhunterOnTameFailChance = 0.10,
 
       manhunterOnDamageChance = 0.10,
 
       manhunterOnDamageChance = 0.10,
 +
      gestationPeriodDays = 43,
 +
      lifeExpectancy = 45,
 +
      herdAnimal = true,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 18,402: Line 20,671:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.4,
+
           minAge = 0.3,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.8,
+
           minAge = 1.0,
 
         },
 
         },
 
       },
 
       },
Line 18,416: Line 20,685:
 
   },
 
   },
  
   ["ThingDef:Bear_Grizzly"] = {
+
   ["ThingDef:Elephant"] = {
    _ = {
 
      ParentName = "BaseBear",
 
      FileName = "Races_Animal_Bears.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Bear_Grizzly",
 
    label = "grizzly bear",
 
    description = [[A huge omnivorous mammal adapted for cold climates. Bears' thick blubber and fur keeps them warm in winter.\n\nWhile their usual diet consists of fish, berries, honey, and scavenged meat, the grizzly is capable of using its massive strength and deadly claws to kill live prey. They are startlingly quick for such lumbering creatures.]],
 
    race = {
 
      wildness = 0.80,
 
    },
 
  },
 
 
 
  ["ThingDef:Bear_Polar"] = {
 
    _ = {
 
      ParentName = "BaseBear",
 
      FileName = "Races_Animal_Bears.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Bear_Polar",
 
    label = "polar bear",
 
    description = [[A great white bear adapted for frozen climates. Their thick blubber and fur keep them warm in winter.\n\nWhile their usual diet consists of fish and scavenged meat, the polar bear can also use its massive strength and deadly claws to kill live prey. They are startlingly quick for such lumbering creatures.]],
 
    statBases = {
 
      ComfyTemperatureMin = -55,
 
    },
 
    race = {
 
      wildness = 0.85,
 
    },
 
  },
 
  ThingDef = {
 
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       Name = "BigCatThingBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Races_Animal_Giant.xml",
       FileName = "Races_Animal_BigCats.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "Elephant",
 +
    label = "elephant",
 +
    description = [[The largest unmodified land animal. Elephants has a long trunk they use to manipulate objects, and sharp tusks they use to gore attackers. A dead elephant's valuable tusks can be recovered by butchering it.\n\nIntelligent creatures with complex social relationships, elephants can be used as pack animals or trained to carry out the most complex of tasks. They live a long time, and are known to remember events and relationships from many decades before.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.0,
+
       MoveSpeed = 4.8,
       MarketValue = 400,
+
       MarketValue = 600,
 +
      ComfyTemperatureMin = -12,
 +
      ComfyTemperatureMax = 50,
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "left claw",
+
         label = "tusk",
 
         capacities = {
 
         capacities = {
 
           "Scratch",
 
           "Scratch",
 +
          "Stab",
 
         },
 
         },
         power = 11,
+
         power = 25,
         cooldownTime = 1.5,
+
         cooldownTime = 2.6,
         linkedBodyPartsGroup = "FrontLeftPaw",
+
         linkedBodyPartsGroup = "TuskAttackTool",
 
       },
 
       },
 
       {
 
       {
         label = "right claw",
+
         label = "left foot",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 
         },
 
         },
         power = 11,
+
         power = 16.9,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightPaw",
+
         linkedBodyPartsGroup = "FrontLeftLeg",
 
       },
 
       },
 
       {
 
       {
 +
        label = "right foot",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Blunt",
 
         },
 
         },
         power = 16,
+
         power = 16.9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "FrontRightLeg",
        chanceFactor = 0.7,
 
 
       },
 
       },
 
       {
 
       {
Line 18,491: Line 20,735:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 9,
+
         power = 14,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 18,498: Line 20,742:
 
     },
 
     },
 
     race = {
 
     race = {
       herdAnimal = false,
+
       herdAnimal = true,
       baseBodySize = 1.4,
+
       baseBodySize = 4.0,
       foodType = "CarnivoreAnimal, OvivoreAnimal",
+
       foodType = {
       leatherDef = "Leather_Panthera",
+
        "VegetarianRoughAnimal",
       wildness = 0.80,
+
      },
 +
       leatherDef = "Leather_Elephant",
 +
      gestationPeriodDays = 48,
 +
       wildness = 0.75,
 +
      nuzzleMtbHours = 24,
 
       trainability = "Advanced",
 
       trainability = "Advanced",
 +
      lifeExpectancy = 50,
 
       manhunterOnTameFailChance = 0.10,
 
       manhunterOnTameFailChance = 0.10,
 
       manhunterOnDamageChance = 0.10,
 
       manhunterOnDamageChance = 0.10,
      gestationPeriodDays = 26,
 
      lifeExpectancy = 13,
 
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 18,515: Line 20,762:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.25,
+
           minAge = 0.8,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.5,
+
           minAge = 2.0,
 
         },
 
         },
 
       },
 
       },
Line 18,525: Line 20,772:
 
     tradeTags = {
 
     tradeTags = {
 
       "AnimalUncommon",
 
       "AnimalUncommon",
      "AnimalFighter",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Cougar"] = {
+
   ["ThingDef:Megasloth"] = {
    _ = {
 
      ParentName = "BigCatThingBase",
 
      FileName = "Races_Animal_BigCats.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Cougar",
 
    label = "cougar",
 
    description = [[One of the most dangerous big cats, cougars are solitary hunters with long, sharp teeth and claws. They stalk prey from hidden positions before pouncing.\n\nWhile humans are not their normal diet, they won't turn down a meal of vulnerable human meat.]],
 
    statBases = {
 
      ComfyTemperatureMin = -25,
 
    },
 
  },
 
 
 
  ["ThingDef:Panther"] = {
 
    _ = {
 
      ParentName = "BigCatThingBase",
 
      FileName = "Races_Animal_BigCats.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Panther",
 
    label = "panther",
 
    description = [[An agile and powerful big cat native to the jungles of old Earth. As solitary ambush predators, panthers are masters of taking down both large and small prey. Onlookers tend to focus on their graceful movements, while those in closer contact usually notice their skull-crushing strength.]],
 
    statBases = {
 
      ComfyTemperatureMin = -8,
 
      ComfyTemperatureMax = 50,
 
    },
 
  },
 
 
 
  ["ThingDef:Lynx"] = {
 
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_BigCats.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Giant.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Lynx",
+
     defName = "Megasloth",
     label = "lynx",
+
     label = "megasloth",
     description = [[A wildcat larger than a housecat, but smaller than a cougar. Lynxes survive on a diet of small birds and animals. Their very warm fur keeps them safe from the brutally cold temperatures of their frozen territories.]],
+
     description = [[A giant, solitary herbivore with two giant claws for warding off threats. Long extinct after being wiped out by the natives of Earth's American continent, the megasloth was later brought back using advanced cloning and artificial gestators. Its thick hide is exceptionally strong and insulating, and makes a great leather for cold-weather clothing. It is peaceful if left alone, but will shred anyone who disturbs it with its giant claws.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.0,
+
       MoveSpeed = 4.8,
       ComfyTemperatureMin = -50,
+
       MarketValue = 700,
       MarketValue = 250,
+
       ComfyTemperatureMin = -55,
 
     },
 
     },
 
     tools = {
 
     tools = {
Line 18,578: Line 20,796:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 9,
+
         power = 21,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
Line 18,587: Line 20,805:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 9,
+
         power = 21,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontRightPaw",
 
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
Line 18,595: Line 20,813:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 12,
+
         power = 22,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
 
         chanceFactor = 0.7,
 
         chanceFactor = 0.7,
Line 18,605: Line 20,823:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 6,
+
         power = 15,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 18,612: Line 20,830:
 
     },
 
     },
 
     race = {
 
     race = {
      herdAnimal = false,
+
       baseBodySize = 4.0,
       baseBodySize = 0.8,
+
       foodType = {
       foodType = "CarnivoreAnimal, OvivoreAnimal",
+
        "VegetarianRoughAnimal",
       leatherDef = "Leather_Panthera",
+
      },
       wildness = 0.80,
+
       leatherDef = "Leather_Heavy",
 +
      gestationPeriodDays = 55,
 +
       wildness = 0.97,
 +
      trainability = "Advanced",
 +
      nuzzleMtbHours = 60,
 +
      lifeExpectancy = 20,
 
       manhunterOnTameFailChance = 0.10,
 
       manhunterOnTameFailChance = 0.10,
 
       manhunterOnDamageChance = 0.10,
 
       manhunterOnDamageChance = 0.10,
      gestationPeriodDays = 26,
 
      lifeExpectancy = 9,
 
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 18,628: Line 20,849:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.2,
+
           minAge = 1.0,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.4,
+
           minAge = 3.0,
 
         },
 
         },
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_Shearable = {
 +
        woolDef = "WoolMegasloth",
 +
        shearIntervalDays = 50,
 +
        woolAmount = 400,
 
       },
 
       },
 
     },
 
     },
Line 18,641: Line 20,869:
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Thrumbo"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       Name = "BigBirdThingBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Races_Animal_Giant.xml",
       FileName = "Races_Animal_Birds.xml",
 
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    race = {
+
     defName = "Thrumbo",
      leatherDef = "Leather_Bird",
+
     label = "thrumbo",
      gestationPeriodDays = 24,
+
     description = [[A gigantic, graceful creature of unknown origin. The thrumbo is gentle by nature, but extremely dangerous when enraged. While its long fur is exceptionally beautiful, its hide is also incredibly resistant to damage. Its razor-sharp horn fetches a huge price.\n\nLegends say that an old thrumbo is the wisest creature in the universe - it simply chooses not to speak.]],
      lifeStageAges = {
 
        {
 
          def = "AnimalBabyTiny",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.22,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.45,
 
        },
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:Cassowary"] = {
 
    _ = {
 
      ParentName = "BigBirdThingBase",
 
      FileName = "Races_Animal_Birds.xml",
 
      DLC = "Core",
 
    },
 
     defName = "Cassowary",
 
     label = "cassowary",
 
     description = [[A large flightless bird with brightly-colored feathers. While it looks beautiful, its kick is vicious. It's known for being quick to aggression when harmed by violence or confronted by incompetent animal tamers.]],
 
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.6,
+
       MoveSpeed = 5.5,
       MarketValue = 200,
+
       MarketValue = 4000,
       ComfyTemperatureMin = -8,
+
       ComfyTemperatureMin = -65,
 
       ComfyTemperatureMax = 50,
 
       ComfyTemperatureMax = 50,
    },
+
       ArmorRating_Sharp = 0.60,
    race = {
+
       ArmorRating_Blunt = 0.40,
       herdAnimal = false,
+
       ArmorRating_Heat = 0.30,
      baseBodySize = 0.8,
 
      foodType = "VegetarianRoughAnimal",
 
       wildness = 0.80,
 
       lifeExpectancy = 45,
 
      manhunterOnTameFailChance = 0.10,
 
      manhunterOnDamageChance = 0.10,
 
    },
 
    comps = {
 
      CompProperties_EggLayer = {
 
        eggFertilizedDef = "EggCassowaryFertilized",
 
        eggFertilizationCountMax = 1,
 
        eggLayIntervalDays = 17,
 
        eggProgressUnfertilizedMax = 0.5,
 
        eggCountRange = 1,
 
      },
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "claws",
+
         label = "horn",
 
         capacities = {
 
         capacities = {
 
           "Scratch",
 
           "Scratch",
 +
          "Stab",
 
         },
 
         },
         power = 7,
+
         power = 23,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "Feet",
+
         linkedBodyPartsGroup = "HornAttackTool",
 
       },
 
       },
 
       {
 
       {
        label = "beak",
 
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 8,
+
         power = 28,
 +
        cooldownTime = 2.6,
 +
        linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 +
      },
 +
      {
 +
        label = "left foot",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 19,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftLeg",
 +
      },
 +
      {
 +
        label = "right foot",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 19,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Beak",
+
         linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
       },
 
       {
 
       {
Line 18,726: Line 20,932:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 6,
+
         power = 17,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 18,732: Line 20,938:
 
       },
 
       },
 
     },
 
     },
     tradeTags = {
+
    race = {
       "AnimalUncommon",
+
      baseBodySize = 4,
 +
      foodType = {
 +
        "VegetarianRoughAnimal",
 +
        "DendrovoreAnimal",
 +
      },
 +
      leatherDef = "Leather_Thrumbo",
 +
      trainability = "Advanced",
 +
      gestationPeriodDays = 60,
 +
      manhunterOnDamageChance = 1.00,
 +
      wildness = 0.985,
 +
      lifeExpectancy = 220,
 +
      lifeStageAges = {
 +
        {
 +
          def = "AnimalBaby",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "AnimalJuvenile",
 +
          minAge = 2.0,
 +
        },
 +
        {
 +
          def = "AnimalAdult",
 +
          minAge = 4.0,
 +
        },
 +
      },
 +
    },
 +
     tradeTags = {
 +
       "AnimalExotic",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Emu"] = {
+
   ["ThingDef:BaseHare"] = {
 
     _ = {
 
     _ = {
       ParentName = "BigBirdThingBase",
+
      Abstract = true,
       FileName = "Races_Animal_Birds.xml",
+
       ParentName = "AnimalThingBase",
 +
      Name = "BaseHare",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Hares.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Emu",
 
    label = "emu",
 
    description = [[A large flightless bird with beady eyes on its ugly face. With its bad attitude, it is the jerk of the natural world. Bother it, and it is guaranteed to seek revenge.]],
 
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.5,
+
       MoveSpeed = 6.0,
       MarketValue = 200,
+
       MarketValue = 50,
       ComfyTemperatureMin = -8,
+
       ComfyTemperatureMin = -30,
      ComfyTemperatureMax = 50,
 
    },
 
    race = {
 
      herdAnimal = false,
 
      baseBodySize = 0.8,
 
      foodType = "VegetarianRoughAnimal",
 
      wildness = 0.95,
 
      lifeExpectancy = 45,
 
      manhunterOnTameFailChance = 1.00,
 
      manhunterOnDamageChance = 1.00,
 
    },
 
    comps = {
 
      CompProperties_EggLayer = {
 
        eggFertilizedDef = "EggEmuFertilized",
 
        eggFertilizationCountMax = 1,
 
        eggLayIntervalDays = 17,
 
        eggProgressUnfertilizedMax = 0.5,
 
        eggCountRange = 1,
 
      },
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
        label = "claws",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 8,
 
        cooldownTime = 1.5,
 
        linkedBodyPartsGroup = "Feet",
 
      },
 
      {
 
        label = "beak",
 
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 9,
+
         power = 3.4,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Beak",
+
         linkedBodyPartsGroup = "Teeth",
 
       },
 
       },
 
       {
 
       {
Line 18,794: Line 20,998:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 6,
+
         power = 1.5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         chanceFactor = 0.2,
 
         chanceFactor = 0.2,
 
       },
 
       },
    },
 
    tradeTags = {
 
      "AnimalUncommon",
 
    },
 
  },
 
 
  ["ThingDef:Ostrich"] = {
 
    _ = {
 
      ParentName = "BigBirdThingBase",
 
      FileName = "Races_Animal_Birds.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Ostrich",
 
    label = "ostrich",
 
    description = [[The largest unmodified bird species, ostriches are known for their fast run, huge eggs, and powerful kick. It is easily angered.]],
 
    statBases = {
 
      MoveSpeed = 6.0,
 
      MarketValue = 250,
 
      ComfyTemperatureMin = -8,
 
      ComfyTemperatureMax = 50,
 
 
     },
 
     },
 
     race = {
 
     race = {
       herdAnimal = false,
+
       baseBodySize = 0.2,
       baseBodySize = 1.0,
+
       foodType = {
       foodType = "VegetarianRoughAnimal",
+
        "VegetarianRoughAnimal",
       wildness = 0.95,
+
      },
       lifeExpectancy = 45,
+
       leatherDef = "Leather_Light",
       manhunterOnTameFailChance = 0.10,
+
       wildness = 0.75,
       manhunterOnDamageChance = 0.10,
+
       trainability = "None",
    },
+
       petness = 0.08,
    comps = {
+
       mateMtbHours = 8,
       CompProperties_EggLayer = {
+
      nuzzleMtbHours = 36,
        eggFertilizedDef = "EggOstrichFertilized",
+
      gestationPeriodDays = 13,
         eggFertilizationCountMax = 1,
+
       manhunterOnTameFailChance = 0,
        eggLayIntervalDays = 19,
+
      manhunterOnDamageChance = 0,
        eggProgressUnfertilizedMax = 0.5,
+
      litterSizeCurve = {
         eggCountRange = 1,
+
         points = {
 +
          {1.0, 0},
 +
          {1.5, 1},
 +
          {2.0, 1},
 +
          {2.5, 0},
 +
         },
 
       },
 
       },
    },
+
      lifeExpectancy = 8,
    tools = {
+
      lifeStageAges = {
      {
+
        {
        label = "claws",
+
          def = "AnimalBaby",
        capacities = {
+
          minAge = 0,
          "Scratch",
 
 
         },
 
         },
         power = 11,
+
         {
        cooldownTime = 1.5,
+
          def = "AnimalJuvenile",
        linkedBodyPartsGroup = "Feet",
+
          minAge = 0.1,
      },
 
      {
 
        label = "beak",
 
        capacities = {
 
          "Bite",
 
 
         },
 
         },
         power = 11,
+
         {
        cooldownTime = 2,
+
          def = "AnimalAdult",
        linkedBodyPartsGroup = "Beak",
+
          minAge = 0.3,
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
 
         },
 
         },
        power = 6,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalUncommon",
+
       "AnimalCommon",
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:Hare"] = {
 +
    _ = {
 +
      ParentName = "BaseHare",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Races_Animal_Hares.xml",
 +
      DLC = "Core",
 
     },
 
     },
 +
    defName = "Hare",
 +
    label = "hare",
 +
    description = [[This small, solitary herbivore can swiftly hop away from danger.]],
 
   },
 
   },
  
   ["ThingDef:Turkey"] = {
+
   ["ThingDef:Snowhare"] = {
 
     _ = {
 
     _ = {
       ParentName = "BigBirdThingBase",
+
       ParentName = "BaseHare",
       FileName = "Races_Animal_Birds.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Hares.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Turkey",
+
     defName = "Snowhare",
     label = "turkey",
+
     label = "snowhare",
     description = [[A short, fat, flightless bird known for its hilarious 'gobbling' call. It has been long domesticated, but also lives in the wild.]],
+
     description = [[This hardy animal survives the brutal winters of its homelands by burrowing through snow to find edible plants.]],
 
     statBases = {
 
     statBases = {
      MoveSpeed = 3.6,
+
       ComfyTemperatureMin = -55,
      MarketValue = 100,
 
       ComfyTemperatureMin = -8,
 
 
     },
 
     },
     race = {
+
  },
       herdAnimal = false,
+
 
       baseBodySize = 0.6,
+
  ["ThingDef:BaseInsect"] = {
       foodType = "VegetarianRoughAnimal",
+
     _ = {
       wildness = 0.45,
+
       Abstract = true,
       trainability = "None",
+
       ParentName = "AnimalThingBase",
       lifeExpectancy = 9,
+
       Name = "BaseInsect",
       manhunterOnTameFailChance = 0,
+
       DefCategory = "ThingDef",
       manhunterOnDamageChance = 0,
+
       FileName = "Races_Animal_Insect.xml",
 +
       DLC = "Core",
 +
    },
 +
    statBases = {
 +
       ToxicSensitivity = 0,
 +
       ComfyTemperatureMax = 60,
 
     },
 
     },
     comps = {
+
     race = {
       CompProperties_EggLayer = {
+
       foodType = {
         eggFertilizedDef = "EggTurkeyFertilized",
+
         "OmnivoreAnimal",
         eggFertilizationCountMax = 1,
+
         "AnimalProduct",
        eggLayIntervalDays = 11,
 
        eggProgressUnfertilizedMax = 0.5,
 
        eggCountRange = { ["<"]=1, [">"]=1 },
 
 
       },
 
       },
 +
      manhunterOnDamageChance = 0.35,
 +
      manhunterOnTameFailChance = 0.20,
 +
    },
 +
  },
 +
 +
  ["ThingDef:Megascarab"] = {
 +
    _ = {
 +
      ParentName = "BaseInsect",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Races_Animal_Insect.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Megascarab",
 +
    label = "megascarab",
 +
    description = [[A large, genetically-engineered beetle. Once the worker caste of an artifical ecosystem of insectoids designed to fight mechanoid invasions, it is now often seen without its deadlier insectoid cousins. Still, its size and hard shell make it dangerous when it attacks. A eusocial creature, it cannot reproduce individually.]],
 +
    statBases = {
 +
      MoveSpeed = 3.75,
 +
      ArmorRating_Blunt = 0.18,
 +
      ArmorRating_Sharp = 0.72,
 +
      ComfyTemperatureMin = 0,
 +
      MarketValue = 100,
 +
      LeatherAmount = 0,
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "claws",
+
         label = "mandibles",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Bite",
 
         },
 
         },
 
         power = 5,
 
         power = 5,
        cooldownTime = 1.5,
 
        linkedBodyPartsGroup = "Feet",
 
      },
 
      {
 
        label = "beak",
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 6,
 
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Beak",
+
         linkedBodyPartsGroup = "Mouth",
 
       },
 
       },
 
       {
 
       {
Line 18,933: Line 21,133:
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
         chanceFactor = 0.2,
+
         chanceFactor = 0.1,
 +
      },
 +
    },
 +
    race = {
 +
      baseBodySize = 0.2,
 +
      wildness = 0.95,
 +
      lifeExpectancy = 10,
 +
      lifeStageAges = {
 +
        {
 +
          def = "EusocialInsectLarva",
 +
          minAge = 0,
 +
        },
 +
        {
 +
          def = "EusocialInsectJuvenile",
 +
          minAge = 0.03,
 +
        },
 +
        {
 +
          def = "EusocialInsectAdult",
 +
          minAge = 0.4,
 +
        },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalInsect",
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Chicken"] = {
+
   ["ThingDef:Spelopede"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BaseInsect",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Insect.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Chicken",
+
     defName = "Spelopede",
     label = "chicken",
+
     label = "spelopede",
     description = [[The most traditional farm bird, the chicken is raised for its eggs and meat. It grows very quickly and lays eggs very often.]],
+
     description = [[A medium-sized bioengineered insectoid the size of a sheep. The spelopede is the middle caste of a hive, taking care of most work tasks as well as fighting with its digging claws. It's dangerous in combat, but slow on open ground.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 2.1,
+
       MoveSpeed = 3.65,
       MarketValue = 50,
+
      ComfyTemperatureMin = -25,
 +
       MarketValue = 200,
 
       LeatherAmount = 0,
 
       LeatherAmount = 0,
       ComfyTemperatureMin = -10,
+
       ArmorRating_Blunt = 0.18,
 +
      ArmorRating_Sharp = 0.18,
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "claws",
+
         label = "head claw",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Cut",
 
         },
 
         },
         power = 2,
+
         power = 7,
        cooldownTime = 1.5,
 
        linkedBodyPartsGroup = "Feet",
 
      },
 
      {
 
        label = "beak",
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 3,
 
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Beak",
+
         linkedBodyPartsGroup = "HeadClaw",
 
       },
 
       },
 
       {
 
       {
Line 18,981: Line 21,193:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 1,
+
         power = 6,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         chanceFactor = 0.2,
 
         chanceFactor = 0.2,
      },
 
    },
 
    comps = {
 
      CompProperties_EggLayer = {
 
        eggUnfertilizedDef = "EggChickenUnfertilized",
 
        eggFertilizedDef = "EggChickenFertilized",
 
        eggFertilizationCountMax = 1,
 
        eggLayIntervalDays = 2,
 
        eggCountRange = 1,
 
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.18,
+
       baseBodySize = 0.8,
      foodType = "VegetarianRoughAnimal",
+
       gestationPeriodDays = 12,
       trainability = "None",
+
       wildness = 0.95,
       wildness = 0,
 
      manhunterOnTameFailChance = 0,
 
      manhunterOnDamageChance = 0,
 
      mateMtbHours = 8,
 
 
       lifeExpectancy = 6,
 
       lifeExpectancy = 6,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
           def = "AnimalBabyTiny",
+
           def = "EusocialInsectLarva",
 
           minAge = 0,
 
           minAge = 0,
 
         },
 
         },
 
         {
 
         {
           def = "AnimalJuvenile",
+
           def = "EusocialInsectJuvenile",
           minAge = 0.12,
+
           minAge = 0.03,
 
         },
 
         },
 
         {
 
         {
           def = "AnimalAdult",
+
           def = "EusocialInsectAdult",
           minAge = 0.3,
+
           minAge = 0.2,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalInsect",
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Pig"] = {
+
   ["ThingDef:Megaspider"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BaseInsect",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Insect.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Pig",
+
     defName = "Megaspider",
     label = "pig",
+
     label = "megaspider",
     description = [[The pig was one of the first animals domesticated by humans. It is commonly raised for meat, and is easy to feed because of its omnivorous diet. Though pigs are self-serving by disposition, they can be trained in complex tasks.]],
+
     description = [[Not actually a spider, the megaspider is a genetically-engineered giant insectoid the size of a bear. Designed for heavy work and combat, its thick chitinous armor makes it hard to kill, while its long ripper-blades make it deadly at close quarters. It is, however, quite slow in open terrain.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 3.9,
+
       MoveSpeed = 3.60,
       ComfyTemperatureMin = -5,
+
       ComfyTemperatureMin = -40,
       MarketValue = 200,
+
       MarketValue = 500,
 +
      LeatherAmount = 0,
 +
      ArmorRating_Blunt = 0.18,
 +
      ArmorRating_Sharp = 0.27,
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
 +
        label = "head claw",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Cut",
 
         },
 
         },
         power = 7.3,
+
         power = 12,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
         linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "HeadClaw",
        chanceFactor = 0.7,
 
 
       },
 
       },
 
       {
 
       {
Line 19,055: Line 21,257:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 6,
+
         power = 7,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 19,062: Line 21,264:
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.75,
+
       baseBodySize = 1.2,
       foodType = "OmnivoreRoughAnimal",
+
       gestationPeriodDays = 12,
      leatherDef = "Leather_Pig",
+
       wildness = 0.95,
       wildness = 0.07,
+
       lifeExpectancy = 6,
      trainability = "Advanced",
 
      manhunterOnTameFailChance = 0,
 
      manhunterOnDamageChance = 0,
 
      gestationPeriodDays = 17,
 
      litterSizeCurve = {
 
        points = {
 
          {0.5, 0},
 
          {1, 1},
 
          {1.7, 1},
 
          {2.0, 0},
 
        },
 
      },
 
       lifeExpectancy = 12,
 
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
           def = "AnimalBaby",
+
           def = "EusocialInsectLarva",
 
           minAge = 0,
 
           minAge = 0,
 
         },
 
         },
 
         {
 
         {
           def = "AnimalJuvenile",
+
           def = "EusocialInsectJuvenile",
           minAge = 0.1,
+
           minAge = 0.03,
 
         },
 
         },
 
         {
 
         {
           def = "AnimalAdult",
+
           def = "EusocialInsectAdult",
           minAge = 0.4,
+
           minAge = 0.2,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalInsect",
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Cow"] = {
+
   ["ThingDef:YorkshireTerrier"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Pet.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Cow",
+
     defName = "YorkshireTerrier",
     label = "cow",
+
     label = "yorkshire terrier",
     description = [[A large domesticated ungulate, cows have been bred for millennia to produce huge amounts of milk, meat, and leather. They are exceptionally gentle creatures and will never seek revenge, no matter how many times they are harmed. Most of them are so adapted to farm life that they cannot survive in the wild.]],
+
     description = [[A small, even-tempered dog. Originally bred to hunt rats, it later became a show and companionship animal. Some consider it useless, but the mood boost it gives by nuzzling can outweight the cost of feeding it.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 3.2,
+
       MoveSpeed = 3.1,
      ComfyTemperatureMin = -10,
+
       MarketValue = 100,
       MarketValue = 300,
+
       ComfyTemperatureMin = -15,
    },
 
    comps = {
 
       CompProperties_Milkable = {
 
        milkDef = "Milk",
 
        milkIntervalDays = 1,
 
        milkAmount = 18,
 
      },
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
 +
        label = "left claw",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Scratch",
 
         },
 
         },
         power = 8.8,
+
         power = 3.6,
         cooldownTime = 2.6,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "FrontLeftPaw",
        chanceFactor = 0.7,
 
 
       },
 
       },
 
       {
 
       {
         label = "head",
+
         label = "right claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
 
         },
 
         },
         power = 7,
+
         power = 3.6,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "HeadAttackTool",
+
         linkedBodyPartsGroup = "FrontRightPaw",
        chanceFactor = 0.2,
 
 
       },
 
       },
 
       {
 
       {
         label = "left hoof",
+
         label = "cute little teeth",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Bite",
          "Poke",
 
 
         },
 
         },
         power = 8,
+
         power = 4.8,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
         label = "right hoof",
+
         label = "head",
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
          "Poke",
 
 
         },
 
         },
         power = 8,
+
         power = 2,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
       herdAnimal = true,
+
       petness = 1,
       baseBodySize = 2.0,
+
       baseBodySize = 0.3,
       foodType = "VegetarianRoughAnimal",
+
       foodType = {
       leatherDef = "Leather_Plain",
+
        "OmnivoreAnimal",
       wildness = 0.05,
+
        "OvivoreAnimal",
       trainability = "None",
+
      },
       gestationPeriodDays = 20,
+
       leatherDef = "Leather_Dog",
       lifeExpectancy = 22,
+
      trainability = "Intermediate",
       manhunterOnDamageChance = 0,
+
       wildness = 0,
       manhunterOnTameFailChance = 0,
+
       nuzzleMtbHours = 12,
 +
       gestationPeriodDays = 24,
 +
       litterSizeCurve = {
 +
        points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {2, 1.7},
 +
          {3, 0.7},
 +
          {3.5, 0},
 +
        },
 +
       },
 +
       lifeExpectancy = 15,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 19,180: Line 21,372:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.2,
+
           minAge = 0.1,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.45,
+
           minAge = 0.3,
 
         },
 
         },
 
       },
 
       },
Line 19,190: Line 21,382:
 
     tradeTags = {
 
     tradeTags = {
 
       "AnimalCommon",
 
       "AnimalCommon",
       "AnimalFarm",
+
       "AnimalPet",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Alpaca"] = {
+
   ["ThingDef:Husky"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Pet.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Alpaca",
+
     defName = "Husky",
     label = "alpaca",
+
     label = "husky",
     description = [[A medium-sized ungulate closely related to the llama, the alpaca is usually raised for its remarkably soft and insulating wool. Alpacas have also been used as pack animals since they hauled cargo on the rugged mountain trails of ancient South America]],
+
     description = [[A large, energetic dog with a thick fur coat for remaining comfortable in arctic environments.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.1,
+
       MoveSpeed = 5.0,
      ComfyTemperatureMin = -18,
+
       MarketValue = 250,
       MarketValue = 350,
+
       ComfyTemperatureMin = -50,
       ComfyTemperatureMax = 45,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "left hoof",
+
         label = "left claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
          "Poke",
 
 
         },
 
         },
         power = 7.3,
+
         power = 9.7,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
 
       {
 
       {
         label = "right hoof",
+
         label = "right claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
          "Poke",
 
 
         },
 
         },
         power = 7.3,
+
         power = 9.7,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
 
       {
 
       {
Line 19,234: Line 21,424:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 8,
+
         power = 14.2,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
 
         chanceFactor = 0.7,
 
         chanceFactor = 0.7,
Line 19,244: Line 21,434:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 7,
+
         power = 6,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 19,250: Line 21,440:
 
       },
 
       },
 
     },
 
     },
     comps = {
+
     race = {
       CompProperties_Shearable = {
+
       petness = 1,
         woolDef = "WoolAlpaca",
+
      baseBodySize = 0.86,
         shearIntervalDays = 15,
+
      foodType = {
        woolAmount = 100,
+
         "OmnivoreAnimal",
 +
         "OvivoreAnimal",
 
       },
 
       },
    },
+
       leatherDef = "Leather_Dog",
    race = {
+
       trainability = "Advanced",
       herdAnimal = true,
+
       wildness = 0,
      baseBodySize = 1.0,
+
       nuzzleMtbHours = 12,
      foodType = "VegetarianRoughAnimal",
 
       leatherDef = "Leather_Camel",
 
       wildness = 0.25,
 
      manhunterOnTameFailChance = 0,
 
       manhunterOnDamageChance = 0,
 
 
       gestationPeriodDays = 25,
 
       gestationPeriodDays = 25,
       lifeExpectancy = 15,
+
      litterSizeCurve = {
 +
        points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {2, 1.7},
 +
          {2.5, 0.7},
 +
          {3, 0},
 +
        },
 +
      },
 +
       lifeExpectancy = 12,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 19,274: Line 21,469:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.2,
+
           minAge = 0.25,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.45,
+
           minAge = 0.5,
 
         },
 
         },
 
       },
 
       },
Line 19,284: Line 21,479:
 
     tradeTags = {
 
     tradeTags = {
 
       "AnimalCommon",
 
       "AnimalCommon",
       "AnimalFarm",
+
       "AnimalPet",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Duck"] = {
+
   ["ThingDef:LabradorRetriever"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Pet.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Duck",
+
     defName = "LabradorRetriever",
     label = "duck",
+
     label = "labrador retriever",
     description = [[A very common type of farm bird, also appearing in the wild, the duck is raised for its delicious meat. It grows quick but lays eggs quite rarely.]],
+
     description = [[A very versatile, medium-sized dog. Originally bred to retrieve birds shot on the hunt, the lab is also an excellent guard dog, play pal, and family friend.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 2.1,
+
       MoveSpeed = 5.0,
       MarketValue = 60,
+
       MarketValue = 250,
      LeatherAmount = 0,
+
       ComfyTemperatureMin = -30,
       ComfyTemperatureMin = -10,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "claws",
+
         label = "left claw",
 +
        capacities = {
 +
          "Scratch",
 +
        },
 +
        power = 8.5,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftPaw",
 +
      },
 +
      {
 +
        label = "right claw",
 
         capacities = {
 
         capacities = {
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 3,
+
         power = 8.5,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "Feet",
+
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
 
       {
 
       {
        label = "beak",
 
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 4,
+
         power = 14.2,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
         linkedBodyPartsGroup = "Beak",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
Line 19,327: Line 21,531:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 2,
+
         power = 5,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         chanceFactor = 0.2,
 
         chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
     comps = {
+
     race = {
       CompProperties_EggLayer = {
+
       petness = 1,
        eggUnfertilizedDef = "EggDuckUnfertilized",
+
      baseBodySize = 0.75,
        eggFertilizedDef = "EggDuckFertilized",
+
      foodType = {
        eggFertilizationCountMax = 1,
+
         "OmnivoreAnimal",
         eggLayIntervalDays = 3.5,
+
         "OvivoreAnimal",
         eggCountRange = 1,
 
 
       },
 
       },
    },
+
       leatherDef = "Leather_Dog",
    race = {
+
       gestationPeriodDays = 26,
       baseBodySize = 0.18,
+
       trainability = "Advanced",
       foodType = "VegetarianRoughAnimal",
 
       trainability = "None",
 
 
       wildness = 0,
 
       wildness = 0,
 +
      nuzzleMtbHours = 12,
 +
      manhunterOnDamageChance = 0,
 
       manhunterOnTameFailChance = 0,
 
       manhunterOnTameFailChance = 0,
       manhunterOnDamageChance = 0,
+
       litterSizeCurve = {
       mateMtbHours = 8,
+
        points = {
       lifeExpectancy = 6,
+
          {0.5, 0},
 +
          {1, 1},
 +
          {2, 1.7},
 +
          {3, 0.7},
 +
          {3.5, 0},
 +
        },
 +
       },
 +
       lifeExpectancy = 12,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
           def = "AnimalBabyTiny",
+
           def = "AnimalBaby",
 
           minAge = 0,
 
           minAge = 0,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.12,
+
           minAge = 0.25,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.3,
+
           minAge = 0.5,
 
         },
 
         },
 
       },
 
       },
Line 19,368: Line 21,578:
 
     tradeTags = {
 
     tradeTags = {
 
       "AnimalCommon",
 
       "AnimalCommon",
       "AnimalFarm",
+
       "AnimalPet",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bison"] = {
+
   ["ThingDef:Cat"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Pet.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Bison",
+
     defName = "Cat",
     label = "bison",
+
     label = "cat",
     description = [[A large plant eating mammal appearing in the savannah wilderness. Tamed are quite docile, but enraged are fast and dangerous.]],
+
     description = [[One of mankind's first pets, the cat is a small mammal which hunts vermin. Known for their aloofness, cats are nevertheless popular companions because of their independence, calm disposition, and fine, pettable fur.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.7,
+
       MoveSpeed = 4.4,
       MarketValue = 350,
+
       MarketValue = 100,
       ComfyTemperatureMin = -55,
+
       ComfyTemperatureMin = -25,
      ComfyTemperatureMax = 45,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "head",
+
         label = "left claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
 
         },
 
         },
         power = 15,
+
         power = 6,
         cooldownTime = 2.9,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "HeadAttackTool",
+
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
 
       {
 
       {
         label = "left hoof",
+
         label = "right claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
          "Poke",
 
 
         },
 
         },
         power = 10,
+
         power = 6,
         cooldownTime = 2,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
 
       {
 
       {
        label = "right hoof",
 
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Bite",
          "Poke",
 
 
         },
 
         },
         power = 10,
+
         power = 7,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
 +
        label = "head",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Blunt",
 
         },
 
         },
         power = 10,
+
         power = 3,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "HeadAttackTool",
         chanceFactor = 0.5,
+
         chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
     comps = {
+
     race = {
       CompProperties_Shearable = {
+
       baseBodySize = 0.255,
         woolDef = "WoolBison",
+
      foodType = {
         shearIntervalDays = 25,
+
         "CarnivoreAnimal",
         woolAmount = 100,
+
        "OvivoreAnimal",
 +
      },
 +
      leatherDef = "Leather_Light",
 +
      wildness = 0.2,
 +
      petness = 1,
 +
      trainability = "None",
 +
      nuzzleMtbHours = 12,
 +
      gestationPeriodDays = 24,
 +
      litterSizeCurve = {
 +
         points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {2, 1.7},
 +
          {3, 0.7},
 +
          {3.5, 0},
 +
         },
 
       },
 
       },
    },
+
       lifeExpectancy = 10,
    race = {
 
      herdAnimal = true,
 
      baseBodySize = 2.1,
 
      foodType = "VegetarianRoughAnimal",
 
      leatherDef = "Leather_Plain",
 
      gestationPeriodDays = 28,
 
      wildness = 0.6,
 
      trainability = "Simple",
 
      manhunterOnDamageChance = 0.1,
 
       lifeExpectancy = 15,
 
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 19,451: Line 21,665:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.25,
+
           minAge = 0.15,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.5,
+
           minAge = 0.4,
 
         },
 
         },
 
       },
 
       },
Line 19,461: Line 21,675:
 
     tradeTags = {
 
     tradeTags = {
 
       "AnimalCommon",
 
       "AnimalCommon",
       "AnimalFarm",
+
       "AnimalPet",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Goat"] = {
+
   ["ThingDef:Squirrel"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Rodentlike.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Goat",
+
     defName = "Squirrel",
     label = "goat",
+
     label = "squirrel",
     description = [[Naturally curious about the world, goats are among the friendliest domesticated creature bred by mankind.]],
+
     description = [[One of the many hardy rodent species that follows humankind everywhere it spreads. Squirrels are distinguished by their bushy tails, which they use as umbrellas in bad weather.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 3.9,
+
       MoveSpeed = 5.1,
       ComfyTemperatureMin = -20,
+
       MarketValue = 35,
       MarketValue = 200,
+
       ComfyTemperatureMin = -35,
 
     },
 
     },
     comps = {
+
     tools = {
       CompProperties_Milkable = {
+
       {
         milkDef = "Milk",
+
        label = "left claw",
         milkIntervalDays = 2,
+
        capacities = {
         milkAmount = 12,
+
          "Scratch",
 +
        },
 +
        power = 4,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftPaw",
 +
      },
 +
      {
 +
         label = "right claw",
 +
         capacities = {
 +
          "Scratch",
 +
        },
 +
        power = 4,
 +
        cooldownTime = 2,
 +
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
    },
 
    tools = {
 
 
       {
 
       {
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 7.3,
+
         power = 5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
Line 19,501: Line 21,727:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 6,
+
         power = 2,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 19,508: Line 21,734:
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.75,
+
       baseBodySize = 0.15,
       foodType = "VegetarianRoughAnimal",
+
       foodType = {
       leatherDef = "Leather_Plain",
+
        "VegetarianRoughAnimal",
       wildness = 0.07,
+
      },
 +
       leatherDef = "Leather_Light",
 +
       wildness = 0.75,
 
       trainability = "None",
 
       trainability = "None",
      manhunterOnTameFailChance = 0,
+
       gestationPeriodDays = 13,
      manhunterOnDamageChance = 0,
 
       gestationPeriodDays = 17,
 
 
       litterSizeCurve = {
 
       litterSizeCurve = {
 
         points = {
 
         points = {
 
           {0.5, 0},
 
           {0.5, 0},
 
           {1, 1},
 
           {1, 1},
           {1.7, 1},
+
           {1.8, 1},
           {2.0, 0},
+
           {2.4, 0},
 
         },
 
         },
 
       },
 
       },
       lifeExpectancy = 12,
+
       lifeExpectancy = 8,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 19,532: Line 21,758:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.1,
+
           minAge = 0.11,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.4,
+
           minAge = 0.26,
 
         },
 
         },
 
       },
 
       },
Line 19,542: Line 21,768:
 
     tradeTags = {
 
     tradeTags = {
 
       "AnimalCommon",
 
       "AnimalCommon",
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Goose"] = {
+
   ["ThingDef:Alphabeaver"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Rodentlike.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Goose",
+
     defName = "Alphabeaver",
     label = "goose",
+
     label = "alphabeaver",
     description = [[A domesticated bird kept by humans as poultry for it's eggs and meat. Lays eggs very often, however they take a long time to hatch.]],
+
     description = [[A large beaver-like creature genetically engineered to harvest wood with machine-like efficiency. In the absence of specialized feed, these animals will enter a manic state that compels them to eat trees whole, and are likely to attack if disturbed.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 2.3,
+
       MoveSpeed = 3.7,
       MarketValue = 90,
+
       MarketValue = 250,
      LeatherAmount = 36,
+
       ComfyTemperatureMin = -40,
       ComfyTemperatureMin = -10,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "claws",
+
         label = "left claw",
 +
        capacities = {
 +
          "Scratch",
 +
        },
 +
        power = 7.2,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "FrontLeftPaw",
 +
      },
 +
      {
 +
        label = "right claw",
 
         capacities = {
 
         capacities = {
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 3,
+
         power = 7.2,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "Feet",
+
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
 
       {
 
       {
        label = "beak",
 
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 5.6,
+
         power = 8.5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Beak",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
Line 19,585: Line 21,819:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 2,
+
         power = 3,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         chanceFactor = 0.2,
 
         chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
     comps = {
+
     race = {
       CompProperties_EggLayer = {
+
       herdAnimal = true,
         eggUnfertilizedDef = "EggGooseUnfertilized",
+
      baseBodySize = 0.45,
        eggFertilizedDef = "EggGooseFertilized",
+
      foodType = {
         eggFertilizationCountMax = 1,
+
         "DendrovoreAnimal",
        eggLayIntervalDays = 1.6,
+
      },
         eggCountRange = 1,
+
      leatherDef = "Leather_Light",
 +
      wildness = 0.75,
 +
      gestationPeriodDays = 17,
 +
      manhunterOnTameFailChance = 0.10,
 +
      manhunterOnDamageChance = 0.10,
 +
      litterSizeCurve = {
 +
         points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {3, 1},
 +
          {3.5, 0},
 +
         },
 
       },
 
       },
    },
+
       lifeExpectancy = 12,
    race = {
 
      baseBodySize = 0.40,
 
      foodType = "VegetarianRoughAnimal",
 
      leatherDef = "Leather_Bird",
 
      trainability = "None",
 
      wildness = 0.6,
 
      manhunterOnTameFailChance = 0.2,
 
      manhunterOnDamageChance = 0.25,
 
      mateMtbHours = 8,
 
       lifeExpectancy = 8,
 
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
           def = "AnimalBabyTiny",
+
           def = "AnimalBaby",
 
           minAge = 0,
 
           minAge = 0,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.12,
+
           minAge = 0.15,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.3,
+
           minAge = 0.35,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalUncommon",
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Sheep"] = {
+
   ["ThingDef:Capybara"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Rodentlike.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Sheep",
+
     defName = "Capybara",
     label = "sheep",
+
     label = "capybara",
     description = [[Sheep husbandry is practised throughout the majority of the inhabited worlds, however only recently it has been introduced to the rimworlds. Domestic sheep are relatively small herbivores, usually with yellowish wool and medium sized horns.]],
+
     description = [[The largest natural rodent, the capybara is well-adapted for steaming jungle environments.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.8,
+
       MoveSpeed = 3.9,
       MarketValue = 210,
+
       MarketValue = 150,
       ComfyTemperatureMin = -55,
+
       ComfyTemperatureMin = -10,
       ComfyTemperatureMax = 45,
+
       ComfyTemperatureMax = 50,
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "head",
+
         label = "left claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
 
         },
 
         },
         power = 14,
+
         power = 8.4,
         cooldownTime = 2.9,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "HeadAttackTool",
+
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
 
       {
 
       {
         label = "left hoof",
+
         label = "right claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
          "Poke",
 
 
         },
 
         },
         power = 6,
+
         power = 8.4,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
 
       {
 
       {
        label = "right hoof",
 
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Bite",
          "Poke",
 
 
         },
 
         },
         power = 6,
+
         power = 8.5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
 +
        label = "head",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Blunt",
 
         },
 
         },
         power = 8,
+
         power = 4,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "HeadAttackTool",
         chanceFactor = 0.5,
+
         chanceFactor = 0.2,
      },
 
    },
 
    comps = {
 
      CompProperties_Shearable = {
 
        woolDef = "WoolSheep",
 
        shearIntervalDays = 10,
 
        woolAmount = 45,
 
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
 
       herdAnimal = true,
 
       herdAnimal = true,
       baseBodySize = 0.75,
+
       baseBodySize = 0.50,
       foodType = "VegetarianRoughAnimal",
+
       foodType = {
       leatherDef = "Leather_Plain",
+
        "VegetarianRoughAnimal",
       gestationPeriodDays = 17,
+
      },
 +
       leatherDef = "Leather_Light",
 +
      wildness = 0.75,
 +
      petness = 0.08,
 +
      nuzzleMtbHours = 60,
 +
       gestationPeriodDays = 20,
 
       litterSizeCurve = {
 
       litterSizeCurve = {
 
         points = {
 
         points = {
 
           {0.5, 0},
 
           {0.5, 0},
 
           {1, 1},
 
           {1, 1},
           {1.7, 1},
+
           {1.5, 1},
           {2.0, 0},
+
           {2, 0},
 
         },
 
         },
 
       },
 
       },
      wildness = 0,
 
      trainability = "None",
 
      manhunterOnDamageChance = 0.0,
 
 
       lifeExpectancy = 12,
 
       lifeExpectancy = 12,
 
       lifeStageAges = {
 
       lifeStageAges = {
Line 19,718: Line 21,947:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.25,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.5,
+
           minAge = 0.4,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalUncommon",
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Horse"] = {
+
   ["ThingDef:Chinchilla"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Rodentlike.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Horse",
+
     defName = "Chinchilla",
     label = "horse",
+
     label = "chinchilla",
     description = [[A large hoofed mammal with a short coat, a long mane, and a long tail. Horses have been domesticated since ancient times.]],
+
     description = [[A small, nimble rodent. Its fur is softer than just about anything in the universe, making it very valuable as a trade good.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.8,
+
       MoveSpeed = 5.0,
       MarketValue = 550,
+
       MarketValue = 150,
       ComfyTemperatureMin = -35,
+
       ComfyTemperatureMin = -15,
       ComfyTemperatureMax = 45,
+
       ComfyTemperatureMax = 55,
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "head",
+
         label = "left claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
 
         },
 
         },
         power = 10,
+
         power = 3.6,
         cooldownTime = 2.9,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "HeadAttackTool",
+
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
 
       {
 
       {
         label = "left hoof",
+
         label = "right claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
          "Poke",
 
 
         },
 
         },
         power = 7,
+
         power = 3.6,
         cooldownTime = 2,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
 
       {
 
       {
        label = "right hoof",
 
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Bite",
          "Poke",
 
 
         },
 
         },
         power = 7,
+
         power = 5.8,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
 +
        label = "head",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Blunt",
 
         },
 
         },
         power = 5,
+
         power = 2,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "HeadAttackTool",
         chanceFactor = 0.5,
+
         chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
      herdAnimal = true,
+
       baseBodySize = 0.21,
       baseBodySize = 2.0,
+
       foodType = {
       foodType = "VegetarianRoughAnimal",
+
        "VegetarianRoughAnimal",
       leatherDef = "Leather_Plain",
+
      },
       gestationPeriodDays = 28,
+
       leatherDef = "Leather_Chinchilla",
       wildness = 0.5,
+
       wildness = 0.60,
       petness = 0.6,
+
       trainability = "None",
       trainability = "Advanced",
+
       petness = 0.20,
       manhunterOnDamageChance = 0.1,
+
      mateMtbHours = 8,
       lifeExpectancy = 30,
+
      nuzzleMtbHours = 24,
 +
      gestationPeriodDays = 14,
 +
       manhunterOnTameFailChance = 0,
 +
       manhunterOnDamageChance = 0,
 +
      litterSizeCurve = {
 +
        points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {2.5, 1},
 +
          {3, 0},
 +
        },
 +
      },
 +
       lifeExpectancy = 9,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 19,805: Line 22,045:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.25,
+
           minAge = 0.15,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.5,
+
           minAge = 0.30,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalUncommon",
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Yak"] = {
+
   ["ThingDef:Boomrat"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Rodentlike.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Yak",
+
     defName = "Boomrat",
     label = "yak",
+
     label = "boomrat",
     description = [[Yaks are robust cattle with a bulky frame, short but thick legs, and rounded cloven hooves that are splayed to help them walk in snow.]],
+
     description = [[Either by deliberate genetic weaponization, or as an unusual defense mechanism, these rodent-like creatures create a powerful fire-starting explosion when killed.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 3.2,
+
       MoveSpeed = 4.6,
      ComfyTemperatureMin = -45,
+
       MarketValue = 100,
       MarketValue = 320,
+
       ComfyTemperatureMin = -15,
    },
 
    comps = {
 
       CompProperties_Milkable = {
 
        milkDef = "Milk",
 
        milkIntervalDays = 2,
 
        milkAmount = 12,
 
      },
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
 +
        label = "left claw",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Scratch",
 
         },
 
         },
         power = 8.8,
+
         power = 5.4,
         cooldownTime = 2.6,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "FrontLeftPaw",
        chanceFactor = 0.7,
 
 
       },
 
       },
 
       {
 
       {
         label = "head",
+
         label = "right claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
 
         },
 
         },
         power = 9,
+
         power = 5.4,
         cooldownTime = 2,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "HeadAttackTool",
+
         linkedBodyPartsGroup = "FrontRightPaw",
        chanceFactor = 0.2,
 
 
       },
 
       },
 
       {
 
       {
        label = "left hoof",
 
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Bite",
          "Poke",
 
 
         },
 
         },
         power = 8,
+
         power = 4.9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
         label = "right hoof",
+
         label = "head",
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
          "Poke",
 
 
         },
 
         },
         power = 8,
+
         power = 3,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
      herdAnimal = true,
+
       baseBodySize = 0.2,
       baseBodySize = 1.9,
+
       foodType = {
       foodType = "VegetarianRoughAnimal",
+
        "OmnivoreRoughAnimal",
       leatherDef = "Leather_Plain",
+
      },
       wildness = 0.11,
+
       leatherDef = "Leather_Light",
       petness = 0.3,
+
       wildness = 0.75,
       trainability = "None",
+
       petness = 0.20,
       gestationPeriodDays = 20,
+
       mateMtbHours = 8,
       lifeExpectancy = 22,
+
       nuzzleMtbHours = 60,
       manhunterOnDamageChance = 0.05,
+
       gestationPeriodDays = 14,
       manhunterOnTameFailChance = 0.02,
+
       litterSizeCurve = {
 +
        points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {2.5, 1},
 +
          {3, 0},
 +
        },
 +
       },
 +
      lifeExpectancy = 8,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 19,900: Line 22,139:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.2,
+
           minAge = 0.1,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.45,
+
           minAge = 0.35,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalUncommon",
       "AnimalFarm",
+
       "AnimalFighter",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:GuineaPig"] = {
+
   ["ThingDef:Raccoon"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Rodentlike.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "GuineaPig",
+
     defName = "Raccoon",
     label = "guinea pig",
+
     label = "raccoon",
     description = [[Neither a pig or a creature from Guinea, these little rodents are bred to be a household pet and a delicious dinner.]],
+
     description = [[A small, hardy animal that ranges wide across forests and shrubland. It is happy to break into your garbage container, or your kitchen, to eat almost anything.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.0,
+
       MoveSpeed = 4.1,
       MarketValue = 150,
+
       MarketValue = 100,
       ComfyTemperatureMin = -15,
+
       ComfyTemperatureMin = -30,
      ComfyTemperatureMax = 55,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
Line 19,935: Line 22,174:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 3.6,
+
         power = 6,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
Line 19,944: Line 22,183:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 3.6,
+
         power = 6,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontRightPaw",
 
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
Line 19,952: Line 22,191:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 5.8,
+
         power = 7,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
Line 19,962: Line 22,201:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 2,
+
         power = 3,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 19,969: Line 22,208:
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.28,
+
       baseBodySize = 0.3,
       foodType = "VegetarianRoughAnimal",
+
       foodType = {
      leatherDef = "Leather_GuineaPig",
+
        "OmnivoreRoughAnimal",
       wildness = 0.60,
+
       },
       trainability = "None",
+
       leatherDef = "Leather_Light",
       petness = 0.30,
+
       wildness = 0.75,
 
       mateMtbHours = 8,
 
       mateMtbHours = 8,
      nuzzleMtbHours = 24,
 
 
       gestationPeriodDays = 14,
 
       gestationPeriodDays = 14,
      manhunterOnTameFailChance = 0.02,
 
      manhunterOnDamageChance = 0,
 
 
       litterSizeCurve = {
 
       litterSizeCurve = {
 
         points = {
 
         points = {
 
           {0.5, 0},
 
           {0.5, 0},
 
           {1, 1},
 
           {1, 1},
           {2.5, 1},
+
           {2, 1},
           {3, 0},
+
           {2.5, 0},
 
         },
 
         },
 
       },
 
       },
       lifeExpectancy = 4,
+
       lifeExpectancy = 8,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 20,000: Line 22,236:
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.30,
+
           minAge = 0.4,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalPet",
+
       "AnimalCommon",
      "AnimalUncommon",
 
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Donkey"] = {
+
   ["ThingDef:Rat"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Farm.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Rodentlike.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Donkey",
+
     defName = "Rat",
     label = "donkey",
+
     label = "rat",
     description = [[A small relative of the horse, domesticated in ancient times for farm work. Its goofy call is simultaneously annoying and endearing.]],
+
     description = [[A widely-hated rodent known for soiling kitchens and spreading disease, rats have a way of following humans everywhere they go. It eats almost anything and lives almost anywhere.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.3,
+
       MoveSpeed = 4.0,
       MarketValue = 320,
+
       MarketValue = 35,
       ComfyTemperatureMin = -25,
+
       ComfyTemperatureMin = -30,
      ComfyTemperatureMax = 45,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "head",
+
         label = "left claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
 
         },
 
         },
         power = 12,
+
         power = 3.6,
         cooldownTime = 2.9,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "HeadAttackTool",
+
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
 
       {
 
       {
         label = "left hoof",
+
         label = "right claw",
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Scratch",
          "Poke",
 
 
         },
 
         },
         power = 8,
+
         power = 3.6,
         cooldownTime = 2,
+
         cooldownTime = 1.5,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
 
       {
 
       {
        label = "right hoof",
 
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Bite",
          "Poke",
 
 
         },
 
         },
         power = 8,
+
         power = 6,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
 +
        label = "head",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Blunt",
 
         },
 
         },
         power = 6,
+
         power = 2,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "HeadAttackTool",
         chanceFactor = 0.5,
+
         chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
      herdAnimal = true,
+
       baseBodySize = 0.15,
       baseBodySize = 1.5,
+
       foodType = {
       foodType = "VegetarianRoughAnimal",
+
        "OmnivoreRoughAnimal",
       leatherDef = "Leather_Plain",
+
      },
       gestationPeriodDays = 28,
+
       leatherDef = "Leather_Light",
       wildness = 0.03,
+
       wildness = 0.50,
       petness = 0.60,
+
       trainability = "None",
       trainability = "Advanced",
+
       petness = 0.15,
       manhunterOnDamageChance = 0.05,
+
       manhunterOnTameFailChance = 0,
       lifeExpectancy = 24,
+
       manhunterOnDamageChance = 0,
 +
      mateMtbHours = 8,
 +
      gestationPeriodDays = 12,
 +
      litterSizeCurve = {
 +
        points = {
 +
          {0.5, 0},
 +
          {1, 1},
 +
          {2.2, 1},
 +
          {2.8, 0},
 +
        },
 +
      },
 +
       lifeExpectancy = 8,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 20,084: Line 22,328:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.25,
+
           minAge = 0.07,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.5,
+
           minAge = 0.3,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalUncommon",
+
       "AnimalCommon",
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Rhinoceros"] = {
+
   ["ThingDef:Deer"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Giant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Rhinoceros",
+
     defName = "Deer",
     label = "rhinoceros",
+
     label = "deer",
     description = [[Despite being herbivorous, this large mammal is very easy to enrage. Once angered, its massive strength and sharp horn make it a brutal opponent. It has more muscle in one leg than most humans do in their whole body.]],
+
     description = [[A medium-sized herding herbivore which prefers to live in mixed forests and plains. Deer are very quick.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.0,
+
       MoveSpeed = 5.5,
       MarketValue = 700,
+
       MarketValue = 250,
       ComfyTemperatureMin = -8,
+
       ComfyTemperatureMin = -30,
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "horn",
+
         label = "left hoof",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 +
          "Poke",
 
         },
 
         },
         power = 19,
+
         power = 7,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "HornAttackTool",
+
         linkedBodyPartsGroup = "FrontLeftLeg",
 
       },
 
       },
 
       {
 
       {
         label = "horn",
+
         label = "right hoof",
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
 +
          "Poke",
 
         },
 
         },
         power = 19,
+
         power = 7,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "HornAttackTool",
+
         linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
       },
 
       {
 
       {
 +
        label = "teeth",
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 19,
+
         power = 8,
         cooldownTime = 2.6,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
         chanceFactor = 0.7,
+
         chanceFactor = 0.5,
 
       },
 
       },
 
       {
 
       {
Line 20,145: Line 22,392:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 15,
+
         power = 5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 20,152: Line 22,399:
 
     },
 
     },
 
     race = {
 
     race = {
      baseBodySize = 3.0,
 
      foodType = "VegetarianRoughAnimal",
 
      leatherDef = "Leather_Rhinoceros",
 
      wildness = 0.90,
 
      manhunterOnTameFailChance = 0.10,
 
      manhunterOnDamageChance = 0.10,
 
      gestationPeriodDays = 43,
 
      lifeExpectancy = 45,
 
 
       herdAnimal = true,
 
       herdAnimal = true,
 +
      baseBodySize = 0.9,
 +
      foodType = {
 +
        "VegetarianRoughAnimal",
 +
      },
 +
      leatherDef = "Leather_Plain",
 +
      wildness = 0.75,
 +
      nuzzleMtbHours = 60,
 +
      gestationPeriodDays = 24,
 +
      lifeExpectancy = 15,
 +
      manhunterOnDamageChance = 0,
 +
      manhunterOnTameFailChance = 0,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 20,168: Line 22,418:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.3,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 1.0,
+
           minAge = 0.5,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalUncommon",
+
       "AnimalCommon",
      "AnimalFighter",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Elephant"] = {
+
   ["ThingDef:Ibex"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Giant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Elephant",
+
     defName = "Ibex",
     label = "elephant",
+
     label = "ibex",
     description = [[The largest unmodified land animal. Elephants has a long trunk they use to manipulate objects, and sharp tusks they use to gore attackers. A dead elephant's valuable tusks can be recovered by butchering it.\n\nIntelligent creatures with complex social relationships, elephants can be used as pack animals or trained to carry out the most complex of tasks. They live a long time, and are known to remember events and relationships from many decades before.]],
+
     description = [[The wild ancestor of the domesticated goat. Ibexes live on marginal territory where most antelopes couldn't survive, eating lichens and sparse mountain plants. They're famous for dextrously hopping across bare cliff faces - and for their violent ramming attack.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.8,
+
       MoveSpeed = 4.6,
       MarketValue = 600,
+
       MarketValue = 250,
       ComfyTemperatureMin = -12,
+
       ComfyTemperatureMin = -30,
      ComfyTemperatureMax = 50,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "tusk",
+
         label = "left hoof",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
           "Stab",
+
           "Poke",
 
         },
 
         },
         power = 25,
+
         power = 8,
         cooldownTime = 2.6,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "TuskAttackTool",
+
         linkedBodyPartsGroup = "FrontLeftLeg",
 
       },
 
       },
 
       {
 
       {
         label = "left foot",
+
         label = "right hoof",
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
 +
          "Poke",
 
         },
 
         },
         power = 16.9,
+
         power = 8,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
       },
 
       {
 
       {
        label = "right foot",
 
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Bite",
 
         },
 
         },
         power = 16.9,
+
         power = 8,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.5,
 
       },
 
       },
 
       {
 
       {
Line 20,231: Line 22,481:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 14,
+
         power = 10,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
 
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
 
       herdAnimal = true,
 
       herdAnimal = true,
       baseBodySize = 4.0,
+
       baseBodySize = 0.85,
       foodType = "VegetarianRoughAnimal",
+
       foodType = {
       leatherDef = "Leather_Elephant",
+
        "VegetarianRoughAnimal",
      gestationPeriodDays = 48,
+
      },
       wildness = 0.75,
+
       leatherDef = "Leather_Plain",
       nuzzleMtbHours = 24,
+
       wildness = 0.55,
      trainability = "Advanced",
+
       gestationPeriodDays = 24,
       lifeExpectancy = 50,
+
       lifeExpectancy = 15,
      manhunterOnTameFailChance = 0.10,
+
       lifeStageAges = {
      manhunterOnDamageChance = 0.10,
 
       lifeStageAges = {
 
 
         {
 
         {
 
           def = "AnimalBaby",
 
           def = "AnimalBaby",
Line 20,256: Line 22,503:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.8,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 2.0,
+
           minAge = 0.5,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalUncommon",
+
       "AnimalCommon",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Megasloth"] = {
+
   ["ThingDef:Elk"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Giant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Megasloth",
+
     defName = "Elk",
     label = "megasloth",
+
     label = "elk",
     description = [[A giant, solitary herbivore with two giant claws for warding off threats. Long extinct after being wiped out by the natives of Earth's American continent, the megasloth was later brought back using advanced cloning and artificial gestators. Its thick hide is exceptionally strong and insulating, and makes a great leather for cold-weather clothing. It is peaceful if left alone, but will shred anyone who disturbs it with its giant claws.]],
+
     description = [[A large member of the deer family, well-adapted to life in cold climates. Domesticated elk can be milked, but refuse to carry packs.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.8,
+
       MoveSpeed = 5,
       MarketValue = 700,
+
       MarketValue = 300,
       ComfyTemperatureMin = -55,
+
       ComfyTemperatureMin = -50,
 +
    },
 +
    comps = {
 +
      CompProperties_Milkable = {
 +
        milkDef = "Milk",
 +
        milkIntervalDays = 2,
 +
        milkAmount = 12,
 +
      },
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "left claw",
+
         label = "left hoof",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 +
          "Poke",
 
         },
 
         },
         power = 21,
+
         power = 10,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftPaw",
+
         linkedBodyPartsGroup = "FrontLeftLeg",
 
       },
 
       },
 
       {
 
       {
         label = "right claw",
+
         label = "right hoof",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 +
          "Poke",
 
         },
 
         },
         power = 21,
+
         power = 10,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightPaw",
+
         linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
       },
 
       {
 
       {
Line 20,306: Line 22,563:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 22,
+
         power = 10,
         cooldownTime = 2.6,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
         chanceFactor = 0.7,
+
         chanceFactor = 0.5,
 
       },
 
       },
 
       {
 
       {
Line 20,316: Line 22,573:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 15,
+
         power = 13,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
 
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 4.0,
+
      herdAnimal = true,
       foodType = "VegetarianRoughAnimal",
+
       baseBodySize = 2.1,
       leatherDef = "Leather_Heavy",
+
       foodType = {
      gestationPeriodDays = 55,
+
        "VegetarianRoughAnimal",
       wildness = 0.97,
+
      },
       trainability = "Advanced",
+
       leatherDef = "Leather_Plain",
      nuzzleMtbHours = 60,
+
       wildness = 0.75,
       lifeExpectancy = 20,
+
       gestationPeriodDays = 25,
      manhunterOnTameFailChance = 0.10,
+
       lifeExpectancy = 18,
      manhunterOnDamageChance = 0.10,
 
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 20,340: Line 22,595:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 1.0,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 3.0,
+
           minAge = 0.6,
 
         },
 
         },
      },
 
    },
 
    comps = {
 
      CompProperties_Shearable = {
 
        woolDef = "WoolMegasloth",
 
        shearIntervalDays = 50,
 
        woolAmount = 400,
 
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalUncommon",
+
       "AnimalCommon",
       "AnimalFighter",
+
       "AnimalFarm",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Thrumbo"] = {
+
   ["ThingDef:Caribou"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Giant.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Thrumbo",
+
     defName = "Caribou",
     label = "thrumbo",
+
     label = "caribou",
     description = [[A gigantic, graceful creature of unknown origin. The thrumbo is gentle by nature, but extremely dangerous when enraged. While its long fur is exceptionally beautiful, its hide is also incredibly resistant to damage. Its razor-sharp horn fetches a huge price.\n\nLegends say that an old thrumbo is the wisest creature in the universe - it simply chooses not to speak.]],
+
     description = [[A large member of the deer family, well-adapted to life in cold climates. Caribou can be milked, but refuse to carry packs.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.5,
+
       MoveSpeed = 5,
       MarketValue = 4000,
+
       MarketValue = 300,
       ComfyTemperatureMin = -65,
+
       ComfyTemperatureMin = -50,
       ComfyTemperatureMax = 50,
+
    },
      ArmorRating_Sharp = 0.60,
+
    comps = {
      ArmorRating_Blunt = 0.40,
+
       CompProperties_Milkable = {
       ArmorRating_Heat = 0.30,
+
        milkDef = "Milk",
 +
        milkIntervalDays = 2,
 +
        milkAmount = 12,
 +
       },
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "horn",
+
         label = "left hoof",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
           "Stab",
+
           "Poke",
 
         },
 
         },
         power = 23,
+
         power = 10,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "HornAttackTool",
+
         linkedBodyPartsGroup = "FrontLeftLeg",
 
       },
 
       },
 
       {
 
       {
        capacities = {
+
         label = "right hoof",
          "Bite",
 
        },
 
        power = 28,
 
        cooldownTime = 2.6,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.7,
 
      },
 
      {
 
         label = "left foot",
 
 
         capacities = {
 
         capacities = {
 
           "Blunt",
 
           "Blunt",
 +
          "Poke",
 
         },
 
         },
         power = 19,
+
         power = 10,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftLeg",
+
         linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
       },
 
       {
 
       {
        label = "right foot",
 
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Bite",
 
         },
 
         },
         power = 19,
+
         power = 10,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightLeg",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.5,
 
       },
 
       },
 
       {
 
       {
Line 20,422: Line 22,666:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 17,
+
         power = 13,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
 
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 4,
+
      herdAnimal = true,
       foodType = "VegetarianRoughAnimal, DendrovoreAnimal",
+
       baseBodySize = 2.1,
       leatherDef = "Leather_Thrumbo",
+
       foodType = {
       trainability = "Advanced",
+
        "VegetarianRoughAnimal",
       gestationPeriodDays = 60,
+
       },
      manhunterOnDamageChance = 1.00,
+
       leatherDef = "Leather_Plain",
       wildness = 0.985,
+
       wildness = 0.75,
       lifeExpectancy = 220,
+
       gestationPeriodDays = 25,
 +
       lifeExpectancy = 18,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 20,444: Line 22,688:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 2.0,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 4.0,
+
           minAge = 0.45,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalExotic",
+
       "AnimalCommon",
 +
      "AnimalFarm",
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:WildBoar"] = {
 
     _ = {
 
     _ = {
      Abstract = true,
 
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       Name = "BaseHare",
+
       DefCategory = "ThingDef",
       FileName = "Races_Animal_Hares.xml",
+
       FileName = "Races_Animal_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "WildBoar",
 +
    label = "wild boar",
 +
    description = [[This hairy omnivore is descended from escaped pigs and evolved for living in the wild.\n\nIts tusks make it a better fighter than its domesticated pig cousins. Unfortunately, it is too unruly to be trained in the most complex tasks.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 6.0,
+
       MoveSpeed = 4.6,
       MarketValue = 50,
+
       MarketValue = 200,
       ComfyTemperatureMin = -30,
+
       ComfyTemperatureMin = -23,
 
     },
 
     },
 
     tools = {
 
     tools = {
 +
      {
 +
        label = "tusk",
 +
        capacities = {
 +
          "Scratch",
 +
          "Stab",
 +
        },
 +
        power = 9.7,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "TuskAttackTool",
 +
      },
 
       {
 
       {
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 3.4,
+
         power = 8.5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.6,
 
       },
 
       },
 
       {
 
       {
Line 20,483: Line 22,742:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 1.5,
+
         power = 5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 20,490: Line 22,749:
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.2,
+
      herdAnimal = true,
       foodType = "VegetarianRoughAnimal",
+
       baseBodySize = 0.8,
       leatherDef = "Leather_Light",
+
       foodType = {
       wildness = 0.75,
+
        "OmnivoreRoughAnimal",
       trainability = "None",
+
       },
       petness = 0.08,
+
       wildness = 0.50,
      mateMtbHours = 8,
+
       trainability = "Intermediate",
      nuzzleMtbHours = 36,
+
       leatherDef = "Leather_Pig",
       gestationPeriodDays = 13,
+
       gestationPeriodDays = 18,
      manhunterOnTameFailChance = 0,
 
      manhunterOnDamageChance = 0,
 
 
       litterSizeCurve = {
 
       litterSizeCurve = {
 
         points = {
 
         points = {
           {1.0, 0},
+
           {0.5, 0},
 +
          {1, 1},
 
           {1.5, 1},
 
           {1.5, 1},
           {2.0, 1},
+
           {2.0, 0},
          {2.5, 0},
 
 
         },
 
         },
 
       },
 
       },
       lifeExpectancy = 8,
+
       lifeExpectancy = 12,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 20,521: Line 22,778:
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.3,
+
           minAge = 0.4,
 
         },
 
         },
 
       },
 
       },
Line 20,530: Line 22,787:
 
   },
 
   },
  
   ["ThingDef:Hare"] = {
+
   ["ThingDef:Tortoise"] = {
    _ = {
 
      ParentName = "BaseHare",
 
      FileName = "Races_Animal_Hares.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Hare",
 
    label = "hare",
 
    description = [[This small, solitary herbivore can swiftly hop away from danger.]],
 
  },
 
 
 
  ["ThingDef:Snowhare"] = {
 
 
     _ = {
 
     _ = {
      ParentName = "BaseHare",
 
      FileName = "Races_Animal_Hares.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Snowhare",
 
    label = "snowhare",
 
    description = [[This hardy animal survives the brutal winters of its homelands by burrowing through snow to find edible plants.]],
 
    statBases = {
 
      ComfyTemperatureMin = -55,
 
    },
 
  },
 
  ThingDef = {
 
    _ = {
 
      Abstract = true,
 
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       Name = "BaseInsect",
+
       DefCategory = "ThingDef",
       FileName = "Races_Animal_Insect.xml",
+
       FileName = "Races_Animal_Temperate.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
 +
    defName = "Tortoise",
 +
    label = "tortoise",
 +
    description = [[This heavily armored land-dwelling reptile is known for its slow moving speed and surprisingly vicious bite. Because of its natural armor, it is tough to kill and can do serious damage during drawn-out melee fights.]],
 
     statBases = {
 
     statBases = {
       ToxicSensitivity = 0,
+
       MoveSpeed = 1.0,
       ComfyTemperatureMax = 60,
+
      MarketValue = 200,
 +
      ArmorRating_Blunt = 0.35,
 +
      ArmorRating_Sharp = 0.50,
 +
      ComfyTemperatureMin = 0,
 +
       ComfyTemperatureMax = 50,
 
     },
 
     },
    race = {
+
     tools = {
      foodType = "OmnivoreAnimal, AnimalProduct",
+
       {
      manhunterOnDamageChance = 0.35,
+
         label = "beak",
      manhunterOnTameFailChance = 0.20,
+
         capacities = {
    },
+
           "Bite",
  },
+
         },
 
+
         power = 8,
  ["ThingDef:Megascarab"] = {
+
         cooldownTime = 2.6,
    _ = {
+
         linkedBodyPartsGroup = "TurtleBeakAttackTool",
      ParentName = "BaseInsect",
 
      FileName = "Races_Animal_Insect.xml",
 
      DLC = "Core",
 
    },
 
    defName = "Megascarab",
 
    label = "megascarab",
 
    description = [[A large, genetically-engineered beetle. Once the worker caste of an artifical ecosystem of insectoids designed to fight mechanoid invasions, it is now often seen without its deadlier insectoid cousins. Still, its size and hard shell make it dangerous when it attacks. A eusocial creature, it cannot reproduce individually.]],
 
    statBases = {
 
      MoveSpeed = 3.75,
 
      ArmorRating_Blunt = 0.18,
 
      ArmorRating_Sharp = 0.72,
 
      ComfyTemperatureMin = 0,
 
      MarketValue = 100,
 
      LeatherAmount = 0,
 
    },
 
     tools = {
 
       {
 
         label = "mandibles",
 
         capacities = {
 
           "Bite",
 
         },
 
         power = 5,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Mouth",
 
 
       },
 
       },
 
       {
 
       {
Line 20,605: Line 22,820:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 4,
+
         power = 3,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
         chanceFactor = 0.1,
+
         chanceFactor = 0.2,
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_EggLayer = {
 +
        eggFertilizedDef = "EggTortoiseFertilized",
 +
        eggFertilizationCountMax = 1,
 +
        eggLayIntervalDays = 20,
 +
        eggProgressUnfertilizedMax = 0.5,
 +
        eggCountRange = { ["<"]=1, [">"]=3 },
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.2,
+
       baseBodySize = 0.5,
       wildness = 0.95,
+
      foodType = {
       lifeExpectancy = 10,
+
        "OmnivoreRoughAnimal",
 +
      },
 +
      leatherDef = "Leather_Lizard",
 +
       wildness = 0.75,
 +
       lifeExpectancy = 180,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
           def = "EusocialInsectLarva",
+
           def = "AnimalBaby",
 
           minAge = 0,
 
           minAge = 0,
 
         },
 
         },
 
         {
 
         {
           def = "EusocialInsectJuvenile",
+
           def = "AnimalJuvenile",
           minAge = 0.03,
+
           minAge = 0.15,
 
         },
 
         },
 
         {
 
         {
           def = "EusocialInsectAdult",
+
           def = "AnimalAdult",
           minAge = 0.4,
+
           minAge = 0.5,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalInsect",
+
       "AnimalUncommon",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Spelopede"] = {
+
   ["ThingDef:Cobra"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseInsect",
+
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Insect.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Tropical.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Spelopede",
+
     defName = "Cobra",
     label = "spelopede",
+
     label = "cobra",
     description = [[A medium-sized bioengineered insectoid the size of a sheep. The spelopede is the middle caste of a hive, taking care of most work tasks as well as fighting with its digging claws. It's dangerous in combat, but slow on open ground.]],
+
     description = [[A large predatory snake. Cobras can be highly aggressive if provoked, and their bite injects toxic venom into the victim.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 3.65,
+
       MoveSpeed = 3.5,
      ComfyTemperatureMin = -25,
+
       MarketValue = 150,
       MarketValue = 200,
+
       ComfyTemperatureMin = 0,
       LeatherAmount = 0,
+
       ComfyTemperatureMax = 60,
      ArmorRating_Blunt = 0.18,
 
       ArmorRating_Sharp = 0.18,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "head claw",
+
         label = "venom-fangs",
 
         capacities = {
 
         capacities = {
           "Cut",
+
           "ToxicBite",
 
         },
 
         },
         power = 7,
+
         power = 12,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "HeadClaw",
+
         linkedBodyPartsGroup = "Mouth",
 
       },
 
       },
 
       {
 
       {
Line 20,667: Line 22,894:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 6,
+
         power = 3,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 20,673: Line 22,900:
 
       },
 
       },
 
     },
 
     },
     race = {
+
    comps = {
       baseBodySize = 0.8,
+
      CompProperties_EggLayer = {
       gestationPeriodDays = 12,
+
        eggFertilizedDef = "EggCobraFertilized",
       wildness = 0.95,
+
        eggFertilizationCountMax = 1,
       lifeExpectancy = 6,
+
        eggLayIntervalDays = 20.0,
 +
        eggProgressUnfertilizedMax = 0.5,
 +
        eggCountRange = { ["<"]=1, [">"]=2 },
 +
      },
 +
    },
 +
     race = {
 +
       baseBodySize = 0.25,
 +
      foodType = {
 +
        "CarnivoreAnimal",
 +
        "OvivoreAnimal",
 +
      },
 +
       leatherDef = "Leather_Lizard",
 +
       wildness = 0.75,
 +
      petness = 0.05,
 +
      manhunterOnTameFailChance = 0.10,
 +
      manhunterOnDamageChance = 0.10,
 +
       lifeExpectancy = 20,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
           def = "EusocialInsectLarva",
+
           def = "AnimalBaby",
 
           minAge = 0,
 
           minAge = 0,
 
         },
 
         },
 
         {
 
         {
           def = "EusocialInsectJuvenile",
+
           def = "AnimalJuvenile",
           minAge = 0.03,
+
           minAge = 0.15,
 
         },
 
         },
 
         {
 
         {
           def = "EusocialInsectAdult",
+
           def = "AnimalAdult",
           minAge = 0.2,
+
           minAge = 0.5,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalInsect",
+
       "AnimalUncommon",
 +
      "AnimalFighter",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Megaspider"] = {
+
   ["ThingDef:Monkey"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseInsect",
+
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Insect.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Tropical.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Megaspider",
+
     defName = "Monkey",
     label = "megaspider",
+
     label = "monkey",
     description = [[Not actually a spider, the megaspider is a genetically-engineered giant insectoid the size of a bear. Designed for heavy work and combat, its thick chitinous armor makes it hard to kill, while its long ripper-blades make it deadly at close quarters. It is, however, quite slow in open terrain.]],
+
     description = [[A small primate, the monkey can use its curly tail to grab on to branches, leaving its hands free to do other things. Monkeys are selfish but clever, and can be trained to carry out fairly complex tasks.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 3.60,
+
       MoveSpeed = 4.3,
      ComfyTemperatureMin = -40,
+
       MarketValue = 100,
       MarketValue = 500,
+
       ComfyTemperatureMin = -5,
       LeatherAmount = 0,
+
       ComfyTemperatureMax = 50,
      ArmorRating_Blunt = 0.18,
 
       ArmorRating_Sharp = 0.27,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "head claw",
+
         label = "left fist",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 3.6,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "LeftHand",
 +
      },
 +
      {
 +
        label = "right fist",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 3.6,
 +
        cooldownTime = 1.5,
 +
        linkedBodyPartsGroup = "RightHand",
 +
      },
 +
      {
 
         capacities = {
 
         capacities = {
           "Cut",
+
           "Bite",
 
         },
 
         },
         power = 12,
+
         power = 4,
         cooldownTime = 2.6,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "HeadClaw",
+
         linkedBodyPartsGroup = "Teeth",
 +
        chanceFactor = 0.7,
 
       },
 
       },
 
       {
 
       {
Line 20,730: Line 22,991:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 7,
+
         power = 2,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 20,737: Line 22,998:
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 1.2,
+
      petness = 0.50,
       gestationPeriodDays = 12,
+
      herdAnimal = true,
       wildness = 0.95,
+
       baseBodySize = 0.35,
       lifeExpectancy = 6,
+
      foodType = {
 +
        "OmnivoreRoughAnimal",
 +
       },
 +
      leatherDef = "Leather_Light",
 +
      trainability = "Advanced",
 +
       wildness = 0.60,
 +
      nuzzleMtbHours = 24,
 +
      gestationPeriodDays = 16,
 +
       lifeExpectancy = 30,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
           def = "EusocialInsectLarva",
+
           def = "AnimalBaby",
 
           minAge = 0,
 
           minAge = 0,
 
         },
 
         },
 
         {
 
         {
           def = "EusocialInsectJuvenile",
+
           def = "AnimalJuvenile",
           minAge = 0.03,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
           def = "EusocialInsectAdult",
+
           def = "AnimalAdult",
           minAge = 0.2,
+
           minAge = 0.4,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalInsect",
+
       "AnimalUncommon",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:YorkshireTerrier"] = {
+
   ["ThingDef:Boomalope"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Pet.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_Tropical.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "YorkshireTerrier",
+
     defName = "Boomalope",
     label = "yorkshire terrier",
+
     label = "boomalope",
     description = [[A small, even-tempered dog. Originally bred to hunt rats, it later became a show and companionship animal. Some consider it useless, but the mood boost it gives by nuzzling can outweight the cost of feeding it.]],
+
     description = [[Engineered for chemicals production, the boomalope grows a large sac of volatile chemicals on its back. Though it is weak and fragile for its size, other animals have learned to avoid it because of the huge explosion it produces when it dies. It can be milked to produce chemfuel - very carefully.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 3.1,
+
       MoveSpeed = 3.4,
       MarketValue = 100,
+
       MarketValue = 350,
 
       ComfyTemperatureMin = -15,
 
       ComfyTemperatureMin = -15,
 +
    },
 +
    comps = {
 +
      CompProperties_Milkable = {
 +
        milkDef = "Chemfuel",
 +
        milkIntervalDays = 2,
 +
        milkAmount = 12,
 +
        milkFemaleOnly = false,
 +
      },
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "left claw",
+
         label = "head",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 
         },
 
         },
         power = 3.6,
+
         power = 7,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftPaw",
+
         linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 
       },
 
       },
 
       {
 
       {
         label = "right claw",
+
         label = "left hoof",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 +
          "Poke",
 
         },
 
         },
         power = 3.6,
+
         power = 9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightPaw",
+
         linkedBodyPartsGroup = "FrontLeftLeg",
 
       },
 
       },
 
       {
 
       {
         label = "cute little teeth",
+
         label = "right hoof",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Blunt",
 +
          "Poke",
 
         },
 
         },
         power = 4.8,
+
         power = 9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "FrontRightLeg",
        chanceFactor = 0.7,
 
 
       },
 
       },
 
       {
 
       {
        label = "head",
 
 
         capacities = {
 
         capacities = {
           "Blunt",
+
           "Bite",
 
         },
 
         },
         power = 2,
+
         power = 10,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "HeadAttackTool",
+
         linkedBodyPartsGroup = "Teeth",
         chanceFactor = 0.2,
+
         chanceFactor = 0.5,
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
       petness = 1,
+
       herdAnimal = true,
       baseBodySize = 0.3,
+
       baseBodySize = 1.5,
       foodType = "OmnivoreAnimal, OvivoreAnimal",
+
       foodType = {
      leatherDef = "Leather_Dog",
+
        "VegetarianRoughAnimal",
      trainability = "Intermediate",
 
      wildness = 0,
 
      nuzzleMtbHours = 12,
 
      gestationPeriodDays = 24,
 
      litterSizeCurve = {
 
        points = {
 
          {0.5, 0},
 
          {1, 1},
 
          {2, 1.7},
 
          {3, 0.7},
 
          {3.5, 0},
 
        },
 
 
       },
 
       },
 +
      leatherDef = "Leather_Plain",
 +
      wildness = 0.6,
 +
      gestationPeriodDays = 28,
 
       lifeExpectancy = 15,
 
       lifeExpectancy = 15,
 
       lifeStageAges = {
 
       lifeStageAges = {
Line 20,841: Line 23,111:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.1,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.3,
+
           minAge = 0.5,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalUncommon",
       "AnimalPet",
+
       "AnimalFighter",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Husky"] = {
+
   ["ThingDef:Warg"] = {
 
     _ = {
 
     _ = {
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Pet.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_WildCanines.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Husky",
+
     defName = "Warg",
     label = "husky",
+
     label = "warg",
     description = [[A large, energetic dog with a thick fur coat for remaining comfortable in arctic environments.]],
+
     description = [[Heavily-muscled wolf-like creatures with vicious unnatural claws and an absurdly powerful bite. They will only eat meat or corpses. If disturbed in the wild, they are very likely to attack.\n\nScientists say wargs are the descendants of weaponized military animals created for population suppression. The superstitious see them as the tools of an angry god.]],
 
     statBases = {
 
     statBases = {
 
       MoveSpeed = 5.0,
 
       MoveSpeed = 5.0,
       MarketValue = 250,
+
       MarketValue = 450,
       ComfyTemperatureMin = -50,
+
       ComfyTemperatureMin = -40,
 
     },
 
     },
 
     tools = {
 
     tools = {
Line 20,875: Line 23,146:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 9.7,
+
         power = 13,
         cooldownTime = 2,
+
         cooldownTime = 1.5,
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
Line 20,884: Line 23,155:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 9.7,
+
         power = 13,
         cooldownTime = 2,
+
         cooldownTime = 1.5,
 
         linkedBodyPartsGroup = "FrontRightPaw",
 
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
 
       {
 
       {
 +
        label = "razorfangs",
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 14.2,
+
         power = 15,
         cooldownTime = 2.6,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
         chanceFactor = 0.7,
+
         chanceFactor = 0.9,
 
       },
 
       },
 
       {
 
       {
Line 20,902: Line 23,174:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 6,
+
         power = 5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 20,909: Line 23,181:
 
     },
 
     },
 
     race = {
 
     race = {
       petness = 1,
+
       petness = 0.5,
       baseBodySize = 0.86,
+
       baseBodySize = 1.0,
       foodType = "OmnivoreAnimal, OvivoreAnimal",
+
       foodType = {
       leatherDef = "Leather_Dog",
+
        "CarnivoreAnimalStrict",
 +
      },
 +
       leatherDef = "Leather_Wolf",
 +
      gestationPeriodDays = 26,
 
       trainability = "Advanced",
 
       trainability = "Advanced",
       wildness = 0,
+
       wildness = 0.60,
       nuzzleMtbHours = 12,
+
       manhunterOnTameFailChance = 0.35,
       gestationPeriodDays = 25,
+
       manhunterOnDamageChance = 0.35,
 
       litterSizeCurve = {
 
       litterSizeCurve = {
 
         points = {
 
         points = {
Line 20,926: Line 23,201:
 
         },
 
         },
 
       },
 
       },
       lifeExpectancy = 12,
+
       lifeExpectancy = 15,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 20,934: Line 23,209:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.25,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.5,
+
           minAge = 0.45,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalUncommon",
       "AnimalPet",
+
       "AnimalFighter",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:LabradorRetriever"] = {
+
   ["ThingDef:ThingBaseWolf"] = {
 
     _ = {
 
     _ = {
 +
      Name = "ThingBaseWolf",
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Pet.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_WildCanines.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "LabradorRetriever",
 
    label = "labrador retriever",
 
    description = [[A very versatile, medium-sized dog. Originally bred to retrieve birds shot on the hunt, the lab is also an excellent guard dog, play pal, and family friend.]],
 
 
     statBases = {
 
     statBases = {
 
       MoveSpeed = 5.0,
 
       MoveSpeed = 5.0,
       MarketValue = 250,
+
       MarketValue = 350,
       ComfyTemperatureMin = -30,
+
       ComfyTemperatureMin = -40,
 
     },
 
     },
 
     tools = {
 
     tools = {
Line 20,968: Line 23,243:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 8.5,
+
         power = 10.9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 +
        chanceFactor = 0.5,
 
       },
 
       },
 
       {
 
       {
Line 20,977: Line 23,253:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 8.5,
+
         power = 10.9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontRightPaw",
 
         linkedBodyPartsGroup = "FrontRightPaw",
 +
        chanceFactor = 0.5,
 
       },
 
       },
 
       {
 
       {
Line 20,985: Line 23,262:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 14.2,
+
         power = 12,
         cooldownTime = 2.6,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
         chanceFactor = 0.7,
+
         chanceFactor = 0.9,
 
       },
 
       },
 
       {
 
       {
Line 20,995: Line 23,272:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 5,
+
         power = 6,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 21,002: Line 23,279:
 
     },
 
     },
 
     race = {
 
     race = {
       petness = 1,
+
       petness = 0.1,
       baseBodySize = 0.75,
+
       baseBodySize = 0.85,
       foodType = "OmnivoreAnimal, OvivoreAnimal",
+
       foodType = {
       leatherDef = "Leather_Dog",
+
        "CarnivoreAnimal",
 +
      },
 +
      leatherDef = "Leather_Wolf",
 +
       trainability = "Advanced",
 +
      wildness = 0.85,
 +
      nuzzleMtbHours = 120,
 +
      manhunterOnTameFailChance = 0.10,
 +
      manhunterOnDamageChance = 0.10,
 
       gestationPeriodDays = 26,
 
       gestationPeriodDays = 26,
      trainability = "Advanced",
 
      wildness = 0,
 
      nuzzleMtbHours = 12,
 
      manhunterOnDamageChance = 0,
 
      manhunterOnTameFailChance = 0,
 
 
       litterSizeCurve = {
 
       litterSizeCurve = {
 
         points = {
 
         points = {
Line 21,017: Line 23,296:
 
           {1, 1},
 
           {1, 1},
 
           {2, 1.7},
 
           {2, 1.7},
           {3, 0.7},
+
           {2.5, 0.7},
           {3.5, 0},
+
           {3, 0},
 
         },
 
         },
 
       },
 
       },
Line 21,029: Line 23,308:
 
         {
 
         {
 
           def = "AnimalJuvenile",
 
           def = "AnimalJuvenile",
           minAge = 0.25,
+
           minAge = 0.2,
 
         },
 
         },
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.5,
+
           minAge = 0.45,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "AnimalUncommon",
       "AnimalPet",
+
       "AnimalFighter",
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:Wolf_Timber"] = {
 +
    _ = {
 +
      ParentName = "ThingBaseWolf",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Races_Animal_WildCanines.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Wolf_Timber",
 +
    label = "timber wolf",
 +
    description = [[A rugged predator long feared by many ancient Earth cultures. As pack hunters, wolves have complex social lives and are fiercely intelligent.]],
 +
  },
 +
 
 +
  ["ThingDef:Wolf_Arctic"] = {
 +
    _ = {
 +
      ParentName = "ThingBaseWolf",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Races_Animal_WildCanines.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Wolf_Arctic",
 +
    label = "arctic wolf",
 +
    description = [[An arctic variant of the old Earth wolf. As pack hunters, wolves have a complex social life and are fiercely intelligent.]],
 +
    statBases = {
 +
      ComfyTemperatureMin = -55,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Cat"] = {
+
   ["ThingDef:ThingBaseFox"] = {
 
     _ = {
 
     _ = {
 +
      Name = "ThingBaseFox",
 
       ParentName = "AnimalThingBase",
 
       ParentName = "AnimalThingBase",
       FileName = "Races_Animal_Pet.xml",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_WildCanines.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
    defName = "Cat",
 
    label = "cat",
 
    description = [[One of mankind's first pets, the cat is a small mammal which hunts vermin. Known for their aloofness, cats are nevertheless popular companions because of their independence, calm disposition, and fine, pettable fur.]],
 
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.4,
+
       MoveSpeed = 4.6,
       MarketValue = 100,
+
       ComfyTemperatureMin = -35,
       ComfyTemperatureMin = -25,
+
       MarketValue = 200,
 
     },
 
     },
 
     tools = {
 
     tools = {
Line 21,063: Line 23,369:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 6,
+
         power = 8,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 
         linkedBodyPartsGroup = "FrontLeftPaw",
 
       },
 
       },
Line 21,072: Line 23,378:
 
           "Scratch",
 
           "Scratch",
 
         },
 
         },
         power = 6,
+
         power = 8,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontRightPaw",
 
         linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
       },
Line 21,080: Line 23,386:
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 7,
+
         power = 9,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
         chanceFactor = 0.7,
+
         chanceFactor = 0.9,
 
       },
 
       },
 
       {
 
       {
Line 21,090: Line 23,396:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 3,
+
         power = 4,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 21,097: Line 23,403:
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.255,
+
      petness = 0.1,
       foodType = "CarnivoreAnimal, OvivoreAnimal",
+
       baseBodySize = 0.55,
       leatherDef = "Leather_Light",
+
       foodType = {
       wildness = 0.2,
+
        "CarnivoreAnimal",
       petness = 1,
+
      },
      trainability = "None",
+
       leatherDef = "Leather_Fox",
       nuzzleMtbHours = 12,
+
       trainability = "Advanced",
       gestationPeriodDays = 24,
+
       wildness = 0.75,
 +
       nuzzleMtbHours = 60,
 +
       gestationPeriodDays = 21,
 
       litterSizeCurve = {
 
       litterSizeCurve = {
 
         points = {
 
         points = {
Line 21,110: Line 23,418:
 
           {1, 1},
 
           {1, 1},
 
           {2, 1.7},
 
           {2, 1.7},
           {3, 0.7},
+
           {2.5, 0.7},
           {3.5, 0},
+
           {3, 0},
 
         },
 
         },
 
       },
 
       },
       lifeExpectancy = 10,
+
       lifeExpectancy = 9,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
Line 21,126: Line 23,434:
 
         {
 
         {
 
           def = "AnimalAdult",
 
           def = "AnimalAdult",
           minAge = 0.4,
+
           minAge = 0.35,
 
         },
 
         },
 
       },
 
       },
Line 21,132: Line 23,440:
 
     tradeTags = {
 
     tradeTags = {
 
       "AnimalCommon",
 
       "AnimalCommon",
      "AnimalPet",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Squirrel"] = {
+
   ["ThingDef:Fox_Fennec"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "ThingBaseFox",
       FileName = "Races_Animal_Rodentlike.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Animal_WildCanines.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Squirrel",
+
     defName = "Fox_Fennec",
     label = "squirrel",
+
     label = "fennec fox",
     description = [[One of the many hardy rodent species that follows humankind everywhere it spreads. Squirrels are distinguished by their bushy tails, which they use as umbrellas in bad weather.]],
+
     description = [[A small fox originally from the northern part of Earth's Africa continent. It hunts small creatures and has very large ears for cooling itself in the heat.]],
 +
    statBases = {
 +
      ComfyTemperatureMin = -30,
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:Fox_Red"] = {
 +
    _ = {
 +
      ParentName = "ThingBaseFox",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Races_Animal_WildCanines.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Fox_Red",
 +
    label = "red fox",
 +
    description = [[A small solitary canine evolved for hunting small prey in temperate climates. Chicken farmers hate foxes because of their ability to destroy a whole coop in minutes.]],
 +
  },
 +
 
 +
  ["ThingDef:Fox_Arctic"] = {
 +
    _ = {
 +
      ParentName = "ThingBaseFox",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Races_Animal_WildCanines.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Fox_Arctic",
 +
    label = "arctic fox",
 +
    description = [[A small predator adapted for cold climates. It usually hunts small game like mice and voles, sometimes burrowing through a meter of snow to reach its prey.]],
 +
    statBases = {
 +
      ComfyTemperatureMin = -50,
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:Human"] = {
 +
    _ = {
 +
      ParentName = "BasePawn",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Races_Humanlike.xml",
 +
      DLC = "Core",
 +
    },
 +
    defName = "Human",
 +
    label = "human",
 +
    description = [[A baseline human, mostly unmodified by gene engineering and mostly unchanged by evolutionary pressures on non-Earth planets.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.1,
+
      MarketValue = 1750,
       MarketValue = 35,
+
       MoveSpeed = 4.6,
       ComfyTemperatureMin = -35,
+
      ComfyTemperatureMin = 16,
 +
      ComfyTemperatureMax = 26,
 +
       LeatherAmount = 50,
 +
       RoyalFavorValue = 3,
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "left claw",
+
         label = "left fist",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 
         },
 
         },
         power = 4,
+
         power = 8.2,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftPaw",
+
         linkedBodyPartsGroup = "LeftHand",
 
       },
 
       },
 
       {
 
       {
         label = "right claw",
+
         label = "right fist",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 
         },
 
         },
         power = 4,
+
         power = 8.2,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightPaw",
+
         linkedBodyPartsGroup = "RightHand",
 
       },
 
       },
 
       {
 
       {
 +
        label = "teeth",
 
         capacities = {
 
         capacities = {
 
           "Bite",
 
           "Bite",
 
         },
 
         },
         power = 5,
+
         power = 8.2,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "Teeth",
 
         linkedBodyPartsGroup = "Teeth",
         chanceFactor = 0.7,
+
         chanceFactor = 0.07,
 
       },
 
       },
 
       {
 
       {
Line 21,183: Line 23,537:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 2,
+
         power = 5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 21,190: Line 23,544:
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.15,
+
       lifeExpectancy = 80,
       foodType = "VegetarianRoughAnimal",
+
       leatherDef = "Leather_Human",
       leatherDef = "Leather_Light",
+
       baseBodySize = 1,
       wildness = 0.75,
+
      foodType = {
       trainability = "None",
+
        "OmnivoreHuman",
       gestationPeriodDays = 13,
+
       },
 +
      gestationPeriodDays = 45,
 +
       manhunterOnDamageChance = 0.20,
 +
       manhunterOnTameFailChance = 0.02,
 
       litterSizeCurve = {
 
       litterSizeCurve = {
 
         points = {
 
         points = {
 
           {0.5, 0},
 
           {0.5, 0},
 
           {1, 1},
 
           {1, 1},
           {1.8, 1},
+
           {1.01, 0.02},
           {2.4, 0},
+
           {3.5, 0},
 
         },
 
         },
 
       },
 
       },
      lifeExpectancy = 8,
 
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
           def = "AnimalBaby",
+
           def = "HumanlikeBaby",
 
           minAge = 0,
 
           minAge = 0,
 
         },
 
         },
 
         {
 
         {
           def = "AnimalJuvenile",
+
           def = "HumanlikeToddler",
           minAge = 0.11,
+
           minAge = 1.2,
 
         },
 
         },
 
         {
 
         {
           def = "AnimalAdult",
+
           def = "HumanlikeChild",
           minAge = 0.26,
+
           minAge = 4,
 +
        },
 +
        {
 +
          def = "HumanlikeTeenager",
 +
          minAge = 13,
 +
        },
 +
        {
 +
          def = "HumanlikeAdult",
 +
          minAge = 18,
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
     tradeTags = {
+
  },
       "AnimalCommon",
+
 
 +
  ["ThingDef:BaseMechanoid"] = {
 +
    _ = {
 +
      ParentName = "BasePawn",
 +
      Name = "BaseMechanoid",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
      FileName = "Races_Mechanoid.xml",
 +
      DLC = "Core",
 +
    },
 +
    statBases = {
 +
      PsychicSensitivity = 0.5,
 +
      ToxicSensitivity = 0,
 +
      Flammability = 0,
 +
      ComfyTemperatureMin = -100,
 +
      ComfyTemperatureMax = 250,
 +
      MeatAmount = 0,
 +
      ArmorRating_Heat = 2.00,
 +
    },
 +
    race = {
 +
      foodType = {
 +
        "None",
 +
      },
 +
      lifeExpectancy = 2500,
 +
    },
 +
     comps = {
 +
       CompProperties_CanBeDormant = {},
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpOnDamage = true,
 +
        anyColonistCloseCheckRadius = 30,
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Alphabeaver"] = {
+
   ["ThingDef:Mech_Centipede"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BaseMechanoid",
       FileName = "Races_Animal_Rodentlike.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Mechanoid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Alphabeaver",
+
     defName = "Mech_Centipede",
     label = "alphabeaver",
+
     label = "centipede",
     description = [[A large beaver-like creature genetically engineered to harvest wood with machine-like efficiency. In the absence of specialized feed, these animals will enter a manic state that compels them to eat trees whole, and are likely to attack if disturbed.]],
+
     description = [[Heavy combat mechanoids that glide on dozens of tiny legs. Their thick carpace and firepower makes them very effective against bunched-up static defenders. They are somewhat vulnerable to mobile hit-and-run tactics.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 3.7,
+
       MoveSpeed = 1.9,
       MarketValue = 250,
+
       ArmorRating_Blunt = 0.22,
       ComfyTemperatureMin = -40,
+
       ArmorRating_Sharp = 0.72,
 +
      PsychicSensitivity = 0.75,
 
     },
 
     },
 
     tools = {
 
     tools = {
      {
 
        label = "left claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 7.2,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontLeftPaw",
 
      },
 
      {
 
        label = "right claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 7.2,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightPaw",
 
      },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 8.5,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.7,
 
      },
 
 
       {
 
       {
 
         label = "head",
 
         label = "head",
Line 21,272: Line 23,642:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 3,
+
         power = 17,
         cooldownTime = 2,
+
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
 
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
      herdAnimal = true,
+
       baseBodySize = 1.8,
       baseBodySize = 0.45,
+
       lifeStageAges = {
      foodType = "DendrovoreAnimal",
+
         {
      leatherDef = "Leather_Light",
+
           def = "MechanoidFullyFormed",
      wildness = 0.75,
+
           minAge = 0,
      gestationPeriodDays = 17,
 
      manhunterOnTameFailChance = 0.10,
 
       manhunterOnDamageChance = 0.10,
 
      litterSizeCurve = {
 
         points = {
 
           {0.5, 0},
 
           {1, 1},
 
          {3, 1},
 
          {3.5, 0},
 
 
         },
 
         },
 
       },
 
       },
       lifeExpectancy = 12,
+
    },
 +
  },
 +
 
 +
  ["ThingDef:BaseMechanoidWalker"] = {
 +
    _ = {
 +
      ParentName = "BaseMechanoid",
 +
      Name = "BaseMechanoidWalker",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
      FileName = "Races_Mechanoid.xml",
 +
      DLC = "Core",
 +
    },
 +
    statBases = {
 +
      MoveSpeed = 4.7,
 +
      ArmorRating_Blunt = 0.20,
 +
      ArmorRating_Sharp = 0.40,
 +
    },
 +
    race = {
 +
       baseBodySize = 1.0,
 
       lifeStageAges = {
 
       lifeStageAges = {
 
         {
 
         {
           def = "AnimalBaby",
+
           def = "MechanoidFullyFormed",
 
           minAge = 0,
 
           minAge = 0,
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.15,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.35,
 
 
         },
 
         },
 
       },
 
       },
    },
 
    tradeTags = {
 
      "AnimalUncommon",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Capybara"] = {
+
   ["ThingDef:Mech_Lancer"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BaseMechanoidWalker",
       FileName = "Races_Animal_Rodentlike.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Mechanoid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Capybara",
+
     defName = "Mech_Lancer",
     label = "capybara",
+
     label = "lancer",
     description = [[The largest natural rodent, the capybara is well-adapted for steaming jungle environments.]],
+
     description = [[Fast human-sized combat mechanoids built for medium and long-range combat. Their bodies are light, making them vulnerable targets at close range - especially in melee combat.]],
    statBases = {
 
      MoveSpeed = 3.9,
 
      MarketValue = 150,
 
      ComfyTemperatureMin = -10,
 
      ComfyTemperatureMax = 50,
 
    },
 
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "left claw",
+
         label = "left fist",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 
         },
 
         },
         power = 8.4,
+
         power = 12.0,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftPaw",
+
         linkedBodyPartsGroup = "LeftHand",
 
       },
 
       },
 
       {
 
       {
         label = "right claw",
+
         label = "right fist",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 
         },
 
         },
         power = 8.4,
+
         power = 12.0,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightPaw",
+
         linkedBodyPartsGroup = "RightHand",
      },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 8.5,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.7,
 
 
       },
 
       },
 
       {
 
       {
Line 21,364: Line 23,717:
 
           "Blunt",
 
           "Blunt",
 
         },
 
         },
         power = 4,
+
         power = 8.5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
         linkedBodyPartsGroup = "HeadAttackTool",
Line 21,370: Line 23,723:
 
       },
 
       },
 
     },
 
     },
     race = {
+
  },
       herdAnimal = true,
+
 
       baseBodySize = 0.50,
+
  ["ThingDef:Mech_Scyther"] = {
       foodType = "VegetarianRoughAnimal",
+
     _ = {
       leatherDef = "Leather_Light",
+
       ParentName = "BaseMechanoidWalker",
      wildness = 0.75,
+
       DefCategory = "ThingDef",
      petness = 0.08,
+
       FileName = "Races_Mechanoid.xml",
      nuzzleMtbHours = 60,
+
       DLC = "Core",
      gestationPeriodDays = 20,
+
    },
       litterSizeCurve = {
+
    defName = "Mech_Scyther",
         points = {
+
    label = "scyther",
          {0.5, 0},
+
    description = [[Fast, spindly, human-sized combat mechanoids specializing in rapid approach and close-range combat. Their bodies are covered in points and blades, but their mostly use two arm blades to lop off limbs or gut their victims alive.]],
          {1, 1},
+
    tools = {
           {1.5, 1},
+
       {
           {2, 0},
+
         label = "left blade",
 +
        capacities = {
 +
           "Cut",
 +
           "Stab",
 
         },
 
         },
 +
        power = 20,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "LeftBlade",
 
       },
 
       },
       lifeExpectancy = 12,
+
       {
      lifeStageAges = {
+
        label = "right blade",
        {
+
        capacities = {
           def = "AnimalBaby",
+
           "Cut",
           minAge = 0,
+
           "Stab",
 
         },
 
         },
         {
+
         power = 20,
          def = "AnimalJuvenile",
+
        cooldownTime = 2,
          minAge = 0.2,
+
         linkedBodyPartsGroup = "RightBlade",
         },
+
      },
        {
+
      {
          def = "AnimalAdult",
+
        label = "head",
           minAge = 0.4,
+
        capacities = {
 +
           "Blunt",
 
         },
 
         },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
        linkedBodyPartsGroup = "HeadAttackTool",
 +
        chanceFactor = 0.2,
 
       },
 
       },
    },
 
    tradeTags = {
 
      "AnimalUncommon",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Chinchilla"] = {
+
   ["ThingDef:Mech_Pikeman"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BaseMechanoidWalker",
       FileName = "Races_Animal_Rodentlike.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Races_Mechanoid.xml",
 
       DLC = "Core",
 
       DLC = "Core",
 
     },
 
     },
     defName = "Chinchilla",
+
     defName = "Mech_Pikeman",
     label = "chinchilla",
+
     label = "pikeman",
     description = [[A small, nimble rodent. Its fur is softer than just about anything in the universe, making it very valuable as a trade good.]],
+
     description = [[A clunky multi-legged combat mechanoid specialized as a long-range weapons platform. While effective at distance, it is weak in close-range fights and in melee combat.\n\nVeterans of mechanoid wars know that often, the safest place to be around a pikeman is touching it.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 5.0,
+
       MoveSpeed = 2.5,
      MarketValue = 150,
 
      ComfyTemperatureMin = -15,
 
      ComfyTemperatureMax = 55,
 
 
     },
 
     },
 
     tools = {
 
     tools = {
 
       {
 
       {
         label = "left claw",
+
         label = "front left leg",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 
         },
 
         },
         power = 3.6,
+
         power = 12.0,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontLeftPaw",
+
         linkedBodyPartsGroup = "FrontLeftLeg",
 
       },
 
       },
 
       {
 
       {
         label = "right claw",
+
         label = "front right leg",
 
         capacities = {
 
         capacities = {
           "Scratch",
+
           "Blunt",
 
         },
 
         },
         power = 3.6,
+
         power = 12.0,
         cooldownTime = 1.5,
+
         cooldownTime = 2,
         linkedBodyPartsGroup = "FrontRightPaw",
+
         linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
       },
 
       {
 
       {
 +
        label = "head",
 
         capacities = {
 
         capacities = {
           "Bite",
+
           "Blunt",
 
         },
 
         },
         power = 5.8,
+
         power = 8.5,
 
         cooldownTime = 2,
 
         cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
+
         linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.7,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 2,
 
        cooldownTime = 2,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
 
         chanceFactor = 0.2,
 
         chanceFactor = 0.2,
 
       },
 
       },
 
     },
 
     },
 
     race = {
 
     race = {
       baseBodySize = 0.21,
+
       lifeStageAges = {
      foodType = "VegetarianRoughAnimal",
+
         _ = {
      leatherDef = "Leather_Chinchilla",
+
           Inherit = false,
      wildness = 0.60,
 
      trainability = "None",
 
      petness = 0.20,
 
      mateMtbHours = 8,
 
      nuzzleMtbHours = 24,
 
      gestationPeriodDays = 14,
 
      manhunterOnTameFailChance = 0,
 
      manhunterOnDamageChance = 0,
 
      litterSizeCurve = {
 
         points = {
 
           {0.5, 0},
 
          {1, 1},
 
          {2.5, 1},
 
          {3, 0},
 
 
         },
 
         },
      },
 
      lifeExpectancy = 9,
 
      lifeStageAges = {
 
 
         {
 
         {
           def = "AnimalBaby",
+
           def = "MechanoidFullyFormed",
 
           minAge = 0,
 
           minAge = 0,
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.15,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.30,
 
 
         },
 
         },
 
       },
 
       },
 
     },
 
     },
     tradeTags = {
+
  },
       "AnimalUncommon",
+
 
 +
  ["ThingDef:PsychicSensitizer"] = {
 +
     _ = {
 +
       ParentName = "BodyPartRoyalBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Hediffs_BodyParts_Archotech_EmpireRoyal.xml",
 +
      DLC = "Royalty",
 +
    },
 +
    defName = "PsychicSensitizer",
 +
    label = "psychic sensitizer",
 +
    description = [[This brain implant stimulates growth in the regions of the brain related to psychic interaction, thus increasing psychic sensitivity.]],
 +
    statBases = {
 +
      MarketValue = 1000,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Boomrat"] = {
+
   ["ThingDef:PsychicHarmonizer"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartRoyalBase",
       FileName = "Races_Animal_Rodentlike.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Archotech_EmpireRoyal.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Boomrat",
+
     defName = "PsychicHarmonizer",
     label = "boomrat",
+
     label = "psychic harmonizer",
     description = [[Either by deliberate genetic weaponization, or as an unusual defense mechanism, these rodent-like creatures create a powerful fire-starting explosion when killed.]],
+
     description = [[This brain implant projects the user's mood in a spherical psychic field, forcing others nearby to feel a blurred, simplified version of their emotions. It can be a powerful tool to keep morale high, but if the user becomes unhappy, it can lead to collective disaster.]],
 
     statBases = {
 
     statBases = {
       MoveSpeed = 4.6,
+
       MarketValue = 800,
       MarketValue = 100,
+
    },
       ComfyTemperatureMin = -15,
+
  },
 +
 
 +
  ["ThingDef:PsychicReader"] = {
 +
    _ = {
 +
      ParentName = "BodyPartRoyalBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Archotech_EmpireRoyal.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     tools = {
+
     defName = "PsychicReader",
      {
+
    label = "psychic reader",
        label = "left claw",
+
    description = [[Gives limited mind-reading ability, improving the user's ability to get the upper hand in negotiations and social situations. The effect is proportional to the user's psychic sensitivity.]],
        capacities = {
+
    statBases = {
          "Scratch",
+
       MarketValue = 1000,
        },
 
        power = 5.4,
 
        cooldownTime = 1.5,
 
        linkedBodyPartsGroup = "FrontLeftPaw",
 
      },
 
      {
 
        label = "right claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 5.4,
 
        cooldownTime = 1.5,
 
        linkedBodyPartsGroup = "FrontRightPaw",
 
      },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 4.9,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.7,
 
      },
 
       {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 3,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
 
     },
 
     },
    race = {
+
  },
      baseBodySize = 0.2,
+
 
      foodType = "OmnivoreRoughAnimal",
+
  ["ThingDef:BodyPartProstheticImperialBase"] = {
      leatherDef = "Leather_Light",
+
    _ = {
      wildness = 0.75,
+
       Name = "BodyPartProstheticImperialBase",
      petness = 0.20,
+
       ParentName = "BodyPartProstheticMakeableBase",
      mateMtbHours = 8,
+
      Abstract = true,
      nuzzleMtbHours = 60,
+
      DefCategory = "ThingDef",
      gestationPeriodDays = 14,
+
      FileName = "Hediffs_BodyParts_BaseEmpire.xml",
      litterSizeCurve = {
+
      DLC = "Royalty",
        points = {
 
          {0.5, 0},
 
          {1, 1},
 
          {2.5, 1},
 
          {3, 0},
 
        },
 
       },
 
      lifeExpectancy = 8,
 
       lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.1,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.35,
 
        },
 
      },
 
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalUncommon",
+
       "ImplantEmpireCommon",
      "AnimalFighter",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Raccoon"] = {
+
   ["ThingDef:BodyPartBionicImperialBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
      Name = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Rodentlike.xml",
+
       ParentName = "BodyPartBionicBase",
       DLC = "Core",
+
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_BaseEmpire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Raccoon",
+
     tradeTags = {
    label = "raccoon",
+
      "ImplantEmpireCommon",
    description = [[A small, hardy animal that ranges wide across forests and shrubland. It is happy to break into your garbage container, or your kitchen, to eat almost anything.]],
 
    statBases = {
 
      MoveSpeed = 4.1,
 
      MarketValue = 100,
 
      ComfyTemperatureMin = -30,
 
 
     },
 
     },
    tools = {
+
  },
      {
+
 
        label = "left claw",
+
  ["ThingDef:BodyPartRoyalBase"] = {
        capacities = {
+
    _ = {
          "Scratch",
+
       Name = "BodyPartRoyalBase",
        },
+
       ParentName = "BodyPartArchotechBase",
        power = 6,
+
       Abstract = true,
        cooldownTime = 2,
+
       DefCategory = "ThingDef",
        linkedBodyPartsGroup = "FrontLeftPaw",
+
       FileName = "Hediffs_BodyParts_BaseEmpire.xml",
      },
+
       DLC = "Royalty",
      {
 
        label = "right claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 6,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 7,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.7,
 
      },
 
       {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 3,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
    },
 
    race = {
 
       baseBodySize = 0.3,
 
       foodType = "OmnivoreRoughAnimal",
 
       leatherDef = "Leather_Light",
 
       wildness = 0.75,
 
      mateMtbHours = 8,
 
      gestationPeriodDays = 14,
 
      litterSizeCurve = {
 
        points = {
 
          {0.5, 0},
 
          {1, 1},
 
          {2, 1},
 
          {2.5, 0},
 
        },
 
      },
 
      lifeExpectancy = 8,
 
      lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.15,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.4,
 
        },
 
      },
 
 
     },
 
     },
 
     tradeTags = {
 
     tradeTags = {
       "AnimalCommon",
+
       "ImplantEmpireRoyal",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Rat"] = {
+
   ["ThingDef:Neurocalculator"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Rodentlike.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 +
    },
 +
    defName = "Neurocalculator",
 +
    label = "neurocalculator",
 +
    description = [[A non-intelligent microcomputer controlled by a visual/tactile neural interface. It assists with memory and calculation, like a calculator and notepad embedded in the brain.]],
 +
    costList = {
 +
      Plasteel = 15,
 +
      ComponentSpacer = 4,
 
     },
 
     },
     defName = "Rat",
+
     recipeMaker = {
    label = "rat",
+
      researchPrerequisite = "NeuralComputation",
    description = [[A widely-hated rodent known for soiling kitchens and spreading disease, rats have a way of following humans everywhere they go. It eats almost anything and lives almost anywhere.]],
 
    statBases = {
 
      MoveSpeed = 4.0,
 
      MarketValue = 35,
 
      ComfyTemperatureMin = -30,
 
 
     },
 
     },
    tools = {
+
  },
      {
+
 
        label = "left claw",
+
  ["ThingDef:LearningAssistant"] = {
        capacities = {
+
    _ = {
          "Scratch",
+
      ParentName = "BodyPartBionicImperialBase",
        },
+
       DefCategory = "ThingDef",
        power = 3.6,
+
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
        cooldownTime = 1.5,
+
       DLC = "Royalty",
        linkedBodyPartsGroup = "FrontLeftPaw",
 
      },
 
      {
 
        label = "right claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 3.6,
 
        cooldownTime = 1.5,
 
        linkedBodyPartsGroup = "FrontRightPaw",
 
       },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 6,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.7,
 
      },
 
       {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 2,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
 
     },
 
     },
     race = {
+
     defName = "LearningAssistant",
      baseBodySize = 0.15,
+
    label = "learning assistant",
      foodType = "OmnivoreRoughAnimal",
+
    description = [[A sensory recording system that replays important experiences during sleep, strengthening the formation of new memories.]],
      leatherDef = "Leather_Light",
+
    costList = {
      wildness = 0.50,
+
       Plasteel = 15,
      trainability = "None",
+
       ComponentSpacer = 4,
      petness = 0.15,
 
      manhunterOnTameFailChance = 0,
 
      manhunterOnDamageChance = 0,
 
      mateMtbHours = 8,
 
      gestationPeriodDays = 12,
 
      litterSizeCurve = {
 
        points = {
 
          {0.5, 0},
 
          {1, 1},
 
          {2.2, 1},
 
          {2.8, 0},
 
        },
 
       },
 
      lifeExpectancy = 8,
 
       lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.07,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.3,
 
        },
 
      },
 
 
     },
 
     },
     tradeTags = {
+
     recipeMaker = {
       "AnimalCommon",
+
       researchPrerequisite = "NeuralComputation",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Deer"] = {
+
   ["ThingDef:GastroAnalyzer"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Temperate.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Deer",
+
     defName = "GastroAnalyzer",
     label = "deer",
+
     label = "gastro-analyzer",
     description = [[A medium-sized herding herbivore which prefers to live in mixed forests and plains. Deer are very quick.]],
+
     description = [[This bionic nose implant enhances the sense of smell, with a focus towards food-related smells. A multi-layered ultrafine absorption mesh detects compounds in the air. A microprocessor formats the readings into an olfactory nerve signal to send to the brain through a nerve-link interface. The result is that the user can smell foods with a depth, richness, and precision unknown among unenhanced humans, allowing them to cook more effectively. The whole unit is small enough to be installed in the nose without affecting the user's appearance.]],
     statBases = {
+
     costList = {
       MoveSpeed = 5.5,
+
       Plasteel = 15,
       MarketValue = 250,
+
       ComponentSpacer = 3,
       ComfyTemperatureMin = -30,
+
    },
 +
    recipeMaker = {
 +
       researchPrerequisite = "MolecularAnalysis",
 
     },
 
     },
    tools = {
+
  },
      {
+
 
        label = "left hoof",
+
  ["ThingDef:Immunoenhancer"] = {
        capacities = {
+
    _ = {
          "Blunt",
+
      ParentName = "BodyPartBionicImperialBase",
          "Poke",
+
       DefCategory = "ThingDef",
        },
+
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
        power = 7,
+
       DLC = "Royalty",
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontLeftLeg",
 
      },
 
      {
 
        label = "right hoof",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 7,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
      {
 
        label = "teeth",
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 8,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.5,
 
      },
 
       {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 5,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
 
     },
 
     },
     race = {
+
     defName = "Immunoenhancer",
      herdAnimal = true,
+
    label = "immunoenhancer",
      baseBodySize = 0.9,
+
    description = [[An analysis computer inspects the bloodstream, classifies pathogens, and rapidly prompts the body's natural immune system to respond to them faster than it could alone. This speeds immunity gain significantly.]],
      foodType = "VegetarianRoughAnimal",
+
    costList = {
      leatherDef = "Leather_Plain",
+
       Plasteel = 15,
      wildness = 0.75,
+
       ComponentSpacer = 4,
      nuzzleMtbHours = 60,
 
       gestationPeriodDays = 24,
 
      lifeExpectancy = 15,
 
       manhunterOnDamageChance = 0,
 
      manhunterOnTameFailChance = 0,
 
      lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.2,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.5,
 
        },
 
      },
 
 
     },
 
     },
     tradeTags = {
+
     recipeMaker = {
       "AnimalCommon",
+
       researchPrerequisite = "MolecularAnalysis",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Ibex"] = {
+
   ["ThingDef:Coagulator"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Temperate.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Ibex",
+
     defName = "Coagulator",
     label = "ibex",
+
     label = "coagulator",
     description = [[The wild ancestor of the domesticated goat. Ibexes live on marginal territory where most antelopes couldn't survive, eating lichens and sparse mountain plants. They're famous for dextrously hopping across bare cliff faces - and for their violent ramming attack.]],
+
     description = [[Releases coagulating factors in response to blood loss, reducing bleeding rates significantly.]],
     statBases = {
+
     costList = {
       MoveSpeed = 4.6,
+
       Plasteel = 15,
       MarketValue = 250,
+
       ComponentSpacer = 4,
       ComfyTemperatureMin = -30,
+
    },
 +
    recipeMaker = {
 +
       researchPrerequisite = "HealingFactors",
 
     },
 
     },
    tools = {
+
  },
      {
+
 
        label = "left hoof",
+
  ["ThingDef:HealingEnhancer"] = {
        capacities = {
+
    _ = {
          "Blunt",
+
      ParentName = "BodyPartBionicImperialBase",
          "Poke",
+
       DefCategory = "ThingDef",
        },
+
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
        power = 8,
+
       DLC = "Royalty",
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontLeftLeg",
 
      },
 
      {
 
        label = "right hoof",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 8,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightLeg",
 
       },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 8,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.5,
 
      },
 
       {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 10,
 
        cooldownTime = 2.6,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
      },
 
 
     },
 
     },
     race = {
+
     defName = "HealingEnhancer",
      herdAnimal = true,
+
    label = "healing enhancer",
      baseBodySize = 0.85,
+
    description = [[Releases nanomachines and healing factors that speed up wound healing. This implant only helps with physical wounds, and does nothing to combat disease or other health problems.]],
      foodType = "VegetarianRoughAnimal",
+
    costList = {
      leatherDef = "Leather_Plain",
+
       Plasteel = 15,
      wildness = 0.55,
+
       ComponentSpacer = 4,
      gestationPeriodDays = 24,
 
       lifeExpectancy = 15,
 
       lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.2,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.5,
 
        },
 
      },
 
 
     },
 
     },
     tradeTags = {
+
     recipeMaker = {
       "AnimalCommon",
+
       researchPrerequisite = "HealingFactors",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Elk"] = {
+
   ["ThingDef:ToughskinGland"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Temperate.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Elk",
+
     defName = "ToughskinGland",
     label = "elk",
+
     label = "toughskin gland",
     description = [[A large member of the deer family, well-adapted to life in cold climates. Domesticated elk can be milked, but refuse to carry packs.]],
+
     description = [[This bionic gland releases chemicals and nanomachines that toughen the skin, making it somewhat more resistant to damage. While it doesn't add as much protection as some other skin-hardening glands, the toughskin gland has the advantage of not noticeably altering the user's appearance.]],
     statBases = {
+
     costList = {
       MoveSpeed = 5,
+
       Plasteel = 15,
      MarketValue = 300,
+
       ComponentSpacer = 4,
       ComfyTemperatureMin = -50,
 
 
     },
 
     },
     comps = {
+
     recipeMaker = {
       CompProperties_Milkable = {
+
       researchPrerequisite = "SkinHardening",
        milkDef = "Milk",
 
        milkIntervalDays = 2,
 
        milkAmount = 12,
 
      },
 
    },
 
    tools = {
 
      {
 
        label = "left hoof",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 10,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontLeftLeg",
 
      },
 
      {
 
        label = "right hoof",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 10,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightLeg",
 
      },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 10,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.5,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 13,
 
        cooldownTime = 2.6,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
      },
 
    },
 
    race = {
 
      herdAnimal = true,
 
      baseBodySize = 2.1,
 
      foodType = "VegetarianRoughAnimal",
 
      leatherDef = "Leather_Plain",
 
      wildness = 0.75,
 
      gestationPeriodDays = 25,
 
      lifeExpectancy = 18,
 
      lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.2,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.6,
 
        },
 
      },
 
    },
 
    tradeTags = {
 
      "AnimalCommon",
 
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Caribou"] = {
+
   ["ThingDef:ArmorskinGland"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Temperate.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Caribou",
+
     defName = "ArmorskinGland",
     label = "caribou",
+
     label = "armorskin gland",
     description = [[A large member of the deer family, well-adapted to life in cold climates. Caribou can be milked, but refuse to carry packs.]],
+
     description = [[This bionic gland releases chemicals and nanomachines that toughen the skin and add flexible subdermal keratin plates at strategic points. This makes the user more resistant to damage across their whole body. Unfortunately, these changes make the skin appear leathery, with wrinkles across the whole body and face, which is generally considered ugly.]],
     statBases = {
+
     costList = {
       MoveSpeed = 5,
+
       Plasteel = 20,
      MarketValue = 300,
+
       ComponentSpacer = 6,
       ComfyTemperatureMin = -50,
 
 
     },
 
     },
     comps = {
+
     recipeMaker = {
       CompProperties_Milkable = {
+
       researchPrerequisite = "SkinHardening",
        milkDef = "Milk",
 
        milkIntervalDays = 2,
 
        milkAmount = 12,
 
      },
 
    },
 
    tools = {
 
      {
 
        label = "left hoof",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 10,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontLeftLeg",
 
      },
 
      {
 
        label = "right hoof",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 10,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightLeg",
 
      },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 10,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.5,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 13,
 
        cooldownTime = 2.6,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
      },
 
    },
 
    race = {
 
      herdAnimal = true,
 
      baseBodySize = 2.1,
 
      foodType = "VegetarianRoughAnimal",
 
      leatherDef = "Leather_Plain",
 
      wildness = 0.75,
 
      gestationPeriodDays = 25,
 
      lifeExpectancy = 18,
 
      lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.2,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.45,
 
        },
 
      },
 
    },
 
    tradeTags = {
 
      "AnimalCommon",
 
      "AnimalFarm",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WildBoar"] = {
+
   ["ThingDef:StoneskinGland"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Temperate.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "WildBoar",
+
     defName = "StoneskinGland",
     label = "wild boar",
+
     label = "stoneskin gland",
     description = [[This hairy omnivore is descended from escaped pigs and evolved for living in the wild.\n\nIts tusks make it a better fighter than its domesticated pig cousins. Unfortunately, it is too unruly to be trained in the most complex tasks.]],
+
     description = [[This bionic gland releases chemical and nanomachines that transform the user's skin into a built-in suit of armor. The whole epidermis thickens and hardens to resist burns, while jointed exterior keratin plates form everywhere they can - including the head and face. While it's very difficult to physically hurt someone using this implant, the plates and hard skin significantly reduces the user's physical attractiveness.]],
     statBases = {
+
     costList = {
       MoveSpeed = 4.6,
+
       Plasteel = 25,
       MarketValue = 200,
+
       ComponentSpacer = 8,
       ComfyTemperatureMin = -23,
+
    },
 +
    recipeMaker = {
 +
       researchPrerequisite = "SkinHardening",
 
     },
 
     },
    tools = {
+
  },
      {
+
 
        label = "tusk",
+
  ["ThingDef:AestheticShaper"] = {
        capacities = {
+
    _ = {
          "Scratch",
+
      ParentName = "BodyPartBionicImperialBase",
          "Stab",
+
       DefCategory = "ThingDef",
        },
+
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
        power = 9.7,
+
      DLC = "Royalty",
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "TuskAttackTool",
 
      },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 8.5,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.6,
 
       },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 5,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
 
     },
 
     },
     race = {
+
     defName = "AestheticShaper",
      herdAnimal = true,
+
    label = "aesthetic shaper",
      baseBodySize = 0.8,
+
    description = [[A sophisticated package of hormonal and mechanite influences shapes the muscles and fat on the body, adding non-functional aesthetic tissue where needed to achieve a desired appearance. This implant can be configured to form various body shapes according to the user's taste - or that of their partner.]],
      foodType = "OmnivoreRoughAnimal",
+
    costList = {
      wildness = 0.50,
+
       Plasteel = 15,
      trainability = "Intermediate",
+
       ComponentSpacer = 3,
      leatherDef = "Leather_Pig",
 
      gestationPeriodDays = 18,
 
      litterSizeCurve = {
 
        points = {
 
          {0.5, 0},
 
          {1, 1},
 
          {1.5, 1},
 
          {2.0, 0},
 
        },
 
      },
 
       lifeExpectancy = 12,
 
       lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.1,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.4,
 
        },
 
      },
 
 
     },
 
     },
     tradeTags = {
+
     recipeMaker = {
       "AnimalCommon",
+
       researchPrerequisite = "FleshShaping",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Tortoise"] = {
+
   ["ThingDef:AestheticNose"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Temperate.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Tortoise",
+
     defName = "AestheticNose",
     label = "tortoise",
+
     label = "aesthetic nose",
     description = [[This heavily armored land-dwelling reptile is known for its slow moving speed and surprisingly vicious bite. Because of its natural armor, it is tough to kill and can do serious damage during drawn-out melee fights.]],
+
     description = [[The nose is shaped to the user's desired form, matching prevalent beauty standards and enhancing physical impressions.]],
     statBases = {
+
     costList = {
       MoveSpeed = 1.0,
+
       Plasteel = 10,
      MarketValue = 200,
+
       ComponentSpacer = 2,
      ArmorRating_Blunt = 0.35,
 
      ArmorRating_Sharp = 0.50,
 
      ComfyTemperatureMin = 0,
 
       ComfyTemperatureMax = 50,
 
 
     },
 
     },
     tools = {
+
     recipeMaker = {
       {
+
       researchPrerequisite = "FleshShaping",
        label = "beak",
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 8,
 
        cooldownTime = 2.6,
 
        linkedBodyPartsGroup = "TurtleBeakAttackTool",
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 3,
 
        cooldownTime = 2.6,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
 
     },
 
     },
    comps = {
+
  },
      CompProperties_EggLayer = {
+
 
        eggFertilizedDef = "EggTortoiseFertilized",
+
  ["ThingDef:LoveEnhancer"] = {
        eggFertilizationCountMax = 1,
+
    _ = {
        eggLayIntervalDays = 20,
+
      ParentName = "BodyPartBionicImperialBase",
        eggProgressUnfertilizedMax = 0.5,
+
      DefCategory = "ThingDef",
        eggCountRange = { ["<"]=1, [">"]=3 },
+
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      },
+
      DLC = "Royalty",
 
     },
 
     },
     race = {
+
     defName = "LoveEnhancer",
      baseBodySize = 0.5,
+
    label = "love enhancer",
      foodType = "OmnivoreRoughAnimal",
+
    description = [[Humans have always tried to use every new technology to enhance sexual satisfaction. Bionics were no exception. This implant makes physical and chemical changes to the body which enhance the experience of lovin' for both partners - both physically and psychologically. The implant unit can adapt to enhance both men and women upon being implanted.]],
      leatherDef = "Leather_Lizard",
+
    costList = {
      wildness = 0.75,
+
       Plasteel = 15,
      lifeExpectancy = 180,
+
      ComponentSpacer = 4,
       lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.15,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.5,
 
        },
 
      },
 
 
     },
 
     },
     tradeTags = {
+
     recipeMaker = {
       "AnimalUncommon",
+
       researchPrerequisite = "FleshShaping",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Cobra"] = {
+
   ["ThingDef:DetoxifierStomach"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Tropical.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Cobra",
+
     defName = "DetoxifierStomach",
     label = "cobra",
+
     label = "detoxifier stomach",
     description = [[A large predatory snake. Cobras can be highly aggressive if provoked, and their bite injects toxic venom into the victim.]],
+
     description = [[An artificial stomach replacement with a broad-spectrum toxin filter and neutralization system. It allows the user to eat almost anything without ever worrying about food poisoning.]],
     statBases = {
+
     costList = {
       MoveSpeed = 3.5,
+
       Plasteel = 15,
      MarketValue = 150,
+
       ComponentSpacer = 4,
      ComfyTemperatureMin = 0,
 
       ComfyTemperatureMax = 60,
 
 
     },
 
     },
     tools = {
+
     recipeMaker = {
       {
+
       researchPrerequisite = "ArtificialMetabolism",
        label = "venom-fangs",
 
        capacities = {
 
          "ToxicBite",
 
        },
 
        power = 12,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Mouth",
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 3,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
 
     },
 
     },
    comps = {
+
  },
      CompProperties_EggLayer = {
+
 
        eggFertilizedDef = "EggCobraFertilized",
+
  ["ThingDef:ReprocessorStomach"] = {
        eggFertilizationCountMax = 1,
+
    _ = {
        eggLayIntervalDays = 20.0,
+
      ParentName = "BodyPartBionicImperialBase",
        eggProgressUnfertilizedMax = 0.5,
+
      DefCategory = "ThingDef",
        eggCountRange = { ["<"]=1, [">"]=2 },
+
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      },
+
      DLC = "Royalty",
 
     },
 
     },
     race = {
+
     defName = "ReprocessorStomach",
      baseBodySize = 0.25,
+
    label = "reprocessor stomach",
      foodType = "CarnivoreAnimal, OvivoreAnimal",
+
    description = [[An advanced chemical processing system breaks down nutrients the body could normally never use, leading to increased efficiency.]],
      leatherDef = "Leather_Lizard",
+
    costList = {
      wildness = 0.75,
+
       Plasteel = 15,
      petness = 0.05,
+
       ComponentSpacer = 4,
      manhunterOnTameFailChance = 0.10,
 
      manhunterOnDamageChance = 0.10,
 
       lifeExpectancy = 20,
 
       lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.15,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.5,
 
        },
 
      },
 
 
     },
 
     },
     tradeTags = {
+
     recipeMaker = {
       "AnimalUncommon",
+
       researchPrerequisite = "ArtificialMetabolism",
      "AnimalFighter",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Monkey"] = {
+
   ["ThingDef:NuclearStomach"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Tropical.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 +
    },
 +
    defName = "NuclearStomach",
 +
    label = "nuclear stomach",
 +
    description = [[A micro-nuclear reactor combined with complex chemical synthesis replaces the body's need for food energy. Food is required only to replace matter lost from the body, reducing the user's intake needs significantly. This artifical stomach cannot get food poisoning. However, there is little room to shield the reactor, so the radiation increases the risk of cancer.]],
 +
    costList = {
 +
      Plasteel = 15,
 +
      ComponentSpacer = 4,
 
     },
 
     },
     defName = "Monkey",
+
     recipeMaker = {
    label = "monkey",
+
      researchPrerequisite = "ArtificialMetabolism",
    description = [[A small primate, the monkey can use its curly tail to grab on to branches, leaving its hands free to do other things. Monkeys are selfish but clever, and can be trained to carry out fairly complex tasks.]],
 
    statBases = {
 
      MoveSpeed = 4.3,
 
      MarketValue = 100,
 
      ComfyTemperatureMin = -5,
 
      ComfyTemperatureMax = 50,
 
 
     },
 
     },
    tools = {
+
  },
      {
+
 
        label = "left fist",
+
  ["ThingDef:CircadianAssistant"] = {
        capacities = {
+
    _ = {
          "Blunt",
+
      ParentName = "BodyPartBionicImperialBase",
        },
+
       DefCategory = "ThingDef",
        power = 3.6,
+
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
        cooldownTime = 1.5,
+
       DLC = "Royalty",
        linkedBodyPartsGroup = "LeftHand",
 
      },
 
      {
 
        label = "right fist",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 3.6,
 
        cooldownTime = 1.5,
 
        linkedBodyPartsGroup = "RightHand",
 
       },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 4,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.7,
 
      },
 
       {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 2,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
 
     },
 
     },
     race = {
+
     defName = "CircadianAssistant",
      petness = 0.50,
+
    label = "circadian assistant",
      herdAnimal = true,
+
    description = [[An artificial gland. Produces chemicals and nanomachines that clear toxin buildup from the brain.]],
      baseBodySize = 0.35,
+
    costList = {
      foodType = "OmnivoreRoughAnimal",
+
       Plasteel = 15,
      leatherDef = "Leather_Light",
+
       ComponentSpacer = 4,
      trainability = "Advanced",
 
      wildness = 0.60,
 
      nuzzleMtbHours = 24,
 
       gestationPeriodDays = 16,
 
       lifeExpectancy = 30,
 
      lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.2,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.4,
 
        },
 
      },
 
 
     },
 
     },
     tradeTags = {
+
     recipeMaker = {
       "AnimalUncommon",
+
       researchPrerequisite = "CircadianInfluence",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Boomalope"] = {
+
   ["ThingDef:CircadianHalfCycler"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartBionicImperialBase",
       FileName = "Races_Animal_Tropical.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Boomalope",
+
     defName = "CircadianHalfCycler",
     label = "boomalope",
+
     label = "circadian half-cycler",
     description = [[Engineered for chemicals production, the boomalope grows a large sac of volatile chemicals on its back. Though it is weak and fragile for its size, other animals have learned to avoid it because of the huge explosion it produces when it dies. It can be milked to produce chemfuel - very carefully.]],
+
     description = [[A signal redirector which isolates half of the brain, allowing the other half to sleep while the user remains outwardly awake. By alternating brain halves, the user never needs to sleep. Unfortunately, two hemispheres are better than one - working with half a brain causes a reduction in consciousness.]],
     statBases = {
+
     costList = {
       MoveSpeed = 3.4,
+
       Plasteel = 15,
       MarketValue = 350,
+
       ComponentSpacer = 4,
      ComfyTemperatureMin = -15,
 
 
     },
 
     },
     comps = {
+
     recipeMaker = {
       CompProperties_Milkable = {
+
       researchPrerequisite = "CircadianInfluence",
        milkDef = "Chemfuel",
 
        milkIntervalDays = 2,
 
        milkAmount = 12,
 
        milkFemaleOnly = false,
 
      },
 
 
     },
 
     },
    tools = {
+
  },
      {
+
 
        label = "head",
+
  ["ThingDef:Mindscrew"] = {
        capacities = {
+
    _ = {
          "Blunt",
+
      ParentName = "BodyPartProstheticImperialBase",
        },
+
       DefCategory = "ThingDef",
        power = 7,
+
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
        cooldownTime = 2,
+
       DLC = "Royalty",
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
      {
 
        label = "left hoof",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontLeftLeg",
 
       },
 
      {
 
        label = "right hoof",
 
        capacities = {
 
          "Blunt",
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightLeg",
 
      },
 
       {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 10,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.5,
 
      },
 
 
     },
 
     },
     race = {
+
     defName = "Mindscrew",
      herdAnimal = true,
+
    label = "mindscrew",
      baseBodySize = 1.5,
+
    description = [[Inflicts continuous pain on the user. Mindscrews are used by some authorities as a long-term punishment. Some even install them voluntarily as a demonstration of ideological or religious devotion.]],
      foodType = "VegetarianRoughAnimal",
+
    costList = {
      leatherDef = "Leather_Plain",
+
       Steel = 15,
      wildness = 0.6,
+
       ComponentIndustrial = 4,
      gestationPeriodDays = 28,
 
       lifeExpectancy = 15,
 
       lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.2,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.5,
 
        },
 
      },
 
 
     },
 
     },
     tradeTags = {
+
     recipeMaker = {
       "AnimalUncommon",
+
       researchPrerequisite = "BrainWiring",
      "AnimalFighter",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Warg"] = {
+
   ["ThingDef:DrillArm"] = {
 
     _ = {
 
     _ = {
       ParentName = "AnimalThingBase",
+
       ParentName = "BodyPartProstheticImperialBase",
       FileName = "Races_Animal_WildCanines.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Warg",
+
     defName = "DrillArm",
     label = "warg",
+
     label = "drill arm",
     description = [[Heavily-muscled wolf-like creatures with vicious unnatural claws and an absurdly powerful bite. They will only eat meat or corpses. If disturbed in the wild, they are very likely to attack.\n\nScientists say wargs are the descendants of weaponized military animals created for population suppression. The superstitious see them as the tools of an angry god.]],
+
     description = [[A mechanical arm replacement for speeding up mining. It has a built-in snake drill, which allows the miner to rapidly find and exploit weak lines in the rock. It also has a general-purpose manipulator. It is somewhat ungainly, which slows down movement slightly.]],
     statBases = {
+
     costList = {
       MoveSpeed = 5.0,
+
       Steel = 60,
       MarketValue = 450,
+
       ComponentIndustrial = 8,
      ComfyTemperatureMin = -40,
 
 
     },
 
     },
     tools = {
+
     recipeMaker = {
       {
+
       researchPrerequisite = "SpecializedLimbs",
        label = "left claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 13,
 
        cooldownTime = 1.5,
 
        linkedBodyPartsGroup = "FrontLeftPaw",
 
      },
 
      {
 
        label = "right claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 13,
 
        cooldownTime = 1.5,
 
        linkedBodyPartsGroup = "FrontRightPaw",
 
      },
 
      {
 
        label = "razorfangs",
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 15,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.9,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 5,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
    },
 
    race = {
 
      petness = 0.5,
 
      baseBodySize = 1.0,
 
      foodType = "CarnivoreAnimalStrict",
 
      leatherDef = "Leather_Wolf",
 
      gestationPeriodDays = 26,
 
      trainability = "Advanced",
 
      wildness = 0.60,
 
      manhunterOnTameFailChance = 0.35,
 
      manhunterOnDamageChance = 0.35,
 
      litterSizeCurve = {
 
        points = {
 
          {0.5, 0},
 
          {1, 1},
 
          {2, 1.7},
 
          {2.5, 0.7},
 
          {3, 0},
 
        },
 
      },
 
      lifeExpectancy = 15,
 
      lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.2,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.45,
 
        },
 
      },
 
    },
 
    tradeTags = {
 
      "AnimalUncommon",
 
      "AnimalFighter",
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:FieldHand"] = {
 
     _ = {
 
     _ = {
       Name = "ThingBaseWolf",
+
       ParentName = "BodyPartProstheticImperialBase",
       ParentName = "AnimalThingBase",
+
      DefCategory = "ThingDef",
       Abstract = true,
+
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
       FileName = "Races_Animal_WildCanines.xml",
+
      DLC = "Royalty",
       DLC = "Core",
+
    },
 +
    defName = "FieldHand",
 +
    label = "field hand",
 +
    description = [[This mechanical hand replacement is made to speed up the sowing and harvesting tasks of a farmer. Multiple telescoping finger-like protrusions can simultaneously harvest from several points on the same plant, or precisely sow several holes at once. It also has a general-purpose manipulator. It is somewhat ungainly, which slows down movement slightly.]],
 +
    costList = {
 +
      Steel = 60,
 +
      ComponentIndustrial = 8,
 +
    },
 +
    recipeMaker = {
 +
      researchPrerequisite = "SpecializedLimbs",
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:HandTalon"] = {
 +
    _ = {
 +
       ParentName = "BodyPartProstheticImperialBase",
 +
       DefCategory = "ThingDef",
 +
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     statBases = {
+
     defName = "HandTalon",
      MoveSpeed = 5.0,
+
    label = "hand talon",
       MarketValue = 350,
+
    description = [[A razor-sharp talon which extends from a hidden opening between the middle and ring fingers. The talon is longer than the palm, but it becomes flexible upon retracting, allowing the user to curl it up and conceal it inside the hand. It can perform rapid slashing attacks, but is poor at penetrating armor.]],
       ComfyTemperatureMin = -40,
+
    costList = {
 +
       Steel = 40,
 +
       ComponentIndustrial = 7,
 
     },
 
     },
     tools = {
+
     recipeMaker = {
       {
+
       researchPrerequisite = "CompactWeaponry",
        label = "left claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 10.9,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontLeftPaw",
 
        chanceFactor = 0.5,
 
      },
 
      {
 
        label = "right claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 10.9,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightPaw",
 
        chanceFactor = 0.5,
 
      },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 12,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.9,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 6,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
 
     },
 
     },
    race = {
+
  },
      petness = 0.1,
+
 
       baseBodySize = 0.85,
+
  ["ThingDef:ElbowBlade"] = {
       foodType = "CarnivoreAnimal",
+
    _ = {
       leatherDef = "Leather_Wolf",
+
       ParentName = "BodyPartProstheticImperialBase",
       trainability = "Advanced",
+
       DefCategory = "ThingDef",
      wildness = 0.85,
+
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
      nuzzleMtbHours = 120,
+
       DLC = "Royalty",
      manhunterOnTameFailChance = 0.10,
+
    },
      manhunterOnDamageChance = 0.10,
+
    defName = "ElbowBlade",
      gestationPeriodDays = 26,
+
    label = "elbow blade",
      litterSizeCurve = {
+
    description = [[A razor-sharp blade that extends at will from a hidden opening at the end of the ulna. Appearing without warning, it can be used for devastating slice attacks.]],
        points = {
+
    costList = {
          {0.5, 0},
+
      Steel = 40,
          {1, 1},
+
      ComponentIndustrial = 7,
          {2, 1.7},
 
          {2.5, 0.7},
 
          {3, 0},
 
        },
 
      },
 
      lifeExpectancy = 12,
 
      lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.2,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.45,
 
        },
 
      },
 
 
     },
 
     },
     tradeTags = {
+
     recipeMaker = {
       "AnimalUncommon",
+
       researchPrerequisite = "CompactWeaponry",
      "AnimalFighter",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Wolf_Timber"] = {
+
   ["ThingDef:KneeSpike"] = {
 
     _ = {
 
     _ = {
       ParentName = "ThingBaseWolf",
+
       ParentName = "BodyPartProstheticImperialBase",
       FileName = "Races_Animal_WildCanines.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
 +
       DLC = "Royalty",
 +
    },
 +
    defName = "KneeSpike",
 +
    label = "knee spike",
 +
    description = [[A spike that extends at will from a hidden opening on the front of the knee. Appearing without warning, it can be used for devastating stabbing attacks which penetrate even thick armor.]],
 +
    costList = {
 +
      Steel = 40,
 +
      ComponentIndustrial = 7,
 +
    },
 +
    recipeMaker = {
 +
      researchPrerequisite = "CompactWeaponry",
 
     },
 
     },
    defName = "Wolf_Timber",
 
    label = "timber wolf",
 
    description = [[A rugged predator long feared by many ancient Earth cultures. As pack hunters, wolves have complex social lives and are fiercely intelligent.]],
 
 
   },
 
   },
  
   ["ThingDef:Wolf_Arctic"] = {
+
   ["ThingDef:VenomFangs"] = {
 
     _ = {
 
     _ = {
       ParentName = "ThingBaseWolf",
+
       ParentName = "BodyPartProstheticImperialBase",
       FileName = "Races_Animal_WildCanines.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
 +
       DLC = "Royalty",
 +
    },
 +
    defName = "VenomFangs",
 +
    label = "venom fangs",
 +
    description = [[A pair of injectors implanted through the canine teeth, connected to a venom pump. The user can bite an enemy, extend the injectors, and pump venom into the target.]],
 +
    costList = {
 +
      Steel = 40,
 +
      ComponentIndustrial = 7,
 
     },
 
     },
     defName = "Wolf_Arctic",
+
     recipeMaker = {
    label = "arctic wolf",
+
      researchPrerequisite = "VenomSynthesis",
    description = [[An arctic variant of the old Earth wolf. As pack hunters, wolves have a complex social life and are fiercely intelligent.]],
 
    statBases = {
 
      ComfyTemperatureMin = -55,
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:VenomTalon"] = {
 
     _ = {
 
     _ = {
       Name = "ThingBaseFox",
+
       ParentName = "BodyPartProstheticImperialBase",
       ParentName = "AnimalThingBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
       FileName = "Races_Animal_WildCanines.xml",
+
       DLC = "Royalty",
       DLC = "Core",
 
 
     },
 
     },
     statBases = {
+
     defName = "VenomTalon",
      MoveSpeed = 4.6,
+
    label = "venom talon",
       ComfyTemperatureMin = -35,
+
    description = [[A retractable finger talon connected to a venom pump in the lower arm. The user can scratch an enemy while squirting venom into the wound. The talon is designed to be installed in the middle finger. It's fast, but poor at penetrating armor.]],
       MarketValue = 200,
+
    costList = {
 +
       Steel = 40,
 +
       ComponentIndustrial = 7,
 
     },
 
     },
     tools = {
+
     recipeMaker = {
       {
+
       researchPrerequisite = "VenomSynthesis",
        label = "left claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 8,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontLeftPaw",
 
      },
 
      {
 
        label = "right claw",
 
        capacities = {
 
          "Scratch",
 
        },
 
        power = 8,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightPaw",
 
      },
 
      {
 
        capacities = {
 
          "Bite",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "Teeth",
 
        chanceFactor = 0.9,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 4,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
      },
 
    },
 
    race = {
 
      petness = 0.1,
 
      baseBodySize = 0.55,
 
      foodType = "CarnivoreAnimal",
 
      leatherDef = "Leather_Fox",
 
      trainability = "Advanced",
 
      wildness = 0.75,
 
      nuzzleMtbHours = 60,
 
      gestationPeriodDays = 21,
 
      litterSizeCurve = {
 
        points = {
 
          {0.5, 0},
 
          {1, 1},
 
          {2, 1.7},
 
          {2.5, 0.7},
 
          {3, 0},
 
        },
 
      },
 
      lifeExpectancy = 9,
 
      lifeStageAges = {
 
        {
 
          def = "AnimalBaby",
 
          minAge = 0,
 
        },
 
        {
 
          def = "AnimalJuvenile",
 
          minAge = 0.15,
 
        },
 
        {
 
          def = "AnimalAdult",
 
          minAge = 0.35,
 
        },
 
      },
 
    },
 
    tradeTags = {
 
      "AnimalCommon",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Fox_Fennec"] = {
+
   ["ThingDef:PsychicAmplifier"] = {
 
     _ = {
 
     _ = {
       ParentName = "ThingBaseFox",
+
       DefCategory = "ThingDef",
       FileName = "Races_Animal_WildCanines.xml",
+
       FileName = "Hediffs_Psycasts.xml",
       DLC = "Core",
+
       DLC = "Royalty",
 +
    },
 +
    defName = "PsychicAmplifier",
 +
    label = "psylink neuroformer",
 +
    description = [[A consumable archotech-created device that forms or upgrades a psylink in the user's mind.\n\nThe user presses the device over the eyes, where it links to the brain directly and restructures part of it. Afterwards, the device disintegrates into worthless ash.]],
 +
    thingClass = "ThingWithComps",
 +
    category = "Item",
 +
    useHitPoints = true,
 +
    pathCost = 14,
 +
    altitudeLayer = "Item",
 +
    thingCategories = {
 +
      "BodyPartsArchotech",
 
     },
 
     },
    defName = "Fox_Fennec",
 
    label = "fennec fox",
 
    description = [[A small fox originally from the northern part of Earth's Africa continent. It hunts small creatures and has very large ears for cooling itself in the heat.]],
 
 
     statBases = {
 
     statBases = {
       ComfyTemperatureMin = -30,
+
       MaxHitPoints = 100,
     },
+
      Beauty = -4,
 +
      Mass = 1,
 +
      MarketValue = 2600,
 +
      DeteriorationRate = 0,
 +
    },
 +
    tradeTags = {
 +
      "PsylinkNeuroformer",
 +
    },
 +
    comps = {
 +
      CompProperties_Usable = {
 +
        compClass = "CompUsableImplant",
 +
        useJob = "UseItem",
 +
        useLabel = "Use neuroformer to form psylink",
 +
      },
 +
      CompProperties_UseEffectInstallImplant = {
 +
        hediffDef = "PsychicAmplifier",
 +
        bodyPart = "Brain",
 +
        canUpgrade = true,
 +
      },
 +
      CompProperties_UseEffectPlaySound = {
 +
        soundOnUsed = "PsyAmpInstalled",
 +
      },
 +
      CompProperties_UseEffect = {
 +
        compClass = "CompUseEffect_DestroySelf",
 +
      },
 +
      CompProperties_Forbiddable = {},
 +
     },
 
   },
 
   },
  
   ["ThingDef:Fox_Red"] = {
+
   ["ThingDef:ConditionCauserBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "ThingBaseFox",
+
      Name = "ConditionCauserBase",
       FileName = "Races_Animal_WildCanines.xml",
+
      Abstract = true,
       DLC = "Core",
+
       ParentName = "BuildingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_ConditionCausers.xml",
 +
       DLC = "Royalty",
 +
    },
 +
    altitudeLayer = "Building",
 +
    pathCost = 50,
 +
    passability = "Impassable",
 +
    fillPercent = 1.0,
 +
    statBases = {
 +
      MaxHitPoints = 1500,
 +
      Flammability = 0,
 +
    },
 +
    building = {
 +
      combatPower = 750,
 +
      buildingTags = {
 +
        "MechClusterMember",
 +
        "MechClusterProblemCauser",
 +
      },
 +
    },
 +
    comps = {
 +
      CompProperties_WakeUpDormant = {},
 +
      CompProperties_Initiatable = {},
 +
    },
 +
    terrainAffordanceNeeded = "Heavy",
 +
    killedLeavings = {
 +
      Steel = 60,
 +
      ComponentIndustrial = 1,
 +
      Plasteel = 10,
 +
      ChunkSlagSteel = 4,
 
     },
 
     },
    defName = "Fox_Red",
 
    label = "red fox",
 
    description = [[A small solitary canine evolved for hunting small prey in temperate climates. Chicken farmers hate foxes because of their ability to destroy a whole coop in minutes.]],
 
 
   },
 
   },
  
   ["ThingDef:Fox_Arctic"] = {
+
   ["ThingDef:SunBlocker"] = {
 
     _ = {
 
     _ = {
       ParentName = "ThingBaseFox",
+
       ParentName = "ConditionCauserBase",
       FileName = "Races_Animal_WildCanines.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Buildings_ConditionCausers.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Fox_Arctic",
+
     defName = "SunBlocker",
     label = "arctic fox",
+
     label = "sun blocker",
     description = [[A small predator adapted for cold climates. It usually hunts small game like mice and voles, sometimes burrowing through a meter of snow to reach its prey.]],
+
     description = [[An ultratech machine that generates a sheet of exotic fields at high altitude, turning the sky opaque and blocking the sun.]],
     statBases = {
+
     size = {6, 4},
       ComfyTemperatureMin = -50,
+
    comps = {
 +
       CompProperties_CausesGameCondition = {
 +
        conditionDef = "SunBlocker",
 +
        worldRange = 10,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Human"] = {
+
   ["ThingDef:SmokeSpewer"] = {
 
     _ = {
 
     _ = {
       ParentName = "BasePawn",
+
       ParentName = "ConditionCauserBase",
       FileName = "Races_Humanlike.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Buildings_ConditionCausers.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Human",
+
     defName = "SmokeSpewer",
     label = "human",
+
     label = "smoke spewer",
     description = [[A baseline human, mostly unmodified by gene engineering and mostly unchanged by evolutionary pressures on non-Earth planets.]],
+
     description = [[An ultratech weapon of mass destruction designed for area denial. By harvesting available compounds and converting them into self-reproducing opaque molecules, it can spew enough smoke to block the sun in a whole region of the planet.]],
     statBases = {
+
     size = {6, 5},
      MarketValue = 1750,
+
     comps = {
      MoveSpeed = 4.6,
+
       CompProperties_CausesGameCondition = {
      ComfyTemperatureMin = 16,
+
         conditionDef = "GiantSmokeCloud",
      ComfyTemperatureMax = 26,
+
         worldRange = 10,
      LeatherAmount = 50,
 
      RoyalFavorValue = 3,
 
    },
 
     tools = {
 
       {
 
         label = "left fist",
 
         capacities = {
 
          "Blunt",
 
        },
 
        power = 8.2,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "LeftHand",
 
 
       },
 
       },
       {
+
       CompProperties_ThrownMoteEmitter = {
         label = "right fist",
+
         mote = "Mote_Smoke",
         capacities = {
+
         offsetMin = {-2, 0, 3},
          "Blunt",
+
        offsetMax = {2, 0, 3},
         },
+
        emissionInterval = 15,
         power = 8.2,
+
        burstCount = 2,
         cooldownTime = 2,
+
        scale = { ["<"]=2, [">"]=4 },
         linkedBodyPartsGroup = "RightHand",
+
        rotationRate = { ["<"]=-30, [">"]=30 },
 +
         velocityX = { ["<"]=-40, [">"]=40 },
 +
         velocityY = { ["<"]=0.5, [">"]=1 },
 +
         colorA = {0.2, 0.2, 0.2, 1},
 +
         colorB = {0.4, 0.4, 0.4, 1},
 
       },
 
       },
       {
+
    },
        label = "teeth",
+
  },
        capacities = {
+
 
          "Bite",
+
  ["ThingDef:ToxicSpewer"] = {
        },
+
    _ = {
        power = 8.2,
+
       ParentName = "ConditionCauserBase",
         cooldownTime = 2,
+
      DefCategory = "ThingDef",
         linkedBodyPartsGroup = "Teeth",
+
      FileName = "Buildings_ConditionCausers.xml",
         chanceFactor = 0.07,
+
      DLC = "Royalty",
 +
    },
 +
    defName = "ToxicSpewer",
 +
    label = "toxic spewer",
 +
    description = [[An ultratech weapon of mass destruction designed for area denial. This device harvests available compounds and converts them into self-reproducing poisons. By spewing these into the atmosphere, it can poison a whole region of the planet.]],
 +
    size = {6, 5},
 +
    comps = {
 +
      CompProperties_CausesGameCondition = {
 +
         compClass = "CompCauseGameCondition_ToxicSpewer",
 +
         conditionDef = "ToxicSpewer",
 +
         worldRange = 3,
 
       },
 
       },
       {
+
       CompProperties_ThrownMoteEmitter = {
         label = "head",
+
         mote = "Mote_DustSlow",
         capacities = {
+
         offsetMin = {-2, 0, -1.5},
          "Blunt",
+
        offsetMax = {0, 0, -2},
         },
+
        emissionInterval = 520,
         power = 5,
+
        burstCount = 35,
         cooldownTime = 2,
+
        scale = { ["<"]=1, [">"]=2.5 },
         linkedBodyPartsGroup = "HeadAttackTool",
+
         rotationRate = { ["<"]=-30, [">"]=30 },
         chanceFactor = 0.2,
+
         velocityX = { ["<"]=-50, [">"]=50 },
 +
         velocityY = { ["<"]=0.5, [">"]=1.8 },
 +
         colorA = {0.25, 0.4, 0, 0.9},
 +
         colorB = {0.4, 0.55, 0, 0.6},
 
       },
 
       },
 
     },
 
     },
     race = {
+
  },
       lifeExpectancy = 80,
+
 
       leatherDef = "Leather_Human",
+
  ["ThingDef:WeatherController"] = {
       baseBodySize = 1,
+
     _ = {
       foodType = "OmnivoreHuman",
+
       ParentName = "ConditionCauserBase",
      gestationPeriodDays = 45,
+
       DefCategory = "ThingDef",
      manhunterOnDamageChance = 0.20,
+
       FileName = "Buildings_ConditionCausers.xml",
      manhunterOnTameFailChance = 0.02,
+
       DLC = "Royalty",
      litterSizeCurve = {
+
    },
        points = {
+
    defName = "WeatherController",
          {0.5, 0},
+
    label = "weather controller",
          {1, 1},
+
    description = [[An ultratech device for controlling weather. Using chemicals and exotic fields, it forces the weather into a particular configuration.]],
          {1.01, 0.02},
+
    size = {6, 6},
          {3.5, 0},
+
    comps = {
        },
+
       CompProperties_CausesGameCondition = {
      },
+
         conditionDef = "WeatherController",
       lifeStageAges = {
+
         compClass = "CompCauseGameCondition_ForceWeather",
         {
+
         worldRange = 10,
          def = "HumanlikeBaby",
+
         preventConditionStacking = false,
          minAge = 0,
 
         },
 
        {
 
          def = "HumanlikeToddler",
 
          minAge = 1.2,
 
        },
 
         {
 
          def = "HumanlikeChild",
 
          minAge = 4,
 
         },
 
        {
 
          def = "HumanlikeTeenager",
 
          minAge = 13,
 
        },
 
        {
 
          def = "HumanlikeAdult",
 
          minAge = 18,
 
        },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:ClimateAdjuster"] = {
 
     _ = {
 
     _ = {
       ParentName = "BasePawn",
+
       ParentName = "ConditionCauserBase",
       Name = "BaseMechanoid",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_ConditionCausers.xml",
       FileName = "Races_Mechanoid.xml",
+
       DLC = "Royalty",
       DLC = "Core",
 
    },
 
    statBases = {
 
      PsychicSensitivity = 0.5,
 
      ToxicSensitivity = 0,
 
      Flammability = 0,
 
      ComfyTemperatureMin = -100,
 
      ComfyTemperatureMax = 250,
 
      MeatAmount = 0,
 
      ArmorRating_Heat = 2.00,
 
    },
 
    race = {
 
      foodType = "None",
 
      lifeExpectancy = 2500,
 
 
     },
 
     },
 +
    defName = "ClimateAdjuster",
 +
    label = "climate adjuster",
 +
    description = [[An ultratech device for controlling climate. Using chemicals and exotic fields to manipulate the atmosphere, it shifts the temperature in this region of the world.]],
 +
    size = {6, 6},
 
     comps = {
 
     comps = {
       CompProperties_CanBeDormant = {},
+
       CompProperties_CausesGameCondition_ClimateAdjuster = {
      CompProperties_WakeUpDormant = {
+
         conditionDef = "ClimateAdjustment",
         wakeUpOnDamage = true,
+
         worldRange = 10,
         anyColonistCloseCheckRadius = 30,
+
         preventConditionStacking = false,
         wakeUpSound = "MechanoidsWakeUp",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Mech_Centipede"] = {
+
   ["ThingDef:PsychicDroner"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMechanoid",
+
       ParentName = "ConditionCauserBase",
       FileName = "Races_Mechanoid.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Buildings_ConditionCausers.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mech_Centipede",
+
     defName = "PsychicDroner",
     label = "centipede",
+
     label = "psychic droner",
     description = [[Heavy combat mechanoids that glide on dozens of tiny legs. Their thick carpace and firepower makes them very effective against bunched-up static defenders. They are somewhat vulnerable to mobile hit-and-run tactics.]],
+
     description = [[An archotech device transmitting the thoughts of a mad superintelligence. It generates a massive psychic drone tuned to one gender and affecting a whole region of the planet. People of that gender will be disturbed by the effect, reducing their mood and possibly driving them insane. The effect is modulated by an individual's psychic sensitivity.]],
     statBases = {
+
     size = {6, 6},
      MoveSpeed = 1.9,
+
     comps = {
      ArmorRating_Blunt = 0.22,
+
       CompProperties_CausesGameCondition_PsychicEmanation = {
      ArmorRating_Sharp = 0.72,
+
         conditionDef = "PsychicDroner",
      PsychicSensitivity = 0.75,
+
         preventConditionStacking = false,
    },
+
         compClass = "CompCauseGameCondition_PsychicEmanation",
     tools = {
+
         worldRange = 10,
       {
 
         label = "head",
 
        capacities = {
 
          "Blunt",
 
         },
 
        power = 17,
 
         cooldownTime = 2.6,
 
         linkedBodyPartsGroup = "HeadAttackTool",
 
 
       },
 
       },
    },
+
       CompProperties_MoteEmitter = {
    race = {
+
         mote = "Mote_PsychicConditionCauserEffect",
       baseBodySize = 1.8,
+
        emissionInterval = 150,
      lifeStageAges = {
 
         {
 
          def = "MechanoidFullyFormed",
 
          minAge = 0,
 
        },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:PsychicSuppressor"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMechanoid",
+
       ParentName = "ConditionCauserBase",
       Name = "BaseMechanoidWalker",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_ConditionCausers.xml",
       FileName = "Races_Mechanoid.xml",
+
       DLC = "Royalty",
       DLC = "Core",
 
 
     },
 
     },
     statBases = {
+
     defName = "PsychicSuppressor",
      MoveSpeed = 4.7,
+
    label = "psychic suppressor",
      ArmorRating_Blunt = 0.20,
+
    description = [[An archotech device that generates a massive psychic suppression field tuned to a particular gender. People of that gender have their psychic activity suppressed, reducing their consciousness. The effect is modulated by an individual's psychic sensitivity.]],
      ArmorRating_Sharp = 0.40,
+
     size = {6, 6},
     },
+
     comps = {
     race = {
+
       CompProperties_CausesGameCondition = {
       baseBodySize = 1.0,
+
        conditionDef = "PsychicSuppression",
       lifeStageAges = {
+
        compClass = "CompCauseGameCondition_PsychicSuppression",
         {
+
        worldRange = 10,
          def = "MechanoidFullyFormed",
+
      },
          minAge = 0,
+
       CompProperties_MoteEmitter = {
        },
+
         mote = "Mote_PsychicConditionCauserEffect",
 +
        emissionInterval = 150,
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Mech_Lancer"] = {
+
   ["ThingDef:EMIDynamo"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMechanoidWalker",
+
       ParentName = "ConditionCauserBase",
       FileName = "Races_Mechanoid.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Buildings_ConditionCausers.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mech_Lancer",
+
     defName = "EMIDynamo",
     label = "lancer",
+
     label = "EMI dynamo",
     description = [[Fast human-sized combat mechanoids built for medium and long-range combat. Their bodies are light, making them vulnerable targets at close range - especially in melee combat.]],
+
     description = [[A massive electromagnetic interference generator. It interferes with or shuts down electrical devices in nearby regions.]],
     tools = {
+
     size = {6, 4},
      {
+
    comps = {
        label = "left fist",
+
      CompProperties_CausesGameCondition = {
         capacities = {
+
         conditionDef = "EMIField",
          "Blunt",
+
         worldRange = 10,
         },
 
        power = 12.0,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "LeftHand",
 
 
       },
 
       },
       {
+
       CompProperties_Explosive = {
        label = "right fist",
+
         explosiveRadius = 9.9,
        capacities = {
+
         explosiveDamageType = "EMP",
          "Blunt",
+
         explodeOnKilled = true,
         },
 
        power = 12.0,
 
         cooldownTime = 2,
 
        linkedBodyPartsGroup = "RightHand",
 
      },
 
      {
 
         label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 8.5,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Mech_Scyther"] = {
+
   ["ThingDef:Shuttle"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMechanoidWalker",
+
      Name = "ShuttleBase",
       FileName = "Races_Mechanoid.xml",
+
       ParentName = "BuildingBase",
       DLC = "Core",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Exotic.xml",
 +
       DLC = "Royalty",
 +
    },
 +
    defName = "Shuttle",
 +
    label = "shuttle",
 +
    description = [[A spacer-tech shuttle designed for transit between surface and orbit, or between moons of a planetary system.]],
 +
    altitudeLayer = "Building",
 +
    pathCost = 50,
 +
    passability = "Impassable",
 +
    fillPercent = 1.0,
 +
    size = {5, 3},
 +
    statBases = {
 +
      MaxHitPoints = 1000,
 +
      Flammability = 1,
 +
    },
 +
    killedLeavings = {
 +
      Steel = 100,
 +
      Plasteel = 35,
 +
      ChunkSlagSteel = 4,
 +
      ComponentIndustrial = 4,
 
     },
 
     },
     defName = "Mech_Scyther",
+
     terrainAffordanceNeeded = "Light",
     label = "scyther",
+
     comps = {
    description = [[Fast, spindly, human-sized combat mechanoids specializing in rapid approach and close-range combat. Their bodies are covered in points and blades, but their mostly use two arm blades to lop off limbs or gut their victims alive.]],
+
       CompProperties_Shuttle = {},
    tools = {
+
      CompProperties_Launchable = {
       {
+
         requireFuel = false,
        label = "left blade",
+
         fixedLaunchDistanceMax = 70,
        capacities = {
+
         skyfallerLeaving = "ShuttleLeaving",
          "Cut",
 
          "Stab",
 
        },
 
         power = 20,
 
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "LeftBlade",
 
 
       },
 
       },
       {
+
       CompProperties_Transporter = {
        label = "right blade",
+
         massCapacity = 1000,
        capacities = {
+
         max1PerGroup = true,
          "Cut",
+
         canChangeAssignedThingsAfterStarting = true,
          "Stab",
+
         showOverallStats = false,
         },
+
         pawnLoadedSound = "Shuttle_PawnLoaded",
        power = 20,
+
         pawnExitSound = "Shuttle_PawnExit",
         cooldownTime = 2,
 
         linkedBodyPartsGroup = "RightBlade",
 
      },
 
      {
 
         label = "head",
 
         capacities = {
 
          "Blunt",
 
         },
 
        power = 9,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
        chanceFactor = 0.2,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Mech_Pikeman"] = {
+
   ["ThingDef:ShuttleCrashed"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseMechanoidWalker",
+
       ParentName = "ShuttleBase",
       FileName = "Races_Mechanoid.xml",
+
      DefCategory = "ThingDef",
       DLC = "Core",
+
       FileName = "Buildings_Exotic.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mech_Pikeman",
+
     defName = "ShuttleCrashed",
     label = "pikeman",
+
     label = "crashed shuttle",
    description = [[A clunky multi-legged combat mechanoid specialized as a long-range weapons platform. While effective at distance, it is weak in close-range fights and in melee combat.\n\nVeterans of mechanoid wars know that often, the safest place to be around a pikeman is touching it.]],
 
 
     statBases = {
 
     statBases = {
       MoveSpeed = 2.5,
+
       MaxHitPoints = 200,
 +
      Flammability = 1,
 
     },
 
     },
     tools = {
+
     comps = {
       {
+
       _ = {
        label = "front left leg",
+
         Inherit = false,
        capacities = {
 
          "Blunt",
 
        },
 
        power = 12.0,
 
        cooldownTime = 2,
 
         linkedBodyPartsGroup = "FrontLeftLeg",
 
 
       },
 
       },
      {
+
    },
        label = "front right leg",
+
    killedLeavings = {
        capacities = {
+
       _ = {
          "Blunt",
+
         Inherit = false,
        },
 
        power = 12.0,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "FrontRightLeg",
 
      },
 
       {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 8.5,
 
        cooldownTime = 2,
 
        linkedBodyPartsGroup = "HeadAttackTool",
 
         chanceFactor = 0.2,
 
 
       },
 
       },
 +
      Steel = 4,
 +
      Plasteel = 7,
 +
      ChunkSlagSteel = 1,
 +
      ComponentIndustrial = 1,
 +
    },
 +
    costList = {
 +
      Steel = 40,
 +
      Plasteel = 70,
 +
      ComponentIndustrial = 10,
 
     },
 
     },
     race = {
+
     leaveResourcesWhenKilled = true,
      lifeStageAges = {
+
    building = {
        _ = {
+
      _ = {
          Inherit = false,
+
        Inherit = false,
        },
 
        {
 
          def = "MechanoidFullyFormed",
 
          minAge = 0,
 
        },
 
 
       },
 
       },
 +
      alwaysDeconstructible = true,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Mote_CastPsycast"] = {
+
   ["ThingDef:BroadshieldProjector"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteGlowDistorted",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Exotic.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mote_CastPsycast",
+
     defName = "BroadshieldProjector",
     thingClass = "MoteThrownAttached",
+
     label = "burnout low-shield",
     altitudeLayer = "MoteOverhead",
+
     description = [[A man-portable low-angle shield projector. Bullets can go out, but not in. Its compact power source burns out after a few seconds of use.]],
  },
+
    altitudeLayer = "BuildingOnTop",
 
+
     pathCost = 0,
  ["ThingDef:Mote_PsycastSkipEffect"] = {
+
    passability = "Standable",
     _ = {
+
    fillPercent = 0.35,
      Name = "Mote_PsycastSkipEffect",
+
    statBases = {
      ParentName = "MoteGlowDistorted",
+
       MaxHitPoints = 250,
       FileName = "Mote_Visual.xml",
+
       Flammability = 0.5,
       DLC = "Royalty",
 
 
     },
 
     },
     defName = "Mote_PsycastSkipEffect",
+
     killedLeavings = {},
     thingClass = "MoteThrownAttached",
+
     terrainAffordanceNeeded = "Light",
     altitudeLayer = "MoteOverhead",
+
     building = {
  },
+
       isEdifice = false,
 
 
  ["ThingDef:Mote_PsycastSkipEffectSource"] = {
 
    _ = {
 
      ParentName = "Mote_PsycastSkipEffect",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
     defName = "Mote_PsycastSkipEffectSource",
+
     comps = {
  },
+
      CompProperties_ProjectileInterceptor = {
 
+
        radius = 4.9,
  ["ThingDef:Mote_EntropyPulse"] = {
+
        interceptGroundProjectiles = true,
    _ = {
+
        interceptNonHostileProjectiles = true,
      ParentName = "MoteGlowDistorted",
+
        interceptOutgoingProjectiles = false,
      FileName = "Mote_Visual.xml",
+
        color = "(0.6, 0.6, 0.8)",
       DLC = "Royalty",
+
        idlePulseSpeed = 3,
 +
        minIdleAlpha = 0.05,
 +
        disarmedByEmpForTicks = 600,
 +
        activeSound = "Broadshield_Ambience",
 +
      },
 +
      CompProperties_DestroyAfterDelay = {
 +
        delayTicks = 1800,
 +
        destroyMode = "KillFinalize",
 +
        countdownLabel = "Burnout in",
 +
       },
 
     },
 
     },
    defName = "Mote_EntropyPulse",
 
    thingClass = "MoteAttached",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_PsyfocusPulse"] = {
+
   ["ThingDef:Drape"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteGlowDistorted",
+
       ParentName = "FurnitureBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mote_PsyfocusPulse",
+
     defName = "Drape",
     thingClass = "MoteAttached",
+
     label = "drape",
     altitudeLayer = "MoteOverhead",
+
    description = [[A decorative sheet hanging from a vertical wooden frame. Appropriate for royal rooms.]],
  },
+
     altitudeLayer = "BuildingOnTop",
 
+
    passability = "PassThroughOnly",
  ["ThingDef:Mote_PsychicLinkLine"] = {
+
    fillPercent = 0.40,
    _ = {
+
    statBases = {
       ParentName = "MoteGlowDistorted",
+
      MaxHitPoints = 100,
       FileName = "Mote_Visual.xml",
+
      WorkToBuild = 2000,
       DLC = "Royalty",
+
       Mass = 15,
 +
       Flammability = 1.0,
 +
       Beauty = 7.5,
 
     },
 
     },
     defName = "Mote_PsychicLinkLine",
+
     costList = {
    thingClass = "MoteDualAttached",
+
       WoodLog = 50,
    altitudeLayer = "MoteLow",
 
  },
 
 
 
  ["ThingDef:Mote_PsychicLinkPulse"] = {
 
    _ = {
 
      ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
     defName = "Mote_PsychicLinkPulse",
+
     pathCost = 14,
     thingClass = "MoteDualAttached",
+
     size = {2, 1},
    altitudeLayer = "MoteLow",
+
     researchPrerequisites = {
  },
+
       "ComplexFurniture",
 
 
  ["ThingDef:Mote_BroadshieldActivation"] = {
 
     _ = {
 
       ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
      DLC = "Royalty",
 
 
     },
 
     },
    defName = "Mote_BroadshieldActivation",
 
    altitudeLayer = "Projectile",
 
 
   },
 
   },
  
   ["ThingDef:Mote_JumpFlame"] = {
+
   ["ThingDef:Brazier"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "FurnitureBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mote_JumpFlame",
+
     defName = "Brazier",
     altitudeLayer = "Projectile",
+
     label = "brazier",
  },
+
    description = [[A bowl-shaped furnishing used to hold a fire. Will light the surroundings and create heat.]],
 
+
    category = "Building",
  ["ThingDef:Mote_JumpFlameGlow"] = {
+
    fillPercent = 0.15,
     _ = {
+
     statBases = {
       ParentName = "MoteBase",
+
       MaxHitPoints = 80,
       FileName = "Mote_Visual.xml",
+
      WorkToBuild = 100,
       DLC = "Royalty",
+
      Flammability = 0,
 +
       Mass = 15,
 +
       MeditationFocusStrength = 0.0,
 
     },
 
     },
     defName = "Mote_JumpFlameGlow",
+
     minifiedDef = "MinifiedThing",
     altitudeLayer = "Projectile",
+
     comps = {
  },
+
      CompProperties_Refuelable = {
 
+
        fuelConsumptionRate = 2.0,
  ["ThingDef:Mote_JumpSmoke"] = {
+
        fuelCapacity = 30.0,
    _ = {
+
        fuelConsumptionPerTickInRain = 0.0006,
       ParentName = "MoteBase",
+
        fuelFilter = {
      FileName = "Mote_Visual.xml",
+
          thingDefs = {
       DLC = "Royalty",
+
            "WoodLog",
    },
+
          },
    defName = "Mote_JumpSmoke",
+
        },
    altitudeLayer = "Projectile",
+
        initialFuelPercent = 0,
  },
+
        showAllowAutoRefuelToggle = true,
 
+
      },
  ["ThingDef:Mote_JumpWarmupSmoke"] = {
+
      CompProperties_Glower = {
    _ = {
+
        glowRadius = 10,
      ParentName = "MoteBase",
+
        glowColor = {252, 187, 113, 0},
      FileName = "Mote_Visual.xml",
+
       },
      DLC = "Royalty",
+
      CompProperties_HeatPusher = {
 +
        compClass = "CompHeatPusherPowered",
 +
        heatPerSecond = 3.5,
 +
        heatPushMaxTemperature = 23,
 +
      },
 +
       CompProperties_FireOverlay = {
 +
        fireSize = 1,
 +
        offset = {0, 0, 0.18},
 +
      },
 +
      CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Flame",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_Lit",
 +
            },
 +
            offset = 0.15,
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_BuildingDefsLit",
 +
            },
 +
            defs = {
 +
              "Campfire",
 +
              "TorchLamp",
 +
              "Brazier",
 +
            },
 +
            offsetPerBuilding = 0.02,
 +
            radius = 9.9,
 +
            maxBuildings = 8,
 +
            explanationKey = "MeditationFocusPerFlame",
 +
            explanationKeyAbstract = "MeditationFocusPerFlameAbstract",
 +
          },
 +
        },
 +
      },
 
     },
 
     },
     defName = "Mote_JumpWarmupSmoke",
+
     altitudeLayer = "Building",
     altitudeLayer = "Projectile",
+
     passability = "PassThroughOnly",
  },
+
    pathCost = 42,
 
+
     researchPrerequisites = {
  ["ThingDef:Mote_ProximityScannerRadius"] = {
+
       "ComplexFurniture",
     _ = {
 
       ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
      DLC = "Royalty",
 
 
     },
 
     },
    defName = "Mote_ProximityScannerRadius",
 
 
   },
 
   },
  
   ["ThingDef:Mote_ProximityScannerActivated"] = {
+
   ["ThingDef:Throne"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "FurnitureWithQualityBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mote_ProximityScannerActivated",
+
     defName = "Throne",
     thingClass = "MoteThrownAttached",
+
     label = "meditation throne",
     altitudeLayer = "MetaOverlays",
+
    description = [[A large, ornate chair designed for a dignity-focused psycaster to sit and meditate. Reigning on a throne is a form of meditation that builds up psyfocus. For dignity psycasters, more impressive meditation thrones and thronerooms increase the rate of psyfocus gain.]],
  },
+
     altitudeLayer = "Building",
 
+
    category = "Building",
  ["ThingDef:Mote_MechDropBeaconActivated"] = {
+
    hasInteractionCell = true,
    _ = {
+
    statBases = {
       ParentName = "MoteBase",
+
      MaxHitPoints = 150,
       FileName = "Mote_Visual.xml",
+
      WorkToBuild = 10000,
       DLC = "Royalty",
+
      Mass = 40,
 +
      Flammability = 1.0,
 +
       Beauty = 4,
 +
       Comfort = 0.75,
 +
       MeditationFocusStrength = 0.15,
 
     },
 
     },
     defName = "Mote_MechDropBeaconActivated",
+
     thingClass = "Building_Throne",
     thingClass = "MoteThrownAttached",
+
     pathCost = 30,
     altitudeLayer = "MetaOverlays",
+
     fillPercent = 0.4,
  },
+
     building = {
 
+
       isSittable = true,
  ["ThingDef:Mote_Music"] = {
 
     _ = {
 
       ParentName = "MoteBase",
 
      FileName = "Mote_Visual.xml",
 
      DLC = "Royalty",
 
 
     },
 
     },
     defName = "Mote_Music",
+
     comps = {
    altitudeLayer = "MetaOverlays",
+
      CompProperties_AssignableToPawn = {
  },
+
        drawAssignmentOverlay = true,
 
+
        compClass = "CompAssignableToPawn_Throne",
  ["ThingDef:Mote_WaterskipSplashParticles"] = {
+
      },
    _ = {
+
      CompProperties_MeditationFocus = {
      ParentName = "MoteBase",
+
        statDef = "MeditationFocusStrength",
      FileName = "Mote_Visual.xml",
+
        focusTypes = {
       DLC = "Royalty",
+
          "Dignified",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_ThroneSatisfiesRequirements",
 +
            },
 +
            offset = 0.08,
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_RoomImpressiveness",
 +
            },
 +
            curve = {
 +
              points = {
 +
                {0, -0.05},
 +
                {30, 0.0},
 +
                {60, 0.04},
 +
                {100, 0.08},
 +
                {170, 0.1},
 +
              },
 +
            },
 +
          },
 +
        },
 +
       },
 +
    },
 +
    researchPrerequisites = {
 +
      "ComplexFurniture",
 
     },
 
     },
    defName = "Mote_WaterskipSplashParticles",
 
    altitudeLayer = "MoteOverhead",
 
    thingClass = "MoteThrown",
 
 
   },
 
   },
  
   ["ThingDef:Mote_WarmupWordOf"] = {
+
   ["ThingDef:GrandThrone"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteGlowDistorted",
+
       ParentName = "FurnitureWithQualityBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Furniture.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mote_WarmupWordOf",
+
     defName = "GrandThrone",
     thingClass = "MoteAttached",
+
    label = "grand meditation throne",
     altitudeLayer = "MoteOverhead",
+
    description = [[A massive, ornate chair, designed for a dignity-focused psycaster to sit and meditate. Reigning on a throne is a form of meditation that builds up psyfocus. For dignity psycasters, more impressive meditation thrones and thronerooms increase the rate of psyfocus gain.]],
 +
    altitudeLayer = "Building",
 +
    category = "Building",
 +
    size = {3, 2},
 +
    hasInteractionCell = true,
 +
    statBases = {
 +
      MaxHitPoints = 350,
 +
      WorkToBuild = 40000,
 +
      Mass = 100,
 +
      Flammability = 1.0,
 +
      Beauty = 6,
 +
      Comfort = 0.9,
 +
      MeditationFocusStrength = 0.15,
 +
    },
 +
     thingClass = "Building_Throne",
 +
     costList = {
 +
      Gold = 75,
 +
    },
 +
    pathCost = 30,
 +
    fillPercent = 0.4,
 +
    building = {
 +
      isSittable = true,
 +
      buildingSizeCategory = "Medium",
 +
    },
 +
    comps = {
 +
      CompProperties_AssignableToPawn = {
 +
        drawAssignmentOverlay = true,
 +
        compClass = "CompAssignableToPawn_Throne",
 +
      },
 +
      CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Dignified",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_ThroneSatisfiesRequirements",
 +
            },
 +
            offset = 0.08,
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_RoomImpressiveness",
 +
            },
 +
            curve = {
 +
              points = {
 +
                {0, -0.05},
 +
                {30, 0.00},
 +
                {60, 0.04},
 +
                {100, 0.08},
 +
                {170, 0.10},
 +
              },
 +
            },
 +
          },
 +
        },
 +
      },
 +
    },
 +
    researchPrerequisites = {
 +
      "ComplexFurniture",
 +
    },
 
   },
 
   },
  
   ["ThingDef:Mote_WordOfApply"] = {
+
   ["ThingDef:MechBuildingBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteGlowDistortBackground",
+
       ParentName = "BuildingBase",
       FileName = "Mote_Visual.xml",
+
      Name = "MechBuildingBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mote_WordOfApply",
+
     altitudeLayer = "Building",
     thingClass = "MoteThrownAttached",
+
     pathCost = 50,
     altitudeLayer = "MoteOverhead",
+
     passability = "PassThroughOnly",
  },
+
    fillPercent = 1.0,
 
+
    terrainAffordanceNeeded = "Light",
  ["ThingDef:Mote_WarmupNeuroquake"] = {
+
     building = {
     _ = {
+
       buildingTags = {
       ParentName = "MoteBase",
+
        "MechClusterMember",
      FileName = "Mote_Visual.xml",
+
       },
       DLC = "Royalty",
 
 
     },
 
     },
     defName = "Mote_WarmupNeuroquake",
+
     statBases = {
    thingClass = "MoteAttached",
+
       Flammability = 0,
    altitudeLayer = "MoteOverhead",
+
       Beauty = -20,
  },
 
 
 
  ["ThingDef:MotePsychicApplyNeuroquake"] = {
 
    _ = {
 
      ParentName = "MoteBase",
 
       FileName = "Mote_Visual.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
    defName = "MotePsychicApplyNeuroquake",
 
    altitudeLayer = "MoteOverhead",
 
 
   },
 
   },
  
   ["ThingDef:Mote_PsycastSkipOuterRing"] = {
+
   ["ThingDef:UnstablePowerCell"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "MechBuildingBase",
       Name = "PsycastSkipOuterRing",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Mech.xml",
       FileName = "Mote_Visual.xml",
 
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mote_PsycastSkipOuterRing",
+
     defName = "UnstablePowerCell",
     thingClass = "MoteThrownAttached",
+
     label = "unstable power cell",
     altitudeLayer = "MoteOverheadLow",
+
     description = [[A mechanoid power generation unit. The vanometric power core will run forever, extracting energy from quantum foam fluctuations.\n\nAn internal amplifier system makes it unstable. If damaged, the unit will generate a massive explosion.\n\nSome brave humans steal these from mechanoids for their own use as power plants or defensive bombs. However, an unintentional detonation can be devastating.]],
  },
+
    size = {1, 1},
 
+
    passability = "PassThroughOnly",
  ["ThingDef:Mote_PsycastSkipOuterRingEntry"] = {
+
    fillPercent = 0.35,
     _ = {
+
    pathCost = 42,
       ParentName = "PsycastSkipOuterRing",
+
     statBases = {
       FileName = "Mote_Visual.xml",
+
       MaxHitPoints = 200,
       DLC = "Royalty",
+
      Flammability = 0,
 +
      Mass = 15,
 +
       MarketValue = 400,
 +
       WorkToBuild = 300,
 
     },
 
     },
     defName = "Mote_PsycastSkipOuterRingEntry",
+
     building = {
  },
+
      buildingTags = {
 
+
        "MechClusterMemberGood",
  ["ThingDef:Mote_PsycastSkipOuterRingExit"] = {
+
       },
    _ = {
 
      ParentName = "PsycastSkipOuterRing",
 
       FileName = "Mote_Visual.xml",
 
      DLC = "Royalty",
 
 
     },
 
     },
     defName = "Mote_PsycastSkipOuterRingExit",
+
     thingCategories = {
  },
+
       "BuildingsSpecial",
 
 
  ["ThingDef:Mote_PsycastSkipInner"] = {
 
    _ = {
 
      ParentName = "MoteBase",
 
      Name = "PsycastSkipInner",
 
       Abstract = true,
 
      FileName = "Mote_Visual.xml",
 
      DLC = "Royalty",
 
 
     },
 
     },
     defName = "Mote_PsycastSkipInner",
+
     minifiedDef = "MinifiedThing",
     thingClass = "MoteThrownAttached",
+
     comps = {
    altitudeLayer = "MoteOverhead",
+
      CompProperties_Power = {
  },
+
        compClass = "CompPowerPlant",
 
+
        basePowerConsumption = -400,
  ["ThingDef:Mote_PsycastSkipInnerEntry"] = {
+
        transmitsPower = true,
    _ = {
+
      },
      ParentName = "PsycastSkipInner",
+
      CompProperties_Glower = {
      FileName = "Mote_Visual.xml",
+
        glowRadius = 4,
      DLC = "Royalty",
+
        glowColor = {115, 200, 23, 0},
 +
      },
 +
      CompProperties_Explosive = {
 +
        wickTicks = 240,
 +
        explosiveRadius = 9.9,
 +
        explosiveDamageType = "Bomb",
 +
        explodeOnKilled = true,
 +
        startWickHitPointsPercent = 0.5,
 +
        extraInspectStringKey = "ExplosionOnDamageWarning",
 +
      },
 
     },
 
     },
     defName = "Mote_PsycastSkipInnerEntry",
+
     costList = {
  },
+
       ComponentIndustrial = 2,
 
 
  ["ThingDef:Mote_PsycastSkipInnerExit"] = {
 
    _ = {
 
      ParentName = "PsycastSkipInner",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
    defName = "Mote_PsycastSkipInnerExit",
 
 
   },
 
   },
  
   ["ThingDef:Mote_PsycastSkipFlashEntry"] = {
+
   ["ThingDef:Gloomlight"] = {
 
     _ = {
 
     _ = {
       ParentName = "MoteBase",
+
       ParentName = "MechBuildingBase",
       FileName = "Mote_Visual.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mote_PsycastSkipFlashEntry",
+
     defName = "Gloomlight",
     thingClass = "MoteThrownAttached",
+
     label = "gloomlight",
     altitudeLayer = "VisEffects",
+
     description = [[A self-powered mechanoid light. Gloomlights can be deconstructed to yield valuable resources, or used as lights - but only if they are captured intact. The internal micro power cell will flame out and ruin the materials if the unit takes too much damage.]],
  },
+
    size = {1, 1},
 
+
    passability = "PassThroughOnly",
  ["ThingDef:Mote_PsycastSkipFlashExit"] = {
+
    pathCost = 30,
     _ = {
+
     statBases = {
       ParentName = "MoteBase",
+
       MaxHitPoints = 50,
       FileName = "Mote_Visual.xml",
+
      Mass = 9,
       DLC = "Royalty",
+
      MarketValue = 200,
 +
       WorkToBuild = 300,
 +
    },
 +
    building = {
 +
       buildingTags = {
 +
        "MechClusterMemberLamp",
 +
      },
 
     },
 
     },
     defName = "Mote_PsycastSkipFlashExit",
+
     thingCategories = {
    thingClass = "MoteThrownAttached",
+
       "BuildingsSpecial",
    altitudeLayer = "VisEffects",
 
  },
 
 
 
  ["ThingDef:Mote_Bestow"] = {
 
    _ = {
 
       ParentName = "MoteGlowDistorted",
 
      FileName = "Mote_Visual.xml",
 
      DLC = "Royalty",
 
 
     },
 
     },
     defName = "Mote_Bestow",
+
     minifiedDef = "MinifiedThing",
     thingClass = "MoteAttached",
+
     comps = {
    altitudeLayer = "MoteOverhead",
+
      CompProperties_Glower = {
  },
+
        glowRadius = 3,
 
+
        glowColor = {216, 219, 67, 0},
  ["ThingDef:Mote_FlashstormAreaEffect"] = {
+
       },
    _ = {
 
      ParentName = "PsycastAreaEffect",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
     defName = "Mote_FlashstormAreaEffect",
+
     leaveResourcesWhenKilled = false,
  },
+
     costList = {
 
+
       Plasteel = 22,
  ["ThingDef:Mote_BulletShieldAreaEffect"] = {
+
       ComponentIndustrial = 1,
     _ = {
 
       ParentName = "PsycastAreaEffect",
 
      FileName = "Mote_Visual.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
    defName = "Mote_BulletShieldAreaEffect",
 
 
   },
 
   },
  
   ["ThingDef:PsychicSensitizer"] = {
+
   ["ThingDef:Defoliator"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartRoyalBase",
+
       ParentName = "BuildingBase",
       FileName = "Hediffs_BodyParts_Archotech_EmpireRoyal.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "PsychicSensitizer",
+
     defName = "Defoliator",
     label = "psychic sensitizer",
+
     label = "defoliator",
     description = [[This brain implant stimulates growth in the regions of the brain related to psychic interaction, thus increasing psychic sensitivity.]],
+
     description = [[An area-denial device which annihilates nearby plants without affecting animals.\n\nIn planetary wars, these weapons are scattered across farmlands or jungles to deny the enemy food or cover. They're usually associated with orbital-drop mechanoid swarms.]],
     statBases = {
+
     size = {3, 3},
       MarketValue = 1000,
+
    pathCost = 50,
 +
    passability = "PassThroughOnly",
 +
    fillPercent = 0.5,
 +
    leaveResourcesWhenKilled = false,
 +
    killedLeavings = {
 +
       ChunkSlagSteel = 4,
 +
      Steel = 60,
 +
      ComponentIndustrial = 1,
 +
      Plasteel = 10,
 
     },
 
     },
  },
+
    terrainAffordanceNeeded = "Light",
 
+
     building = {
  ["ThingDef:PsychicHarmonizer"] = {
+
       buildingTags = {
     _ = {
+
        "MechClusterMember",
       ParentName = "BodyPartRoyalBase",
+
        "MechClusterProblemCauser",
      FileName = "Hediffs_BodyParts_Archotech_EmpireRoyal.xml",
+
       },
       DLC = "Royalty",
 
 
     },
 
     },
    defName = "PsychicHarmonizer",
 
    label = "psychic harmonizer",
 
    description = [[This brain implant projects the user's mood in a spherical psychic field, forcing others nearby to feel a blurred, simplified version of their emotions. It can be a powerful tool to keep morale high, but if the user becomes unhappy, it can lead to collective disaster.]],
 
 
     statBases = {
 
     statBases = {
       MarketValue = 800,
+
       MaxHitPoints = 400,
 +
      Flammability = 0,
 +
      Beauty = -200,
 
     },
 
     },
   },
+
    comps = {
 
+
      CompProperties_PlantHarmRadius = {
   ["ThingDef:PsychicReader"] = {
+
        radiusPerDayCurve = {
     _ = {
+
          points = {
       ParentName = "BodyPartRoyalBase",
+
            "0  , 5",
       FileName = "Hediffs_BodyParts_Archotech_EmpireRoyal.xml",
+
            "1.5, 18",
 +
            "6  , 40",
 +
            "20 , 100",
 +
          },
 +
        },
 +
      },
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 +
      CompProperties_Initiatable = {},
 +
      CompProperties_Explosive = {
 +
        wickTicks = 240,
 +
        explosiveRadius = 9,
 +
        explosiveDamageType = "EMP",
 +
        explodeOnKilled = true,
 +
      },
 +
    },
 +
   },
 +
 
 +
   ["ThingDef:ActivatorCountdown"] = {
 +
     _ = {
 +
       ParentName = "MechBuildingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Activators.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "PsychicReader",
+
     defName = "ActivatorCountdown",
     label = "psychic reader",
+
     label = "count-down activator",
     description = [[Gives limited mind-reading ability, improving the user's ability to get the upper hand in negotiations and social situations. The effect is proportional to the user's psychic sensitivity.]],
+
     description = [[A timed mechanoid activation unit. After counting down, it will wake nearby dormant mechanoids and structures.]],
 +
    size = {1, 1},
 +
    fillPercent = 0.25,
 +
    pathCost = 30,
 
     statBases = {
 
     statBases = {
       MarketValue = 1000,
+
       MaxHitPoints = 100,
 +
      Flammability = 0,
 +
      WorkToBuild = 300,
 +
    },
 +
    building = {
 +
      buildingTags = {
 +
        "MechClusterActivator",
 +
      },
 
     },
 
     },
  },
+
    comps = {
  ThingDef = {
+
      CompProperties_SendSignalOnCountdown = {
    _ = {
+
        signalTag = "CompCanBeDormant.WakeUp",
       Name = "BodyPartProstheticImperialBase",
+
        countdownCurveTicks = {
       ParentName = "BodyPartProstheticMakeableBase",
+
          points = {
       Abstract = true,
+
            {599, 0},
      FileName = "Hediffs_BodyParts_BaseEmpire.xml",
+
            {600, 1},
       DLC = "Royalty",
+
            {600000, 0.1},
 +
            {1200000, 0},
 +
          },
 +
        },
 +
       },
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
       },
 +
      CompProperties_MoteEmitter = {
 +
        mote = "Mote_ActivatorCountdownFlash",
 +
        emissionInterval = 100,
 +
        soundOnEmission = "ActivatorCountdown_Ambience",
 +
        saveKeysPrefix = "flash",
 +
       },
 +
      CompProperties_MoteEmitter = {
 +
        mote = "Mote_ActivatorCountdownGlow",
 +
        maintain = true,
 +
        saveKeysPrefix = "glow",
 +
       },
 +
      CompProperties_Glower = {
 +
        glowRadius = 2,
 +
        glowColor = {55, 145, 10, 0},
 +
      },
 
     },
 
     },
     tradeTags = {
+
     costList = {
       "ImplantEmpireCommon",
+
       Plasteel = 7,
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:ActivatorProximity"] = {
 
     _ = {
 
     _ = {
       Name = "BodyPartBionicImperialBase",
+
       ParentName = "MechBuildingBase",
       ParentName = "BodyPartBionicBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Buildings_Mech_Activators.xml",
       FileName = "Hediffs_BodyParts_BaseEmpire.xml",
 
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     tradeTags = {
+
     defName = "ActivatorProximity",
      "ImplantEmpireCommon",
+
    label = "proximity activator",
     },
+
     description = [[A proximity alarm for dormant mechanoids. If it detects a human-like threat nearby, it will awaken any nearby dormant mechanoids or structures.]],
  },
+
    size = {1, 1},
  ThingDef = {
+
    fillPercent = 0.25,
     _ = {
+
    pathCost = 30,
       Name = "BodyPartRoyalBase",
+
    statBases = {
       ParentName = "BodyPartArchotechBase",
+
      MaxHitPoints = 100,
       Abstract = true,
+
      Flammability = 0,
      FileName = "Hediffs_BodyParts_BaseEmpire.xml",
+
      WorkToBuild = 300,
       DLC = "Royalty",
+
    },
 +
    building = {
 +
      buildingTags = {
 +
        "MechClusterActivator",
 +
      },
 +
     },
 +
    comps = {
 +
       CompProperties_SendSignalOnPawnProximity = {
 +
        onlyHumanlike = true,
 +
        radius = 12.9,
 +
        enableAfterTicks = 1200,
 +
        signalTag = "CompCanBeDormant.WakeUp",
 +
       },
 +
      CompProperties_MoteEmitterProximityScan = {
 +
        mote = "Mote_ProximityScannerRadius",
 +
        emissionInterval = 90,
 +
        maintain = true,
 +
        soundEmitting = "ActivatorProximity_Ambience",
 +
        saveKeysPrefix = "scan",
 +
        warmupPulseFadeInTime = 0.12,
 +
        warmupPulseSolidTime = 0.15,
 +
        warmupPulseFadeOutTime = 0.6,
 +
       },
 +
      CompProperties_MoteEmitter = {
 +
        mote = "Mote_ActivatorProximityGlow",
 +
        maintain = true,
 +
        saveKeysPrefix = "glow",
 +
       },
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 +
      CompProperties_Glower = {
 +
        glowRadius = 2,
 +
        glowColor = {115, 35, 20, 0},
 +
      },
 
     },
 
     },
     tradeTags = {
+
     costList = {
       "ImplantEmpireRoyal",
+
       Plasteel = 7,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Neurocalculator"] = {
+
   ["ThingDef:ShieldGeneratorMortar"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "MechBuildingBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_ShieldGenerators.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Neurocalculator",
+
     defName = "ShieldGeneratorMortar",
     label = "neurocalculator",
+
     label = "mech high-shield",
     description = [[A non-intelligent microcomputer controlled by a visual/tactile neural interface. It assists with memory and calculation, like a calculator and notepad embedded in the brain.]],
+
     description = [[A shielding device which projects a momentum repulsor field. Shots can go out, but not in.\n\nThis one is tuned to high angles, so it will block mortar rounds.\n\nThe unit can be temporarily disabled by EMP attacks, either by shocking the projector unit itself, or using EMP munitions on the shield.]],
 +
    size = {1, 1},
 +
    statBases = {
 +
      MaxHitPoints = 200,
 +
      Flammability = 0,
 +
      MarketValue = 1000,
 +
      WorkToBuild = 300,
 +
    },
 +
    comps = {
 +
      CompProperties_ProjectileInterceptor = {
 +
        radius = 25,
 +
        interceptAirProjectiles = true,
 +
        color = "(0.6, 0.6, 0.6)",
 +
        reactivateEffect = "MortarShieldGenerator_Reactivate",
 +
        activeSound = "MortarShield_Ambience",
 +
        disarmedByEmpForTicks = 1080,
 +
        chargeIntervalTicks = 600000,
 +
        chargeDurationTicks = 60000,
 +
      },
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 +
    },
 
     costList = {
 
     costList = {
       Plasteel = 15,
+
       Plasteel = 7,
       ComponentSpacer = 4,
+
       BroadshieldCore = 1,
 
     },
 
     },
     recipeMaker = {
+
     leaveResourcesWhenKilled = false,
       researchPrerequisite = "NeuralComputation",
+
    killedLeavings = {
 +
       Plasteel = 7,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:LearningAssistant"] = {
+
   ["ThingDef:ShieldGeneratorBullets"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "MechBuildingBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_ShieldGenerators.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "LearningAssistant",
+
     defName = "ShieldGeneratorBullets",
     label = "learning assistant",
+
     label = "mech low-shield",
     description = [[A sensory recording system that replays important experiences during sleep, strengthening the formation of new memories.]],
+
     description = [[A shielding device which projects a momentum repulsor field. Shots can go out, but not in.\n\nThis one is tuned to low angles, so it will block ground-level projectiles like bullets.\n\nThe unit can be temporarily disabled by EMP attacks, either by shocking the projector unit itself, or using EMP munitions on the shield.]],
 +
    size = {1, 1},
 +
    statBases = {
 +
      MaxHitPoints = 200,
 +
      Flammability = 0,
 +
      MarketValue = 1000,
 +
      WorkToBuild = 300,
 +
    },
 +
    comps = {
 +
      CompProperties_ProjectileInterceptor = {
 +
        radius = 20,
 +
        interceptGroundProjectiles = true,
 +
        color = "(0.4, 0.4, 0.4)",
 +
        reactivateEffect = "BulletShieldGenerator_Reactivate",
 +
        activeSound = "BulletShield_Ambience",
 +
        disarmedByEmpForTicks = 1080,
 +
        chargeIntervalTicks = 600000,
 +
        chargeDurationTicks = 60000,
 +
      },
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 +
    },
 
     costList = {
 
     costList = {
       Plasteel = 15,
+
       Plasteel = 7,
       ComponentSpacer = 4,
+
       BroadshieldCore = 1,
 
     },
 
     },
     recipeMaker = {
+
     leaveResourcesWhenKilled = false,
       researchPrerequisite = "NeuralComputation",
+
    killedLeavings = {
 +
       Plasteel = 7,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:GastroAnalyzer"] = {
+
   ["ThingDef:MechCapsule"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "BuildingBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Spawners.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "GastroAnalyzer",
+
     defName = "MechCapsule",
     label = "gastro-analyzer",
+
     label = "mech capsule",
     description = [[This bionic nose implant enhances the sense of smell, with a focus towards food-related smells. A multi-layered ultrafine absorption mesh detects compounds in the air. A microprocessor formats the readings into an olfactory nerve signal to send to the brain through a nerve-link interface. The result is that the user can smell foods with a depth, richness, and precision unknown among unenhanced humans, allowing them to cook more effectively. The whole unit is small enough to be installed in the nose without affecting the user's appearance.]],
+
     description = [[A mechanoid storage and deployment capsule. It can contain a number of mechanoids, ready to emerge and fight upon being awakened.]],
     costList = {
+
     altitudeLayer = "Building",
       Plasteel = 15,
+
    pathCost = 50,
       ComponentSpacer = 3,
+
    passability = "PassThroughOnly",
 +
    fillPercent = 1.0,
 +
    terrainAffordanceNeeded = "Light",
 +
    size = {2, 3},
 +
    statBases = {
 +
       MaxHitPoints = 180,
 +
      Flammability = 0,
 +
      Beauty = -20,
 +
       WorkToBuild = 500,
 
     },
 
     },
     recipeMaker = {
+
     building = {
       researchPrerequisite = "MolecularAnalysis",
+
       combatPower = 400,
    },
+
      buildingTags = {
  },
+
        "MechClusterMember",
 
+
        "MechClusterCombatThreat",
  ["ThingDef:Immunoenhancer"] = {
+
       },
    _ = {
 
      ParentName = "BodyPartBionicImperialBase",
 
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
    defName = "Immunoenhancer",
 
    label = "immunoenhancer",
 
    description = [[An analysis computer inspects the bloodstream, classifies pathogens, and rapidly prompts the body's natural immune system to respond to them faster than it could alone. This speeds immunity gain significantly.]],
 
 
     costList = {
 
     costList = {
       Plasteel = 15,
+
       ComponentIndustrial = 3,
       ComponentSpacer = 4,
+
       Plasteel = 20,
 
     },
 
     },
     recipeMaker = {
+
     killedLeavings = {
       researchPrerequisite = "MolecularAnalysis",
+
       ChunkSlagSteel = 1,
 
     },
 
     },
   },
+
    comps = {
 +
      CompProperties_CanBeDormant = {
 +
        awakeStateLabelKey = "OpenedDaysAgo",
 +
        dormantStateLabelKey = "DormantCompSealed",
 +
      },
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 +
      CompProperties_PawnSpawnOnWakeup = {
 +
        points = 410,
 +
        spawnablePawnKinds = {
 +
          "Mech_Scyther",
 +
          "Mech_Lancer",
 +
          "Mech_Centipede",
 +
          "Mech_Pikeman",
 +
        },
 +
        spawnSound = "CryptosleepCasket_Eject",
 +
        lordJob = "LordJob_MechanoidsDefend",
 +
        shouldJoinParentLord = true,
 +
      },
 +
      CompProperties_EmptyStateGraphic = {
 +
        graphicData = {
 +
          texPath = "Things/Building/Mech/MechCapsuleOpen",
 +
          graphicClass = "Graphic_Single",
 +
          drawSize = {2, 3},
 +
        },
 +
      },
 +
    },
 +
   },
  
   ["ThingDef:Coagulator"] = {
+
   ["ThingDef:MechAssembler"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "MechBuildingBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Spawners.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Coagulator",
+
     defName = "MechAssembler",
     label = "coagulator",
+
     label = "mech assembler",
     description = [[Releases coagulating factors in response to blood loss, reducing bleeding rates significantly.]],
+
     description = [[An automated mechanoid factory. It periodically assembles and deploys new mechanoids.]],
 +
    size = {3, 3},
 +
    statBases = {
 +
      MaxHitPoints = 260,
 +
      Flammability = 0,
 +
      WorkToBuild = 500,
 +
    },
 +
    building = {
 +
      combatPower = 250,
 +
      buildingTags = {
 +
        "MechClusterCombatThreat",
 +
      },
 +
    },
 
     costList = {
 
     costList = {
       Plasteel = 15,
+
      ComponentIndustrial = 3,
       ComponentSpacer = 4,
+
       Plasteel = 20,
 +
    },
 +
    killedLeavings = {
 +
       ChunkSlagSteel = 1,
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       researchPrerequisite = "HealingFactors",
+
       CompProperties_CanBeDormant = {},
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 +
      CompProperties_SpawnerPawn = {
 +
        spawnablePawnKinds = {
 +
          "Mech_Scyther",
 +
          "Mech_Lancer",
 +
          "Mech_Centipede",
 +
          "Mech_Pikeman",
 +
        },
 +
        chooseSingleTypeToSpawn = true,
 +
        spawnMessageKey = "MessageMechanoidsAssembled",
 +
        pawnsLeftToSpawnKey = "MessageMechanoidsLeftToAssemble",
 +
        noPawnsLeftToSpawnKey = "ShutDown",
 +
        nextSpawnInspectStringKey = "MechAssemblyCompleteIn",
 +
        nextSpawnInspectStringKeyDormant = "MechAssemblyNextType",
 +
        maxPawnsToSpawn = 4,
 +
        spawnSound = "MechAssembler_Spawn",
 +
        showNextSpawnInInspect = true,
 +
        lordJob = "LordJob_MechanoidsDefend",
 +
        pawnSpawnIntervalDays = 1,
 +
        shouldJoinParentLord = true,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:HealingEnhancer"] = {
+
   ["ThingDef:MechDropBeacon"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "MechBuildingBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Spawners.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "HealingEnhancer",
+
     defName = "MechDropBeacon",
     label = "healing enhancer",
+
     label = "mech drop beacon",
     description = [[Releases nanomachines and healing factors that speed up wound healing. This implant only helps with physical wounds, and does nothing to combat disease or other health problems.]],
+
     description = [[A mechanoid reinforcement drop beacon. When activated, it calls in a group of mechs to land in drop pods nearby.]],
     costList = {
+
     size = {1, 1},
       Plasteel = 15,
+
    pathCost = 30,
       ComponentSpacer = 4,
+
    fillPercent = 0.25,
 +
    statBases = {
 +
       MaxHitPoints = 100,
 +
       Flammability = 0,
 
     },
 
     },
     recipeMaker = {
+
     building = {
       researchPrerequisite = "HealingFactors",
+
       combatPower = 400,
 +
      buildingTags = {
 +
        "MechClusterCombatThreat",
 +
      },
 
     },
 
     },
  },
+
    comps = {
 
+
      CompProperties_CanBeDormant = {
  ["ThingDef:ToughskinGland"] = {
+
        awakeStateLabelKey = "DormantCompExpired",
    _ = {
+
        dormantStateLabelKey = "DormantCompBeacon",
      ParentName = "BodyPartBionicImperialBase",
+
      },
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      CompProperties_WakeUpDormant = {
      DLC = "Royalty",
+
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 +
      CompProperties_PawnSpawnOnWakeup = {
 +
        points = { ["<"]=350, [">"]=450 },
 +
        dropInPods = true,
 +
        pawnSpawnRadius = { ["<"]=10, [">"]=30 },
 +
        spawnEffecter = "MechDropBeaconActivated",
 +
        activatedMessageKey = "MessageMechanoidsReinforcementsDrop",
 +
        spawnablePawnKinds = {
 +
          "Mech_Scyther",
 +
          "Mech_Lancer",
 +
          "Mech_Centipede",
 +
          "Mech_Pikeman",
 +
        },
 +
        lordJob = "LordJob_MechanoidsDefend",
 +
        shouldJoinParentLord = true,
 +
      },
 
     },
 
     },
    defName = "ToughskinGland",
 
    label = "toughskin gland",
 
    description = [[This bionic gland releases chemicals and nanomachines that toughen the skin, making it somewhat more resistant to damage. While it doesn't add as much protection as some other skin-hardening glands, the toughskin gland has the advantage of not noticeably altering the user's appearance.]],
 
 
     costList = {
 
     costList = {
       Plasteel = 15,
+
       Plasteel = 7,
      ComponentSpacer = 4,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "SkinHardening",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ArmorskinGland"] = {
+
   ["ThingDef:Turret_AutoMiniTurret"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "BuildingBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Turrets.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ArmorskinGland",
+
     defName = "Turret_AutoMiniTurret",
     label = "armorskin gland",
+
     label = "mini-slugger turret",
     description = [[This bionic gland releases chemicals and nanomachines that toughen the skin and add flexible subdermal keratin plates at strategic points. This makes the user more resistant to damage across their whole body. Unfortunately, these changes make the skin appear leathery, with wrinkles across the whole body and face, which is generally considered ugly.]],
+
     description = [[A self-powered defense turret mounted with a weak but long-ranged slug-thrower. May explode when damaged.]],
     costList = {
+
    thingClass = "Building_TurretGun",
       Plasteel = 20,
+
    altitudeLayer = "Building",
       ComponentSpacer = 6,
+
    statBases = {
 +
      MaxHitPoints = 100,
 +
      Flammability = 0,
 +
      Mass = 10,
 +
      ShootingAccuracyTurret = 0.96,
 +
      Beauty = -20,
 +
    },
 +
     comps = {
 +
       CompProperties_Explosive = {
 +
        wickTicks = 240,
 +
        explosiveRadius = 3.9,
 +
        explosiveDamageType = "Bomb",
 +
        chanceNeverExplodeFromDamage = 0.5,
 +
      },
 +
      CompProperties_CanBeDormant = {},
 +
       CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 
     },
 
     },
     recipeMaker = {
+
     killedLeavings = {
       researchPrerequisite = "SkinHardening",
+
       ChunkSlagSteel = 1,
 
     },
 
     },
  },
+
     passability = "PassThroughOnly",
 
+
    pathCost = 50,
  ["ThingDef:StoneskinGland"] = {
+
    fillPercent = 0.4,
     _ = {
+
     terrainAffordanceNeeded = "Light",
      ParentName = "BodyPartBionicImperialBase",
+
     building = {
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      combatPower = 45,
      DLC = "Royalty",
+
      buildingTags = {
     },
+
        "MechClusterMember",
    defName = "StoneskinGland",
+
        "MechClusterCombatThreat",
     label = "stoneskin gland",
+
      },
    description = [[This bionic gland releases chemical and nanomachines that transform the user's skin into a built-in suit of armor. The whole epidermis thickens and hardens to resist burns, while jointed exterior keratin plates form everywhere they can - including the head and face. While it's very difficult to physically hurt someone using this implant, the plates and hard skin significantly reduces the user's physical attractiveness.]],
+
      turretGunDef = "Gun_MiniTurretMech",
    costList = {
+
       turretBurstCooldownTime = 2.5,
      Plasteel = 25,
 
      ComponentSpacer = 8,
 
    },
 
    recipeMaker = {
 
       researchPrerequisite = "SkinHardening",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:AestheticShaper"] = {
+
   ["ThingDef:Gun_MiniTurretMech"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "BaseWeaponTurret",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Turrets.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "AestheticShaper",
+
     defName = "Gun_MiniTurretMech",
     label = "aesthetic shaper",
+
     label = "mini-slugger",
     description = [[A sophisticated package of hormonal and mechanite influences shapes the muscles and fat on the body, adding non-functional aesthetic tissue where needed to achieve a desired appearance. This implant can be configured to form various body shapes according to the user's taste - or that of their partner.]],
+
     description = [[An automatic turret-mounted slug-thrower.]],
     costList = {
+
     statBases = {
       Plasteel = 15,
+
       AccuracyTouch = 0.80,
       ComponentSpacer = 3,
+
      AccuracyShort = 0.55,
 +
      AccuracyMedium = 0.35,
 +
      AccuracyLong = 0.1,
 +
      RangedWeapon_Cooldown = 5.1,
 +
      DeteriorationRate = 0,
 +
      Mass = 5,
 +
       Flammability = 0,
 
     },
 
     },
     recipeMaker = {
+
     verbs = {
       researchPrerequisite = "FleshShaping",
+
       {
 +
        defaultProjectile = "Bullet_MiniSlug",
 +
        range = 45.9,
 +
        burstShotCount = 1,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:AestheticNose"] = {
+
   ["ThingDef:Bullet_MiniSlug"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "BaseBullet",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Turrets.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "AestheticNose",
+
     defName = "Bullet_MiniSlug",
     label = "aesthetic nose",
+
     label = "mini-slug",
    description = [[The nose is shaped to the user's desired form, matching prevalent beauty standards and enhancing physical impressions.]],
 
    costList = {
 
      Plasteel = 10,
 
      ComponentSpacer = 2,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "FleshShaping",
 
    },
 
 
   },
 
   },
  
   ["ThingDef:LoveEnhancer"] = {
+
   ["ThingDef:Turret_AutoChargeBlaster"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "BuildingBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Turrets.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "LoveEnhancer",
+
     defName = "Turret_AutoChargeBlaster",
     label = "love enhancer",
+
     label = "auto charge turret",
     description = [[Humans have always tried to use every new technology to enhance sexual satisfaction. Bionics were no exception. This implant makes physical and chemical changes to the body which enhance the experience of lovin' for both partners - both physically and psychologically. The implant unit can adapt to enhance both men and women upon being implanted.]],
+
     description = [[A self-powered turret mounted with a charge blaster. It cannot sense targets at very short ranges.]],
     costList = {
+
     thingClass = "Building_TurretGun",
       Plasteel = 15,
+
    altitudeLayer = "Building",
       ComponentSpacer = 4,
+
    size = {2, 2},
 +
    statBases = {
 +
       MaxHitPoints = 180,
 +
       Flammability = 0,
 +
      Mass = 100,
 +
      ShootingAccuracyTurret = 0.96,
 +
      Beauty = -20,
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       researchPrerequisite = "FleshShaping",
+
       CompProperties_Explosive = {
 +
        wickTicks = 240,
 +
        explosiveRadius = 5.9,
 +
        explosiveDamageType = "Bomb",
 +
        chanceNeverExplodeFromDamage = 0.5,
 +
      },
 +
      CompProperties_CanBeDormant = {},
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 
     },
 
     },
  },
+
    passability = "PassThroughOnly",
 
+
     pathCost = 50,
  ["ThingDef:DetoxifierStomach"] = {
+
    fillPercent = 0.5,
     _ = {
+
    killedLeavings = {
      ParentName = "BodyPartBionicImperialBase",
+
       ChunkSlagSteel = 1,
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
     defName = "DetoxifierStomach",
+
     terrainAffordanceNeeded = "Heavy",
     label = "detoxifier stomach",
+
     building = {
    description = [[An artificial stomach replacement with a broad-spectrum toxin filter and neutralization system. It allows the user to eat almost anything without ever worrying about food poisoning.]],
+
      combatPower = 150,
    costList = {
+
      buildingTags = {
      Plasteel = 15,
+
        "MechClusterMember",
      ComponentSpacer = 4,
+
        "MechClusterCombatThreat",
    },
+
      },
    recipeMaker = {
+
      turretGunDef = "Gun_ChargeBlasterHeavyTurret",
       researchPrerequisite = "ArtificialMetabolism",
+
       turretBurstCooldownTime = 5.5,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ReprocessorStomach"] = {
+
   ["ThingDef:Gun_ChargeBlasterHeavyTurret"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "Gun_ChargeBlasterHeavyBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Turrets.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ReprocessorStomach",
+
     defName = "Gun_ChargeBlasterHeavyTurret",
     label = "reprocessor stomach",
+
     label = "light charge blaster",
     description = [[An advanced chemical processing system breaks down nutrients the body could normally never use, leading to increased efficiency.]],
+
     description = [[A pulse-charged rapid-fire blaster for area fire.]],
     costList = {
+
     statBases = {
       Plasteel = 15,
+
       AccuracyLong = 0.08,
      ComponentSpacer = 4,
 
 
     },
 
     },
     recipeMaker = {
+
     verbs = {
       researchPrerequisite = "ArtificialMetabolism",
+
       {
 +
        defaultProjectile = "Bullet_ChargeBlasterHeavy",
 +
        warmupTime = 1.25,
 +
        minRange = 3.9,
 +
        range = 45.9,
 +
        ticksBetweenBurstShots = 7,
 +
        burstShotCount = 9,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:NuclearStomach"] = {
+
   ["ThingDef:Turret_AutoInferno"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "BuildingBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Turrets.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "NuclearStomach",
+
     defName = "Turret_AutoInferno",
     label = "nuclear stomach",
+
     label = "auto inferno turret",
     description = [[A micro-nuclear reactor combined with complex chemical synthesis replaces the body's need for food energy. Food is required only to replace matter lost from the body, reducing the user's intake needs significantly. This artifical stomach cannot get food poisoning. However, there is little room to shield the reactor, so the radiation increases the risk of cancer.]],
+
     description = [[A self-powered turret mounted with an inferno cannon. It cannot sense targets at very short ranges.]],
     costList = {
+
    thingClass = "Building_TurretGun",
       Plasteel = 15,
+
    altitudeLayer = "Building",
       ComponentSpacer = 4,
+
    size = {2, 2},
 +
     statBases = {
 +
       MaxHitPoints = 180,
 +
      Flammability = 0,
 +
      Mass = 100,
 +
       ShootingAccuracyTurret = 0.96,
 +
      Beauty = -20,
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       researchPrerequisite = "ArtificialMetabolism",
+
       CompProperties_Explosive = {
 +
        wickTicks = 240,
 +
        explosiveRadius = 5.9,
 +
        explosiveDamageType = "Bomb",
 +
        chanceNeverExplodeFromDamage = 0.5,
 +
      },
 +
      CompProperties_CanBeDormant = {},
 +
      CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 
     },
 
     },
  },
+
    passability = "PassThroughOnly",
 
+
     pathCost = 50,
  ["ThingDef:CircadianAssistant"] = {
+
    fillPercent = 0.5,
     _ = {
+
    killedLeavings = {
      ParentName = "BodyPartBionicImperialBase",
+
       ChunkSlagSteel = 1,
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
     defName = "CircadianAssistant",
+
     terrainAffordanceNeeded = "Heavy",
     label = "circadian assistant",
+
     building = {
    description = [[An artificial gland. Produces chemicals and nanomachines that clear toxin buildup from the brain.]],
+
      buildingTags = {
    costList = {
+
        "MechClusterMember",
       Plasteel = 15,
+
        "MechClusterCombatThreat",
       ComponentSpacer = 4,
+
      },
    },
+
       combatPower = 190,
    recipeMaker = {
+
       turretGunDef = "Gun_InfernoCannonTurret",
       researchPrerequisite = "CircadianInfluence",
+
       turretBurstCooldownTime = 17.0,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:CircadianHalfCycler"] = {
+
   ["ThingDef:Gun_InfernoCannonTurret"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartBionicImperialBase",
+
       ParentName = "Gun_InfernoCannonBase",
       FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Turrets.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "CircadianHalfCycler",
+
     defName = "Gun_InfernoCannonTurret",
     label = "circadian half-cycler",
+
     statBases = {
    description = [[A signal redirector which isolates half of the brain, allowing the other half to sleep while the user remains outwardly awake. By alternating brain halves, the user never needs to sleep. Unfortunately, two hemispheres are better than one - working with half a brain causes a reduction in consciousness.]],
+
       AccuracyLong = 0.66,
    costList = {
 
       Plasteel = 15,
 
      ComponentSpacer = 4,
 
 
     },
 
     },
     recipeMaker = {
+
     verbs = {
       researchPrerequisite = "CircadianInfluence",
+
       {
 +
        defaultProjectile = "Bullet_InfernoCannon",
 +
        forcedMissRadius = 4.6,
 +
        warmupTime = 1.25,
 +
        minRange = 3.9,
 +
        range = 45.9,
 +
        burstShotCount = 1,
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Mindscrew"] = {
+
   ["ThingDef:Turret_AutoMortar"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticImperialBase",
+
       ParentName = "BuildingBase",
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Turrets.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Mindscrew",
+
     defName = "Turret_AutoMortar",
     label = "mindscrew",
+
     label = "auto mortar",
     description = [[Inflicts continuous pain on the user. Mindscrews are used by some authorities as a long-term punishment. Some even install them voluntarily as a demonstration of ideological or religious devotion.]],
+
     description = [[A self-powered, self-loading, automatic mortar. It can hit targets at any distance, over walls, but is quite inaccurate.]],
     costList = {
+
     thingClass = "Building_TurretGun",
       Steel = 15,
+
    altitudeLayer = "Building",
       ComponentIndustrial = 4,
+
    size = {2, 2},
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    fillPercent = 0.4,
 +
    killedLeavings = {
 +
      ChunkSlagSteel = 1,
 +
       Steel = 60,
 +
       Plasteel = 10,
 
     },
 
     },
     recipeMaker = {
+
     terrainAffordanceNeeded = "Heavy",
      researchPrerequisite = "BrainWiring",
+
     comps = {
     },
+
      CompProperties_Forbiddable = {},
  },
+
      CompProperties_Explosive = {
 
+
        wickTicks = 240,
  ["ThingDef:DrillArm"] = {
+
        explosiveRadius = 4.9,
    _ = {
+
        explosiveDamageType = "Bomb",
      ParentName = "BodyPartProstheticImperialBase",
+
       },
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
+
      CompProperties_Initiatable = {},
       DLC = "Royalty",
+
       CompProperties_WakeUpDormant = {
 +
        wakeUpSound = "MechanoidsWakeUp",
 +
      },
 
     },
 
     },
     defName = "DrillArm",
+
     statBases = {
    label = "drill arm",
+
      MaxHitPoints = 260,
    description = [[A mechanical arm replacement for speeding up mining. It has a built-in snake drill, which allows the miner to rapidly find and exploit weak lines in the rock. It also has a general-purpose manipulator. It is somewhat ungainly, which slows down movement slightly.]],
+
      Flammability = 0,
    costList = {
+
      Mass = 30,
       Steel = 60,
+
       ShootingAccuracyTurret = 0.9,
       ComponentIndustrial = 8,
+
       Beauty = -20,
 
     },
 
     },
     recipeMaker = {
+
     building = {
       researchPrerequisite = "SpecializedLimbs",
+
       buildingTags = {
 +
        "MechClusterMember",
 +
        "MechClusterProblemCauser",
 +
      },
 +
      combatPower = 220,
 +
      turretGunDef = "Artillery_AutoMortar",
 +
      turretBurstWarmupTime = 4.0,
 +
      turretBurstCooldownTime = 80.0,
 +
      turretInitialCooldownTime = 120,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:FieldHand"] = {
+
   ["ThingDef:Artillery_AutoMortar"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticImperialBase",
+
       ParentName = "BaseArtilleryWeapon",
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Mech_Turrets.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "FieldHand",
+
     defName = "Artillery_AutoMortar",
     label = "field hand",
+
     label = "auto-mortar",
     description = [[This mechanical hand replacement is made to speed up the sowing and harvesting tasks of a farmer. Multiple telescoping finger-like protrusions can simultaneously harvest from several points on the same plant, or precisely sow several holes at once. It also has a general-purpose manipulator. It is somewhat ungainly, which slows down movement slightly.]],
+
     weaponTags = {
    costList = {
+
       "Artillery_BaseDestroyer",
       Steel = 60,
 
      ComponentIndustrial = 8,
 
 
     },
 
     },
     recipeMaker = {
+
     verbs = {
       researchPrerequisite = "SpecializedLimbs",
+
       {
 +
        defaultProjectile = "Bullet_Shell_HighExplosive",
 +
        forcedMissRadius = 13,
 +
        warmupTime = 4,
 +
        minRange = 29.9,
 +
        range = 500,
 +
        burstShotCount = 1,
 +
        requireLineOfSight = false,
 +
        targetParams = {
 +
          canTargetLocations = true,
 +
        },
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:HandTalon"] = {
+
   ["ThingDef:ShipLandingBeacon"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticImperialBase",
+
       ParentName = "BuildingBase",
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "HandTalon",
+
     defName = "ShipLandingBeacon",
     label = "hand talon",
+
     label = "ship landing beacon",
     description = [[A razor-sharp talon which extends from a hidden opening between the middle and ring fingers. The talon is longer than the palm, but it becomes flexible upon retracting, allowing the user to curl it up and conceal it inside the hand. It can perform rapid slashing attacks, but is poor at penetrating armor.]],
+
     description = [[Marks the corner of a landing area. Four of these placed at the corners of a clear area (minimum 9x9) create a landing pad. Spacecraft usually land on pads if possible.]],
 +
    altitudeLayer = "Building",
 +
    minifiedDef = "MinifiedThing",
 +
    thingCategories = {
 +
      "BuildingsMisc",
 +
    },
 +
    statBases = {
 +
      MaxHitPoints = 75,
 +
      WorkToBuild = 800,
 +
      Flammability = 0.5,
 +
      Mass = 5,
 +
    },
 +
    fillPercent = 0.15,
 
     costList = {
 
     costList = {
 
       Steel = 40,
 
       Steel = 40,
       ComponentIndustrial = 7,
+
       ComponentIndustrial = 1,
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       researchPrerequisite = "CompactWeaponry",
+
       CompProperties_Power = {
 +
        compClass = "CompPowerTrader",
 +
        basePowerConsumption = 50,
 +
      },
 +
      CompProperties_Glower = {
 +
        glowRadius = 2,
 +
        glowColor = "(164, 255, 138, 0)",
 +
      },
 +
      CompProperties_ShipLandingBeacon = {
 +
        edgeLengthRange = { ["<"]=9, [">"]=25 },
 +
      },
 +
      CompProperties_Flickable = {},
 +
      CompProperties_Breakdownable = {},
 +
    },
 +
    leaveResourcesWhenKilled = false,
 +
    pathCost = 14,
 +
    researchPrerequisites = {
 +
      "Electricity",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ElbowBlade"] = {
+
   ["ThingDef:MeditationSpot"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticImperialBase",
+
       ParentName = "BuildingBase",
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ElbowBlade",
+
     defName = "MeditationSpot",
     label = "elbow blade",
+
     label = "meditation spot",
     description = [[A razor-sharp blade that extends at will from a hidden opening at the end of the ulna. Appearing without warning, it can be used for devastating slice attacks.]],
+
     description = [[Designates a spot for meditation. Psycasters can meditate here to gain psyfocus. If a focus object like a sculpture is nearby, the psycaster will be able to focus on it to boost their psyfocus gain. However, different people are able to use different focus objects.]],
     costList = {
+
     altitudeLayer = "FloorEmplacement",
       Steel = 40,
+
    statBases = {
       ComponentIndustrial = 7,
+
       WorkToBuild = 0,
 +
    },
 +
    useHitPoints = false,
 +
    passability = "Standable",
 +
    building = {
 +
      sowTag = "SupportPlantsOnly",
 +
       artificialForMeditationPurposes = false,
 
     },
 
     },
     recipeMaker = {
+
     comps = {
       researchPrerequisite = "CompactWeaponry",
+
       CompProperties_UsesMeditationFocus = {},
 +
      CompProperties_AssignableToPawn = {
 +
        drawUnownedAssignmentOverlay = false,
 +
        compClass = "CompAssignableToPawn_MeditationSpot",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:KneeSpike"] = {
+
   ["ThingDef:NatureShrineBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticImperialBase",
+
      Name = "NatureShrineBase",
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
+
       ParentName = "BuildingBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "KneeSpike",
+
     altitudeLayer = "Building",
     label = "knee spike",
+
     useHitPoints = true,
     description = [[A spike that extends at will from a hidden opening on the front of the knee. Appearing without warning, it can be used for devastating stabbing attacks which penetrate even thick armor.]],
+
    passability = "PassThroughOnly",
     costList = {
+
     thingCategories = {
       Steel = 40,
+
      "BuildingsMisc",
      ComponentIndustrial = 7,
+
    },
 +
     statBases = {
 +
       Flammability = 1.0,
 
     },
 
     },
     recipeMaker = {
+
     building = {
       researchPrerequisite = "CompactWeaponry",
+
       artificialForMeditationPurposes = false,
 
     },
 
     },
 +
    minifiedDef = "MinifiedThing",
 
   },
 
   },
  
   ["ThingDef:VenomFangs"] = {
+
   ["ThingDef:NatureShrine_Small"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticImperialBase",
+
       ParentName = "NatureShrineBase",
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "VenomFangs",
+
     defName = "NatureShrine_Small",
     label = "venom fangs",
+
     label = "small nature shrine",
     description = [[A pair of injectors implanted through the canine teeth, connected to a venom pump. The user can bite an enemy, extend the injectors, and pump venom into the target.]],
+
     description = [[A small shrine for honoring spiritual beings. Tribal psycasters can focus on this shrine while meditating to increase psyfocus gain. Nature shrines lose their power if they are close to artificial structures, so they are always built in nature. Since they look like natural objects to unobservant outsiders, raiders will generally ignore them.]],
     costList = {
+
     size = {2, 2},
       Steel = 40,
+
    terrainAffordanceNeeded = "Medium",
       ComponentIndustrial = 7,
+
    comps = {
     },
+
       CompProperties_MeditationFocus = {
     recipeMaker = {
+
        statDef = "MeditationFocusStrength",
       researchPrerequisite = "VenomSynthesis",
+
        focusTypes = {
 +
          "Natural",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_ArtificialBuildings",
 +
            },
 +
            radius = 34.9,
 +
            curve = {
 +
              points = {
 +
                {0, 0.0},
 +
                {5, -0.06},
 +
                {10, -0.12},
 +
                {50, -0.22},
 +
              },
 +
            },
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_BuildingDefs",
 +
            },
 +
            defs = {
 +
              AnimusStone = 0.02,
 +
            },
 +
            radius = 9.9,
 +
            maxBuildings = 4,
 +
            explanationKey = "MeditationFocusPerAnimusStone",
 +
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAbstract",
 +
          },
 +
        },
 +
       },
 +
     },
 +
     statBases = {
 +
       MaxHitPoints = 150,
 +
      WorkToBuild = 15000,
 +
      Beauty = 10,
 +
      MeditationFocusStrength = 0.22,
 +
      Mass = 25,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:VenomTalon"] = {
+
   ["ThingDef:NatureShrine_Large"] = {
 
     _ = {
 
     _ = {
       ParentName = "BodyPartProstheticImperialBase",
+
       ParentName = "NatureShrineBase",
       FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "VenomTalon",
+
     defName = "NatureShrine_Large",
     label = "venom talon",
+
     label = "large nature shrine",
     description = [[A retractable finger talon connected to a venom pump in the lower arm. The user can scratch an enemy while squirting venom into the wound. The talon is designed to be installed in the middle finger. It's fast, but poor at penetrating armor.]],
+
     description = [[A large shrine for honoring spiritual beings. Tribal psycasters can focus on this shrine while meditating to increase psyfocus gain. Nature shrines lose their power if they are close to artificial structures, so they are always built in nature. Since they look like natural objects to unobservant outsiders, raiders will generally ignore them.]],
     costList = {
+
     size = {3, 3},
       Steel = 40,
+
    terrainAffordanceNeeded = "Heavy",
       ComponentIndustrial = 7,
+
    comps = {
 +
       CompProperties_MeditationFocus = {
 +
        statDef = "MeditationFocusStrength",
 +
        focusTypes = {
 +
          "Natural",
 +
        },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_ArtificialBuildings",
 +
            },
 +
            radius = 34.9,
 +
            curve = {
 +
              points = {
 +
                {0, 0.0},
 +
                {5, -0.06},
 +
                {10, -0.13},
 +
                {50, -0.30},
 +
              },
 +
            },
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_BuildingDefs",
 +
            },
 +
            defs = {
 +
              AnimusStone = 0.02,
 +
            },
 +
            radius = 9.9,
 +
            maxBuildings = 4,
 +
            explanationKey = "MeditationFocusPerAnimusStone",
 +
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAbstract",
 +
          },
 +
        },
 +
       },
 
     },
 
     },
     recipeMaker = {
+
     statBases = {
       researchPrerequisite = "VenomSynthesis",
+
       MaxHitPoints = 300,
 +
      WorkToBuild = 30000,
 +
      MeditationFocusStrength = 0.30,
 +
      Beauty = 20,
 +
      Mass = 50,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PsychicAmplifier"] = {
+
   ["ThingDef:AnimusStone"] = {
 
     _ = {
 
     _ = {
       FileName = "Hediffs_Psycasts.xml",
+
      ParentName = "BuildingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_Misc.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "PsychicAmplifier",
+
     defName = "AnimusStone",
     label = "psylink neuroformer",
+
     label = "animus stone",
     description = [[A consumable archotech-created device that forms or upgrades a psylink in the user's mind.\n\nThe user presses the device over the eyes, where it links to the brain directly and restructures part of it. Afterwards, the device disintegrates into worthless ash.]],
+
     description = [[An ancient jade stone marked with sacred tribal carvings. Tribal psycasters can focus on these stones during meditation to increase their psyfocus gain more than a typical nature shrine.\n\nDifferent tribal cultures tell different stories about these stones, but most agree that they were crafted by an ancient world spirit during a time of great power. Since they look like natural objects to unobservant outsiders, raiders will generally ignore them.]],
     thingClass = "ThingWithComps",
+
     altitudeLayer = "Building",
     category = "Item",
+
     minifiedDef = "MinifiedThing",
    useHitPoints = true,
 
    pathCost = 14,
 
    altitudeLayer = "Item",
 
 
     thingCategories = {
 
     thingCategories = {
       "BodyPartsArchotech",
+
       "BuildingsMisc",
 
     },
 
     },
 +
    fillPercent = 0.35,
 +
    tradeability = "Buyable",
 
     statBases = {
 
     statBases = {
 +
      MarketValue = 5000,
 
       MaxHitPoints = 100,
 
       MaxHitPoints = 100,
      Beauty = -4,
+
       Mass = 5,
       Mass = 1,
+
       MeditationFocusStrength = 0.34,
      MarketValue = 2600,
 
       DeteriorationRate = 0,
 
 
     },
 
     },
     tradeTags = {
+
     building = {
       "PsylinkNeuroformer",
+
       artificialForMeditationPurposes = false,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Usable = {
+
       CompProperties_MeditationFocus = {
         compClass = "CompUsableImplant",
+
         statDef = "MeditationFocusStrength",
         useJob = "UseItem",
+
         focusTypes = {
         useLabel = "Use neuroformer to form psylink",
+
          "Natural",
 +
         },
 +
        offsets = {
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_ArtificialBuildings",
 +
            },
 +
            radius = 34.9,
 +
            curve = {
 +
              points = {
 +
                {0, 0.0},
 +
                {5, -0.08},
 +
                {10, -0.16},
 +
                {50, -0.34},
 +
              },
 +
            },
 +
          },
 +
          {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_BuildingDefs",
 +
            },
 +
            defs = {
 +
              AnimusStone = 0.02,
 +
            },
 +
            radius = 9.9,
 +
            maxBuildings = 4,
 +
            explanationKey = "MeditationFocusPerAnimusStone",
 +
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAbstract",
 +
          },
 +
        },
 
       },
 
       },
      CompProperties_UseEffectInstallImplant = {
 
        hediffDef = "PsychicAmplifier",
 
        bodyPart = "Brain",
 
        canUpgrade = true,
 
      },
 
      CompProperties_UseEffectPlaySound = {
 
        soundOnUsed = "PsyAmpInstalled",
 
      },
 
      CompProperties_UseEffect = {
 
        compClass = "CompUseEffect_DestroySelf",
 
      },
 
      CompProperties_Forbiddable = {},
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:UnfinishedMusicalInstrument"] = {
 +
    _ = {
 +
      ParentName = "UnfinishedBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Buildings_MusicalInstruments.xml",
 +
      DLC = "Royalty",
 +
    },
 +
    defName = "UnfinishedMusicalInstrument",
 +
    label = "unfinished musical instrument",
 +
    description = [[An unfinished musical instrument.]],
 +
  },
 +
 
 +
  ["ThingDef:MusicalInstrumentBase"] = {
 
     _ = {
 
     _ = {
       Name = "ConditionCauserBase",
+
       Name = "MusicalInstrumentBase",
 +
      ParentName = "BuildingBase",
 
       Abstract = true,
 
       Abstract = true,
       ParentName = "BuildingBase",
+
       DefCategory = "ThingDef",
       FileName = "Buildings_ConditionCausers.xml",
+
       FileName = "Buildings_MusicalInstruments.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
 +
    passability = "PassThroughOnly",
 +
    pathCost = 50,
 +
    minifiedDef = "MinifiedThing",
 
     altitudeLayer = "Building",
 
     altitudeLayer = "Building",
     pathCost = 50,
+
     thingClass = "Building_MusicalInstrument",
     passability = "Impassable",
+
    hasInteractionCell = true,
     fillPercent = 1.0,
+
     thingCategories = {
     statBases = {
+
      "BuildingsJoy",
       MaxHitPoints = 1500,
+
     },
       Flammability = 0,
+
    tradeTags = {
 +
      "MusicalInstrument",
 +
     },
 +
    recipeMaker = {
 +
       workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
       effectWorking = "Smith",
 +
      soundWorking = "Recipe_Sculpt",
 +
      unfinishedThingDef = "UnfinishedMusicalInstrument",
 
     },
 
     },
 
     building = {
 
     building = {
       combatPower = 750,
+
       joyKind = "HighCulture",
      buildingTags = {
 
        "MechClusterMember",
 
        "MechClusterProblemCauser",
 
      },
 
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_WakeUpDormant = {},
+
       {
       CompProperties_Initiatable = {},
+
        compClass = "CompQuality",
    },
+
      },
    terrainAffordanceNeeded = "Heavy",
+
      {
    killedLeavings = {
+
        compClass = "CompGatherSpot",
      Steel = 60,
+
      },
      ComponentIndustrial = 1,
+
       CompProperties_ThrownMoteEmitter = {
      Plasteel = 10,
+
        mote = "Mote_Music",
       ChunkSlagSteel = 4,
+
        offsetMin = {-0.6, 0, 0.3},
 +
        offsetMax = {0.6, 0, 0.5},
 +
        emissionInterval = 100,
 +
        scale = { ["<"]=0.6, [">"]=0.9 },
 +
        rotationRate = { ["<"]=-15, [">"]=15 },
 +
        velocityX = { ["<"]=0.3, [">"]=0.7 },
 +
        velocityY = { ["<"]=0.7, [">"]=1.0 },
 +
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SunBlocker"] = {
+
   ["ThingDef:Harp"] = {
 
     _ = {
 
     _ = {
       ParentName = "ConditionCauserBase",
+
       ParentName = "MusicalInstrumentBase",
       FileName = "Buildings_ConditionCausers.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_MusicalInstruments.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "SunBlocker",
+
     defName = "Harp",
     label = "sun blocker",
+
     label = "harp",
     description = [[An ultratech machine that generates a sheet of exotic fields at high altitude, turning the sky opaque and blocking the sun.]],
+
     description = [[A simple stationary musical instrument. A row of strings are stretched over a frame and plucked directly by a musician's fingers.\n\nIt can be crafted at a crafting spot or smithy.]],
     size = {6, 4},
+
     size = {1, 1},
     comps = {
+
    pathCost = 30,
       CompProperties_CausesGameCondition = {
+
    researchPrerequisites = {
         conditionDef = "SunBlocker",
+
      "Harp",
         worldRange = 10,
+
    },
 +
    statBases = {
 +
      MaxHitPoints = 70,
 +
      WorkToMake = 18000,
 +
      Mass = 4,
 +
      JoyGainFactor = 1,
 +
      Beauty = 10,
 +
    },
 +
     recipeMaker = {
 +
       skillRequirements = {
 +
         Crafting = 3,
 +
      },
 +
      researchPrerequisite = "Harp",
 +
      recipeUsers = {
 +
        "CraftingSpot",
 +
        "FueledSmithy",
 +
         "ElectricSmithy",
 
       },
 
       },
 +
    },
 +
    costList = {
 +
      WoodLog = 150,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:SmokeSpewer"] = {
+
   ["ThingDef:Harpsichord"] = {
 
     _ = {
 
     _ = {
       ParentName = "ConditionCauserBase",
+
       ParentName = "MusicalInstrumentBase",
       FileName = "Buildings_ConditionCausers.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_MusicalInstruments.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "SmokeSpewer",
+
     defName = "Harpsichord",
     label = "smoke spewer",
+
     label = "harpsichord",
     description = [[An ultratech weapon of mass destruction designed for area denial. By harvesting available compounds and converting them into self-reproducing opaque molecules, it can spew enough smoke to block the sun in a whole region of the planet.]],
+
     description = [[A complex stationary musical instrument crafted at a smithy. A musician touches a row of keys on the front of the instrument. Each key is attached to an internal mechanism which plucks one of a row of strings stretched over a wooden frame. While it permits more complex composition than the harp, its wooden construction and plucking mechanism limit its output volume and expressiveness.]],
     size = {6, 5},
+
     size = {2, 3},
     comps = {
+
     researchPrerequisites = {
      CompProperties_CausesGameCondition = {
+
       "Harpsichord",
        conditionDef = "GiantSmokeCloud",
 
        worldRange = 10,
 
      },
 
       CompProperties_ThrownMoteEmitter = {
 
        mote = "Mote_Smoke",
 
        offsetMin = {-2, 0, 3},
 
        offsetMax = {2, 0, 3},
 
        emissionInterval = 15,
 
        burstCount = 2,
 
        scale = { ["<"]=2, [">"]=4 },
 
        rotationRate = { ["<"]=-30, [">"]=30 },
 
        velocityX = { ["<"]=-40, [">"]=40 },
 
        velocityY = { ["<"]=0.5, [">"]=1 },
 
        colorA = {0.2, 0.2, 0.2, 1},
 
        colorB = {0.4, 0.4, 0.4, 1},
 
      },
 
 
     },
 
     },
  },
+
    statBases = {
 
+
      MaxHitPoints = 150,
  ["ThingDef:ToxicSpewer"] = {
+
      WorkToMake = 32000,
    _ = {
+
       Mass = 30,
       ParentName = "ConditionCauserBase",
+
       JoyGainFactor = 1,
       FileName = "Buildings_ConditionCausers.xml",
+
       Beauty = 14,
       DLC = "Royalty",
 
 
     },
 
     },
     defName = "ToxicSpewer",
+
     recipeMaker = {
    label = "toxic spewer",
+
       skillRequirements = {
    description = [[An ultratech weapon of mass destruction designed for area denial. This device harvests available compounds and converts them into self-reproducing poisons. By spewing these into the atmosphere, it can poison a whole region of the planet.]],
+
         Crafting = 5,
    size = {6, 5},
 
    comps = {
 
       CompProperties_CausesGameCondition = {
 
         compClass = "CompCauseGameCondition_ToxicSpewer",
 
        conditionDef = "ToxicSpewer",
 
        worldRange = 3,
 
 
       },
 
       },
       CompProperties_ThrownMoteEmitter = {
+
       researchPrerequisite = "Harpsichord",
        mote = "Mote_DustSlow",
+
      recipeUsers = {
        offsetMin = {-2, 0, -1.5},
+
         "FueledSmithy",
        offsetMax = {0, 0, -2},
+
         "ElectricSmithy",
         emissionInterval = 520,
 
        burstCount = 35,
 
        scale = { ["<"]=1, [">"]=2.5 },
 
         rotationRate = { ["<"]=-30, [">"]=30 },
 
        velocityX = { ["<"]=-50, [">"]=50 },
 
        velocityY = { ["<"]=0.5, [">"]=1.8 },
 
        colorA = {0.25, 0.4, 0, 0.9},
 
        colorB = {0.4, 0.55, 0, 0.6},
 
 
       },
 
       },
 +
    },
 +
    costList = {
 +
      WoodLog = 250,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:WeatherController"] = {
+
   ["ThingDef:UnfinishedPiano"] = {
 
     _ = {
 
     _ = {
       ParentName = "ConditionCauserBase",
+
       ParentName = "UnfinishedBase",
       FileName = "Buildings_ConditionCausers.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_MusicalInstruments.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "WeatherController",
+
     defName = "UnfinishedPiano",
     label = "weather controller",
+
     label = "unfinished piano",
     description = [[An ultratech device for controlling weather. Using chemicals and exotic fields, it forces the weather into a particular configuration.]],
+
     description = [[An unfinished piano.]],
    size = {6, 6},
 
    comps = {
 
      CompProperties_CausesGameCondition = {
 
        conditionDef = "WeatherController",
 
        compClass = "CompCauseGameCondition_ForceWeather",
 
        worldRange = 10,
 
        preventConditionStacking = false,
 
      },
 
    },
 
 
   },
 
   },
  
   ["ThingDef:ClimateAdjuster"] = {
+
   ["ThingDef:Piano"] = {
 
     _ = {
 
     _ = {
       ParentName = "ConditionCauserBase",
+
       ParentName = "MusicalInstrumentBase",
       FileName = "Buildings_ConditionCausers.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Buildings_MusicalInstruments.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ClimateAdjuster",
+
     defName = "Piano",
     label = "climate adjuster",
+
     label = "piano",
     description = [[An ultratech device for controlling climate. Using chemicals and exotic fields to manipulate the atmosphere, it shifts the temperature in this region of the world.]],
+
     description = [[An advanced stationary musical instrument. It is played by pressing a row of keys, which causes hammers to strike internal strings stretched over a steel frame. The hammer mechanism and high-tension strings allow the musician to play both very soft and very loud, making the piano a very expressive instrument.\n\nIt can be crafted at a smithy.]],
     size = {6, 6},
+
     size = {3, 3},
     comps = {
+
     researchPrerequisites = {
       CompProperties_CausesGameCondition_ClimateAdjuster = {
+
       "Piano",
        conditionDef = "ClimateAdjustment",
 
        worldRange = 10,
 
        preventConditionStacking = false,
 
      },
 
 
     },
 
     },
  },
+
    statBases = {
 
+
      MaxHitPoints = 180,
  ["ThingDef:PsychicDroner"] = {
+
      WorkToMake = 50000,
    _ = {
+
       Mass = 60,
       ParentName = "ConditionCauserBase",
+
       JoyGainFactor = 1,
       FileName = "Buildings_ConditionCausers.xml",
+
       Beauty = 18,
       DLC = "Royalty",
 
 
     },
 
     },
     defName = "PsychicDroner",
+
     recipeMaker = {
    label = "psychic droner",
+
       skillRequirements = {
    description = [[An archotech device transmitting the thoughts of a mad superintelligence. It generates a massive psychic drone tuned to one gender and affecting a whole region of the planet. People of that gender will be disturbed by the effect, reducing their mood and possibly driving them insane. The effect is modulated by an individual's psychic sensitivity.]],
+
         Crafting = 6,
    size = {6, 6},
 
    comps = {
 
       CompProperties_CausesGameCondition_PsychicEmanation = {
 
         conditionDef = "PsychicDroner",
 
        preventConditionStacking = false,
 
        compClass = "CompCauseGameCondition_PsychicEmanation",
 
        worldRange = 10,
 
 
       },
 
       },
       CompProperties_MoteEmitter = {
+
       researchPrerequisite = "Piano",
         mote = "Mote_PsychicConditionCauserEffect",
+
      recipeUsers = {
         emissionInterval = 150,
+
         "FueledSmithy",
 +
         "ElectricSmithy",
 
       },
 
       },
 +
      unfinishedThingDef = "UnfinishedPiano",
 +
    },
 +
    costList = {
 +
      WoodLog = 220,
 +
      Steel = 120,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:PsychicSuppressor"] = {
+
   ["ThingDef:BroadshieldCore"] = {
 
     _ = {
 
     _ = {
       ParentName = "ConditionCauserBase",
+
       ParentName = "ResourceBase",
       FileName = "Buildings_ConditionCausers.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Items_Exotic.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "PsychicSuppressor",
+
     defName = "BroadshieldCore",
     label = "psychic suppressor",
+
     label = "shield core",
     description = [[An archotech device that generates a massive psychic suppression field tuned to a particular gender. People of that gender have their psychic activity suppressed, reducing their consciousness. The effect is modulated by an individual's psychic sensitivity.]],
+
     description = [[A piece of ultratechnology that can generate a momentum-repulsor shield. This can't do anything on its own, but it is necessary to craft some other usable shield items.\n\nShield cores can be obtained by deconstructing mechanoid shield generators.]],
     size = {6, 6},
+
     stackLimit = 1,
     comps = {
+
    useHitPoints = true,
       CompProperties_CausesGameCondition = {
+
     statBases = {
        conditionDef = "PsychicSuppression",
+
       MarketValue = 350,
        compClass = "CompCauseGameCondition_PsychicSuppression",
+
      MaxHitPoints = 100,
        worldRange = 10,
+
      Mass = 2,
      },
+
      Flammability = 0.2,
      CompProperties_MoteEmitter = {
+
    },
        mote = "Mote_PsychicConditionCauserEffect",
+
    thingCategories = {
        emissionInterval = 150,
+
      "Items",
       },
+
    },
 +
    tradeTags = {
 +
       "ExoticMisc",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:EMIDynamo"] = {
+
   ["ThingDef:Apparel_PackJump"] = {
 
     _ = {
 
     _ = {
       ParentName = "ConditionCauserBase",
+
       ParentName = "ApparelBase",
       FileName = "Buildings_ConditionCausers.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Packs.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "EMIDynamo",
+
     defName = "Apparel_PackJump",
     label = "EMI dynamo",
+
     label = "jump pack",
     description = [[A massive electromagnetic interference generator. It interferes with or shuts down electrical devices in nearby regions.]],
+
     description = [[A single-person burst rocket for short-ranged flight. With its integrated harness and guidance assistant, the jump pack allows anyone to leap long distances at high speed, even over obstacles. It must be recharged after several uses.\n\nSome spacer tech militaries have melee combat specialists who use jump packs to bypass obstacles and rapidly close with the enemy.]],
    size = {6, 4},
 
 
     comps = {
 
     comps = {
       CompProperties_CausesGameCondition = {
+
       CompProperties_Reloadable = {
         conditionDef = "EMIField",
+
         maxCharges = 5,
         worldRange = 10,
+
        ammoDef = "Chemfuel",
 +
        ammoCountPerCharge = 20,
 +
        baseReloadTicks = 60,
 +
        soundReload = "Standard_Reload",
 +
         hotKey = "Misc4",
 +
        chargeNoun = "jump",
 +
        displayGizmoWhileUndrafted = false,
 +
      },
 +
    },
 +
    verbs = {
 +
      {
 +
        label = "jump",
 +
        violent = false,
 +
        onlyManualCast = true,
 +
        warmupTime = 0.5,
 +
        requireLineOfSight = true,
 +
        targetParams = {
 +
          canTargetLocations = true,
 +
          canTargetPawns = false,
 +
          canTargetBuildings = false,
 +
        },
 +
      },
 +
    },
 +
    recipeMaker = {
 +
      unfinishedThingDef = "UnfinishedPack",
 +
      researchPrerequisite = "JumpPack",
 +
      recipeUsers = {
 +
        "TableMachining",
 
       },
 
       },
       CompProperties_Explosive = {
+
       useIngredientsForColor = false,
        explosiveRadius = 9.9,
+
      workSpeedStat = "GeneralLaborSpeed",
        explosiveDamageType = "EMP",
+
      workSkill = "Crafting",
         explodeOnKilled = true,
+
      effectWorking = "Smith",
 +
      soundWorking = "Recipe_Machining",
 +
      skillRequirements = {
 +
         Crafting = 4,
 
       },
 
       },
 
     },
 
     },
  },
+
     costList = {
 
+
       Plasteel = 30,
  ["ThingDef:Shuttle"] = {
+
       ComponentIndustrial = 3,
     _ = {
+
       Chemfuel = 100,
       Name = "ShuttleBase",
 
      ParentName = "BuildingBase",
 
       FileName = "Buildings_Exotic.xml",
 
       DLC = "Royalty",
 
 
     },
 
     },
    defName = "Shuttle",
 
    label = "shuttle",
 
    description = [[A spacer-tech shuttle designed for transit between surface and orbit, or between moons of a planetary system.]],
 
    altitudeLayer = "Building",
 
    pathCost = 50,
 
    passability = "Impassable",
 
    fillPercent = 1.0,
 
    size = {5, 3},
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 1000,
+
       WorkToMake = 14000,
       Flammability = 1,
+
      Mass = 3,
 +
       Flammability = 0.4,
 +
      EquipDelay = 2,
 +
      JumpRange = 23.9,
 
     },
 
     },
     killedLeavings = {
+
     thingCategories = {
       Steel = 100,
+
       "ApparelUtility",
      Plasteel = 35,
 
      ChunkSlagSteel = 4,
 
      ComponentIndustrial = 4,
 
 
     },
 
     },
     terrainAffordanceNeeded = "Light",
+
     apparel = {
    comps = {
+
      bodyPartGroups = {
       CompProperties_Shuttle = {},
+
        "Waist",
       CompProperties_Launchable = {
+
       },
         requireFuel = false,
+
       layers = {
        fixedLaunchDistanceMax = 70,
+
         "Belt",
        skyfallerLeaving = "ShuttleLeaving",
 
 
       },
 
       },
       CompProperties_Transporter = {
+
       tags = {
         massCapacity = 1000,
+
         "PackJump",
        max1PerGroup = true,
 
        canChangeAssignedThingsAfterStarting = true,
 
        showOverallStats = false,
 
        pawnLoadedSound = "Shuttle_PawnLoaded",
 
        pawnExitSound = "Shuttle_PawnExit",
 
 
       },
 
       },
 +
    },
 +
    tradeTags = {
 +
      "ExoticMisc",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ShuttleCrashed"] = {
+
   ["ThingDef:Apparel_PackBroadshield"] = {
 
     _ = {
 
     _ = {
       ParentName = "ShuttleBase",
+
       ParentName = "ApparelNoQualityBase",
       FileName = "Buildings_Exotic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Packs.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ShuttleCrashed",
+
    thingClass = "BroadshieldPack",
     label = "crashed shuttle",
+
     defName = "Apparel_PackBroadshield",
     statBases = {
+
     label = "low-shield pack",
       MaxHitPoints = 200,
+
     description = [[A single-use man-portable low-shield projector. Deployed on the ground, it generates a circular shield that allows bullets out but not in. The unit is designed to last only a short time before burning out.\n\nMany ultratech combat squads owe their lives to a shield pack deployed at just the right time.]],
       Flammability = 1,
+
    comps = {
 +
       CompProperties_Reloadable = {
 +
        maxCharges = 1,
 +
        destroyOnEmpty = true,
 +
        soundReload = "Standard_Reload",
 +
        hotKey = "Misc4",
 +
        chargeNoun = "shield",
 +
        displayGizmoWhileUndrafted = false,
 +
       },
 
     },
 
     },
     comps = {
+
     verbs = {
       _ = {
+
       {
         Inherit = false,
+
        label = "deploy low-shield",
 +
        violent = false,
 +
         targetable = false,
 +
        nonInterruptingSelfCast = true,
 +
        onlyManualCast = true,
 
       },
 
       },
 
     },
 
     },
     killedLeavings = {
+
     recipeMaker = {
       _ = {
+
       unfinishedThingDef = "UnfinishedPack",
         Inherit = false,
+
      researchPrerequisite = "ShieldBelt",
 +
      recipeUsers = {
 +
        "TableMachining",
 +
      },
 +
      workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
      effectWorking = "Smith",
 +
      soundWorking = "Recipe_Machining",
 +
      skillRequirements = {
 +
         Crafting = 4,
 
       },
 
       },
      Steel = 4,
+
    },
      Plasteel = 7,
+
    costList = {
       ChunkSlagSteel = 1,
+
       BroadshieldCore = 1,
 
       ComponentIndustrial = 1,
 
       ComponentIndustrial = 1,
 
     },
 
     },
     costList = {
+
     statBases = {
       Steel = 40,
+
       WorkToMake = 14000,
       Plasteel = 70,
+
       Mass = 3,
       ComponentIndustrial = 10,
+
       Flammability = 0.4,
 +
      EquipDelay = 2,
 +
    },
 +
    thingCategories = {
 +
      "ApparelUtility",
 
     },
 
     },
     leaveResourcesWhenKilled = true,
+
     apparel = {
    building = {
+
      bodyPartGroups = {
       _ = {
+
        "Waist",
         Inherit = false,
+
      },
 +
      layers = {
 +
        "Belt",
 +
       },
 +
      tags = {
 +
         "BeltDefensePop",
 
       },
 
       },
       alwaysDeconstructible = true,
+
    },
 +
    tradeTags = {
 +
       "ExoticMisc",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:BroadshieldProjector"] = {
+
   ["ThingDef:PsychicApparelBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ApparelBase",
       FileName = "Buildings_Exotic.xml",
+
      Name = "PsychicApparelBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Psychic.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "BroadshieldProjector",
+
     tradeTags = {
    label = "burnout low-shield",
+
      "PsychicApparel",
    description = [[A man-portable low-angle shield projector. Bullets can go out, but not in. Its compact power source burns out after a few seconds of use.]],
 
    altitudeLayer = "BuildingOnTop",
 
    pathCost = 0,
 
    passability = "Standable",
 
    fillPercent = 0.35,
 
    statBases = {
 
      MaxHitPoints = 250,
 
      Flammability = 0.5,
 
 
     },
 
     },
     killedLeavings = {},
+
     apparel = {
     terrainAffordanceNeeded = "Light",
+
      tags = {
     building = {
+
        "Psychic",
       isEdifice = false,
+
      },
 +
    },
 +
  },
 +
 
 +
  ["ThingDef:Apparel_PsyfocusHelmet"] = {
 +
    _ = {
 +
      ParentName = "PsychicApparelBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Apparel_Psychic.xml",
 +
      DLC = "Royalty",
 +
    },
 +
     defName = "Apparel_PsyfocusHelmet",
 +
     label = "eltex helmet",
 +
    description = [[A lightweight helmet designed for psychic focusing. While it provides little physical protection, its special materials enhance the wearer's psychic sensitivity and dissipate neural heat.]],
 +
    thingCategories = {
 +
      "Headgear",
 +
    },
 +
    statBases = {
 +
       MarketValue = 500,
 +
      MaxHitPoints = 80,
 +
      Mass = 0.8,
 +
      ArmorRating_Sharp = 0.09,
 +
      ArmorRating_Blunt = 0.09,
 +
      ArmorRating_Heat = 0.27,
 +
      Insulation_Cold = 4,
 +
      Insulation_Heat = 1,
 +
      EquipDelay = 1.5,
 
     },
 
     },
     comps = {
+
     apparel = {
       CompProperties_ProjectileInterceptor = {
+
       bodyPartGroups = {
         radius = 4.9,
+
         "UpperHead",
        interceptGroundProjectiles = true,
+
      },
        interceptNonHostileProjectiles = true,
+
      layers = {
        interceptOutgoingProjectiles = false,
+
         "Overhead",
        color = "(0.6, 0.6, 0.8)",
 
        idlePulseSpeed = 3,
 
        minIdleAlpha = 0.05,
 
         disarmedByEmpForTicks = 600,
 
        activeSound = "Broadshield_Ambience",
 
 
       },
 
       },
       CompProperties_DestroyAfterDelay = {
+
       defaultOutfitTags = {
         delayTicks = 1800,
+
         "Soldier",
        destroyMode = "KillFinalize",
 
        countdownLabel = "Burnout in",
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Drape"] = {
+
   ["ThingDef:Apparel_EltexSkullcap"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureBase",
+
       ParentName = "PsychicApparelBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Psychic.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Drape",
+
     defName = "Apparel_EltexSkullcap",
     label = "drape",
+
     label = "eltex skullcap",
     description = [[A decorative sheet hanging from a vertical wooden frame. Appropriate for royal rooms.]],
+
     description = [[A tight skullcap designed for psychic focusing. It provides no physical protection, but its special materials enhance the wearer's psychic sensitivity and dissipate neural heat.]],
     altitudeLayer = "BuildingOnTop",
+
     thingCategories = {
    passability = "PassThroughOnly",
+
      "Headgear",
     fillPercent = 0.40,
+
     },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       MarketValue = 500,
       WorkToBuild = 2000,
+
       MaxHitPoints = 80,
       Mass = 15,
+
       Mass = 0.8,
       Flammability = 1.0,
+
       EquipDelay = 1.5,
      Beauty = 7.5,
 
 
     },
 
     },
     costList = {
+
     apparel = {
       WoodLog = 50,
+
       bodyPartGroups = {
    },
+
        "UpperHead",
    pathCost = 14,
+
      },
    size = {2, 1},
+
      layers = {
    researchPrerequisites = {
+
        "Overhead",
      "ComplexFurniture",
+
      },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Brazier"] = {
+
   ["ThingDef:Apparel_PsyfocusShirt"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureBase",
+
       ParentName = "PsychicApparelBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Psychic.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Brazier",
+
     defName = "Apparel_PsyfocusShirt",
     label = "brazier",
+
     label = "eltex shirt",
     description = [[A bowl-shaped furnishing used to hold a fire. Will light the surroundings and create heat.]],
+
     description = [[A shirt embedded with special psychic focusing materials. These enhance psychic sensitivity and help dissipate neural heat.]],
     category = "Building",
+
     thingCategories = {
     fillPercent = 0.15,
+
      "Apparel",
 +
     },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 80,
+
      MarketValue = 400,
       WorkToBuild = 100,
+
       MaxHitPoints = 100,
       Flammability = 0,
+
       Mass = 0.25,
       Mass = 15,
+
       ArmorRating_Sharp = 0.07,
       MeditationFocusStrength = 0.0,
+
       ArmorRating_Blunt = 0,
 +
       ArmorRating_Heat = 0.04,
 +
      Insulation_Cold = 5,
 +
      Insulation_Heat = 1,
 +
      EquipDelay = 1.5,
 
     },
 
     },
     minifiedDef = "MinifiedThing",
+
     apparel = {
    comps = {
+
       bodyPartGroups = {
       CompProperties_Refuelable = {
+
         "Torso",
         fuelConsumptionRate = 2.0,
+
         "Shoulders",
         fuelCapacity = 30.0,
+
      },
        fuelConsumptionPerTickInRain = 0.0006,
+
      layers = {
        fuelFilter = {
+
         "OnSkin",
          thingDefs = {
 
            "WoodLog",
 
          },
 
        },
 
        initialFuelPercent = 0,
 
         showAllowAutoRefuelToggle = true,
 
 
       },
 
       },
       CompProperties_Glower = {
+
       defaultOutfitTags = {
         glowRadius = 10,
+
         "Soldier",
        glowColor = {252, 187, 113, 0},
 
 
       },
 
       },
       CompProperties_HeatPusher = {
+
    },
        compClass = "CompHeatPusherPowered",
+
  },
        heatPerSecond = 3.5,
+
 
         heatPushMaxTemperature = 23,
+
  ["ThingDef:Apparel_PsyfocusVest"] = {
 +
    _ = {
 +
      ParentName = "PsychicApparelBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Apparel_Psychic.xml",
 +
       DLC = "Royalty",
 +
    },
 +
    defName = "Apparel_PsyfocusVest",
 +
    label = "eltex vest",
 +
    description = [[A thin vest embedded with special psychic focusing materials. These enhance psychic sensitivity and help dissipate neural heat.]],
 +
    thingCategories = {
 +
      "Apparel",
 +
    },
 +
    statBases = {
 +
      MarketValue = 500,
 +
      MaxHitPoints = 100,
 +
      Mass = 0.5,
 +
      ArmorRating_Sharp = 0.07,
 +
      ArmorRating_Blunt = 0,
 +
      ArmorRating_Heat = 0.04,
 +
      Insulation_Cold = 6,
 +
      Insulation_Heat = 1,
 +
      EquipDelay = 2,
 +
    },
 +
    apparel = {
 +
      bodyPartGroups = {
 +
        "Torso",
 +
         "Neck",
 +
        "Shoulders",
 
       },
 
       },
       CompProperties_FireOverlay = {
+
       layers = {
         fireSize = 1,
+
         "Middle",
        offset = {0, 0, 0.18},
 
 
       },
 
       },
       CompProperties_MeditationFocus = {
+
       defaultOutfitTags = {
         statDef = "MeditationFocusStrength",
+
         "Soldier",
        focusTypes = {
 
          "Flame",
 
        },
 
        offsets = {
 
          FocusStrengthOffset_Lit = {
 
            offset = 0.15,
 
          },
 
          FocusStrengthOffset_BuildingDefsLit = {
 
            defs = {
 
              "Campfire",
 
              "TorchLamp",
 
              "Brazier",
 
            },
 
            offsetPerBuilding = 0.02,
 
            radius = 9.9,
 
            maxBuildings = 8,
 
            explanationKey = "MeditationFocusPerFlame",
 
            explanationKeyAbstract = "MeditationFocusPerFlameAbstract",
 
          },
 
        },
 
 
       },
 
       },
    },
 
    altitudeLayer = "Building",
 
    passability = "PassThroughOnly",
 
    pathCost = 42,
 
    researchPrerequisites = {
 
      "ComplexFurniture",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Throne"] = {
+
   ["ThingDef:Apparel_PsyfocusRobe"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureWithQualityBase",
+
       ParentName = "PsychicApparelBase",
       FileName = "Buildings_Furniture.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Psychic.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Throne",
+
     defName = "Apparel_PsyfocusRobe",
    label = "meditation throne",
+
     description = [[A long robe embedded with special psychic focusing materials. These enhance psychic sensitivity and help dissipate neural heat.]],
     description = [[A large, ornate chair designed for a dignity-focused psycaster to sit and meditate. Reigning on a throne is a form of meditation that builds up psyfocus. For dignity psycasters, more impressive meditation thrones and thronerooms increase the rate of psyfocus gain.]],
+
     label = "eltex robe",
     altitudeLayer = "Building",
+
     thingCategories = {
     category = "Building",
+
      "Apparel",
     hasInteractionCell = true,
+
     },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 150,
+
       MarketValue = 600,
       WorkToBuild = 10000,
+
       MaxHitPoints = 100,
       Mass = 40,
+
       Mass = 0.5,
       Flammability = 1.0,
+
       ArmorRating_Sharp = 0.07,
       Beauty = 4,
+
       ArmorRating_Blunt = 0,
       Comfort = 0.75,
+
       ArmorRating_Heat = 0.04,
       MeditationFocusStrength = 0.15,
+
       Insulation_Cold = 15,
 +
      Insulation_Heat = 1,
 +
      EquipDelay = 2,
 
     },
 
     },
     thingClass = "Building_Throne",
+
     apparel = {
    pathCost = 30,
+
      bodyPartGroups = {
    fillPercent = 0.4,
+
        "Torso",
    building = {
+
        "Neck",
      isSittable = true,
+
        "Shoulders",
    },
+
        "Arms",
    comps = {
+
        "Legs",
       CompProperties_AssignableToPawn = {
+
      },
         drawAssignmentOverlay = true,
+
       layers = {
        compClass = "CompAssignableToPawn_Throne",
+
         "Shell",
 
       },
 
       },
       CompProperties_MeditationFocus = {
+
       defaultOutfitTags = {
         statDef = "MeditationFocusStrength",
+
         "Soldier",
        focusTypes = {
 
          "Dignified",
 
        },
 
        offsets = {
 
          FocusStrengthOffset_ThroneSatisfiesRequirements = {
 
            offset = 0.08,
 
          },
 
          FocusStrengthOffset_RoomImpressiveness = {
 
            curve = {
 
              points = {
 
                {0, -0.05},
 
                {30, 0.0},
 
                {60, 0.04},
 
                {100, 0.08},
 
                {170, 0.1},
 
              },
 
            },
 
          },
 
        },
 
 
       },
 
       },
    },
 
    researchPrerequisites = {
 
      "ComplexFurniture",
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:GrandThrone"] = {
+
   ["ThingDef:ApparelShirtRoyalTier2Base"] = {
 
     _ = {
 
     _ = {
       ParentName = "FurnitureWithQualityBase",
+
      Name = "ApparelShirtRoyalTier2Base",
       FileName = "Buildings_Furniture.xml",
+
       ParentName = "ApparelMakeableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "GrandThrone",
+
     recipeMaker = {
    label = "grand meditation throne",
+
      researchPrerequisite = "NobleApparel",
    description = [[A massive, ornate chair, designed for a dignity-focused psycaster to sit and meditate. Reigning on a throne is a form of meditation that builds up psyfocus. For dignity psycasters, more impressive meditation thrones and thronerooms increase the rate of psyfocus gain.]],
 
    altitudeLayer = "Building",
 
    category = "Building",
 
    size = {3, 2},
 
    hasInteractionCell = true,
 
    statBases = {
 
      MaxHitPoints = 350,
 
      WorkToBuild = 40000,
 
      Mass = 100,
 
      Flammability = 1.0,
 
      Beauty = 6,
 
      Comfort = 0.9,
 
      MeditationFocusStrength = 0.15,
 
 
     },
 
     },
     thingClass = "Building_Throne",
+
     thingCategories = {
    costList = {
+
       "ApparelNoble",
       Gold = 75,
 
 
     },
 
     },
     pathCost = 30,
+
     statBases = {
    fillPercent = 0.4,
+
      MaxHitPoints = 100,
    building = {
+
      WorkToMake = 6000,
       isSittable = true,
+
      Mass = 0.25,
       buildingSizeCategory = "Medium",
+
      StuffEffectMultiplierArmor = 0.2,
 +
      StuffEffectMultiplierInsulation_Cold = 0.22,
 +
       StuffEffectMultiplierInsulation_Heat = 0.10,
 +
       EquipDelay = 1.5,
 
     },
 
     },
     comps = {
+
     apparel = {
       CompProperties_AssignableToPawn = {
+
       bodyPartGroups = {
         drawAssignmentOverlay = true,
+
         "Torso",
         compClass = "CompAssignableToPawn_Throne",
+
         "Shoulders",
 +
      },
 +
      layers = {
 +
        "OnSkin",
 
       },
 
       },
       CompProperties_MeditationFocus = {
+
       tags = {
         statDef = "MeditationFocusStrength",
+
         "Royal",
         focusTypes = {
+
         "RoyalTier2",
          "Dignified",
 
        },
 
        offsets = {
 
          FocusStrengthOffset_ThroneSatisfiesRequirements = {
 
            offset = 0.08,
 
          },
 
          FocusStrengthOffset_RoomImpressiveness = {
 
            curve = {
 
              points = {
 
                {0, -0.05},
 
                {30, 0.00},
 
                {60, 0.04},
 
                {100, 0.08},
 
                {170, 0.10},
 
              },
 
            },
 
          },
 
        },
 
 
       },
 
       },
    },
 
    researchPrerequisites = {
 
      "ComplexFurniture",
 
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:Apparel_ShirtRuffle"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ApparelShirtRoyalTier2Base",
       Name = "MechBuildingBase",
+
       DefCategory = "ThingDef",
      Abstract = true,
+
       FileName = "Apparel_Royal.xml",
       FileName = "Buildings_Mech.xml",
 
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     altitudeLayer = "Building",
+
     defName = "Apparel_ShirtRuffle",
     pathCost = 50,
+
     label = "formal shirt",
    passability = "PassThroughOnly",
+
     description = [[A decorated formal shirt with buttons.]],
     fillPercent = 1.0,
+
     apparel = {
     terrainAffordanceNeeded = "Light",
+
       bodyPartGroups = {
    building = {
+
         "Arms",
       buildingTags = {
+
        "Neck",
         "MechClusterMember",
 
 
       },
 
       },
    },
 
    statBases = {
 
      Flammability = 0,
 
      Beauty = -20,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:UnstablePowerCell"] = {
+
   ["ThingDef:ApparelVestRoyalTier5Base"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechBuildingBase",
+
      Name = "ApparelVestRoyalTier5Base",
       FileName = "Buildings_Mech.xml",
+
       ParentName = "ApparelMakeableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "UnstablePowerCell",
+
     recipeMaker = {
    label = "unstable power cell",
+
      researchPrerequisite = "NobleApparel",
     description = [[A mechanoid power generation unit. The vanometric power core will run forever, extracting energy from quantum foam fluctuations.\n\nAn internal amplifier system makes it unstable. If damaged, the unit will generate a massive explosion.\n\nSome brave humans steal these from mechanoids for their own use as power plants or defensive bombs. However, an unintentional detonation can be devastating.]],
+
     },
    size = {1, 1},
 
    passability = "PassThroughOnly",
 
    fillPercent = 0.35,
 
    pathCost = 42,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 200,
+
       MaxHitPoints = 100,
       Flammability = 0,
+
       WorkToMake = 12000,
       Mass = 15,
+
       Mass = 0.75,
       MarketValue = 400,
+
       StuffEffectMultiplierArmor = 0.2,
       WorkToBuild = 300,
+
       StuffEffectMultiplierInsulation_Cold = 0.4,
    },
+
       StuffEffectMultiplierInsulation_Heat = 0.10,
    building = {
 
       buildingTags = {
 
        "MechClusterMemberGood",
 
      },
 
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsSpecial",
+
       "ApparelNoble",
 
     },
 
     },
     minifiedDef = "MinifiedThing",
+
     apparel = {
    comps = {
+
       bodyPartGroups = {
       CompProperties_Power = {
+
         "Torso",
         compClass = "CompPowerPlant",
+
      },
        basePowerConsumption = -400,
+
      layers = {
         transmitsPower = true,
+
         "Middle",
 
       },
 
       },
       CompProperties_Glower = {
+
       tags = {
         glowRadius = 4,
+
         "Royal",
        glowColor = {115, 200, 23, 0},
+
         "RoyalTier5",
      },
 
      CompProperties_Explosive = {
 
        wickTicks = 240,
 
        explosiveRadius = 9.9,
 
        explosiveDamageType = "Bomb",
 
         explodeOnKilled = true,
 
        startWickHitPointsPercent = 0.5,
 
        extraInspectStringKey = "ExplosionOnDamageWarning",
 
 
       },
 
       },
 
     },
 
     },
     costList = {
+
  },
       ComponentIndustrial = 2,
+
 
 +
  ["ThingDef:Apparel_Corset"] = {
 +
    _ = {
 +
      ParentName = "ApparelVestRoyalTier5Base",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Apparel_Royal.xml",
 +
      DLC = "Royalty",
 +
    },
 +
    defName = "Apparel_Corset",
 +
    label = "corset",
 +
    description = [[An embroidered corset with strong wire support to maintain a ladylike shape.]],
 +
     statBases = {
 +
       EquipDelay = 5,
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Gloomlight"] = {
+
   ["ThingDef:Apparel_VestRoyal"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechBuildingBase",
+
       ParentName = "ApparelVestRoyalTier5Base",
       FileName = "Buildings_Mech.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Gloomlight",
+
     defName = "Apparel_VestRoyal",
     label = "gloomlight",
+
     label = "formal vest",
     description = [[A self-powered mechanoid light. Gloomlights can be deconstructed to yield valuable resources, or used as lights - but only if they are captured intact. The internal micro power cell will flame out and ruin the materials if the unit takes too much damage.]],
+
     description = [[A vest embroidered with complex decorative designs.]],
    size = {1, 1},
 
    passability = "PassThroughOnly",
 
    pathCost = 30,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 50,
+
       EquipDelay = 1.5,
       Mass = 9,
+
    },
       MarketValue = 200,
+
  },
       WorkToBuild = 300,
+
 
 +
  ["ThingDef:Apparel_RobeRoyal"] = {
 +
    _ = {
 +
      ParentName = "ApparelMakeableBase",
 +
       DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 +
       DLC = "Royalty",
 +
    },
 +
    defName = "Apparel_RobeRoyal",
 +
    label = "prestige robe",
 +
    description = [[A long, flowing robe embroidered with complex decorative designs.]],
 +
    recipeMaker = {
 +
      researchPrerequisite = "RoyalApparel",
 
     },
 
     },
     building = {
+
     statBases = {
       buildingTags = {
+
       MaxHitPoints = 100,
        "MechClusterMemberLamp",
+
      WorkToMake = 20000,
       },
+
      Mass = 0.75,
 +
      StuffEffectMultiplierArmor = 0.2,
 +
      StuffEffectMultiplierInsulation_Cold = 0.80,
 +
      StuffEffectMultiplierInsulation_Heat = 0.25,
 +
       EquipDelay = 2,
 
     },
 
     },
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsSpecial",
+
       "ApparelNoble",
 
     },
 
     },
     minifiedDef = "MinifiedThing",
+
     apparel = {
    comps = {
+
      bodyPartGroups = {
       CompProperties_Glower = {
+
        "Torso",
         glowRadius = 3,
+
        "Neck",
         glowColor = {216, 219, 67, 0},
+
        "Shoulders",
 +
        "Arms",
 +
        "Legs",
 +
      },
 +
      layers = {
 +
        "Shell",
 +
       },
 +
      tags = {
 +
         "Royal",
 +
         "RoyalTier6",
 +
        "RoyalRobe",
 
       },
 
       },
    },
 
    leaveResourcesWhenKilled = false,
 
    costList = {
 
      Plasteel = 22,
 
      ComponentIndustrial = 1,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Defoliator"] = {
+
   ["ThingDef:ApparelHatRoyalTier2"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
      Name = "ApparelHatRoyalTier2",
       FileName = "Buildings_Mech.xml",
+
       ParentName = "NobleHatMakeableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Defoliator",
+
     statBases = {
    label = "defoliator",
+
      MaxHitPoints = 80,
    description = [[An area-denial device which annihilates nearby plants without affecting animals.\n\nIn planetary wars, these weapons are scattered across farmlands or jungles to deny the enemy food or cover. They're usually associated with orbital-drop mechanoid swarms.]],
+
      WorkToMake = 6000,
    size = {3, 3},
+
      Mass = 0.1,
    pathCost = 50,
+
       EquipDelay = 0.8,
    passability = "PassThroughOnly",
+
       StuffEffectMultiplierInsulation_Cold = 0.10,
    fillPercent = 0.5,
+
       StuffEffectMultiplierInsulation_Heat = 0.25,
    leaveResourcesWhenKilled = false,
 
    killedLeavings = {
 
       ChunkSlagSteel = 4,
 
       Steel = 60,
 
       ComponentIndustrial = 1,
 
      Plasteel = 10,
 
 
     },
 
     },
     terrainAffordanceNeeded = "Light",
+
     apparel = {
    building = {
+
      bodyPartGroups = {
       buildingTags = {
+
        "UpperHead",
         "MechClusterMember",
+
      },
         "MechClusterProblemCauser",
+
      layers = {
 +
        "Overhead",
 +
      },
 +
       tags = {
 +
         "Royal",
 +
         "RoyalTier2",
 
       },
 
       },
 
     },
 
     },
     statBases = {
+
     recipeMaker = {
       MaxHitPoints = 400,
+
       researchPrerequisite = "NobleApparel",
       Flammability = 0,
+
    },
       Beauty = -200,
+
  },
 +
 
 +
  ["ThingDef:Apparel_HatLadies"] = {
 +
    _ = {
 +
      ParentName = "ApparelHatRoyalTier2Fabric",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     comps = {
+
     defName = "Apparel_HatLadies",
      CompProperties_PlantHarmRadius = {
+
    label = "ladies hat",
        radiusPerDayCurve = {
+
    description = [[A decorative traditional hat with complex embroidery.]],
          points = {
+
  },
            "0  , 5",
+
 
            "1.5, 18",
+
  ["ThingDef:Apparel_HatTop"] = {
            "6  , 40",
+
    _ = {
            "20 , 100",
+
      ParentName = "ApparelHatRoyalTier2Fabric",
          },
+
       DefCategory = "ThingDef",
        },
+
       FileName = "Apparel_Royal.xml",
      },
+
       DLC = "Royalty",
      CompProperties_WakeUpDormant = {
 
        wakeUpSound = "MechanoidsWakeUp",
 
       },
 
       CompProperties_Initiatable = {},
 
       CompProperties_Explosive = {
 
        wickTicks = 240,
 
        explosiveRadius = 9,
 
        explosiveDamageType = "EMP",
 
        explodeOnKilled = true,
 
      },
 
 
     },
 
     },
 +
    defName = "Apparel_HatTop",
 +
    label = "top hat",
 +
    description = [[A tall, stiff, shiny hat.]],
 
   },
 
   },
  
   ["ThingDef:ActivatorCountdown"] = {
+
   ["ThingDef:Apparel_HatHood"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechBuildingBase",
+
       ParentName = "ApparelHatRoyalTier2Fabric",
       FileName = "Buildings_Mech_Activators.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ActivatorCountdown",
+
    recipeMaker = {
     label = "count-down activator",
+
      _ = {
     description = [[A timed mechanoid activation unit. After counting down, it will wake nearby dormant mechanoids and structures.]],
+
        IsNull = true,
    size = {1, 1},
+
        Inherit = false,
    fillPercent = 0.25,
+
      },
    pathCost = 30,
+
    },
 +
     defName = "Apparel_HatHood",
 +
     label = "hood",
 +
     description = [[A draped hood which covers the head and ears.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       WorkToMake = 1200,
      Flammability = 0,
 
      WorkToBuild = 300,
 
 
     },
 
     },
     building = {
+
     apparel = {
       buildingTags = {
+
       tags = {
         "MechClusterActivator",
+
        _ = {
 +
          Inherit = false,
 +
        },
 +
         "BestowerHood",
 
       },
 
       },
 
     },
 
     },
     comps = {
+
  },
       CompProperties_SendSignalOnCountdown = {
+
 
        signalTag = "CompCanBeDormant.WakeUp",
+
  ["ThingDef:Apparel_Coronet"] = {
        countdownCurveTicks = {
+
     _ = {
          points = {
+
       ParentName = "ApparelBase",
            {599, 0},
+
      DefCategory = "ThingDef",
            {600, 1},
+
      FileName = "Apparel_Royal.xml",
            {600000, 0.1},
+
      DLC = "Royalty",
            {1200000, 0},
+
    },
           },
+
    defName = "Apparel_Coronet",
 +
    label = "coronet",
 +
    description = [[A small crown-like piece of headwear made of metal.]],
 +
    smeltable = true,
 +
    thingCategories = {
 +
      "HeadgearNoble",
 +
    },
 +
    recipeMaker = {
 +
      workSpeedStat = "GeneralLaborSpeed",
 +
      workSkill = "Crafting",
 +
      effectWorking = "Smith",
 +
      soundWorking = "Recipe_Smith",
 +
      recipeUsers = {
 +
        "ElectricSmithy",
 +
        "FueledSmithy",
 +
      },
 +
      defaultIngredientFilter = {
 +
        categories = {
 +
          "Root",
 +
        },
 +
        disallowedThingDefs = {
 +
           "Jade",
 +
          "Uranium",
 
         },
 
         },
 
       },
 
       },
       CompProperties_WakeUpDormant = {
+
       researchPrerequisite = "RoyalApparel",
         wakeUpSound = "MechanoidsWakeUp",
+
    },
 +
    statBases = {
 +
      MaxHitPoints = 80,
 +
      WorkToMake = 8000,
 +
      Mass = 0.7,
 +
      EquipDelay = 0.8,
 +
    },
 +
    apparel = {
 +
      bodyPartGroups = {
 +
         "UpperHead",
 
       },
 
       },
       CompProperties_MoteEmitter = {
+
       layers = {
         mote = "Mote_ActivatorCountdownFlash",
+
         "Overhead",
        emissionInterval = 100,
 
        soundOnEmission = "ActivatorCountdown_Ambience",
 
        saveKeysPrefix = "flash",
 
 
       },
 
       },
       CompProperties_MoteEmitter = {
+
       tags = {
         mote = "Mote_ActivatorCountdownGlow",
+
         "Royal",
         maintain = true,
+
         "RoyalTier5",
        saveKeysPrefix = "glow",
 
 
       },
 
       },
      CompProperties_Glower = {
 
        glowRadius = 2,
 
        glowColor = {55, 145, 10, 0},
 
      },
 
    },
 
    costList = {
 
      Plasteel = 7,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ActivatorProximity"] = {
+
   ["ThingDef:Apparel_Crown"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechBuildingBase",
+
       ParentName = "ApparelBase",
       FileName = "Buildings_Mech_Activators.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ActivatorProximity",
+
     defName = "Apparel_Crown",
     label = "proximity activator",
+
     label = "crown",
     description = [[A proximity alarm for dormant mechanoids. If it detects a human-like threat nearby, it will awaken any nearby dormant mechanoids or structures.]],
+
     description = [[A crown of metal with an elaborate design.]],
     size = {1, 1},
+
     smeltable = true,
    fillPercent = 0.25,
+
     thingCategories = {
    pathCost = 30,
+
       "HeadgearNoble",
     statBases = {
 
       MaxHitPoints = 100,
 
      Flammability = 0,
 
      WorkToBuild = 300,
 
 
     },
 
     },
     building = {
+
     recipeMaker = {
       buildingTags = {
+
       workSpeedStat = "GeneralLaborSpeed",
        "MechClusterActivator",
+
       workSkill = "Crafting",
       },
+
      effectWorking = "Smith",
    },
+
      soundWorking = "Recipe_Smith",
    comps = {
+
       recipeUsers = {
       CompProperties_SendSignalOnPawnProximity = {
+
         "ElectricSmithy",
         onlyHumanlike = true,
+
         "FueledSmithy",
         radius = 12.9,
 
        enableAfterTicks = 1200,
 
        signalTag = "CompCanBeDormant.WakeUp",
 
 
       },
 
       },
       CompProperties_MoteEmitterProximityScan = {
+
       defaultIngredientFilter = {
         mote = "Mote_ProximityScannerRadius",
+
         categories = {
         emissionInterval = 90,
+
          "Root",
         maintain = true,
+
         },
        soundEmitting = "ActivatorProximity_Ambience",
+
         disallowedThingDefs = {
        saveKeysPrefix = "scan",
+
          "Jade",
         warmupPulseFadeInTime = 0.12,
+
          "Uranium",
        warmupPulseSolidTime = 0.15,
+
         },
        warmupPulseFadeOutTime = 0.6,
 
 
       },
 
       },
       CompProperties_MoteEmitter = {
+
       researchPrerequisite = "RoyalApparel",
        mote = "Mote_ActivatorProximityGlow",
+
    },
        maintain = true,
+
    statBases = {
         saveKeysPrefix = "glow",
+
      MaxHitPoints = 80,
 +
      WorkToMake = 12000,
 +
      Mass = 0.9,
 +
      EquipDelay = 0.8,
 +
    },
 +
    apparel = {
 +
      bodyPartGroups = {
 +
         "UpperHead",
 
       },
 
       },
       CompProperties_WakeUpDormant = {
+
       layers = {
         wakeUpSound = "MechanoidsWakeUp",
+
         "Overhead",
 
       },
 
       },
       CompProperties_Glower = {
+
       tags = {
         glowRadius = 2,
+
         "Royal",
         glowColor = {115, 35, 20, 0},
+
         "RoyalTier6",
 
       },
 
       },
    },
 
    costList = {
 
      Plasteel = 7,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ShieldGeneratorMortar"] = {
+
   ["ThingDef:Apparel_CrownStellic"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechBuildingBase",
+
       ParentName = "ApparelBase",
       FileName = "Buildings_Mech_ShieldGenerators.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ShieldGeneratorMortar",
+
     defName = "Apparel_CrownStellic",
     label = "mech high-shield",
+
     label = "stellic crown",
     description = [[A shielding device which projects a momentum repulsor field. Shots can go out, but not in.\n\nThis one is tuned to high angles, so it will block mortar rounds.\n\nThe unit can be temporarily disabled by EMP attacks, either by shocking the projector unit itself, or using EMP munitions on the shield.]],
+
     description = [[A grand crown of metal with an elaborate, overbearing design.]],
     size = {1, 1},
+
     smeltable = true,
 +
    thingCategories = {
 +
      "HeadgearNoble",
 +
    },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 200,
+
       MaxHitPoints = 80,
       Flammability = 0,
+
       Mass = 0.9,
       MarketValue = 1000,
+
       EquipDelay = 0.8,
      WorkToBuild = 300,
 
 
     },
 
     },
     comps = {
+
     apparel = {
       CompProperties_ProjectileInterceptor = {
+
       bodyPartGroups = {
         radius = 25,
+
         "UpperHead",
        interceptAirProjectiles = true,
+
      },
        color = "(0.6, 0.6, 0.6)",
+
      layers = {
         reactivateEffect = "MortarShieldGenerator_Reactivate",
+
         "Overhead",
        activeSound = "MortarShield_Ambience",
 
        disarmedByEmpForTicks = 1080,
 
        chargeIntervalTicks = 600000,
 
        chargeDurationTicks = 60000,
 
 
       },
 
       },
       CompProperties_WakeUpDormant = {
+
       tags = {
         wakeUpSound = "MechanoidsWakeUp",
+
         "Royal",
 +
        "RoyalTier7",
 
       },
 
       },
    },
 
    costList = {
 
      Plasteel = 7,
 
      BroadshieldCore = 1,
 
    },
 
    leaveResourcesWhenKilled = false,
 
    killedLeavings = {
 
      Plasteel = 7,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ShieldGeneratorBullets"] = {
+
   ["ThingDef:Apparel_Cape"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechBuildingBase",
+
       ParentName = "ApparelMakeableBase",
       FileName = "Buildings_Mech_ShieldGenerators.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ShieldGeneratorBullets",
+
     defName = "Apparel_Cape",
     label = "mech low-shield",
+
     label = "cape",
     description = [[A shielding device which projects a momentum repulsor field. Shots can go out, but not in.\n\nThis one is tuned to low angles, so it will block ground-level projectiles like bullets.\n\nThe unit can be temporarily disabled by EMP attacks, either by shocking the projector unit itself, or using EMP munitions on the shield.]],
+
     description = [[A long cape of elegant design. It hangs over one side of the torso.]],
     size = {1, 1},
+
     recipeMaker = {
 +
      researchPrerequisite = "NobleApparel",
 +
    },
 +
    thingCategories = {
 +
      "ApparelNoble",
 +
    },
 
     statBases = {
 
     statBases = {
 
       MaxHitPoints = 200,
 
       MaxHitPoints = 200,
       Flammability = 0,
+
       WorkToMake = 16000,
       MarketValue = 1000,
+
      Mass = 2,
       WorkToBuild = 300,
+
      StuffEffectMultiplierArmor = 0.3,
 +
       StuffEffectMultiplierInsulation_Cold = 0.60,
 +
      StuffEffectMultiplierInsulation_Heat = 0.85,
 +
       EquipDelay = 3,
 
     },
 
     },
     comps = {
+
     apparel = {
       CompProperties_ProjectileInterceptor = {
+
       bodyPartGroups = {
         radius = 20,
+
         "Torso",
         interceptGroundProjectiles = true,
+
         "Neck",
         color = "(0.4, 0.4, 0.4)",
+
         "Shoulders",
         reactivateEffect = "BulletShieldGenerator_Reactivate",
+
         "Arms",
         activeSound = "BulletShield_Ambience",
+
         "Legs",
        disarmedByEmpForTicks = 1080,
+
      },
        chargeIntervalTicks = 600000,
+
      layers = {
         chargeDurationTicks = 60000,
+
         "Shell",
 
       },
 
       },
       CompProperties_WakeUpDormant = {
+
       tags = {
         wakeUpSound = "MechanoidsWakeUp",
+
         "Cape",
 +
        "Royal",
 +
        "RoyalTier2",
 +
        "RoyalTier5",
 
       },
 
       },
    },
 
    costList = {
 
      Plasteel = 7,
 
      BroadshieldCore = 1,
 
    },
 
    leaveResourcesWhenKilled = false,
 
    killedLeavings = {
 
      Plasteel = 7,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MechCapsule"] = {
+
   ["ThingDef:Apparel_Beret"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ApparelMakeableBase",
       FileName = "Buildings_Mech_Spawners.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Royal.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "MechCapsule",
+
     defName = "Apparel_Beret",
     label = "mech capsule",
+
     label = "beret",
     description = [[A mechanoid storage and deployment capsule. It can contain a number of mechanoids, ready to emerge and fight upon being awakened.]],
+
     description = [[A soft, round, flat-crowned hat.]],
     altitudeLayer = "Building",
+
     thingCategories = {
    pathCost = 50,
+
      "HeadgearNoble",
    passability = "PassThroughOnly",
+
     },
    fillPercent = 1.0,
 
    terrainAffordanceNeeded = "Light",
 
     size = {2, 3},
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 180,
+
       MaxHitPoints = 80,
       Flammability = 0,
+
       WorkToMake = 4000,
       Beauty = -20,
+
      Mass = 0.1,
       WorkToBuild = 500,
+
       EquipDelay = 0.8,
 +
       StuffEffectMultiplierInsulation_Cold = 0.07,
 +
      StuffEffectMultiplierInsulation_Heat = 0.15,
 
     },
 
     },
     building = {
+
     apparel = {
       combatPower = 400,
+
       bodyPartGroups = {
       buildingTags = {
+
        "UpperHead",
         "MechClusterMember",
+
       },
         "MechClusterCombatThreat",
+
      layers = {
 +
         "Overhead",
 +
      },
 +
      tags = {
 +
        "Royal",
 +
        "RoyalTier2",
 +
         "RoyalTier3",
 
       },
 
       },
 
     },
 
     },
     costList = {
+
     recipeMaker = {
       ComponentIndustrial = 3,
+
       researchPrerequisite = "NobleApparel",
      Plasteel = 20,
 
 
     },
 
     },
     killedLeavings = {
+
  },
       ChunkSlagSteel = 1,
+
 
 +
  ["ThingDef:Apparel_ArmorReconPrestige"] = {
 +
     _ = {
 +
       ParentName = "ApparelArmorReconBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Apparel_Various.xml",
 +
      DLC = "Royalty",
 
     },
 
     },
     comps = {
+
     defName = "Apparel_ArmorReconPrestige",
      CompProperties_CanBeDormant = {
+
    label = "prestige recon armor",
        awakeStateLabelKey = "OpenedDaysAgo",
+
    description = [[A suit of light partially-powered armor, designed to permit quick movement. Plasteel-weave plates block attacks without compromising mobility, and neuro-memetic assistors in the lower body allow a human to wear the armor and still move easily.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
        dormantStateLabelKey = "DormantCompSealed",
+
    statBases = {
      },
+
      WorkToMake = 90000,
      CompProperties_WakeUpDormant = {
+
    },
        wakeUpSound = "MechanoidsWakeUp",
+
    costList = {
      },
+
      Gold = 9,
      CompProperties_PawnSpawnOnWakeup = {
+
      Plasteel = 100,
        points = 410,
+
    },
        spawnablePawnKinds = {
+
    apparel = {
          "Mech_Scyther",
+
       tags = {
          "Mech_Lancer",
+
         "PrestigeCombatGear",
          "Mech_Centipede",
 
          "Mech_Pikeman",
 
        },
 
        spawnSound = "CryptosleepCasket_Eject",
 
        lordJob = "LordJob_MechanoidsDefend",
 
        shouldJoinParentLord = true,
 
      },
 
       CompProperties_EmptyStateGraphic = {
 
         graphicData = {
 
          texPath = "Things/Building/Mech/MechCapsuleOpen",
 
          graphicClass = "Graphic_Single",
 
          drawSize = {2, 3},
 
        },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MechAssembler"] = {
+
   ["ThingDef:Apparel_ArmorHelmetReconPrestige"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechBuildingBase",
+
       ParentName = "ApparelArmorHelmetReconBase",
       FileName = "Buildings_Mech_Spawners.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "MechAssembler",
+
     defName = "Apparel_ArmorHelmetReconPrestige",
     label = "mech assembler",
+
     label = "prestige recon helmet",
     description = [[An automated mechanoid factory. It periodically assembles and deploys new mechanoids.]],
+
     description = [[A high-tech armored helmet with a built-in status computer and a protective plasteel-weave plate.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    size = {3, 3},
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 260,
+
       WorkToMake = 31500,
      Flammability = 0,
 
      WorkToBuild = 500,
 
    },
 
    building = {
 
      combatPower = 250,
 
      buildingTags = {
 
        "MechClusterCombatThreat",
 
      },
 
 
     },
 
     },
 
     costList = {
 
     costList = {
       ComponentIndustrial = 3,
+
       Gold = 4,
       Plasteel = 20,
+
       Plasteel = 40,
 
     },
 
     },
     killedLeavings = {
+
     apparel = {
       ChunkSlagSteel = 1,
+
       tags = {
    },
+
         "PrestigeCombatGear",
    comps = {
 
      CompProperties_CanBeDormant = {},
 
      CompProperties_WakeUpDormant = {
 
         wakeUpSound = "MechanoidsWakeUp",
 
      },
 
      CompProperties_SpawnerPawn = {
 
        spawnablePawnKinds = {
 
          "Mech_Scyther",
 
          "Mech_Lancer",
 
          "Mech_Centipede",
 
          "Mech_Pikeman",
 
        },
 
        chooseSingleTypeToSpawn = true,
 
        spawnMessageKey = "MessageMechanoidsAssembled",
 
        pawnsLeftToSpawnKey = "MessageMechanoidsLeftToAssemble",
 
        noPawnsLeftToSpawnKey = "ShutDown",
 
        nextSpawnInspectStringKey = "MechAssemblyCompleteIn",
 
        nextSpawnInspectStringKeyDormant = "MechAssemblyNextType",
 
        maxPawnsToSpawn = 4,
 
        spawnSound = "MechAssembler_Spawn",
 
        showNextSpawnInInspect = true,
 
        lordJob = "LordJob_MechanoidsDefend",
 
        pawnSpawnIntervalDays = 1,
 
        shouldJoinParentLord = true,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:MechDropBeacon"] = {
+
   ["ThingDef:Apparel_ArmorMarinePrestige"] = {
 
     _ = {
 
     _ = {
       ParentName = "MechBuildingBase",
+
       ParentName = "ApparelArmorPowerBase",
       FileName = "Buildings_Mech_Spawners.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "MechDropBeacon",
+
     defName = "Apparel_ArmorMarinePrestige",
     label = "mech drop beacon",
+
     label = "prestige marine armor",
     description = [[A mechanoid reinforcement drop beacon. When activated, it calls in a group of mechs to land in drop pods nearby.]],
+
     description = [[A suit of powered armor. Layered plasteel-weave plates are very effective at stopping attacks, with few vulnerable joint sections. Neuro-memetic assistors allow a human to wear the armor and still move easily.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    size = {1, 1},
 
    pathCost = 30,
 
    fillPercent = 0.25,
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       WorkToMake = 120000,
      Flammability = 0,
 
 
     },
 
     },
     building = {
+
     costList = {
       combatPower = 400,
+
       Gold = 10,
       buildingTags = {
+
       Plasteel = 120,
        "MechClusterCombatThreat",
 
      },
 
 
     },
 
     },
     comps = {
+
     apparel = {
       CompProperties_CanBeDormant = {
+
       tags = {
         awakeStateLabelKey = "DormantCompExpired",
+
         "PrestigeCombatGear",
        dormantStateLabelKey = "DormantCompBeacon",
 
      },
 
      CompProperties_WakeUpDormant = {
 
        wakeUpSound = "MechanoidsWakeUp",
 
 
       },
 
       },
      CompProperties_PawnSpawnOnWakeup = {
 
        points = { ["<"]=350, [">"]=450 },
 
        dropInPods = true,
 
        pawnSpawnRadius = { ["<"]=10, [">"]=30 },
 
        spawnEffecter = "MechDropBeaconActivated",
 
        activatedMessageKey = "MessageMechanoidsReinforcementsDrop",
 
        spawnablePawnKinds = {
 
          "Mech_Scyther",
 
          "Mech_Lancer",
 
          "Mech_Centipede",
 
          "Mech_Pikeman",
 
        },
 
        lordJob = "LordJob_MechanoidsDefend",
 
        shouldJoinParentLord = true,
 
      },
 
    },
 
    costList = {
 
      Plasteel = 7,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Turret_AutoMiniTurret"] = {
+
   ["ThingDef:Apparel_ArmorMarineHelmetPrestige"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ApparelArmorHelmetPowerBase",
       FileName = "Buildings_Mech_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Turret_AutoMiniTurret",
+
     defName = "Apparel_ArmorMarineHelmetPrestige",
     label = "mini-slugger turret",
+
     label = "prestige marine helmet",
     description = [[A self-powered defense turret mounted with a weak but long-ranged slug-thrower. May explode when damaged.]],
+
     description = [[A marine armor helmet, with a built-in status computer and layered plasteel-weave plates.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    thingClass = "Building_TurretGun",
 
    altitudeLayer = "Building",
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 100,
+
       WorkToMake = 42000,
      Flammability = 0,
 
      Mass = 10,
 
      ShootingAccuracyTurret = 0.96,
 
      Beauty = -20,
 
 
     },
 
     },
     comps = {
+
     costList = {
       CompProperties_Explosive = {
+
       Gold = 5,
        wickTicks = 240,
+
       Plasteel = 50,
        explosiveRadius = 3.9,
 
        explosiveDamageType = "Bomb",
 
        chanceNeverExplodeFromDamage = 0.5,
 
       },
 
      CompProperties_CanBeDormant = {},
 
      CompProperties_WakeUpDormant = {
 
        wakeUpSound = "MechanoidsWakeUp",
 
      },
 
 
     },
 
     },
     killedLeavings = {
+
     apparel = {
       ChunkSlagSteel = 1,
+
       tags = {
    },
+
         "PrestigeCombatGear",
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    fillPercent = 0.4,
 
    terrainAffordanceNeeded = "Light",
 
    building = {
 
      combatPower = 45,
 
      buildingTags = {
 
        "MechClusterMember",
 
         "MechClusterCombatThreat",
 
 
       },
 
       },
      turretGunDef = "Gun_MiniTurretMech",
 
      turretBurstCooldownTime = 2.5,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Gun_MiniTurretMech"] = {
+
   ["ThingDef:ApparelArmorCataphractBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseWeaponTurret",
+
      Name = "ApparelArmorCataphractBase",
       FileName = "Buildings_Mech_Turrets.xml",
+
       ParentName = "ArmorMachineableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Gun_MiniTurretMech",
+
     recipeMaker = {
    label = "mini-slugger",
+
      unfinishedThingDef = "UnfinishedTechArmor",
     description = [[An automatic turret-mounted slug-thrower.]],
+
      researchPrerequisite = "CataphractArmor",
 +
      skillRequirements = {
 +
        Crafting = 8,
 +
      },
 +
      recipeUsers = {
 +
        _ = {
 +
          Inherit = false,
 +
        },
 +
        "FabricationBench",
 +
      },
 +
     },
 
     statBases = {
 
     statBases = {
       AccuracyTouch = 0.80,
+
       WorkToMake = 75000,
       AccuracyShort = 0.55,
+
      MaxHitPoints = 400,
       AccuracyMedium = 0.35,
+
      Mass = 15,
       AccuracyLong = 0.1,
+
      Flammability = 0.4,
       RangedWeapon_Cooldown = 5.1,
+
       ArmorRating_Sharp = 1.2,
       DeteriorationRate = 0,
+
       ArmorRating_Blunt = 0.5,
       Mass = 5,
+
       ArmorRating_Heat = 0.6,
       Flammability = 0,
+
      Insulation_Cold = 36,
 +
      Insulation_Heat = 12,
 +
      EquipDelay = 17,
 +
    },
 +
    tradeTags = {
 +
       "HiTechArmor",
 +
    },
 +
    thingCategories = {
 +
      "ApparelArmor",
 +
    },
 +
    costList = {
 +
       ComponentSpacer = 6,
 +
       Plasteel = 150,
 +
       Uranium = 50,
 
     },
 
     },
     verbs = {
+
     apparel = {
       {
+
       bodyPartGroups = {
         defaultProjectile = "Bullet_MiniSlug",
+
         "Torso",
         range = 45.9,
+
        "Neck",
         burstShotCount = 1,
+
        "Shoulders",
 +
        "Arms",
 +
         "Legs",
 +
      },
 +
      layers = {
 +
        "Middle",
 +
         "Shell",
 +
      },
 +
      defaultOutfitTags = {
 +
        "Soldier",
 
       },
 
       },
 +
    },
 +
    comps = {
 +
      CompProperties_BiocodableApparel = {},
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Bullet_MiniSlug"] = {
+
   ["ThingDef:ApparelArmorHelmetCataphractBase"] = {
 
     _ = {
 
     _ = {
       ParentName = "BaseBullet",
+
      Name = "ApparelArmorHelmetCataphractBase",
       FileName = "Buildings_Mech_Turrets.xml",
+
       ParentName = "ArmorHelmetMakeableBase",
 +
      Abstract = true,
 +
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Bullet_MiniSlug",
+
     recipeMaker = {
    label = "mini-slug",
+
      unfinishedThingDef = "UnfinishedTechArmor",
  },
+
      researchPrerequisite = "CataphractArmor",
 
+
      skillRequirements = {
  ["ThingDef:Turret_AutoChargeBlaster"] = {
+
        Crafting = 8,
    _ = {
+
      },
      ParentName = "BuildingBase",
+
      recipeUsers = {
       FileName = "Buildings_Mech_Turrets.xml",
+
        _ = {
       DLC = "Royalty",
+
          Inherit = false,
 +
        },
 +
        "FabricationBench",
 +
       },
 +
    },
 +
    tradeTags = {
 +
       "HiTechArmor",
 
     },
 
     },
    defName = "Turret_AutoChargeBlaster",
 
    label = "auto charge turret",
 
    description = [[A self-powered turret mounted with a charge blaster. It cannot sense targets at very short ranges.]],
 
    thingClass = "Building_TurretGun",
 
    altitudeLayer = "Building",
 
    size = {2, 2},
 
 
     statBases = {
 
     statBases = {
 +
      WorkToMake = 26250,
 
       MaxHitPoints = 180,
 
       MaxHitPoints = 180,
       Flammability = 0,
+
      Mass = 2,
       Mass = 100,
+
       Flammability = 0.4,
       ShootingAccuracyTurret = 0.96,
+
      ArmorRating_Sharp = 1.2,
       Beauty = -20,
+
       ArmorRating_Blunt = 0.5,
 +
       ArmorRating_Heat = 0.6,
 +
      Insulation_Cold = 4,
 +
      Insulation_Heat = 2,
 +
       EquipDelay = 6,
 
     },
 
     },
     comps = {
+
     costList = {
       CompProperties_Explosive = {
+
       ComponentSpacer = 1,
        wickTicks = 240,
+
      Plasteel = 50,
        explosiveRadius = 5.9,
+
    },
         explosiveDamageType = "Bomb",
+
    apparel = {
         chanceNeverExplodeFromDamage = 0.5,
+
      bodyPartGroups = {
 +
         "FullHead",
 +
      },
 +
      layers = {
 +
         "Overhead",
 
       },
 
       },
       CompProperties_CanBeDormant = {},
+
       defaultOutfitTags = {
      CompProperties_WakeUpDormant = {
+
         "Soldier",
         wakeUpSound = "MechanoidsWakeUp",
 
 
       },
 
       },
 
     },
 
     },
     passability = "PassThroughOnly",
+
     comps = {
     pathCost = 50,
+
      CompProperties_BiocodableApparel = {},
    fillPercent = 0.5,
+
    },
    killedLeavings = {
+
  },
       ChunkSlagSteel = 1,
+
 
 +
  ["ThingDef:Apparel_ArmorCataphract"] = {
 +
     _ = {
 +
      ParentName = "ApparelArmorCataphractBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Apparel_Various.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     terrainAffordanceNeeded = "Heavy",
+
     defName = "Apparel_ArmorCataphract",
     building = {
+
     label = "cataphract armor",
      combatPower = 150,
+
    description = [[A suit of heavy powered armor, built for maximum protection at the cost of mobility. Heavy layered plasteel-weave plates with solid ablative coatings stop all but the most well-aimed or powerful attacks. Neuro-memetic assistors prevent the suit's massive weight from immobilizing the wearer entirely, but the suit is still quite cumbersome.\n\nArmor like this is used by imperial cataphracts to break heavily fortified positions in frontal assaults when no other option is available.]],
      buildingTags = {
+
  },
        "MechClusterMember",
+
 
        "MechClusterCombatThreat",
+
  ["ThingDef:Apparel_ArmorHelmetCataphract"] = {
       },
+
    _ = {
      turretGunDef = "Gun_ChargeBlasterHeavyTurret",
+
      ParentName = "ApparelArmorHelmetCataphractBase",
       turretBurstCooldownTime = 5.5,
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
 +
    defName = "Apparel_ArmorHelmetCataphract",
 +
    label = "cataphract helmet",
 +
    description = [[A heavily-armored high-tech helmet, with a solid plasteel-weave shell and indirect visual system for non-frontal view angles. It protects against all but the most powerful or luckily-aimed shots.\n\nArmor like this is used by imperial cataphracts to break heavily fortified positions in frontal assaults when no other option is available.]],
 
   },
 
   },
  
   ["ThingDef:Gun_ChargeBlasterHeavyTurret"] = {
+
   ["ThingDef:Apparel_ArmorCataphractPrestige"] = {
 
     _ = {
 
     _ = {
       ParentName = "Gun_ChargeBlasterHeavyBase",
+
       ParentName = "ApparelArmorCataphractBase",
       FileName = "Buildings_Mech_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Gun_ChargeBlasterHeavyTurret",
+
     defName = "Apparel_ArmorCataphractPrestige",
     label = "light charge blaster",
+
     label = "prestige cataphract armor",
     description = [[A pulse-charged rapid-fire blaster for area fire.]],
+
     description = [[A suit of heavy powered armor, built for maximum protection at the cost of mobility. Heavy layered plasteel-weave plates with solid ablative coatings stop all but the most well-aimed or powerful attacks. Neuro-memetic assistors prevent the suit's massive weight from immobilizing the wearer entirely, but the suit is still quite cumbersome.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
 
     statBases = {
 
     statBases = {
       AccuracyLong = 0.08,
+
       WorkToMake = 150000,
 +
    },
 +
    costList = {
 +
      Gold = 18,
 +
      Plasteel = 190,
 
     },
 
     },
     verbs = {
+
     apparel = {
       {
+
       tags = {
         defaultProjectile = "Bullet_ChargeBlasterHeavy",
+
         "PrestigeCombatGear",
        warmupTime = 1.25,
 
        minRange = 3.9,
 
        range = 45.9,
 
        ticksBetweenBurstShots = 7,
 
        burstShotCount = 9,
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Turret_AutoInferno"] = {
+
   ["ThingDef:Apparel_ArmorHelmetCataphractPrestige"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ApparelArmorHelmetCataphractBase",
       FileName = "Buildings_Mech_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Turret_AutoInferno",
+
     defName = "Apparel_ArmorHelmetCataphractPrestige",
     label = "auto inferno turret",
+
     label = "prestige cataphract helmet",
     description = [[A self-powered turret mounted with an inferno cannon. It cannot sense targets at very short ranges.]],
+
     description = [[A heavily-armored high-tech helmet, with a solid plasteel-weave shell and indirect visual system for non-frontal view angles. It protects against all but the most powerful or luckily-aimed shots.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    thingClass = "Building_TurretGun",
 
    altitudeLayer = "Building",
 
    size = {2, 2},
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 180,
+
       WorkToMake = 52500,
      Flammability = 0,
 
      Mass = 100,
 
      ShootingAccuracyTurret = 0.96,
 
      Beauty = -20,
 
 
     },
 
     },
     comps = {
+
     costList = {
       CompProperties_Explosive = {
+
       Gold = 9,
        wickTicks = 240,
+
       Plasteel = 75,
        explosiveRadius = 5.9,
 
        explosiveDamageType = "Bomb",
 
        chanceNeverExplodeFromDamage = 0.5,
 
      },
 
      CompProperties_CanBeDormant = {},
 
      CompProperties_WakeUpDormant = {
 
        wakeUpSound = "MechanoidsWakeUp",
 
      },
 
    },
 
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    fillPercent = 0.5,
 
    killedLeavings = {
 
       ChunkSlagSteel = 1,
 
 
     },
 
     },
     terrainAffordanceNeeded = "Heavy",
+
     apparel = {
    building = {
+
       tags = {
       buildingTags = {
+
         "PrestigeCombatGear",
         "MechClusterMember",
 
        "MechClusterCombatThreat",
 
 
       },
 
       },
      combatPower = 190,
 
      turretGunDef = "Gun_InfernoCannonTurret",
 
      turretBurstCooldownTime = 17.0,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Gun_InfernoCannonTurret"] = {
+
   ["ThingDef:Apparel_ArmorLocust"] = {
 
     _ = {
 
     _ = {
       ParentName = "Gun_InfernoCannonBase",
+
       ParentName = "ApparelArmorReconBase",
       FileName = "Buildings_Mech_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Gun_InfernoCannonTurret",
+
     defName = "Apparel_ArmorLocust",
 +
    label = "locust armor",
 +
    description = [[A variant of recon armor with an integrated burst rocket for short-ranged flight. Locust armor is slightly less protective than standard recon armor. Each jump consumes a burst of fuel, so the armor must be reloaded after several uses.\n\nUnlike most ultratech military units, locusts train primarily with melee weapons. They usually avoid static shootouts, preferring to jump straight into enemy fortifications and fight hand-to-hand. They do poorly in static defense or confined quarters, but excel in mixed cover or shipcracking operations.]],
 
     statBases = {
 
     statBases = {
       AccuracyLong = 0.66,
+
       ArmorRating_Sharp = 0.87,
 +
      ArmorRating_Blunt = 0.35,
 +
      ArmorRating_Heat = 0.41,
 +
      JumpRange = 23.9,
 +
    },
 +
    recipeMaker = {
 +
      researchPrerequisites = {
 +
        "JumpPack",
 +
        "ReconArmor",
 +
      },
 +
    },
 +
    costList = {
 +
      Plasteel = 120,
 +
      ComponentIndustrial = 3,
 +
      Chemfuel = 100,
 +
    },
 +
    comps = {
 +
      CompProperties_Reloadable = {
 +
        maxCharges = 5,
 +
        ammoDef = "Chemfuel",
 +
        ammoCountPerCharge = 20,
 +
        baseReloadTicks = 60,
 +
        soundReload = "Standard_Reload",
 +
        hotKey = "Misc4",
 +
        chargeNoun = "jump",
 +
        displayGizmoWhileUndrafted = false,
 +
      },
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_InfernoCannon",
+
         label = "jump",
         forcedMissRadius = 4.6,
+
         violent = false,
         warmupTime = 1.25,
+
        onlyManualCast = true,
         minRange = 3.9,
+
         warmupTime = 0.5,
         range = 45.9,
+
         requireLineOfSight = true,
         burstShotCount = 1,
+
         targetParams = {
 +
          canTargetLocations = true,
 +
          canTargetPawns = false,
 +
          canTargetBuildings = false,
 +
         },
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Turret_AutoMortar"] = {
+
   ["ThingDef:Apparel_ArmorMarineGrenadier"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ApparelArmorPowerBase",
       FileName = "Buildings_Mech_Turrets.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Turret_AutoMortar",
+
     defName = "Apparel_ArmorMarineGrenadier",
     label = "auto mortar",
+
     label = "grenadier armor",
     description = [[A self-powered, self-loading, automatic mortar. It can hit targets at any distance, over walls, but is quite inaccurate.]],
+
     description = [[A variant of marine armor with an integrated frag launcher on the shoulder. The armor is slightly less protective than standard marine armor. The launcher can only hold a limited amount of ammo and must be reloaded after use.\n\nGrenadiers usually specialize in breaching buildings or internal ship bulkheads. While not effective at very long range, grenadiers can be surprisingly deadly in confined quarters.]],
     thingClass = "Building_TurretGun",
+
     costList = {
    altitudeLayer = "Building",
+
       Steel = 75,
    size = {2, 2},
+
       ComponentIndustrial = 4,
    passability = "PassThroughOnly",
 
    pathCost = 50,
 
    fillPercent = 0.4,
 
    killedLeavings = {
 
      ChunkSlagSteel = 1,
 
       Steel = 60,
 
       Plasteel = 10,
 
    },
 
    terrainAffordanceNeeded = "Heavy",
 
    comps = {
 
      CompProperties_Forbiddable = {},
 
      CompProperties_Explosive = {
 
        wickTicks = 240,
 
        explosiveRadius = 4.9,
 
        explosiveDamageType = "Bomb",
 
      },
 
      CompProperties_Initiatable = {},
 
      CompProperties_WakeUpDormant = {
 
        wakeUpSound = "MechanoidsWakeUp",
 
      },
 
 
     },
 
     },
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 260,
+
       ArmorRating_Sharp = 1.01,
       Flammability = 0,
+
       ArmorRating_Blunt = 0.40,
       Mass = 30,
+
       ArmorRating_Heat = 0.49,
      ShootingAccuracyTurret = 0.9,
 
      Beauty = -20,
 
 
     },
 
     },
     building = {
+
     comps = {
       buildingTags = {
+
       CompProperties_Reloadable = {
         "MechClusterMember",
+
         maxCharges = 2,
         "MechClusterProblemCauser",
+
        ammoDef = "Steel",
 +
        ammoCountPerCharge = 25,
 +
        baseReloadTicks = 60,
 +
        soundReload = "Standard_Reload",
 +
         hotKey = "Misc4",
 +
        chargeNoun = "grenade",
 +
        displayGizmoWhileUndrafted = false,
 
       },
 
       },
      combatPower = 220,
 
      turretGunDef = "Artillery_AutoMortar",
 
      turretBurstWarmupTime = 4.0,
 
      turretBurstCooldownTime = 80.0,
 
      turretInitialCooldownTime = 120,
 
    },
 
  },
 
 
  ["ThingDef:Artillery_AutoMortar"] = {
 
    _ = {
 
      ParentName = "BaseArtilleryWeapon",
 
      FileName = "Buildings_Mech_Turrets.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Artillery_AutoMortar",
 
    label = "auto-mortar",
 
    weaponTags = {
 
      "Artillery_BaseDestroyer",
 
 
     },
 
     },
 
     verbs = {
 
     verbs = {
 
       {
 
       {
         defaultProjectile = "Bullet_Shell_HighExplosive",
+
         label = "launch frag grenade",
         forcedMissRadius = 13,
+
         onlyManualCast = true,
         warmupTime = 4,
+
         range = 12.9,
         minRange = 29.9,
+
         forcedMissRadius = 1.9,
         range = 500,
+
         warmupTime = 1.5,
        burstShotCount = 1,
+
         noiseRadius = 4,
         requireLineOfSight = false,
 
 
         targetParams = {
 
         targetParams = {
 
           canTargetLocations = true,
 
           canTargetLocations = true,
 
         },
 
         },
 +
        defaultProjectile = "Proj_GrenadierGrenade",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:ShipLandingBeacon"] = {
+
   ["ThingDef:Proj_GrenadierGrenade"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "BaseFragGrenadeProjectile",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "ShipLandingBeacon",
+
     defName = "Proj_GrenadierGrenade",
     label = "ship landing beacon",
+
     label = "frag grenade",
    description = [[Marks the corner of a landing area. Four of these placed at the corners of a clear area (minimum 9x9) create a landing pad. Spacecraft usually land on pads if possible.]],
+
  },
     altitudeLayer = "Building",
+
 
    minifiedDef = "MinifiedThing",
+
  ["ThingDef:Apparel_ArmorCataphractPhoenix"] = {
    thingCategories = {
+
     _ = {
       "BuildingsMisc",
+
      ParentName = "ApparelArmorCataphractBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Apparel_Various.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
 +
    defName = "Apparel_ArmorCataphractPhoenix",
 +
    label = "phoenix armor",
 +
    description = [[A variant of cataphract armor with a shoulder-mounted flamebolt launcher. This armor is slightly less protective than standard cataphract armor against normal damage, but is especially flame-resistant. The flamebolt launcher has very limited ammo and must be reloaded after use.\n\nPhoenixes specialize in clearing out very confined spaces full of enemies, as in underground or shipborne operations. They can absorb hits while moving down a corridor, fill rooms with flame, and emerge from the smoke unscathed.]],
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 75,
+
       Flammability = 0.1,
       WorkToBuild = 800,
+
      ArmorRating_Sharp = 1.15,
       Flammability = 0.5,
+
       ArmorRating_Blunt = 0.45,
       Mass = 5,
+
       ArmorRating_Heat = 0.75,
 +
       Insulation_Heat = 100,
 
     },
 
     },
    fillPercent = 0.15,
 
 
     costList = {
 
     costList = {
       Steel = 40,
+
       Steel = 75,
       ComponentIndustrial = 1,
+
       ComponentIndustrial = 4,
 +
      Chemfuel = 40,
 
     },
 
     },
 
     comps = {
 
     comps = {
       CompProperties_Power = {
+
       CompProperties_Reloadable = {
         compClass = "CompPowerTrader",
+
         maxCharges = 1,
         basePowerConsumption = 50,
+
        ammoDef = "Chemfuel",
 +
        ammoCountPerCharge = 40,
 +
        baseReloadTicks = 60,
 +
        soundReload = "Standard_Reload",
 +
        hotKey = "Misc4",
 +
        chargeNoun = "incendiary",
 +
         displayGizmoWhileUndrafted = false,
 
       },
 
       },
       CompProperties_Glower = {
+
    },
         glowRadius = 2,
+
    verbs = {
         glowColor = "(164, 255, 138, 0)",
+
       {
      },
+
         label = "launch incendiary",
      CompProperties_ShipLandingBeacon = {
+
         onlyManualCast = true,
         edgeLengthRange = { ["<"]=9, [">"]=25 },
+
        range = 14.9,
 +
        forcedMissRadius = 1.9,
 +
        warmupTime = 1.5,
 +
        noiseRadius = 4,
 +
         targetParams = {
 +
          canTargetLocations = true,
 +
        },
 +
        defaultProjectile = "Proj_GrenadePhoenixFire",
 
       },
 
       },
      CompProperties_Flickable = {},
 
      CompProperties_Breakdownable = {},
 
 
     },
 
     },
     leaveResourcesWhenKilled = false,
+
  },
    pathCost = 14,
+
 
    researchPrerequisites = {
+
  ["ThingDef:Proj_GrenadePhoenixFire"] = {
       "Electricity",
+
     _ = {
 +
      ParentName = "BaseIncendiaryProjectile",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Apparel_Various.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
 +
    defName = "Proj_GrenadePhoenixFire",
 +
    label = "incendiary grenade",
 
   },
 
   },
  
   ["ThingDef:MeditationSpot"] = {
+
   ["ThingDef:Apparel_Gunlink"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "ApparelArmorHelmetReconBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Apparel_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "MeditationSpot",
+
     defName = "Apparel_Gunlink",
     label = "meditation spot",
+
     label = "gunlink",
     description = [[Designates a spot for meditation. Psycasters can meditate here to gain psyfocus. If a focus object like a sculpture is nearby, the psycaster will be able to focus on it to boost their psyfocus gain. However, different people are able to use different focus objects.]],
+
     description = [[A targeting computer that helps the user aim. It detects and analyzes targets using infrared, visible, and millimeter-wave electromagnetic sensors. An onboard targeting computer displays firing solutions on a retinal projection. It offers no protection at all.]],
    altitudeLayer = "FloorEmplacement",
 
 
     statBases = {
 
     statBases = {
       WorkToBuild = 0,
+
       ArmorRating_Sharp = 0,
 +
      ArmorRating_Blunt = 0,
 +
      ArmorRating_Heat = 0,
 +
      Insulation_Cold = 0,
 +
      Insulation_Heat = 0,
 
     },
 
     },
     useHitPoints = false,
+
     recipeMaker = {
    passability = "Standable",
+
       researchPrerequisite = "Gunlink",
    building = {
 
       sowTag = "SupportPlantsOnly",
 
      artificialForMeditationPurposes = false,
 
 
     },
 
     },
     comps = {
+
     costList = {
       CompProperties_UsesMeditationFocus = {},
+
       ComponentSpacer = 1,
       CompProperties_AssignableToPawn = {
+
      Plasteel = 10,
         drawUnownedAssignmentOverlay = false,
+
    },
         compClass = "CompAssignableToPawn_MeditationSpot",
+
    apparel = {
 +
      bodyPartGroups = {
 +
        _ = {
 +
          Inherit = false,
 +
        },
 +
        "UpperHead",
 +
      },
 +
       tags = {
 +
         _ = {
 +
          Inherit = false,
 +
         },
 +
        "Gunlink",
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:ShuttleSkyfallerBase"] = {
 
     _ = {
 
     _ = {
       Name = "NatureShrineBase",
+
       Name = "ShuttleSkyfallerBase",
       ParentName = "BuildingBase",
+
       ParentName = "SkyfallerBase",
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
      FileName = "Ethereal_Skyfallers.xml",
 +
      DLC = "Royalty",
 +
    },
 +
    size = {5, 3},
 +
  },
 +
 
 +
  ["ThingDef:ShuttleIncoming"] = {
 +
    _ = {
 +
      ParentName = "ShuttleSkyfallerBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Ethereal_Skyfallers.xml",
 +
      DLC = "Royalty",
 +
    },
 +
    defName = "ShuttleIncoming",
 +
    label = "shuttle (incoming)",
 +
    thingClass = "ShuttleIncoming",
 +
  },
 +
 
 +
  ["ThingDef:ShuttleLeaving"] = {
 +
    _ = {
 +
      ParentName = "ShuttleSkyfallerBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Ethereal_Skyfallers.xml",
 +
      DLC = "Royalty",
 +
    },
 +
    defName = "ShuttleLeaving",
 +
    label = "shuttle (leaving)",
 +
    thingClass = "DropPodLeaving",
 +
  },
 +
 
 +
  ["ThingDef:ShuttleCrashing"] = {
 +
    _ = {
 +
      ParentName = "ShuttleSkyfallerBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "Ethereal_Skyfallers.xml",
 +
      DLC = "Royalty",
 +
    },
 +
    defName = "ShuttleCrashing",
 +
    label = "shuttle (crashing)",
 +
    thingClass = "ShuttleIncoming",
 +
    size = {5, 3},
 +
  },
 +
 
 +
  ["ThingDef:MonumentMarker"] = {
 +
    _ = {
 +
      ParentName = "EtherealThingBase",
 +
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     altitudeLayer = "Building",
+
     defName = "MonumentMarker",
     useHitPoints = true,
+
     label = "monument marker",
     passability = "PassThroughOnly",
+
    description = [[Marks the place where you intend to build a monument. Once placed, this cannot be moved.]],
 +
     thingClass = "MonumentMarker",
 
     thingCategories = {
 
     thingCategories = {
       "BuildingsMisc",
+
       "BuildingsSpecial",
 
     },
 
     },
 +
    altitudeLayer = "Building",
 
     statBases = {
 
     statBases = {
       Flammability = 1.0,
+
       Mass = 0,
    },
 
    building = {
 
      artificialForMeditationPurposes = false,
 
 
     },
 
     },
 
     minifiedDef = "MinifiedThing",
 
     minifiedDef = "MinifiedThing",
 
   },
 
   },
  
   ["ThingDef:NatureShrine_Small"] = {
+
   ["ThingDef:BulletShieldPsychic"] = {
 
     _ = {
 
     _ = {
       ParentName = "NatureShrineBase",
+
       ParentName = "EtherealThingBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "NatureShrine_Small",
+
     defName = "BulletShieldPsychic",
     label = "small nature shrine",
+
     label = "skipshield",
     description = [[A small shrine for honoring spiritual beings. Tribal psycasters can focus on this shrine while meditating to increase psyfocus gain. Nature shrines lose their power if they are close to artificial structures, so they are always built in nature. Since they look like natural objects to unobservant outsiders, raiders will generally ignore them.]],
+
     thingClass = "ThingWithComps",
    size = {2, 2},
 
    terrainAffordanceNeeded = "Medium",
 
 
     comps = {
 
     comps = {
       CompProperties_MeditationFocus = {
+
       CompProperties_ProjectileInterceptor = {
         statDef = "MeditationFocusStrength",
+
         radius = 4.9,
         focusTypes = {
+
         interceptGroundProjectiles = true,
          "Natural",
+
         interceptNonHostileProjectiles = true,
         },
+
         interceptOutgoingProjectiles = true,
         offsets = {
+
        color = "(0.4, 0.4, 0.4)",
          FocusStrengthOffset_ArtificialBuildings = {
+
        minAlpha = 0.2,
            radius = 34.9,
+
        interceptEffect = "Interceptor_BlockedProjectilePsychic",
            curve = {
+
      },
              points = {
+
      CompProperties_DestroyAfterDelay = {
                {0, 0.0},
+
         delayTicks = 900,
                {5, -0.06},
 
                {10, -0.12},
 
                {50, -0.22},
 
              },
 
            },
 
          },
 
          FocusStrengthOffset_BuildingDefs = {
 
            defs = {
 
              AnimusStone = 0.02,
 
            },
 
            radius = 9.9,
 
            maxBuildings = 4,
 
            explanationKey = "MeditationFocusPerAnimusStone",
 
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAbstract",
 
          },
 
         },
 
 
       },
 
       },
    },
 
    statBases = {
 
      MaxHitPoints = 150,
 
      WorkToBuild = 15000,
 
      Beauty = 10,
 
      MeditationFocusStrength = 0.22,
 
      Mass = 25,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:NatureShrine_Large"] = {
+
   ["ThingDef:Flashstorm"] = {
 
     _ = {
 
     _ = {
       ParentName = "NatureShrineBase",
+
       ParentName = "EtherealThingBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "NatureShrine_Large",
+
     defName = "Flashstorm",
     label = "large nature shrine",
+
     label = "flashstorm",
     description = [[A large shrine for honoring spiritual beings. Tribal psycasters can focus on this shrine while meditating to increase psyfocus gain. Nature shrines lose their power if they are close to artificial structures, so they are always built in nature. Since they look like natural objects to unobservant outsiders, raiders will generally ignore them.]],
+
     thingClass = "ThingWithComps",
    size = {3, 3},
+
     altitudeLayer = "MoteLow",
     terrainAffordanceNeeded = "Heavy",
 
 
     comps = {
 
     comps = {
       CompProperties_MeditationFocus = {
+
       CompProperties_DestroyAfterDelay = {
         statDef = "MeditationFocusStrength",
+
         delayTicks = 10000,
        focusTypes = {
+
      },
          "Natural",
+
      CompProperties_FadesInOut = {
        },
+
        fadeInSecs = 2.0,
        offsets = {
+
        fadeOutSecs = 2.0,
          FocusStrengthOffset_ArtificialBuildings = {
+
        solidTimeSecs = 160,
            radius = 34.9,
 
            curve = {
 
              points = {
 
                {0, 0.0},
 
                {5, -0.06},
 
                {10, -0.13},
 
                {50, -0.30},
 
              },
 
            },
 
          },
 
          FocusStrengthOffset_BuildingDefs = {
 
            defs = {
 
              AnimusStone = 0.02,
 
            },
 
            radius = 9.9,
 
            maxBuildings = 4,
 
            explanationKey = "MeditationFocusPerAnimusStone",
 
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAbstract",
 
          },
 
        },
 
 
       },
 
       },
    },
 
    statBases = {
 
      MaxHitPoints = 300,
 
      WorkToBuild = 30000,
 
      MeditationFocusStrength = 0.30,
 
      Beauty = 20,
 
      Mass = 50,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:AnimusStone"] = {
+
   ["ThingDef:SolarPinhole"] = {
 
     _ = {
 
     _ = {
       ParentName = "BuildingBase",
+
       ParentName = "EtherealThingBase",
       FileName = "Buildings_Misc.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "AnimusStone",
+
     defName = "SolarPinhole",
     label = "animus stone",
+
     label = "solar pinhole",
     description = [[An ancient jade stone marked with sacred tribal carvings. Tribal psycasters can focus on these stones during meditation to increase their psyfocus gain more than a typical nature shrine.\n\nDifferent tribal cultures tell different stories about these stones, but most agree that they were crafted by an ancient world spirit during a time of great power. Since they look like natural objects to unobservant outsiders, raiders will generally ignore them.]],
+
     thingClass = "ThingWithComps",
    altitudeLayer = "Building",
+
     category = "PsychicEmitter",
     minifiedDef = "MinifiedThing",
+
     altitudeLayer = "MoteOverheadLow",
     thingCategories = {
 
      "BuildingsMisc",
 
    },
 
    fillPercent = 0.35,
 
    tradeability = "Buyable",
 
    statBases = {
 
      MarketValue = 5000,
 
      MaxHitPoints = 100,
 
      Mass = 5,
 
      MeditationFocusStrength = 0.34,
 
    },
 
    building = {
 
      artificialForMeditationPurposes = false,
 
    },
 
 
     comps = {
 
     comps = {
       CompProperties_MeditationFocus = {
+
       CompProperties_Glower = {
         statDef = "MeditationFocusStrength",
+
         glowRadius = 15,
        focusTypes = {
+
         glowColor = {217, 217, 208, 0},
          "Natural",
+
      },
         },
+
      CompProperties_HeatPusher = {
        offsets = {
+
        compClass = "CompHeatPusherPowered",
          FocusStrengthOffset_ArtificialBuildings = {
+
        heatPerSecond = 10,
            radius = 34.9,
+
        heatPushMaxTemperature = 20,
            curve = {
+
      },
              points = {
+
      CompProperties_DestroyAfterDelay = {
                {0, 0.0},
+
         delayTicks = 300000,
                {5, -0.08},
 
                {10, -0.16},
 
                {50, -0.34},
 
              },
 
            },
 
          },
 
          FocusStrengthOffset_BuildingDefs = {
 
            defs = {
 
              AnimusStone = 0.02,
 
            },
 
            radius = 9.9,
 
            maxBuildings = 4,
 
            explanationKey = "MeditationFocusPerAnimusStone",
 
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAbstract",
 
          },
 
         },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:UnfinishedMusicalInstrument"] = {
+
   ["ThingDef:PawnJumper"] = {
 
     _ = {
 
     _ = {
       ParentName = "UnfinishedBase",
+
       ParentName = "PawnFlyerBase",
       FileName = "Buildings_MusicalInstruments.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "Ethereal_Various.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "UnfinishedMusicalInstrument",
+
     defName = "PawnJumper",
     label = "unfinished musical instrument",
+
     thingClass = "PawnJumper",
    description = [[An unfinished musical instrument.]],
 
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:BaseWeapon_Bladelink"] = {
 
     _ = {
 
     _ = {
       Name = "MusicalInstrumentBase",
+
       Name = "BaseWeapon_Bladelink",
       ParentName = "BuildingBase",
+
       ParentName = "BaseWeapon",
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Buildings_MusicalInstruments.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeBladelink.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     passability = "PassThroughOnly",
+
     weaponTags = {
    pathCost = 50,
+
       "Bladelink",
    minifiedDef = "MinifiedThing",
 
    altitudeLayer = "Building",
 
    thingClass = "Building_MusicalInstrument",
 
    hasInteractionCell = true,
 
    thingCategories = {
 
       "BuildingsJoy",
 
 
     },
 
     },
     tradeTags = {
+
     comps = {
       "MusicalInstrument",
+
       {
 +
        compClass = "CompQuality",
 +
      },
 +
      CompProperties_BladelinkWeapon = {},
 +
      CompProperties_GeneratedName = {
 +
        nameMaker = "NamerWeaponBladelink",
 +
      },
 
     },
 
     },
     recipeMaker = {
+
     smeltable = true,
       workSpeedStat = "GeneralLaborSpeed",
+
    thingCategories = {
       workSkill = "Crafting",
+
       "WeaponsMeleeBladelink",
       effectWorking = "Smith",
+
    },
       soundWorking = "Recipe_Sculpt",
+
  },
       unfinishedThingDef = "UnfinishedMusicalInstrument",
+
 
 +
  ["ThingDef:MeleeWeapon_MonoSwordBladelink"] = {
 +
    _ = {
 +
       ParentName = "BaseWeapon_Bladelink",
 +
       DefCategory = "ThingDef",
 +
       FileName = "MeleeBladelink.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     building = {
+
     defName = "MeleeWeapon_MonoSwordBladelink",
       joyKind = "HighCulture",
+
    label = "persona monosword",
 +
    description = [[A crystal-metallic longsword infused with mechanites that maintain a mono-molecular cutting edge. It cuts through even thick armor with ease, while its light weight and onboard persona permit extremely fast attacks.
 +
\nThis weapon has an onboard persona that can bond to only a single person. The wielder and intelligent weapon can synchronize their reflexes and attack with frightening speed, accuracy, and creativity. Once bonded to a wielder, the weapon's persona will refuse to be wielded by anyone else.]],
 +
    statBases = {
 +
       MarketValue = 3000,
 +
      Mass = 2,
 
     },
 
     },
     comps = {
+
     tools = {
 
       {
 
       {
         compClass = "CompQuality",
+
         label = "handle",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 12,
 +
        cooldownTime = 1.6,
 
       },
 
       },
 
       {
 
       {
         compClass = "CompGatherSpot",
+
         label = "point",
 +
        capacities = {
 +
          "Stab",
 +
        },
 +
        power = 27,
 +
        cooldownTime = 1.6,
 
       },
 
       },
       CompProperties_ThrownMoteEmitter = {
+
       {
         mote = "Mote_Music",
+
         label = "edge",
         offsetMin = {-0.6, 0, 0.3},
+
         capacities = {
        offsetMax = {0.6, 0, 0.5},
+
          "Cut",
        emissionInterval = 100,
+
         },
        scale = { ["<"]=0.6, [">"]=0.9 },
+
         power = 27,
         rotationRate = { ["<"]=-15, [">"]=15 },
+
         cooldownTime = 1.6,
         velocityX = { ["<"]=0.3, [">"]=0.7 },
 
         velocityY = { ["<"]=0.7, [">"]=1.0 },
 
 
       },
 
       },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Harp"] = {
+
   ["ThingDef:MeleeWeapon_ZeusHammerBladelink"] = {
 
     _ = {
 
     _ = {
       ParentName = "MusicalInstrumentBase",
+
       ParentName = "BaseWeapon_Bladelink",
       FileName = "Buildings_MusicalInstruments.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeBladelink.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Harp",
+
     defName = "MeleeWeapon_ZeusHammerBladelink",
     label = "harp",
+
     label = "persona zeushammer",
     description = [[A simple stationary musical instrument. A row of strings are stretched over a frame and plucked directly by a musician's fingers.\n\nIt can be crafted at a crafting spot or smithy.]],
+
     description = [[A warhammer with an embedded EMP capacitor. Upon impact, it blasts the target with an EMP burst in addition to the physical damage.
    size = {1, 1},
+
\nThis weapon has an onboard persona that can bond to only a single person. The wielder and intelligent weapon can synchronize their reflexes and attack with frightening speed, accuracy, and creativity. Once bonded to a wielder, the weapon's persona will refuse to be wielded by anyone else.]],
    pathCost = 30,
 
    researchPrerequisites = {
 
      "Harp",
 
    },
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 70,
+
       MarketValue = 3000,
      WorkToMake = 18000,
+
       Mass = 2,
       Mass = 4,
 
      JoyGainFactor = 1,
 
      Beauty = 10,
 
 
     },
 
     },
     recipeMaker = {
+
     tools = {
       skillRequirements = {
+
       {
         Crafting = 3,
+
        label = "handle",
       },
+
        capacities = {
       researchPrerequisite = "Harp",
+
          "Poke",
      recipeUsers = {
+
         },
        "CraftingSpot",
+
        power = 15,
         "FueledSmithy",
+
        cooldownTime = 1.6,
         "ElectricSmithy",
+
       },
 +
       {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
         },
 +
        power = 31,
 +
        cooldownTime = 2.2,
 +
        extraMeleeDamages = {
 +
          {
 +
            def = "EMP",
 +
            amount = 9,
 +
          },
 +
         },
 
       },
 
       },
    },
 
    costList = {
 
      WoodLog = 150,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Harpsichord"] = {
+
   ["ThingDef:MeleeWeapon_PlasmaSwordBladelink"] = {
 
     _ = {
 
     _ = {
       ParentName = "MusicalInstrumentBase",
+
       ParentName = "BaseWeapon_Bladelink",
       FileName = "Buildings_MusicalInstruments.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeBladelink.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Harpsichord",
+
     defName = "MeleeWeapon_PlasmaSwordBladelink",
     label = "harpsichord",
+
     label = "persona plasmasword",
     description = [[A complex stationary musical instrument crafted at a smithy. A musician touches a row of keys on the front of the instrument. Each key is attached to an internal mechanism which plucks one of a row of strings stretched over a wooden frame. While it permits more complex composition than the harp, its wooden construction and plucking mechanism limit its output volume and expressiveness.]],
+
     description = [[A metal-cored sword with a cutting edge. Plasma is wrapped around the core, held in place by an energy field. Targets are both sliced by the metal core, as well as burned or ignited by the plasma sheath.
    size = {2, 3},
+
\nThis weapon has an onboard persona that can bond to only a single person. The wielder and intelligent weapon can synchronize their reflexes and attack with frightening speed, accuracy, and creativity. Once bonded to a wielder, the weapon's persona will refuse to be wielded by anyone else.]],
    researchPrerequisites = {
 
      "Harpsichord",
 
    },
 
 
     statBases = {
 
     statBases = {
       MaxHitPoints = 150,
+
       MarketValue = 3000,
      WorkToMake = 32000,
+
       Mass = 2,
       Mass = 30,
 
      JoyGainFactor = 1,
 
      Beauty = 14,
 
 
     },
 
     },
     recipeMaker = {
+
     tools = {
       skillRequirements = {
+
       {
         Crafting = 5,
+
        label = "handle",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 12,
 +
        cooldownTime = 1.6,
 +
      },
 +
      {
 +
        label = "point",
 +
        capacities = {
 +
          "Stab",
 +
        },
 +
        power = 23,
 +
        cooldownTime = 2,
 +
         extraMeleeDamages = {
 +
          {
 +
            def = "Flame",
 +
            amount = 10,
 +
            chance = 0.7,
 +
          },
 +
        },
 
       },
 
       },
       researchPrerequisite = "Harpsichord",
+
       {
      recipeUsers = {
+
        label = "edge",
        "FueledSmithy",
+
        capacities = {
         "ElectricSmithy",
+
          "Cut",
 +
         },
 +
        power = 23,
 +
        cooldownTime = 2,
 +
        extraMeleeDamages = {
 +
          {
 +
            def = "Flame",
 +
            amount = 10,
 +
            chance = 0.7,
 +
          },
 +
        },
 
       },
 
       },
    },
 
    costList = {
 
      WoodLog = 250,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:UnfinishedPiano"] = {
+
   ["ThingDef:MeleeWeapon_Axe"] = {
 
     _ = {
 
     _ = {
       ParentName = "UnfinishedBase",
+
       ParentName = "BaseMeleeWeapon_Blunt_Quality",
       FileName = "Buildings_MusicalInstruments.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeMedieval.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "UnfinishedPiano",
+
     defName = "MeleeWeapon_Axe",
     label = "unfinished piano",
+
     label = "axe",
     description = [[An unfinished piano.]],
+
     description = [[An advanced form of one of mankind's oldest weapons, the war axe is a short blade attached to a shaft. The simple, ancient design concentrates cutting power generated from strong overhand swings.]],
 +
    statBases = {
 +
      WorkToMake = 7000,
 +
      Mass = 1.5,
 +
    },
 +
    recipeMaker = {
 +
      researchPrerequisite = "Smithing",
 +
      skillRequirements = {
 +
        Crafting = 3,
 +
      },
 +
    },
 +
    weaponTags = {
 +
      "MedievalMeleeDecent",
 +
    },
 +
    tools = {
 +
      {
 +
        label = "handle",
 +
        capacities = {
 +
          "Poke",
 +
        },
 +
        power = 9,
 +
        cooldownTime = 2,
 +
      },
 +
      {
 +
        label = "edge",
 +
        capacities = {
 +
          "Cut",
 +
        },
 +
        power = 15,
 +
        cooldownTime = 2,
 +
      },
 +
    },
 
   },
 
   },
  
   ["ThingDef:Piano"] = {
+
   ["ThingDef:MeleeWeapon_Warhammer"] = {
 
     _ = {
 
     _ = {
       ParentName = "MusicalInstrumentBase",
+
       ParentName = "BaseMeleeWeapon_Blunt_Quality",
       FileName = "Buildings_MusicalInstruments.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeMedieval.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Piano",
+
     defName = "MeleeWeapon_Warhammer",
     label = "piano",
+
     label = "warhammer",
     description = [[An advanced stationary musical instrument. It is played by pressing a row of keys, which causes hammers to strike internal strings stretched over a steel frame. The hammer mechanism and high-tension strings allow the musician to play both very soft and very loud, making the piano a very expressive instrument.\n\nIt can be crafted at a smithy.]],
+
     description = [[A long polearm topped with a brutal hammer. The powerful blunt impacts can pulverize an enemy's insides, even through armor.]],
    size = {3, 3},
 
    researchPrerequisites = {
 
      "Piano",
 
    },
 
 
     statBases = {
 
     statBases = {
      MaxHitPoints = 180,
+
       WorkToMake = 18000,
       WorkToMake = 50000,
+
       Mass = 5,
       Mass = 60,
 
      JoyGainFactor = 1,
 
      Beauty = 18,
 
 
     },
 
     },
 
     recipeMaker = {
 
     recipeMaker = {
 +
      researchPrerequisite = "LongBlades",
 
       skillRequirements = {
 
       skillRequirements = {
         Crafting = 6,
+
         Crafting = 5,
 +
      },
 +
    },
 +
    weaponTags = {
 +
      "MedievalMeleeDecent",
 +
    },
 +
    tools = {
 +
      {
 +
        label = "handle",
 +
        capacities = {
 +
          "Poke",
 +
        },
 +
        power = 11,
 +
        cooldownTime = 2.6,
 
       },
 
       },
       researchPrerequisite = "Piano",
+
       {
      recipeUsers = {
+
        label = "head",
        "FueledSmithy",
+
        capacities = {
         "ElectricSmithy",
+
          "Blunt",
 +
         },
 +
        power = 20,
 +
        cooldownTime = 2.6,
 
       },
 
       },
      unfinishedThingDef = "UnfinishedPiano",
 
    },
 
    costList = {
 
      WoodLog = 220,
 
      Steel = 120,
 
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:BroadshieldCore"] = {
+
   ["ThingDef:MeleeWeaponUltratech"] = {
 
     _ = {
 
     _ = {
       ParentName = "ResourceBase",
+
      Abstract = true,
       FileName = "Items_Exotic.xml",
+
      Name = "MeleeWeaponUltratech",
 +
       ParentName = "BaseWeapon",
 +
      DefCategory = "ThingDef",
 +
       FileName = "MeleeUltratech.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
    defName = "BroadshieldCore",
+
     statBases = {
    label = "shield core",
+
       MarketValue = 2000,
    description = [[A piece of ultratechnology that can generate a momentum-repulsor shield. This can't do anything on its own, but it is necessary to craft some other usable shield items.\n\nShield cores can be obtained by deconstructing mechanoid shield generators.]],
 
    stackLimit = 1,
 
    useHitPoints = true,
 
     statBases = {
 
       MarketValue = 350,
 
      MaxHitPoints = 100,
 
 
       Mass = 2,
 
       Mass = 2,
      Flammability = 0.2,
 
 
     },
 
     },
 +
    comps = {
 +
      {
 +
        compClass = "CompQuality",
 +
      },
 +
      CompProperties_Art = {
 +
        nameMaker = "NamerArtWeaponMelee",
 +
        descriptionMaker = "ArtDescription_WeaponMelee",
 +
        minQualityForArtistic = "Excellent",
 +
      },
 +
      CompProperties_BiocodableWeapon = {},
 +
    },
 +
    smeltable = true,
 
     thingCategories = {
 
     thingCategories = {
       "Items",
+
       "WeaponsMelee",
 
     },
 
     },
     tradeTags = {
+
     weaponTags = {
       "ExoticMisc",
+
       "UltratechMelee",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_PackJump"] = {
+
   ["ThingDef:MeleeWeapon_MonoSword"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelBase",
+
       ParentName = "MeleeWeaponUltratech",
       FileName = "Apparel_Packs.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeUltratech.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     defName = "Apparel_PackJump",
+
     defName = "MeleeWeapon_MonoSword",
     label = "jump pack",
+
     label = "monosword",
     description = [[A single-person burst rocket for short-ranged flight. With its integrated harness and guidance assistant, the jump pack allows anyone to leap long distances at high speed, even over obstacles. It must be recharged after several uses.\n\nSome spacer tech militaries have melee combat specialists who use jump packs to bypass obstacles and rapidly close with the enemy.]],
+
     description = [[A crystal-metallic longsword infused with mechanites that maintain a mono-molecular cutting edge. It cuts through even thick armor with ease, and its light weight permits fast attacks.]],
     comps = {
+
     tools = {
       CompProperties_Reloadable = {
+
       {
         maxCharges = 5,
+
         label = "handle",
        ammoDef = "Chemfuel",
+
         capacities = {
         ammoCountPerCharge = 20,
+
          "Blunt",
        baseReloadTicks = 60,
+
         },
        soundReload = "Standard_Reload",
+
         power = 12,
         hotKey = "Misc4",
+
         cooldownTime = 1.6,
         chargeNoun = "jump",
 
         displayGizmoWhileUndrafted = false,
 
 
       },
 
       },
    },
 
    verbs = {
 
 
       {
 
       {
         label = "jump",
+
         label = "point",
         violent = false,
+
         capacities = {
        onlyManualCast = true,
+
           "Stab",
        warmupTime = 0.5,
 
        requireLineOfSight = true,
 
        targetParams = {
 
           canTargetLocations = true,
 
          canTargetPawns = false,
 
          canTargetBuildings = false,
 
 
         },
 
         },
 +
        power = 25,
 +
        cooldownTime = 2,
 
       },
 
       },
    },
+
      {
    recipeMaker = {
+
        label = "edge",
      unfinishedThingDef = "UnfinishedPack",
+
        capacities = {
      researchPrerequisite = "JumpPack",
+
          "Cut",
      recipeUsers = {
+
        },
        "TableMachining",
+
        power = 25,
      },
+
         cooldownTime = 2,
      useIngredientsForColor = false,
 
      workSpeedStat = "GeneralLaborSpeed",
 
      workSkill = "Crafting",
 
      effectWorking = "Smith",
 
      soundWorking = "Recipe_Machining",
 
      skillRequirements = {
 
         Crafting = 4,
 
 
       },
 
       },
 
     },
 
     },
     costList = {
+
  },
       Plasteel = 30,
+
 
       ComponentIndustrial = 3,
+
  ["ThingDef:MeleeWeapon_Zeushammer"] = {
       Chemfuel = 100,
+
     _ = {
 +
       ParentName = "MeleeWeaponUltratech",
 +
      DefCategory = "ThingDef",
 +
       FileName = "MeleeUltratech.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     statBases = {
+
     defName = "MeleeWeapon_Zeushammer",
       WorkToMake = 14000,
+
    label = "zeushammer",
      Mass = 3,
+
    description = [[A warhammer with an embedded EMP capacitor. Upon impact, it blasts the target with an EMP burst in addition to the physical damage.]],
      Flammability = 0.4,
+
    tools = {
      EquipDelay = 2,
+
       {
       JumpRange = 23.9,
+
        label = "handle",
    },
+
        capacities = {
    thingCategories = {
+
          "Poke",
      "ApparelUtility",
+
        },
    },
+
        power = 15,
    tradeTags = {
+
        cooldownTime = 2,
      "ExoticMisc",
+
       },
 +
      {
 +
        label = "head",
 +
        capacities = {
 +
          "Blunt",
 +
        },
 +
        power = 31,
 +
        cooldownTime = 3,
 +
        extraMeleeDamages = {
 +
          {
 +
            def = "EMP",
 +
            amount = 9,
 +
          },
 +
        },
 +
      },
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_PackBroadshield"] = {
+
   ["ThingDef:MeleeWeapon_PlasmaSword"] = {
 
     _ = {
 
     _ = {
       ParentName = "ApparelNoQualityBase",
+
       ParentName = "MeleeWeaponUltratech",
       FileName = "Apparel_Packs.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "MeleeUltratech.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
    thingClass = "BroadshieldPack",
+
     defName = "MeleeWeapon_PlasmaSword",
     defName = "Apparel_PackBroadshield",
+
     label = "plasmasword",
     label = "low-shield pack",
+
     description = [[A metal-cored sword with a cutting edge. Plasma is wrapped around the core, held in place by an energy field. Targets are both sliced by the metal core, as well as burned or ignited by the plasma sheath.]],
     description = [[A single-use man-portable low-shield projector. Deployed on the ground, it generates a circular shield that allows bullets out but not in. The unit is designed to last only a short time before burning out.\n\nMany ultratech combat squads owe their lives to a shield pack deployed at just the right time.]],
+
     tools = {
     comps = {
+
       {
       CompProperties_Reloadable = {
+
         label = "handle",
         maxCharges = 1,
+
         capacities = {
         destroyOnEmpty = true,
+
          "Blunt",
        soundReload = "Standard_Reload",
+
         },
         hotKey = "Misc4",
+
         power = 12,
         chargeNoun = "shield",
+
         cooldownTime = 2,
         displayGizmoWhileUndrafted = false,
 
 
       },
 
       },
    },
 
    verbs = {
 
 
       {
 
       {
         label = "deploy low-shield",
+
         label = "point",
         violent = false,
+
         capacities = {
         targetable = false,
+
          "Stab",
         nonInterruptingSelfCast = true,
+
         },
         onlyManualCast = true,
+
        power = 21,
 +
         cooldownTime = 2.6,
 +
         extraMeleeDamages = {
 +
          {
 +
            def = "Flame",
 +
            amount = 10,
 +
            chance = 0.5,
 +
          },
 +
        },
 
       },
 
       },
    },
+
      {
    recipeMaker = {
+
        label = "edge",
      unfinishedThingDef = "UnfinishedPack",
+
        capacities = {
      researchPrerequisite = "ShieldBelt",
+
          "Cut",
      recipeUsers = {
+
        },
        "TableMachining",
+
        power = 21,
      },
+
        cooldownTime = 2.6,
      workSpeedStat = "GeneralLaborSpeed",
+
        extraMeleeDamages = {
      workSkill = "Crafting",
+
          {
      effectWorking = "Smith",
+
            def = "Flame",
      soundWorking = "Recipe_Machining",
+
            amount = 10,
      skillRequirements = {
+
            chance = 0.5,
         Crafting = 4,
+
          },
 +
         },
 
       },
 
       },
 
     },
 
     },
     costList = {
+
  },
       BroadshieldCore = 1,
+
 
       ComponentIndustrial = 1,
+
  ["ThingDef:OrbitalTargeterMechCluster"] = {
 +
     _ = {
 +
       ParentName = "OrbitalUtilityBase",
 +
      DefCategory = "ThingDef",
 +
      FileName = "OrbitalWeapons.xml",
 +
       DLC = "Royalty",
 
     },
 
     },
     statBases = {
+
     defName = "OrbitalTargeterMechCluster",
      WorkToMake = 14000,
+
    label = "orbital mech cluster targeter",
       Mass = 3,
+
    description = [[An ancient military targeting device. It signals an orbital platform to drop a mechanoid combat cluster at the targeted point. The cluster may include any mixture of mechanoids and mech defense structures.
      Flammability = 0.4,
+
\nThough they may have once had some allegiance to the ancient army that created this unit, any mechs dropped now will indiscriminately attack any human they see - including the one that summoned them.
       EquipDelay = 2,
+
\nThe unit only contains one usage code, so it can only be used once.]],
 +
    verbs = {
 +
       {
 +
        warmupTime = 3,
 +
        range = 44.9,
 +
        burstShotCount = 1,
 +
        onlyManualCast = true,
 +
        targetParams = {
 +
          canTargetLocations = true,
 +
        },
 +
       },
 
     },
 
     },
     thingCategories = {
+
     comps = {
       "ApparelUtility",
+
       CompProperties_Reloadable = {
    },
+
        maxCharges = 1,
    tradeTags = {
+
        destroyOnEmpty = true,
       "ExoticMisc",
+
        hotKey = "Misc4",
 +
        chargeNoun = "charge",
 +
        displayGizmoWhileUndrafted = false,
 +
       },
 
     },
 
     },
 
   },
 
   },
   ThingDef = {
+
 
 +
   ["ThingDef:BasePsychicWeaponMelee"] = {
 
     _ = {
 
     _ = {
      ParentName = "ApparelBase",
+
       Name = "BasePsychicWeaponMelee",
       Name = "PsychicApparelBase",
 
 
       Abstract = true,
 
       Abstract = true,
       FileName = "Apparel_Psychic.xml",
+
      ParentName = "BaseWeapon",
 +
      DefCategory = "ThingDef",
 +
       FileName = "PsychicWeapons.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
     tradeTags = {
+
     comps = {
       "PsychicApparel",
+
      {
 +
        compClass = "CompQuality",
 +
      },
 +
      CompProperties_BiocodableWeapon = {},
 +
    },
 +
    thingCategories = {
 +
       "WeaponsMelee",
 
     },
 
     },
 
   },
 
   },
  
   ["ThingDef:Apparel_PsyfocusHelmet"] = {
+
   ["ThingDef:MeleeWeapon_PsyfocusStaff"] = {
 
     _ = {
 
     _ = {
       ParentName = "PsychicApparelBase",
+
       ParentName = "BasePsychicWeaponMelee",
       FileName = "Apparel_Psychic.xml",
+
      DefCategory = "ThingDef",
 +
       FileName = "PsychicWeapons.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
 
     },
 
     },
    defName = "Apparel_PsyfocusHelmet",
+
     defName = "MeleeWeapon_PsyfocusStaff",
    label = "eltex helmet",
+
     label = "eltex staff",
    description = [[A lightweight helmet designed for psychic focusing. While it provides little physical protection, its special materials enhance the wearer's psychic sensitivity and dissipate neural heat.]],
+
     description = [[An ultratech staff threaded with psychic focusing materials. While it is a solid melee weapon, its main purpose is to enhance the wielder's psychic sensitivity and neural heat dissipation, allowing more use of psychic powers.]],
    thingCategories = {
+
     tradeTags = {
      "Headgear",
+
       "PsychicWeapon",
    },
 
    statBases = {
 
      MarketValue = 500,
 
      MaxHitPoints = 80,
 
      Mass = 0.8,
 
      ArmorRating_Sharp = 0.09,
 
      ArmorRating_Blunt = 0.09,
 
      ArmorRating_Heat = 0.27,
 
      Insulation_Cold = 4,
 
      Insulation_Heat = 1,
 
      EquipDelay = 1.5,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_EltexSkullcap"] = {
 
    _ = {
 
      ParentName = "PsychicApparelBase",
 
      FileName = "Apparel_Psychic.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_EltexSkullcap",
 
    label = "eltex skullcap",
 
    description = [[A tight skullcap designed for psychic focusing. It provides no physical protection, but its special materials enhance the wearer's psychic sensitivity and dissipate neural heat.]],
 
    thingCategories = {
 
      "Headgear",
 
    },
 
    statBases = {
 
      MarketValue = 500,
 
      MaxHitPoints = 80,
 
      Mass = 0.8,
 
      EquipDelay = 1.5,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_PsyfocusShirt"] = {
 
    _ = {
 
      ParentName = "PsychicApparelBase",
 
      FileName = "Apparel_Psychic.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_PsyfocusShirt",
 
    label = "eltex shirt",
 
    description = [[A shirt embedded with special psychic focusing materials. These enhance psychic sensitivity and help dissipate neural heat.]],
 
    thingCategories = {
 
      "Apparel",
 
    },
 
    statBases = {
 
      MarketValue = 400,
 
      MaxHitPoints = 100,
 
      Mass = 0.25,
 
      ArmorRating_Sharp = 0.07,
 
      ArmorRating_Blunt = 0,
 
      ArmorRating_Heat = 0.04,
 
      Insulation_Cold = 5,
 
      Insulation_Heat = 1,
 
      EquipDelay = 1.5,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_PsyfocusVest"] = {
 
    _ = {
 
      ParentName = "PsychicApparelBase",
 
      FileName = "Apparel_Psychic.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_PsyfocusVest",
 
    label = "eltex vest",
 
    description = [[A thin vest embedded with special psychic focusing materials. These enhance psychic sensitivity and help dissipate neural heat.]],
 
    thingCategories = {
 
      "Apparel",
 
    },
 
    statBases = {
 
      MarketValue = 500,
 
      MaxHitPoints = 100,
 
      Mass = 0.5,
 
      ArmorRating_Sharp = 0.07,
 
      ArmorRating_Blunt = 0,
 
      ArmorRating_Heat = 0.04,
 
      Insulation_Cold = 6,
 
      Insulation_Heat = 1,
 
      EquipDelay = 2,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_PsyfocusRobe"] = {
 
    _ = {
 
      ParentName = "PsychicApparelBase",
 
      FileName = "Apparel_Psychic.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_PsyfocusRobe",
 
    description = [[A long robe embedded with special psychic focusing materials. These enhance psychic sensitivity and help dissipate neural heat.]],
 
    label = "eltex robe",
 
    thingCategories = {
 
      "Apparel",
 
    },
 
    statBases = {
 
      MarketValue = 600,
 
      MaxHitPoints = 100,
 
      Mass = 0.5,
 
      ArmorRating_Sharp = 0.07,
 
      ArmorRating_Blunt = 0,
 
      ArmorRating_Heat = 0.04,
 
      Insulation_Cold = 15,
 
      Insulation_Heat = 1,
 
      EquipDelay = 2,
 
    },
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "ApparelShirtRoyalTier2Base",
 
      ParentName = "ApparelMakeableBase",
 
      Abstract = true,
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "NobleApparel",
 
    },
 
    thingCategories = {
 
      "ApparelNoble",
 
    },
 
    statBases = {
 
      MaxHitPoints = 100,
 
      WorkToMake = 6000,
 
      Mass = 0.25,
 
      StuffEffectMultiplierArmor = 0.2,
 
      StuffEffectMultiplierInsulation_Cold = 0.22,
 
      StuffEffectMultiplierInsulation_Heat = 0.10,
 
      EquipDelay = 1.5,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_ShirtRuffle"] = {
 
    _ = {
 
      ParentName = "ApparelShirtRoyalTier2Base",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ShirtRuffle",
 
    label = "formal shirt",
 
    description = [[A decorated formal shirt with buttons.]],
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "ApparelVestRoyalTier5Base",
 
      ParentName = "ApparelMakeableBase",
 
      Abstract = true,
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "NobleApparel",
 
    },
 
    statBases = {
 
      MaxHitPoints = 100,
 
      WorkToMake = 12000,
 
      Mass = 0.75,
 
      StuffEffectMultiplierArmor = 0.2,
 
      StuffEffectMultiplierInsulation_Cold = 0.4,
 
      StuffEffectMultiplierInsulation_Heat = 0.10,
 
    },
 
    thingCategories = {
 
      "ApparelNoble",
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_Corset"] = {
 
    _ = {
 
      ParentName = "ApparelVestRoyalTier5Base",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_Corset",
 
    label = "corset",
 
    description = [[An embroidered corset with strong wire support to maintain a ladylike shape.]],
 
    statBases = {
 
      EquipDelay = 5,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_VestRoyal"] = {
 
    _ = {
 
      ParentName = "ApparelVestRoyalTier5Base",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_VestRoyal",
 
    label = "formal vest",
 
    description = [[A vest embroidered with complex decorative designs.]],
 
    statBases = {
 
      EquipDelay = 1.5,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_RobeRoyal"] = {
 
    _ = {
 
      ParentName = "ApparelMakeableBase",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_RobeRoyal",
 
    label = "prestige robe",
 
    description = [[A long, flowing robe embroidered with complex decorative designs.]],
 
    recipeMaker = {
 
      researchPrerequisite = "RoyalApparel",
 
    },
 
    statBases = {
 
      MaxHitPoints = 100,
 
      WorkToMake = 20000,
 
      Mass = 0.75,
 
      StuffEffectMultiplierArmor = 0.2,
 
      StuffEffectMultiplierInsulation_Cold = 0.80,
 
      StuffEffectMultiplierInsulation_Heat = 0.25,
 
      EquipDelay = 2,
 
    },
 
    thingCategories = {
 
      "ApparelNoble",
 
    },
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "ApparelHatRoyalTier2",
 
      ParentName = "NobleHatMakeableBase",
 
      Abstract = true,
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    statBases = {
 
      MaxHitPoints = 80,
 
      WorkToMake = 6000,
 
      Mass = 0.1,
 
      EquipDelay = 0.8,
 
      StuffEffectMultiplierInsulation_Cold = 0.10,
 
      StuffEffectMultiplierInsulation_Heat = 0.25,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "NobleApparel",
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_HatLadies"] = {
 
    _ = {
 
      ParentName = "ApparelHatRoyalTier2Fabric",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_HatLadies",
 
    label = "ladies hat",
 
    description = [[A decorative traditional hat with complex embroidery.]],
 
  },
 
 
 
  ["ThingDef:Apparel_HatTop"] = {
 
    _ = {
 
      ParentName = "ApparelHatRoyalTier2Fabric",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_HatTop",
 
    label = "top hat",
 
    description = [[A tall, stiff, shiny hat.]],
 
  },
 
 
 
  ["ThingDef:Apparel_HatHood"] = {
 
    _ = {
 
      ParentName = "ApparelHatRoyalTier2Fabric",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    recipeMaker = {
 
      _ = {
 
        IsNull = true,
 
        Inherit = false,
 
      },
 
    },
 
    defName = "Apparel_HatHood",
 
    label = "hood",
 
    description = [[A draped hood which covers the head and ears.]],
 
    statBases = {
 
      WorkToMake = 1200,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_Coronet"] = {
 
    _ = {
 
      ParentName = "ApparelBase",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_Coronet",
 
    label = "coronet",
 
    description = [[A small crown-like piece of headwear made of metal.]],
 
    smeltable = true,
 
    thingCategories = {
 
      "HeadgearNoble",
 
    },
 
    recipeMaker = {
 
      workSpeedStat = "GeneralLaborSpeed",
 
      workSkill = "Crafting",
 
      effectWorking = "Smith",
 
      soundWorking = "Recipe_Smith",
 
      recipeUsers = {
 
        "ElectricSmithy",
 
        "FueledSmithy",
 
      },
 
      defaultIngredientFilter = {
 
        categories = {
 
          "Root",
 
        },
 
        disallowedThingDefs = {
 
          "Jade",
 
          "Uranium",
 
        },
 
      },
 
      researchPrerequisite = "RoyalApparel",
 
    },
 
    statBases = {
 
      MaxHitPoints = 80,
 
      WorkToMake = 8000,
 
      Mass = 0.7,
 
      EquipDelay = 0.8,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_Crown"] = {
 
    _ = {
 
      ParentName = "ApparelBase",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_Crown",
 
    label = "crown",
 
    description = [[A crown of metal with an elaborate design.]],
 
    smeltable = true,
 
    thingCategories = {
 
      "HeadgearNoble",
 
    },
 
    recipeMaker = {
 
      workSpeedStat = "GeneralLaborSpeed",
 
      workSkill = "Crafting",
 
      effectWorking = "Smith",
 
      soundWorking = "Recipe_Smith",
 
      recipeUsers = {
 
        "ElectricSmithy",
 
        "FueledSmithy",
 
      },
 
      defaultIngredientFilter = {
 
        categories = {
 
          "Root",
 
        },
 
        disallowedThingDefs = {
 
          "Jade",
 
          "Uranium",
 
        },
 
      },
 
      researchPrerequisite = "RoyalApparel",
 
    },
 
    statBases = {
 
      MaxHitPoints = 80,
 
      WorkToMake = 12000,
 
      Mass = 0.9,
 
      EquipDelay = 0.8,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_CrownStellic"] = {
 
    _ = {
 
      ParentName = "ApparelBase",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_CrownStellic",
 
    label = "stellic crown",
 
    description = [[A grand crown of metal with an elaborate, overbearing design.]],
 
    smeltable = true,
 
    thingCategories = {
 
      "HeadgearNoble",
 
    },
 
    statBases = {
 
      MaxHitPoints = 80,
 
      Mass = 0.9,
 
      EquipDelay = 0.8,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_Cape"] = {
 
    _ = {
 
      ParentName = "ApparelMakeableBase",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_Cape",
 
    label = "cape",
 
    description = [[A long cape of elegant design. It hangs over one side of the torso.]],
 
    recipeMaker = {
 
      researchPrerequisite = "NobleApparel",
 
    },
 
    thingCategories = {
 
      "ApparelNoble",
 
    },
 
    statBases = {
 
      MaxHitPoints = 200,
 
      WorkToMake = 16000,
 
      Mass = 2,
 
      StuffEffectMultiplierArmor = 0.3,
 
      StuffEffectMultiplierInsulation_Cold = 0.60,
 
      StuffEffectMultiplierInsulation_Heat = 0.85,
 
      EquipDelay = 3,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_Beret"] = {
 
    _ = {
 
      ParentName = "ApparelMakeableBase",
 
      FileName = "Apparel_Royal.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_Beret",
 
    label = "beret",
 
    description = [[A soft, round, flat-crowned hat.]],
 
    thingCategories = {
 
      "HeadgearNoble",
 
    },
 
    statBases = {
 
      MaxHitPoints = 80,
 
      WorkToMake = 4000,
 
      Mass = 0.1,
 
      EquipDelay = 0.8,
 
      StuffEffectMultiplierInsulation_Cold = 0.07,
 
      StuffEffectMultiplierInsulation_Heat = 0.15,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "NobleApparel",
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorReconPrestige"] = {
 
    _ = {
 
      ParentName = "ApparelArmorReconBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorReconPrestige",
 
    label = "prestige recon armor",
 
    description = [[A suit of light partially-powered armor, designed to permit quick movement. Plasteel-weave plates block attacks without compromising mobility, and neuro-memetic assistors in the lower body allow a human to wear the armor and still move easily.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
 
    statBases = {
 
      WorkToMake = 90000,
 
    },
 
    costList = {
 
      Gold = 9,
 
      Plasteel = 100,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorHelmetReconPrestige"] = {
 
    _ = {
 
      ParentName = "ApparelArmorHelmetReconBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorHelmetReconPrestige",
 
    label = "prestige recon helmet",
 
    description = [[A high-tech armored helmet with a built-in status computer and a protective plasteel-weave plate.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
 
    statBases = {
 
      WorkToMake = 31500,
 
    },
 
    costList = {
 
      Gold = 4,
 
      Plasteel = 40,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorMarinePrestige"] = {
 
    _ = {
 
      ParentName = "ApparelArmorPowerBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorMarinePrestige",
 
    label = "prestige marine armor",
 
    description = [[A suit of powered armor. Layered plasteel-weave plates are very effective at stopping attacks, with few vulnerable joint sections. Neuro-memetic assistors allow a human to wear the armor and still move easily.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
 
    statBases = {
 
      WorkToMake = 120000,
 
    },
 
    costList = {
 
      Gold = 10,
 
      Plasteel = 120,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorMarineHelmetPrestige"] = {
 
    _ = {
 
      ParentName = "ApparelArmorHelmetPowerBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorMarineHelmetPrestige",
 
    label = "prestige marine helmet",
 
    description = [[A marine armor helmet, with a built-in status computer and layered plasteel-weave plates.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
 
    statBases = {
 
      WorkToMake = 42000,
 
    },
 
    costList = {
 
      Gold = 5,
 
      Plasteel = 50,
 
    },
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "ApparelArmorCataphractBase",
 
      ParentName = "ArmorMachineableBase",
 
      Abstract = true,
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    recipeMaker = {
 
      unfinishedThingDef = "UnfinishedTechArmor",
 
      researchPrerequisite = "CataphractArmor",
 
      skillRequirements = {
 
        Crafting = 8,
 
      },
 
      recipeUsers = {
 
        _ = {
 
          Inherit = false,
 
        },
 
        "FabricationBench",
 
      },
 
    },
 
    statBases = {
 
      WorkToMake = 75000,
 
      MaxHitPoints = 400,
 
      Mass = 15,
 
      Flammability = 0.4,
 
      ArmorRating_Sharp = 1.2,
 
      ArmorRating_Blunt = 0.5,
 
      ArmorRating_Heat = 0.6,
 
      Insulation_Cold = 36,
 
      Insulation_Heat = 12,
 
      EquipDelay = 17,
 
    },
 
    tradeTags = {
 
      "HiTechArmor",
 
    },
 
    thingCategories = {
 
      "ApparelArmor",
 
    },
 
    costList = {
 
      ComponentSpacer = 6,
 
      Plasteel = 150,
 
      Uranium = 50,
 
    },
 
    comps = {
 
      CompProperties_BiocodableApparel = {},
 
    },
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "ApparelArmorHelmetCataphractBase",
 
      ParentName = "ArmorHelmetMakeableBase",
 
      Abstract = true,
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    recipeMaker = {
 
      unfinishedThingDef = "UnfinishedTechArmor",
 
      researchPrerequisite = "CataphractArmor",
 
      skillRequirements = {
 
        Crafting = 8,
 
      },
 
      recipeUsers = {
 
        _ = {
 
          Inherit = false,
 
        },
 
        "FabricationBench",
 
      },
 
    },
 
    tradeTags = {
 
      "HiTechArmor",
 
    },
 
    statBases = {
 
      WorkToMake = 26250,
 
      MaxHitPoints = 180,
 
      Mass = 2,
 
      Flammability = 0.4,
 
      ArmorRating_Sharp = 1.2,
 
      ArmorRating_Blunt = 0.5,
 
      ArmorRating_Heat = 0.6,
 
      Insulation_Cold = 4,
 
      Insulation_Heat = 2,
 
      EquipDelay = 6,
 
    },
 
    costList = {
 
      ComponentSpacer = 1,
 
      Plasteel = 50,
 
    },
 
    comps = {
 
      CompProperties_BiocodableApparel = {},
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorCataphract"] = {
 
    _ = {
 
      ParentName = "ApparelArmorCataphractBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorCataphract",
 
    label = "cataphract armor",
 
    description = [[A suit of heavy powered armor, built for maximum protection at the cost of mobility. Heavy layered plasteel-weave plates with solid ablative coatings stop all but the most well-aimed or powerful attacks. Neuro-memetic assistors prevent the suit's massive weight from immobilizing the wearer entirely, but the suit is still quite cumbersome.\n\nArmor like this is used by imperial cataphracts to break heavily fortified positions in frontal assaults when no other option is available.]],
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorHelmetCataphract"] = {
 
    _ = {
 
      ParentName = "ApparelArmorHelmetCataphractBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorHelmetCataphract",
 
    label = "cataphract helmet",
 
    description = [[A heavily-armored high-tech helmet, with a solid plasteel-weave shell and indirect visual system for non-frontal view angles. It protects against all but the most powerful or luckily-aimed shots.\n\nArmor like this is used by imperial cataphracts to break heavily fortified positions in frontal assaults when no other option is available.]],
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorCataphractPrestige"] = {
 
    _ = {
 
      ParentName = "ApparelArmorCataphractBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorCataphractPrestige",
 
    label = "prestige cataphract armor",
 
    description = [[A suit of heavy powered armor, built for maximum protection at the cost of mobility. Heavy layered plasteel-weave plates with solid ablative coatings stop all but the most well-aimed or powerful attacks. Neuro-memetic assistors prevent the suit's massive weight from immobilizing the wearer entirely, but the suit is still quite cumbersome.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
 
    statBases = {
 
      WorkToMake = 150000,
 
    },
 
    costList = {
 
      Gold = 18,
 
      Plasteel = 190,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorHelmetCataphractPrestige"] = {
 
    _ = {
 
      ParentName = "ApparelArmorHelmetCataphractBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorHelmetCataphractPrestige",
 
    label = "prestige cataphract helmet",
 
    description = [[A heavily-armored high-tech helmet, with a solid plasteel-weave shell and indirect visual system for non-frontal view angles. It protects against all but the most powerful or luckily-aimed shots.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
 
    statBases = {
 
      WorkToMake = 52500,
 
    },
 
    costList = {
 
      Gold = 9,
 
      Plasteel = 75,
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorLocust"] = {
 
    _ = {
 
      ParentName = "ApparelArmorReconBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorLocust",
 
    label = "locust armor",
 
    description = [[A variant of recon armor with an integrated burst rocket for short-ranged flight. Locust armor is slightly less protective than standard recon armor. Each jump consumes a burst of fuel, so the armor must be reloaded after several uses.\n\nUnlike most ultratech military units, locusts train primarily with melee weapons. They usually avoid static shootouts, preferring to jump straight into enemy fortifications and fight hand-to-hand. They do poorly in static defense or confined quarters, but excel in mixed cover or shipcracking operations.]],
 
    statBases = {
 
      ArmorRating_Sharp = 0.87,
 
      ArmorRating_Blunt = 0.35,
 
      ArmorRating_Heat = 0.41,
 
      JumpRange = 23.9,
 
    },
 
    recipeMaker = {
 
      researchPrerequisites = {
 
        "JumpPack",
 
        "ReconArmor",
 
      },
 
    },
 
    costList = {
 
      Plasteel = 120,
 
      ComponentIndustrial = 3,
 
      Chemfuel = 100,
 
    },
 
    comps = {
 
      CompProperties_Reloadable = {
 
        maxCharges = 5,
 
        ammoDef = "Chemfuel",
 
        ammoCountPerCharge = 20,
 
        baseReloadTicks = 60,
 
        soundReload = "Standard_Reload",
 
        hotKey = "Misc4",
 
        chargeNoun = "jump",
 
        displayGizmoWhileUndrafted = false,
 
      },
 
    },
 
    verbs = {
 
      {
 
        label = "jump",
 
        violent = false,
 
        onlyManualCast = true,
 
        warmupTime = 0.5,
 
        requireLineOfSight = true,
 
        targetParams = {
 
          canTargetLocations = true,
 
          canTargetPawns = false,
 
          canTargetBuildings = false,
 
        },
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorMarineGrenadier"] = {
 
    _ = {
 
      ParentName = "ApparelArmorPowerBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorMarineGrenadier",
 
    label = "grenadier armor",
 
    description = [[A variant of marine armor with an integrated frag launcher on the shoulder. The armor is slightly less protective than standard marine armor. The launcher can only hold a limited amount of ammo and must be reloaded after use.\n\nGrenadiers usually specialize in breaching buildings or internal ship bulkheads. While not effective at very long range, grenadiers can be surprisingly deadly in confined quarters.]],
 
    costList = {
 
      Steel = 75,
 
      ComponentIndustrial = 4,
 
    },
 
    statBases = {
 
      ArmorRating_Sharp = 1.01,
 
      ArmorRating_Blunt = 0.40,
 
      ArmorRating_Heat = 0.49,
 
    },
 
    comps = {
 
      CompProperties_Reloadable = {
 
        maxCharges = 2,
 
        ammoDef = "Steel",
 
        ammoCountPerCharge = 25,
 
        baseReloadTicks = 60,
 
        soundReload = "Standard_Reload",
 
        hotKey = "Misc4",
 
        chargeNoun = "grenade",
 
        displayGizmoWhileUndrafted = false,
 
      },
 
    },
 
    verbs = {
 
      {
 
        label = "launch frag grenade",
 
        onlyManualCast = true,
 
        range = 12.9,
 
        forcedMissRadius = 1.9,
 
        warmupTime = 1.5,
 
        noiseRadius = 4,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
        defaultProjectile = "Proj_GrenadierGrenade",
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:Proj_GrenadierGrenade"] = {
 
    _ = {
 
      ParentName = "BaseFragGrenadeProjectile",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Proj_GrenadierGrenade",
 
    label = "frag grenade",
 
  },
 
 
 
  ["ThingDef:Apparel_ArmorCataphractPhoenix"] = {
 
    _ = {
 
      ParentName = "ApparelArmorCataphractBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_ArmorCataphractPhoenix",
 
    label = "phoenix armor",
 
    description = [[A variant of cataphract armor with a shoulder-mounted flamebolt launcher. This armor is slightly less protective than standard cataphract armor against normal damage, but is especially flame-resistant. The flamebolt launcher has very limited ammo and must be reloaded after use.\n\nPhoenixes specialize in clearing out very confined spaces full of enemies, as in underground or shipborne operations. They can absorb hits while moving down a corridor, fill rooms with flame, and emerge from the smoke unscathed.]],
 
    statBases = {
 
      Flammability = 0.1,
 
      ArmorRating_Sharp = 1.15,
 
      ArmorRating_Blunt = 0.45,
 
      ArmorRating_Heat = 0.75,
 
      Insulation_Heat = 100,
 
    },
 
    costList = {
 
      Steel = 75,
 
      ComponentIndustrial = 4,
 
      Chemfuel = 40,
 
    },
 
    comps = {
 
      CompProperties_Reloadable = {
 
        maxCharges = 1,
 
        ammoDef = "Chemfuel",
 
        ammoCountPerCharge = 40,
 
        baseReloadTicks = 60,
 
        soundReload = "Standard_Reload",
 
        hotKey = "Misc4",
 
        chargeNoun = "incendiary",
 
        displayGizmoWhileUndrafted = false,
 
      },
 
    },
 
    verbs = {
 
      {
 
        label = "launch incendiary",
 
        onlyManualCast = true,
 
        range = 14.9,
 
        forcedMissRadius = 1.9,
 
        warmupTime = 1.5,
 
        noiseRadius = 4,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
        defaultProjectile = "Proj_GrenadePhoenixFire",
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:Proj_GrenadePhoenixFire"] = {
 
    _ = {
 
      ParentName = "BaseIncendiaryProjectile",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Proj_GrenadePhoenixFire",
 
    label = "incendiary grenade",
 
  },
 
 
 
  ["ThingDef:Apparel_Gunlink"] = {
 
    _ = {
 
      ParentName = "ApparelArmorHelmetReconBase",
 
      FileName = "Apparel_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Apparel_Gunlink",
 
    label = "gunlink",
 
    description = [[A targeting computer that helps the user aim. It detects and analyzes targets using infrared, visible, and millimeter-wave electromagnetic sensors. An onboard targeting computer displays firing solutions on a retinal projection. It offers no protection at all.]],
 
    statBases = {
 
      ArmorRating_Sharp = 0,
 
      ArmorRating_Blunt = 0,
 
      ArmorRating_Heat = 0,
 
      Insulation_Cold = 0,
 
      Insulation_Heat = 0,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "Gunlink",
 
    },
 
    costList = {
 
      ComponentSpacer = 1,
 
      Plasteel = 10,
 
    },
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "ShuttleSkyfallerBase",
 
      ParentName = "SkyfallerBase",
 
      Abstract = true,
 
      FileName = "Ethereal_Skyfallers.xml",
 
      DLC = "Royalty",
 
    },
 
    size = {5, 3},
 
  },
 
 
 
  ["ThingDef:ShuttleIncoming"] = {
 
    _ = {
 
      ParentName = "ShuttleSkyfallerBase",
 
      FileName = "Ethereal_Skyfallers.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "ShuttleIncoming",
 
    label = "shuttle (incoming)",
 
    thingClass = "ShuttleIncoming",
 
  },
 
 
 
  ["ThingDef:ShuttleLeaving"] = {
 
    _ = {
 
      ParentName = "ShuttleSkyfallerBase",
 
      FileName = "Ethereal_Skyfallers.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "ShuttleLeaving",
 
    label = "shuttle (leaving)",
 
    thingClass = "DropPodLeaving",
 
  },
 
 
 
  ["ThingDef:ShuttleCrashing"] = {
 
    _ = {
 
      ParentName = "ShuttleSkyfallerBase",
 
      FileName = "Ethereal_Skyfallers.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "ShuttleCrashing",
 
    label = "shuttle (crashing)",
 
    thingClass = "ShuttleIncoming",
 
    size = {5, 3},
 
  },
 
 
 
  ["ThingDef:MonumentMarker"] = {
 
    _ = {
 
      ParentName = "EtherealThingBase",
 
      FileName = "Ethereal_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "MonumentMarker",
 
    label = "monument marker",
 
    description = [[Marks the place where you intend to build a monument. Once placed, this cannot be moved.]],
 
    thingClass = "MonumentMarker",
 
    thingCategories = {
 
      "BuildingsSpecial",
 
    },
 
    altitudeLayer = "Building",
 
    statBases = {
 
      Mass = 0,
 
    },
 
    minifiedDef = "MinifiedThing",
 
  },
 
 
 
  ["ThingDef:BulletShieldPsychic"] = {
 
    _ = {
 
      ParentName = "EtherealThingBase",
 
      FileName = "Ethereal_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "BulletShieldPsychic",
 
    label = "skipshield",
 
    thingClass = "ThingWithComps",
 
    comps = {
 
      CompProperties_ProjectileInterceptor = {
 
        radius = 4.9,
 
        interceptGroundProjectiles = true,
 
        interceptNonHostileProjectiles = true,
 
        interceptOutgoingProjectiles = true,
 
        color = "(0.4, 0.4, 0.4)",
 
        minAlpha = 0.2,
 
        interceptEffect = "Interceptor_BlockedProjectilePsychic",
 
      },
 
      CompProperties_DestroyAfterDelay = {
 
        delayTicks = 900,
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:Flashstorm"] = {
 
    _ = {
 
      ParentName = "EtherealThingBase",
 
      FileName = "Ethereal_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "Flashstorm",
 
    label = "flashstorm",
 
    thingClass = "ThingWithComps",
 
    altitudeLayer = "MoteLow",
 
    comps = {
 
      CompProperties_DestroyAfterDelay = {
 
        delayTicks = 10000,
 
      },
 
      CompProperties_FadesInOut = {
 
        fadeInSecs = 2.0,
 
        fadeOutSecs = 2.0,
 
        solidTimeSecs = 160,
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:SolarPinhole"] = {
 
    _ = {
 
      ParentName = "EtherealThingBase",
 
      FileName = "Ethereal_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "SolarPinhole",
 
    label = "solar pinhole",
 
    thingClass = "ThingWithComps",
 
    category = "PsychicEmitter",
 
    altitudeLayer = "MoteOverheadLow",
 
    comps = {
 
      CompProperties_Glower = {
 
        glowRadius = 15,
 
        glowColor = {217, 217, 208, 0},
 
      },
 
      CompProperties_HeatPusher = {
 
        compClass = "CompHeatPusherPowered",
 
        heatPerSecond = 10,
 
        heatPushMaxTemperature = 20,
 
      },
 
      CompProperties_DestroyAfterDelay = {
 
        delayTicks = 300000,
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:PawnJumper"] = {
 
    _ = {
 
      ParentName = "PawnFlyerBase",
 
      FileName = "Ethereal_Various.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "PawnJumper",
 
    thingClass = "PawnJumper",
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "BaseWeapon_Bladelink",
 
      ParentName = "BaseWeapon",
 
      Abstract = true,
 
      FileName = "MeleeBladelink.xml",
 
      DLC = "Royalty",
 
    },
 
    weaponTags = {
 
      "Bladelink",
 
    },
 
    comps = {
 
      {
 
        compClass = "CompQuality",
 
      },
 
      CompProperties_BladelinkWeapon = {},
 
      CompProperties_GeneratedName = {
 
        nameMaker = "NamerWeaponBladelink",
 
      },
 
    },
 
    smeltable = true,
 
    thingCategories = {
 
      "WeaponsMeleeBladelink",
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_MonoSwordBladelink"] = {
 
    _ = {
 
      ParentName = "BaseWeapon_Bladelink",
 
      FileName = "MeleeBladelink.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "MeleeWeapon_MonoSwordBladelink",
 
    label = "persona monosword",
 
    description = [[A crystal-metallic longsword infused with mechanites that maintain a mono-molecular cutting edge. It cuts through even thick armor with ease, while its light weight and onboard persona permit extremely fast attacks.
 
\nThis weapon has an onboard persona that can bond to only a single person. The wielder and intelligent weapon can synchronize their reflexes and attack with frightening speed, accuracy, and creativity. Once bonded to a wielder, the weapon's persona will refuse to be wielded by anyone else.]],
 
    statBases = {
 
      MarketValue = 3000,
 
      Mass = 2,
 
    },
 
    tools = {
 
      {
 
        label = "handle",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 12,
 
        cooldownTime = 1.6,
 
      },
 
      {
 
        label = "point",
 
        capacities = {
 
          "Stab",
 
        },
 
        power = 27,
 
        cooldownTime = 1.6,
 
      },
 
      {
 
        label = "edge",
 
        capacities = {
 
          "Cut",
 
        },
 
        power = 27,
 
        cooldownTime = 1.6,
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_ZeusHammerBladelink"] = {
 
    _ = {
 
      ParentName = "BaseWeapon_Bladelink",
 
      FileName = "MeleeBladelink.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "MeleeWeapon_ZeusHammerBladelink",
 
    label = "persona zeushammer",
 
    description = [[A warhammer with an embedded EMP capacitor. Upon impact, it blasts the target with an EMP burst in addition to the physical damage.
 
\nThis weapon has an onboard persona that can bond to only a single person. The wielder and intelligent weapon can synchronize their reflexes and attack with frightening speed, accuracy, and creativity. Once bonded to a wielder, the weapon's persona will refuse to be wielded by anyone else.]],
 
    statBases = {
 
      MarketValue = 3000,
 
      Mass = 2,
 
    },
 
    tools = {
 
      {
 
        label = "handle",
 
        capacities = {
 
          "Poke",
 
        },
 
        power = 15,
 
        cooldownTime = 1.6,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 31,
 
        cooldownTime = 2.2,
 
        extraMeleeDamages = {
 
          {
 
            def = "EMP",
 
            amount = 9,
 
          },
 
        },
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_PlasmaSwordBladelink"] = {
 
    _ = {
 
      ParentName = "BaseWeapon_Bladelink",
 
      FileName = "MeleeBladelink.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "MeleeWeapon_PlasmaSwordBladelink",
 
    label = "persona plasmasword",
 
    description = [[A metal-cored sword with a cutting edge. Plasma is wrapped around the core, held in place by an energy field. Targets are both sliced by the metal core, as well as burned or ignited by the plasma sheath.
 
\nThis weapon has an onboard persona that can bond to only a single person. The wielder and intelligent weapon can synchronize their reflexes and attack with frightening speed, accuracy, and creativity. Once bonded to a wielder, the weapon's persona will refuse to be wielded by anyone else.]],
 
    statBases = {
 
      MarketValue = 3000,
 
      Mass = 2,
 
    },
 
    tools = {
 
      {
 
        label = "handle",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 12,
 
        cooldownTime = 1.6,
 
      },
 
      {
 
        label = "point",
 
        capacities = {
 
          "Stab",
 
        },
 
        power = 23,
 
        cooldownTime = 2,
 
        extraMeleeDamages = {
 
          {
 
            def = "Flame",
 
            amount = 10,
 
            chance = 0.7,
 
          },
 
        },
 
      },
 
      {
 
        label = "edge",
 
        capacities = {
 
          "Cut",
 
        },
 
        power = 23,
 
        cooldownTime = 2,
 
        extraMeleeDamages = {
 
          {
 
            def = "Flame",
 
            amount = 10,
 
            chance = 0.7,
 
          },
 
        },
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_Axe"] = {
 
    _ = {
 
      ParentName = "BaseMeleeWeapon_Blunt_Quality",
 
      FileName = "MeleeMedieval.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "MeleeWeapon_Axe",
 
    label = "axe",
 
    description = [[An advanced form of one of mankind's oldest weapons, the war axe is a short blade attached to a shaft. The simple, ancient design concentrates cutting power generated from strong overhand swings.]],
 
    statBases = {
 
      WorkToMake = 7000,
 
      Mass = 1.5,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "Smithing",
 
      skillRequirements = {
 
        Crafting = 3,
 
      },
 
    },
 
    weaponTags = {
 
      "MedievalMeleeDecent",
 
    },
 
    tools = {
 
      {
 
        label = "handle",
 
        capacities = {
 
          "Poke",
 
        },
 
        power = 9,
 
        cooldownTime = 2,
 
      },
 
      {
 
        label = "edge",
 
        capacities = {
 
          "Cut",
 
        },
 
        power = 15,
 
        cooldownTime = 2,
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_Warhammer"] = {
 
    _ = {
 
      ParentName = "BaseMeleeWeapon_Blunt_Quality",
 
      FileName = "MeleeMedieval.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "MeleeWeapon_Warhammer",
 
    label = "warhammer",
 
    description = [[A long polearm topped with a brutal hammer. The powerful blunt impacts can pulverize an enemy's insides, even through armor.]],
 
    statBases = {
 
      WorkToMake = 18000,
 
      Mass = 5,
 
    },
 
    recipeMaker = {
 
      researchPrerequisite = "LongBlades",
 
      skillRequirements = {
 
        Crafting = 5,
 
      },
 
    },
 
    weaponTags = {
 
      "MedievalMeleeDecent",
 
    },
 
    tools = {
 
      {
 
        label = "handle",
 
        capacities = {
 
          "Poke",
 
        },
 
        power = 11,
 
        cooldownTime = 2.6,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 20,
 
        cooldownTime = 2.6,
 
      },
 
    },
 
  },
 
  ThingDef = {
 
    _ = {
 
      Abstract = true,
 
      Name = "MeleeWeaponUltratech",
 
      ParentName = "BaseWeapon",
 
      FileName = "MeleeUltratech.xml",
 
      DLC = "Royalty",
 
    },
 
    statBases = {
 
      MarketValue = 2000,
 
      Mass = 2,
 
    },
 
    comps = {
 
      {
 
        compClass = "CompQuality",
 
      },
 
      CompProperties_Art = {
 
        nameMaker = "NamerArtWeaponMelee",
 
        descriptionMaker = "ArtDescription_WeaponMelee",
 
        minQualityForArtistic = "Excellent",
 
      },
 
      CompProperties_BiocodableWeapon = {},
 
    },
 
    smeltable = true,
 
    thingCategories = {
 
      "WeaponsMelee",
 
    },
 
    weaponTags = {
 
      "UltratechMelee",
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_MonoSword"] = {
 
    _ = {
 
      ParentName = "MeleeWeaponUltratech",
 
      FileName = "MeleeUltratech.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "MeleeWeapon_MonoSword",
 
    label = "monosword",
 
    description = [[A crystal-metallic longsword infused with mechanites that maintain a mono-molecular cutting edge. It cuts through even thick armor with ease, and its light weight permits fast attacks.]],
 
    tools = {
 
      {
 
        label = "handle",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 12,
 
        cooldownTime = 1.6,
 
      },
 
      {
 
        label = "point",
 
        capacities = {
 
          "Stab",
 
        },
 
        power = 25,
 
        cooldownTime = 2,
 
      },
 
      {
 
        label = "edge",
 
        capacities = {
 
          "Cut",
 
        },
 
        power = 25,
 
        cooldownTime = 2,
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_Zeushammer"] = {
 
    _ = {
 
      ParentName = "MeleeWeaponUltratech",
 
      FileName = "MeleeUltratech.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "MeleeWeapon_Zeushammer",
 
    label = "zeushammer",
 
    description = [[A warhammer with an embedded EMP capacitor. Upon impact, it blasts the target with an EMP burst in addition to the physical damage.]],
 
    tools = {
 
      {
 
        label = "handle",
 
        capacities = {
 
          "Poke",
 
        },
 
        power = 15,
 
        cooldownTime = 2,
 
      },
 
      {
 
        label = "head",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 31,
 
        cooldownTime = 3,
 
        extraMeleeDamages = {
 
          {
 
            def = "EMP",
 
            amount = 9,
 
          },
 
        },
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_PlasmaSword"] = {
 
    _ = {
 
      ParentName = "MeleeWeaponUltratech",
 
      FileName = "MeleeUltratech.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "MeleeWeapon_PlasmaSword",
 
    label = "plasmasword",
 
    description = [[A metal-cored sword with a cutting edge. Plasma is wrapped around the core, held in place by an energy field. Targets are both sliced by the metal core, as well as burned or ignited by the plasma sheath.]],
 
    tools = {
 
      {
 
        label = "handle",
 
        capacities = {
 
          "Blunt",
 
        },
 
        power = 12,
 
        cooldownTime = 2,
 
      },
 
      {
 
        label = "point",
 
        capacities = {
 
          "Stab",
 
        },
 
        power = 21,
 
        cooldownTime = 2.6,
 
        extraMeleeDamages = {
 
          {
 
            def = "Flame",
 
            amount = 10,
 
            chance = 0.5,
 
          },
 
        },
 
      },
 
      {
 
        label = "edge",
 
        capacities = {
 
          "Cut",
 
        },
 
        power = 21,
 
        cooldownTime = 2.6,
 
        extraMeleeDamages = {
 
          {
 
            def = "Flame",
 
            amount = 10,
 
            chance = 0.5,
 
          },
 
        },
 
      },
 
    },
 
  },
 
 
 
  ["ThingDef:OrbitalTargeterMechCluster"] = {
 
    _ = {
 
      ParentName = "OrbitalUtilityBase",
 
      FileName = "OrbitalWeapons.xml",
 
      DLC = "Royalty",
 
    },
 
    defName = "OrbitalTargeterMechCluster",
 
    label = "orbital mech cluster targeter",
 
    description = [[An ancient military targeting device. It signals an orbital platform to drop a mechanoid combat cluster at the targeted point. The cluster may include any mixture of mechanoids and mech defense structures.
 
\nThough they may have once had some allegiance to the ancient army that created this unit, any mechs dropped now will indiscriminately attack any human they see - including the one that summoned them.
 
\nThe unit only contains one usage code, so it can only be used once.]],
 
    verbs = {
 
      {
 
        warmupTime = 3,
 
        range = 44.9,
 
        burstShotCount = 1,
 
        onlyManualCast = true,
 
        targetParams = {
 
          canTargetLocations = true,
 
        },
 
      },
 
    },
 
    comps = {
 
      CompProperties_Reloadable = {
 
        maxCharges = 1,
 
        destroyOnEmpty = true,
 
        hotKey = "Misc4",
 
        chargeNoun = "charge",
 
        displayGizmoWhileUndrafted = false,
 
      },
 
    },
 
  },
 
  ThingDef = {
 
    _ = {
 
      Name = "BasePsychicWeaponMelee",
 
      Abstract = true,
 
      ParentName = "BaseWeapon",
 
      FileName = "PsychicWeapons.xml",
 
      DLC = "Royalty",
 
    },
 
    comps = {
 
      {
 
        compClass = "CompQuality",
 
      },
 
      CompProperties_BiocodableWeapon = {},
 
    },
 
    thingCategories = {
 
      "WeaponsMelee",
 
    },
 
  },
 
 
 
  ["ThingDef:MeleeWeapon_PsyfocusStaff"] = {
 
    _ = {
 
      ParentName = "BasePsychicWeaponMelee",
 
      FileName = "PsychicWeapons.xml",
 
      DLC = "Royalty",
 
    },
 
     defName = "MeleeWeapon_PsyfocusStaff",
 
     label = "eltex staff",
 
     description = [[An ultratech staff threaded with psychic focusing materials. While it is a solid melee weapon, its main purpose is to enhance the wielder's psychic sensitivity and neural heat dissipation, allowing more use of psychic powers.]],
 
     tradeTags = {
 
       "PsychicWeapon",
 
 
     },
 
     },
 
     weaponTags = {
 
     weaponTags = {
Line 27,646: Line 28,423:
 
       ParentName = "TreeBase",
 
       ParentName = "TreeBase",
 
       Name = "TreeAnima",
 
       Name = "TreeAnima",
 +
      DefCategory = "ThingDef",
 
       FileName = "Plants_Wild.xml",
 
       FileName = "Plants_Wild.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",
Line 27,684: Line 28,462:
 
         },
 
         },
 
         offsets = {
 
         offsets = {
           FocusStrengthOffset_ArtificialBuildings = {
+
           {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_ArtificialBuildings",
 +
            },
 
             radius = 34.9,
 
             radius = 34.9,
 
             curve = {
 
             curve = {
Line 27,695: Line 28,476:
 
             },
 
             },
 
           },
 
           },
           FocusStrengthOffset_BuildingDefs = {
+
           {
 +
            _ = {
 +
              Class = "FocusStrengthOffset_BuildingDefs",
 +
            },
 
             defs = {
 
             defs = {
 
               AnimusStone = 0.02,
 
               AnimusStone = 0.02,
Line 27,747: Line 28,531:
 
     _ = {
 
     _ = {
 
       ParentName = "PlantBaseNonEdible",
 
       ParentName = "PlantBaseNonEdible",
 +
      DefCategory = "ThingDef",
 
       FileName = "Plants_Wild.xml",
 
       FileName = "Plants_Wild.xml",
 
       DLC = "Royalty",
 
       DLC = "Royalty",

Revision as of 14:28, 9 May 2021

Transformation rules

RimWorld version

Version is added to the beginning of each generated Lua table.

return {

  version = "1.2.2753",
  ...

Elements with attributes

Create a new subelement and move all of the attributes to their own subelements within it.

*Def elements

<defName> is used as part of the index for the main Def table.

Additional attributes added: "DLC", "FileName".

<ThingDef ParentName="BaseHare">
  <defName>Snowhare</defName>
  <label>snowhare</label>
  ...

transforms to:

["ThingDef:Hare"] = {
  ["_attrib_"] = {
    ["ParentName"] = "BaseHare",
    ["FileName"] = "Races_Animal_Hares.xml",
    ["DLC"] = "Core",
  },
  ["defName"] = "Snowhare",
  ["label"] = "snowhare",
  ...

Parent (abstract) Def:

<ThingDef Abstract="True" ParentName="AnimalThingBase" Name="BaseHare">
  <statBases>
    <MoveSpeed>6.0</MoveSpeed>
    <MarketValue>50</MarketValue>
    ...

transforms to:

["ThingDef:BaseHare"] = {
  ["_attrib_"] = {
    ["Abstract"] = "True",
    ["ParentName"] = "AnimalThingBase",
    ["Name"] = "BaseHare",
    ["FileName"] = "Races_Animal_Hares.xml",
    ["DLC"] = "Core",
  },
    ["statBases"] = {
      ["MoveSpeed"] = 6.0,
      ["MarketValue"] = 50,
  ...

List elements without children

Get transformed into ordered lists (numerically indexed Lua tables).

<tradeTags>
  <li>AnimalUncommon</li>
  <li>AnimalFighter</li>
</tradeTags>

transforms to:

["tradeTags"] = {
  "AnimalUncommon",
  "AnimalFighter",
},

Note: a comma after the last item in a list is not flagged as an error in Lua.

List elements with children

<lifeStageAges>
  <li>
    <def>AnimalBaby</def>
    <minAge>0</minAge>
  </li>
  <li>
    <def>AnimalJuvenile</def>
    <minAge>0.25</minAge>
  </li>
  <li>
    <def>AnimalAdult</def>
    <minAge>0.5</minAge>
  </li>
</lifeStageAges>

transforms to:

["lifeStageAges"] = {
  {
    ["def"] = "AnimalBaby",
    ["minAge"] = 0,
  },
  {
    ["def"] = "AnimalJuvenile",
    ["minAge"] = 0.25,
  },
  {
    ["def"] = "AnimalAdult",
    ["minAge"] = 0.5,
  },
},

List elements with a single attribute Class

The value of the "Class" attribute is used to rename the <li>.

<comps>
  <li Class="CompProperties_Glower">
    <glowRadius>10</glowRadius>
...

transforms to:

comps = {
  CompProperties_Glower = {
    glowRadius = 10,
...

Components

It would be useful to have some of the more used components. They can then be queried for additional functionality that some game objects have.

They can be numbered tables or, as in some of the examples above, string indexed. String indexes, in general, are simpler to use. Numeric tables I have to search through.

See #List elements with a single attribute Class

Ranges (1~2)

<overdoseSeverityOffset>0.18~0.35</overdoseSeverityOffset>

transforms to:

overdoseSeverityOffset = { ["<"]=0.18, [">"]=0.35 },

Curve points

Curves pop up in a lot of places so additional support functions for those might be in order.

Min, max, maybe average... things like that. Some (like litterSizeCurve) have a fixed amount of points (correction: even for litterSizeCurve this is not true) so you could just retrieve the first one or last (fourth), but this is not the case for all of them and is a bit ugly. Whatever the case, additional processing with wiki syntax would have to be used. This is bad (and to be avoided if possible).

<litterSizeCurve>
  <points>
    <li>(1.0, 0)</li>
    <li>(1.5, 1)</li>
    <li>(2.0, 1)</li>
    <li>(2.5, 0)</li>
</points>

transforms to:

["litterSizeCurve"] = {
  ["points"] = {
    {0.5, 0},
    {1, 1},
    {1.5, 1},
    {2.0, 0},
  },
},

Descriptions

Because of some exceptions in Royalty Defs, <description> content has to be wrapped in double square brackets (Lua multiline syntax).

MayRequire attribute

Removed.

Issues

One (data) file to rule them all

One data file or smaller ones split by categories (buildings, races, items, etc.).

Single:

  • simplicity
    • versioning
    • uploading

Split:

  • dynamic loading

Inheritance (interaction with parser)

Inheritance can be handled by the parser or the module. If the parser handles it, then for any change the dataset needs to be recreated so I'm leaning towards letting the module take care of that. In this case the only purpose of the parser is to filter data and transform it into something Lua can use.

TODO

  • Implement filtering for components (any list item that follows the same pattern)

return {

  version = "1.2.2753",

  ["BiomeDef:BorealForest"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Cold.xml",
      DLC = "Core",
    },
    defName = "BorealForest",
    label = "boreal forest",
    description = [[Forests of coniferous trees. Despite the harsh winters, boreal forests sustain a diverse population of small and large animals, and have warm summers.]],
    movementDifficulty = 1,
    forageability = 0.75,
    foragedFood = "RawBerries",
    diseaseMtbDays = 60,
    wildPlants = {
      Plant_Grass = 8.0,
      Plant_Brambles = 2.0,
      Plant_Moss = 4.0,
      Plant_Bush = 3.0,
      Plant_TreePine = 5.0,
      Plant_TreeBirch = 1.5,
      Plant_TreePoplar = 1.2,
      Plant_Berry = 0.16,
      Plant_HealrootWild = 0.16,
    },
    wildAnimals = {
      Yak = 0.12,
      Horse = 0.15,
      Squirrel = 1,
      Hare = 1,
      Rat = 1,
      Elk = 0.5,
      Caribou = 0.5,
      Muffalo = 0.5,
      WildBoar = 0.5,
      Ibex = 0.5,
      Raccoon = 0.5,
      Turkey = 0.5,
      Deer = 0.5,
      Megasloth = 0.1,
      Fox_Red = 0.07,
      Fox_Arctic = 0.07,
      Bear_Grizzly = 0.07,
      Wolf_Timber = 0.07,
      Wolf_Arctic = 0.07,
      Cougar = 0.07,
      Lynx = 0.07,
      Warg = 0.07,
    },
  },

  ["BiomeDef:Tundra"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Cold.xml",
      DLC = "Core",
    },
    defName = "Tundra",
    label = "tundra",
    description = [[These mostly-frozen plains bear almost no trees and little vegetation. There are a few small animals interspersed with large herds of migratory grazers and their predators.]],
    movementDifficulty = 1,
    forageability = 0.5,
    foragedFood = "RawBerries",
    diseaseMtbDays = 80,
    wildPlants = {
      Plant_Grass = 3.6,
      Plant_Moss = 0.5,
      Plant_Bush = 0.3,
      Plant_Astragalus = 0.1,
      Plant_Dandelion = 0.1,
      Plant_TreePine = 0.08,
      Plant_TreeBirch = 0.08,
      Plant_Berry = 0.07,
      Plant_HealrootWild = 0.05,
    },
    wildAnimals = {
      Hare = 2,
      Snowhare = 2,
      Caribou = 2,
      Elk = 2,
      Muffalo = 2,
      Ibex = 2,
      Megasloth = 0.2,
      Fox_Arctic = 0.07,
      Wolf_Arctic = 0.07,
      Wolf_Timber = 0.07,
      Lynx = 0.07,
      Warg = 0.07,
      Bear_Polar = 0.07,
      Bear_Grizzly = 0.07,
    },
  },

  ["BiomeDef:ColdBog"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Cold.xml",
      DLC = "Core",
    },
    defName = "ColdBog",
    label = "cold bog",
    description = [[A wetland packed with trees and vines. Much of the marshy land here can't support heavy structures, moving around is slow due to choking vegetation. Disease is endemic in this dense, wet ecosystem.]],
    movementDifficulty = 4,
    forageability = 0.5,
    foragedFood = "RawBerries",
    diseaseMtbDays = 45,
    wildPlants = {
      Plant_Chokevine = 3.0,
      Plant_TallGrass = 2.4,
      Plant_Moss = 0.5,
      Plant_Bush = 0.3,
      Plant_Astragalus = 0.1,
      Plant_TreeWillow = 0.6,
      Plant_TreeCypress = 0.6,
      Plant_TreeMaple = 0.6,
      Plant_Berry = 0.07,
      Plant_HealrootWild = 0.05,
    },
    wildAnimals = {
      GuineaPig = 0.07,
      Yak = 0.2,
      Squirrel = 1,
      Hare = 1,
      Rat = 1,
      Elk = 0.5,
      Caribou = 0.5,
      Muffalo = 0.5,
      WildBoar = 0.5,
      Ibex = 0.5,
      Raccoon = 0.5,
      Turkey = 0.5,
      Deer = 0.5,
      Megasloth = 0.1,
      Fox_Red = 0.07,
      Fox_Arctic = 0.07,
      Wolf_Timber = 0.07,
      Wolf_Arctic = 0.07,
      Cougar = 0.07,
      Lynx = 0.07,
      Warg = 0.07,
      Bear_Polar = 0.07,
      Bear_Grizzly = 0.07,
    },
  },

  ["BiomeDef:IceSheet"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Cold.xml",
      DLC = "Core",
    },
    defName = "IceSheet",
    label = "ice sheet",
    description = [[Sheets of ice which can be kilometers thick. There is no soil for plants to grow in. The only animals here are migrating to somewhere else - or badly lost.]],
    movementDifficulty = 1.5,
    forageability = 0,
    diseaseMtbDays = 90,
    wildAnimals = {
      Snowhare = 2,
      Muffalo = 0.1,
      Bear_Polar = 0.1,
      Wolf_Arctic = 0.1,
      Fox_Arctic = 0.1,
      Lynx = 0.1,
      Megasloth = 0.1,
    },
  },

  ["BiomeDef:SeaIce"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Cold.xml",
      DLC = "Core",
    },
    defName = "SeaIce",
    label = "sea ice",
    description = [[Permanent ice sheets floating on water. There is no soil for plants to grow, no minerals to mine, and almost no animal life.]],
    movementDifficulty = 1.5,
    forageability = 0,
    diseaseMtbDays = 90,
    wildAnimals = {
      Snowhare = 2,
      Muffalo = 0.1,
      Bear_Polar = 0.1,
      Wolf_Arctic = 0.1,
      Fox_Arctic = 0.1,
    },
  },

  ["BiomeDef:TemperateForest"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Temperate.xml",
      DLC = "Core",
    },
    defName = "TemperateForest",
    label = "temperate forest",
    description = [[Forests of deciduous trees interspersed with fertile clearings. Many species of animals move around among the trees and on the plains.]],
    movementDifficulty = 1,
    forageability = 1,
    foragedFood = "RawBerries",
    diseaseMtbDays = 50,
    wildPlants = {
      Plant_Grass = 5.0,
      Plant_TallGrass = 2.0,
      Plant_Brambles = 1.0,
      Plant_Dandelion = 0.5,
      Plant_Bush = 0.6,
      Plant_TreeOak = 0.5,
      Plant_TreePoplar = 0.5,
      Plant_Berry = 0.05,
      Plant_HealrootWild = 0.05,
    },
    wildAnimals = {
      Donkey = 0.20,
      GuineaPig = 0.45,
      Yak = 0.06,
      Bison = 0.07,
      Horse = 0.20,
      Hare = 1.0,
      Squirrel = 1.0,
      Rat = 1.0,
      Deer = 0.5,
      WildBoar = 0.5,
      Turkey = 0.5,
      Raccoon = 0.5,
      Ibex = 0.5,
      Muffalo = 0.5,
      Alpaca = 0.5,
      Boomalope = 0.4,
      Boomrat = 0.4,
      Tortoise = 0.3,
      Gazelle = 0.3,
      Megasloth = 0.2,
      Rhinoceros = 0.1,
      Bear_Grizzly = 0.07,
      Wolf_Timber = 0.07,
      Fox_Red = 0.07,
      Cougar = 0.07,
      Lynx = 0.07,
      Warg = 0.07,
    },
  },

  ["BiomeDef:TemperateSwamp"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Temperate.xml",
      DLC = "Core",
    },
    defName = "TemperateSwamp",
    label = "temperate swamp",
    description = [[Wetlands choked with vegetation and disease. Dense overgrowth makes it hard to move around, and clearing areas for building takes a long time. Much of the terrain is too marshy to support heavy structures.]],
    movementDifficulty = 4,
    forageability = 0.75,
    foragedFood = "RawBerries",
    diseaseMtbDays = 40,
    wildPlants = {
      Plant_TallGrass = 3.2,
      Plant_Chokevine = 0.8,
      Plant_Bush = 0.2,
      Plant_TreeWillow = 1.0,
      Plant_TreeCypress = 1.0,
      Plant_TreeMaple = 1.0,
      Plant_Berry = 0.05,
      Plant_HealrootWild = 0.05,
    },
    wildAnimals = {
      GuineaPig = 0.15,
      Yak = 0.04,
      Horse = 0.20,
      Hare = 1.0,
      Squirrel = 1.0,
      Rat = 1.0,
      Tortoise = 0.6,
      Deer = 0.5,
      WildBoar = 0.5,
      Turkey = 0.5,
      Raccoon = 0.5,
      Ibex = 0.5,
      Muffalo = 0.5,
      Alpaca = 0.5,
      Boomalope = 0.4,
      Boomrat = 0.4,
      Megasloth = 0.2,
      Rhinoceros = 0.1,
      Bear_Grizzly = 0.07,
      Wolf_Timber = 0.07,
      Fox_Red = 0.07,
      Cougar = 0.07,
      Lynx = 0.07,
      Warg = 0.07,
    },
  },

  ["BiomeDef:TropicalRainforest"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Warm.xml",
      DLC = "Core",
    },
    defName = "TropicalRainforest",
    label = "tropical rainforest",
    description = [[A thick, moist jungle, buzzing with animal life and infested with disease. Despite its visual beauty, this is a very dangerous biome. Choking overgrowth, aggressive animals, and constant sickness are why some explorers call this the "green hell".]],
    movementDifficulty = 2,
    forageability = 1,
    foragedFood = "RawBerries",
    diseaseMtbDays = 35,
    wildPlants = {
      Plant_Grass = 3.0,
      Plant_TallGrass = 2.0,
      Plant_ShrubLow = 2.0,
      Plant_Alocasia = 0.8,
      Plant_TreeCecropia = 0.3,
      Plant_TreePalm = 0.3,
      Plant_TreeBamboo = 0.3,
      Plant_TreeTeak = 0.2,
      Plant_Bush = 0.15,
      Plant_Clivia = 0.07,
      Plant_Berry = 0.05,
      Plant_Rafflesia = 0.0008,
    },
    wildAnimals = {
      GuineaPig = 0.25,
      Rat = 1,
      Monkey = 1,
      Boomalope = 0.5,
      Capybara = 0.5,
      Cassowary = 0.5,
      Tortoise = 0.5,
      Chinchilla = 0.5,
      WildBoar = 0.5,
      Elephant = 0.5,
      Rhinoceros = 0.5,
      Alpaca = 0.5,
      Cobra = 0.15,
      Panther = 0.15,
    },
  },

  ["BiomeDef:TropicalSwamp"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Warm.xml",
      DLC = "Core",
    },
    defName = "TropicalSwamp",
    label = "tropical swamp",
    description = [[A plant-choked, steamy swamp seething with parasites and pathogens. Much of the land is too marshy to build on. Difficult movement, aggressive animals, and rampant disease make living here a nightmare.]],
    movementDifficulty = 4,
    forageability = 0.75,
    foragedFood = "RawBerries",
    diseaseMtbDays = 30,
    wildPlants = {
      Plant_TallGrass = 4.8,
      Plant_ShrubLow = 2.0,
      Plant_TreeWillow = 1.72,
      Plant_TreeCypress = 1.72,
      Plant_TreeMaple = 1.72,
      Plant_Chokevine = 0.8,
      Plant_Alocasia = 0.8,
      Plant_Bush = 0.15,
      Plant_Clivia = 0.07,
      Plant_Berry = 0.05,
      Plant_Rafflesia = 0.0008,
    },
    wildAnimals = {
      GuineaPig = 0.18,
      Rat = 1,
      Monkey = 1,
      Boomalope = 0.5,
      Capybara = 0.5,
      Cassowary = 0.5,
      Tortoise = 0.5,
      Chinchilla = 0.5,
      WildBoar = 0.5,
      Elephant = 0.5,
      Rhinoceros = 0.5,
      Alpaca = 0.5,
      Cobra = 0.15,
      Panther = 0.15,
    },
  },

  ["BiomeDef:AridShrubland"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_WarmArid.xml",
      DLC = "Core",
    },
    defName = "AridShrubland",
    label = "arid shrubland",
    description = [[A dry region, but not dry enough to become a true desert. Open plains with grasses and bushes give way to scattered groves of trees. Plants are hardy and there is a moderate density of animals, but arable soil is hard to find.]],
    movementDifficulty = 1,
    forageability = 0.5,
    foragedFood = "RawAgave",
    diseaseMtbDays = 65,
    wildPlants = {
      Plant_Grass = 7.0,
      Plant_Dandelion = 0.8,
      Plant_Bush = 0.7,
      Plant_PincushionCactus = 0.6,
      Plant_Agave = 0.2,
      Plant_SaguaroCactus = 0.26,
      Plant_TreeDrago = 0.20,
      Plant_Berry = 0.10,
    },
    wildAnimals = {
      Donkey = 0.2,
      GuineaPig = 0.017,
      Horse = 0.1,
      Bison = 0.1,
      Rat = 1.3,
      Hare = 1.3,
      Iguana = 0.7,
      Gazelle = 0.7,
      Ostrich = 0.7,
      Emu = 0.7,
      Dromedary = 0.7,
      Boomrat = 0.5,
      Elephant = 0.5,
      Rhinoceros = 0.5,
      Boomalope = 0.5,
      Cougar = 0.15,
      Fox_Fennec = 0.15,
      Megasloth = 0.1,
    },
  },

  ["BiomeDef:Desert"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_WarmArid.xml",
      DLC = "Core",
    },
    defName = "Desert",
    label = "desert",
    description = [[A very dry area which supports little life. There is very little arable land, and animal life is very sparse. Deserts can be hot, or quite cold.]],
    movementDifficulty = 1,
    forageability = 0.25,
    foragedFood = "RawAgave",
    diseaseMtbDays = 90,
    wildPlants = {
      Plant_Grass = 6,
      Plant_PincushionCactus = 1,
      Plant_SaguaroCactus = 1.0,
      Plant_Dandelion = 0.5,
      Plant_TreeDrago = 0.45,
      Plant_Agave = 0.25,
      Plant_Bush = 0.25,
    },
    wildAnimals = {
      Donkey = 0.15,
      GuineaPig = 0.01,
      Iguana = 1.2,
      Dromedary = 0.7,
      Boomalope = 0.6,
      Ostrich = 0.6,
      Emu = 0.6,
      Gazelle = 0.6,
      Cougar = 0.07,
      Fox_Fennec = 0.07,
    },
  },

  ["BiomeDef:ExtremeDesert"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_WarmArid.xml",
      DLC = "Core",
    },
    defName = "ExtremeDesert",
    label = "extreme desert",
    description = [[An extremely hot, dry area, devoid of almost all life. Searing heat and a near total lack of arable land make it very difficult to survive here.]],
    movementDifficulty = 1,
    forageability = 0,
    diseaseMtbDays = 90,
    wildPlants = {
      Plant_Grass = 6,
      Plant_SaguaroCactus = 1,
      Plant_Agave = 0.25,
    },
    wildAnimals = {
      Donkey = 0.20,
      GuineaPig = 0.002,
      Iguana = 1.5,
      Dromedary = 0.2,
      Fox_Fennec = 0.1,
    },
  },

  ["BiomeDef:Ocean"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Water.xml",
      DLC = "Core",
    },
    defName = "Ocean",
    label = "ocean",
    description = [[Open ocean. Great for fish. Not so great for you.]],
  },

  ["BiomeDef:Lake"] = {
    _ = {
      DefCategory = "BiomeDef",
      FileName = "Biomes_Water.xml",
      DLC = "Core",
    },
    defName = "Lake",
    label = "lake",
    description = [[A large lake. Beautiful to live next to. Not so beautiful to live in.]],
  },

  ["ThingDef:Beer"] = {
    _ = {
      ParentName = "DrugBase",
      DefCategory = "ThingDef",
      FileName = "Alcohol_Beer.xml",
      DLC = "Core",
    },
    defName = "Beer",
    label = "beer",
    description = [[The first beverage besides water ever consumed by mankind. Beer can taste good, but its main effect is intoxication. Excessive consumption can lead to alcohol blackouts and, over time, addiction.]],
    stackLimit = 25,
    statBases = {
      DeteriorationRate = 0.5,
      MarketValue = 12,
      Mass = 0.3,
      Flammability = 0.5,
      Nutrition = 0.08,
    },
    ingestible = {
      foodType = {
        "Fluid",
        "Processed",
        "Liquor",
      },
      joyKind = "Chemical",
      joy = 0.17,
      drugCategory = "Social",
      chairSearchRadius = 25,
      canAutoSelectAsFoodForCaravan = false,
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "AlcoholHigh",
          severity = 0.15,
          toleranceChemical = "Alcohol",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "AlcoholTolerance",
          severity = 0.016,
          divideByBodySize = true,
        },
      },
    },
    comps = {
      CompProperties_Drug = {
        chemical = "Alcohol",
        addictiveness = 0.010,
        minToleranceToAddict = 0.25,
        existingAddictionSeverityOffset = 0.20,
        needLevelOffset = 0.9,
        listOrder = 10,
      },
      {
        compClass = "CompEquippable",
      },
    },
    tools = {
      {
        label = "bottle",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "neck",
        capacities = {
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Wort"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Alcohol_Beer.xml",
      DLC = "Core",
    },
    defName = "Wort",
    label = "wort",
    description = [[Un-fermented beer. This substance needs to ferment in a fermenting barrel before it becomes drinkable beer.]],
    stackLimit = 25,
    thingCategories = {
      "Manufactured",
    },
    statBases = {
      DeteriorationRate = 1.0,
      MarketValue = 2.5,
      Mass = 0.8,
      Flammability = 0.2,
      MaxHitPoints = 60,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 5,
        rotDestroys = true,
      },
    },
  },

  ["ThingDef:Ambrosia"] = {
    _ = {
      ParentName = "DrugBase",
      DefCategory = "ThingDef",
      FileName = "Ambrosia.xml",
      DLC = "Core",
    },
    defName = "Ambrosia",
    label = "ambrosia",
    description = [[A soft, rare fruit. Ambrosia tastes wonderful and produces a subtle mood-increasing chemical high. However, if eaten too often, it can generate a mild addiction.]],
    tradeability = "Sellable",
    statBases = {
      MarketValue = 15,
      Mass = 0.1,
      DeteriorationRate = 4,
      Nutrition = 0.2,
    },
    ingestible = {
      baseIngestTicks = 80,
      chairSearchRadius = 4,
      preferability = "DesperateOnly",
      tasteThought = {},
      foodType = {
        "VegetableOrFruit",
      },
      joyKind = "Chemical",
      joy = 0.5,
      drugCategory = "Social",
      canAutoSelectAsFoodForCaravan = false,
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "AmbrosiaHigh",
          severity = 0.50,
          toleranceChemical = "Ambrosia",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "AmbrosiaTolerance",
          severity = 0.032,
          divideByBodySize = true,
        },
      },
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 30,
        rotDestroys = true,
      },
      CompProperties_Drug = {
        chemical = "Ambrosia",
        addictiveness = 0.010,
        minToleranceToAddict = 0.15,
        existingAddictionSeverityOffset = 0.1,
        needLevelOffset = 0.9,
        listOrder = 30,
      },
    },
  },

  ["ThingDef:DrugBase"] = {
    _ = {
      Name = "DrugBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "DrugBases.xml",
      DLC = "Core",
    },
    thingClass = "ThingWithComps",
    category = "Item",
    useHitPoints = true,
    statBases = {
      MaxHitPoints = 50,
      Flammability = 1.0,
      DeteriorationRate = 2,
      Beauty = -4,
    },
    altitudeLayer = "Item",
    stackLimit = 150,
    thingCategories = {
      "Drugs",
    },
    tradeTags = {
      "Drugs",
    },
    comps = {
      CompProperties_Forbiddable = {},
    },
    pathCost = 14,
    ingestible = {
      preferability = "NeverForNutrition",
      chairSearchRadius = 8,
    },
  },

  ["ThingDef:MakeableDrugBase"] = {
    _ = {
      Name = "MakeableDrugBase",
      ParentName = "DrugBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "DrugBases.xml",
      DLC = "Core",
    },
    recipeMaker = {
      workSpeedStat = "DrugSynthesisSpeed",
      workSkill = "Intellectual",
      effectWorking = "Cook",
      soundWorking = "Recipe_CookMeal",
      bulkRecipeCount = 4,
    },
  },

  ["ThingDef:MakeableDrugPillBase"] = {
    _ = {
      Name = "MakeableDrugPillBase",
      ParentName = "MakeableDrugBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "DrugBases.xml",
      DLC = "Core",
    },
    ingestible = {
      foodType = {
        "Processed",
      },
      baseIngestTicks = 100,
      chairSearchRadius = 0,
    },
  },

  ["ThingDef:DrugPillBase"] = {
    _ = {
      Name = "DrugPillBase",
      ParentName = "DrugBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "DrugBases.xml",
      DLC = "Core",
    },
    ingestible = {
      foodType = {
        "Processed",
      },
      baseIngestTicks = 100,
      chairSearchRadius = 0,
    },
  },

  ["ThingDef:GoJuice"] = {
    _ = {
      ParentName = "MakeableDrugBase",
      DefCategory = "ThingDef",
      FileName = "GoJuice.xml",
      DLC = "Core",
    },
    defName = "GoJuice",
    label = "go-juice",
    description = [[A synthetic performance-enhancing drug developed for space marines during the early days of interplanetary warfare. Go-juice blocks pain, increases movement speed, and improves the user's melee and shooting abilities.\n\nThe military chemists who created it were never able to remove its addictiveness. Some saw this as a downside; others saw it as a benefit.]],
    statBases = {
      WorkToMake = 600,
      MarketValue = 53,
      Mass = 0.1,
    },
    ingestible = {
      joyKind = "Chemical",
      joy = 0.40,
      drugCategory = "Hard",
      foodType = {
        "Processed",
        "Fluid",
      },
      baseIngestTicks = 80,
      chairSearchRadius = 0,
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "GoJuiceHigh",
          severity = 0.5,
          toleranceChemical = "GoJuice",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_OffsetNeed",
          },
          need = "Rest",
          offset = 0.4,
          toleranceChemical = "GoJuice",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_OffsetPsyfocus",
          },
          offset = 0.15,
        },
      },
    },
    recipeMaker = {
      researchPrerequisite = "GoJuiceProduction",
      recipeUsers = {
        "DrugLab",
      },
      soundWorking = "Recipe_Drug",
    },
    costList = {
      Neutroamine = 2,
      Yayo = 1,
    },
    comps = {
      CompProperties_Drug = {
        chemical = "GoJuice",
        addictiveness = 0.026,
        existingAddictionSeverityOffset = 0.20,
        needLevelOffset = 0.9,
        isCombatEnhancingDrug = true,
        listOrder = 200,
        overdoseSeverityOffset = { ["<"]=0.18, [">"]=0.35 },
        largeOverdoseChance = 0.005,
      },
    },
  },

  ["ThingDef:Luciferium"] = {
    _ = {
      ParentName = "DrugPillBase",
      DefCategory = "ThingDef",
      FileName = "Luciferium.xml",
      DLC = "Core",
    },
    defName = "Luciferium",
    label = "luciferium",
    description = [[A concoction of mechanites that dramatically improve the body's functioning in all respects. Over time, it can even heal old scarred-over wounds or brain damage, though it cannot regenerate lost limbs. Unfortunately, without the moderating effects of regular doses every five or six days, the mechanites lose cohesion, causing continuous berserk rages and, eventually, death.\n\nAfter the first dose, there is no way to get the mechanites out, ever.\n\nOn the urbworlds, they call Luciferium the 'Devil's Bargain'. Many have been forced to kill friends when no more of the seductive red pills could be found.]],
    statBases = {
      MarketValue = 70,
      Mass = 0.01,
    },
    ingestible = {
      drugCategory = "Medical",
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "LuciferiumHigh",
          severity = 1.00,
          doToGeneratedPawnIfAddicted = true,
        },
      },
    },
    comps = {
      CompProperties_Drug = {
        chemical = "Luciferium",
        addictiveness = 1.00,
        needLevelOffset = 0.9,
        listOrder = 1010,
      },
    },
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:Penoxycyline"] = {
    _ = {
      ParentName = "MakeableDrugPillBase",
      DefCategory = "ThingDef",
      FileName = "Penoxycyline.xml",
      DLC = "Core",
    },
    defName = "Penoxycyline",
    label = "penoxycyline",
    description = [[A drug for preventing infections before they take hold. Blocks malaria, sleeping sickness, plague. Must be taken every five days to remain effective.\n\nThis drug only prevents new infections. It does not cure existing infections - even those that are not yet discovered.]],
    statBases = {
      WorkToMake = 600,
      MarketValue = 18,
      Mass = 0.005,
      Flammability = 0.7,
    },
    ingestible = {
      drugCategory = "Medical",
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "PenoxycylineHigh",
          severity = 1.0,
        },
      },
    },
    recipeMaker = {
      researchPrerequisite = "PenoxycylineProduction",
      recipeUsers = {
        "DrugLab",
      },
    },
    costList = {
      Neutroamine = 2,
    },
    comps = {
      CompProperties_Drug = {
        listOrder = 1000,
        overdoseSeverityOffset = { ["<"]=0.08, [">"]=0.14 },
      },
    },
  },

  ["ThingDef:Flake"] = {
    _ = {
      ParentName = "MakeableDrugBase",
      DefCategory = "ThingDef",
      FileName = "Psychite_Flake.xml",
      DLC = "Core",
    },
    defName = "Flake",
    label = "flake",
    description = [[A flaky white preparation of psychite that can be smoked to induce a short but powerful euphoric state. While it is cheap to produce and extremely pleasurable to use, it is exceptionally addictive. Flake is known for destroying lives, communities, and entire societies.]],
    statBases = {
      WorkToMake = 250,
      MarketValue = 14,
      Mass = 0.05,
    },
    ingestible = {
      foodType = {
        "Processed",
      },
      joyKind = "Chemical",
      joy = 0.70,
      baseIngestTicks = 650,
      drugCategory = "Hard",
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "FlakeHigh",
          severity = 0.75,
          toleranceChemical = "Psychite",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_OffsetNeed",
          },
          need = "Rest",
          offset = 0.2,
          toleranceChemical = "Psychite",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "PsychiteTolerance",
          severity = 0.04,
          divideByBodySize = true,
        },
      },
    },
    recipeMaker = {
      researchPrerequisite = "PsychiteRefining",
      recipeUsers = {
        "DrugLab",
      },
      soundWorking = "Recipe_Drug",
    },
    costList = {
      PsychoidLeaves = 4,
    },
    comps = {
      CompProperties_Drug = {
        chemical = "Psychite",
        addictiveness = 0.05,
        existingAddictionSeverityOffset = 0.30,
        needLevelOffset = 0.9,
        listOrder = 110,
        overdoseSeverityOffset = { ["<"]=0.18, [">"]=0.35 },
        largeOverdoseChance = 0.015,
      },
    },
  },

  ["ThingDef:PsychiteTea"] = {
    _ = {
      ParentName = "MakeableDrugBase",
      DefCategory = "ThingDef",
      FileName = "Psychite_Tea.xml",
      DLC = "Core",
    },
    defName = "PsychiteTea",
    label = "psychite tea",
    description = [[A fragrant tea infused with leaves of the psychoid plant. Drinking it induces a subtle psychite euphoria. This tea is easy to produce at cooking facilities, but can produce psychite addiction if consumed too often.\n\nMany tribes use psychoid tea, both as a daily energizer and as part of social and religious rituals.]],
    statBases = {
      WorkToMake = 400,
      MarketValue = 10,
      Mass = 0.05,
      DeteriorationRate = 6,
    },
    ingestible = {
      foodType = {
        "Fluid",
        "Processed",
      },
      joyKind = "Chemical",
      joy = 0.40,
      baseIngestTicks = 210,
      drugCategory = "Social",
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "PsychiteTeaHigh",
          severity = 0.75,
          toleranceChemical = "Psychite",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_OffsetNeed",
          },
          need = "Rest",
          offset = 0.1,
          toleranceChemical = "Psychite",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "PsychiteTolerance",
          severity = 0.03,
          divideByBodySize = true,
        },
      },
    },
    recipeMaker = {
      researchPrerequisite = "PsychoidBrewing",
      recipeUsers = {
        "Campfire",
        "ElectricStove",
        "FueledStove",
      },
      workSpeedStat = "DrugCookingSpeed",
      workSkill = "Cooking",
      skillRequirements = {
        Cooking = 2,
      },
      requiredGiverWorkType = "Cooking",
    },
    costList = {
      PsychoidLeaves = 4,
    },
    comps = {
      CompProperties_Drug = {
        chemical = "Psychite",
        addictiveness = 0.02,
        minToleranceToAddict = 0.10,
        existingAddictionSeverityOffset = 0.15,
        needLevelOffset = 0.9,
        listOrder = 110,
      },
    },
  },

  ["ThingDef:Yayo"] = {
    _ = {
      ParentName = "MakeableDrugBase",
      DefCategory = "ThingDef",
      FileName = "Psychite_Yayo.xml",
      DLC = "Core",
    },
    defName = "Yayo",
    label = "yayo",
    description = [[A refined powdery preparation of the psychite drug. When snorted, it produces a rapid euphoric high, dramatically reduces the user's need for rest, and suppresses pain. Like all forms of psychite, it is addictive, though it is not as addictive as the cruder flake.\n\nBecause of its high cost and refined appearance, many cultures associate yayo with degenerate wealth. Whether in the throneroom or the boardroom, many hare-brained policy schemes have been developed during yayo-fueled binge parties.]],
    statBases = {
      WorkToMake = 350,
      MarketValue = 21,
      Mass = 0.05,
    },
    ingestible = {
      foodType = {
        "Processed",
      },
      joyKind = "Chemical",
      joy = 0.80,
      drugCategory = "Hard",
      baseIngestTicks = 150,
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "YayoHigh",
          severity = 0.75,
          toleranceChemical = "Psychite",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_OffsetNeed",
          },
          need = "Rest",
          offset = 0.4,
          toleranceChemical = "Psychite",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "PsychiteTolerance",
          severity = 0.040,
          divideByBodySize = true,
        },
      },
    },
    recipeMaker = {
      researchPrerequisite = "PsychiteRefining",
      recipeUsers = {
        "DrugLab",
      },
      soundWorking = "Recipe_Drug",
    },
    costList = {
      PsychoidLeaves = 8,
    },
    comps = {
      CompProperties_Drug = {
        chemical = "Psychite",
        addictiveness = 0.01,
        existingAddictionSeverityOffset = 0.20,
        needLevelOffset = 0.9,
        isCombatEnhancingDrug = true,
        listOrder = 100,
        overdoseSeverityOffset = { ["<"]=0.18, [">"]=0.35 },
        largeOverdoseChance = 0.01,
      },
    },
  },

  ["ThingDef:SmokeleafJoint"] = {
    _ = {
      ParentName = "MakeableDrugBase",
      DefCategory = "ThingDef",
      FileName = "Smokeleaf.xml",
      DLC = "Core",
    },
    defName = "SmokeleafJoint",
    label = "smokeleaf joint",
    description = [[Smokeleaf leaves prepared in small rolls for smoking. The drug improves mood, but also increases appetite, reduces focus and slows movement. Smokeleaf use can produce a dependency.\n\nJoints can be produced at a crafting spot without equipment, and are a fixture in many traditional low-industriousness cultures.]],
    statBases = {
      WorkToMake = 450,
      MarketValue = 11,
      Mass = 0.05,
      DeteriorationRate = 6,
      Flammability = 1.3,
    },
    ingestible = {
      foodType = {
        "Plant",
        "Processed",
      },
      joyKind = "Chemical",
      joy = 0.80,
      baseIngestTicks = 720,
      drugCategory = "Social",
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "SmokeleafHigh",
          severity = 0.5,
          toleranceChemical = "Smokeleaf",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_OffsetNeed",
          },
          need = "Rest",
          offset = -0.1,
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "SmokeleafTolerance",
          severity = 0.030,
          divideByBodySize = true,
        },
      },
    },
    recipeMaker = {
      recipeUsers = {
        "CraftingSpot",
        "DrugLab",
      },
      workSpeedStat = "DrugCookingSpeed",
      workSkill = "Cooking",
    },
    costList = {
      SmokeleafLeaves = 4,
    },
    comps = {
      CompProperties_Drug = {
        chemical = "Smokeleaf",
        addictiveness = 0.020,
        minToleranceToAddict = 0.15,
        existingAddictionSeverityOffset = 0.06,
        needLevelOffset = 0.9,
        listOrder = 20,
      },
    },
  },

  ["ThingDef:WakeUp"] = {
    _ = {
      ParentName = "MakeableDrugPillBase",
      DefCategory = "ThingDef",
      FileName = "WakeUp.xml",
      DLC = "Core",
    },
    defName = "WakeUp",
    label = "wake-up",
    description = [[A synthetic stimulant. Wake-up fills the user's need for rest, allowing them to work for extended periods without getting tired. However, taking wake-up runs the risk of developing an addiction.\n\nIn the most competitive universities and companies of many worlds, high-achievers are sometimes called 'wake-ups' because of the association with this drug.]],
    statBases = {
      WorkToMake = 900,
      MarketValue = 35,
      Mass = 0.005,
    },
    ingestible = {
      joyKind = "Chemical",
      joy = 0.40,
      drugCategory = "Hard",
      outcomeDoers = {
        {
          _ = {
            Class = "IngestionOutcomeDoer_GiveHediff",
          },
          hediffDef = "WakeUpHigh",
          severity = 0.75,
          toleranceChemical = "WakeUp",
        },
        {
          _ = {
            Class = "IngestionOutcomeDoer_OffsetNeed",
          },
          need = "Rest",
          offset = 1.0,
          toleranceChemical = "WakeUp",
        },
      },
    },
    recipeMaker = {
      researchPrerequisite = "WakeUpProduction",
      recipeUsers = {
        "DrugLab",
      },
    },
    costList = {
      Neutroamine = 2,
    },
    comps = {
      CompProperties_Drug = {
        chemical = "WakeUp",
        addictiveness = 0.02,
        existingAddictionSeverityOffset = 0.20,
        needLevelOffset = 0.9,
        listOrder = 210,
        overdoseSeverityOffset = { ["<"]=0.18, [">"]=0.35 },
        largeOverdoseChance = 0.005,
      },
    },
  },

  ["ThingDef:Mote_SparkThrown"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Effecter_Construction.xml",
      DLC = "Core",
    },
    defName = "Mote_SparkThrown",
    altitudeLayer = "Projectile",
  },

  ["ThingDef:Mote_SparkThrownFast"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Effecter_Damage.xml",
      DLC = "Core",
    },
    defName = "Mote_SparkThrownFast",
    altitudeLayer = "Projectile",
  },

  ["ThingDef:Mote_SparkThrownFastBlue"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Effecter_Damage.xml",
      DLC = "Core",
    },
    defName = "Mote_SparkThrownFastBlue",
    altitudeLayer = "Projectile",
  },

  ["ThingDef:Mote_LongSparkThrown"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Effecter_Damage.xml",
      DLC = "Core",
    },
    defName = "Mote_LongSparkThrown",
    altitudeLayer = "Projectile",
  },

  ["ThingDef:Mote_Splash"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Effecter_Damage.xml",
      DLC = "Core",
    },
    defName = "Mote_Splash",
    altitudeLayer = "MoteOverhead",
  },

  ["ThingDef:Mote_ToxicDamage"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Effecter_Damage.xml",
      DLC = "Core",
    },
    defName = "Mote_ToxicDamage",
    altitudeLayer = "MoteOverhead",
  },

  ["ThingDef:Mote_SmokeJoint"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Effecter_Ingest.xml",
      DLC = "Core",
    },
    defName = "Mote_SmokeJoint",
    thingClass = "MoteThrown",
    altitudeLayer = "MoteOverhead",
  },

  ["ThingDef:Mote_SmokeFlake"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Effecter_Ingest.xml",
      DLC = "Core",
    },
    defName = "Mote_SmokeFlake",
    thingClass = "MoteThrown",
    altitudeLayer = "MoteOverhead",
  },

  ["ThingDef:Mote_ExtinguisherPuff"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Effecter_Misc.xml",
      DLC = "Core",
    },
    defName = "Mote_ExtinguisherPuff",
    altitudeLayer = "MoteOverhead",
  },

  ["ThingDef:BodyPartArchotechBase"] = {
    _ = {
      Name = "BodyPartArchotechBase",
      ParentName = "BodyPartBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Archotech.xml",
      DLC = "Core",
    },
    thingCategories = {
      "BodyPartsArchotech",
    },
    statBases = {
      DeteriorationRate = 0,
    },
  },

  ["ThingDef:ArchotechEye"] = {
    _ = {
      ParentName = "BodyPartArchotechBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Archotech.xml",
      DLC = "Core",
    },
    defName = "ArchotechEye",
    label = "archotech eye",
    description = [[An artifical eye built by an archotech. It perceives every type of electromagnetic radiation, including radio waves, infrared, light, x-rays, and gamma rays. Its visual acuity is precise enough to read handwriting from twenty meters away. It can emit various wavelengths of radiation like a flashlight, and has an internal subpersona AI which helps highlight useful visual information. Externally, it looks like a natural human eye, except it can change color at will. Its internal workings are a mystery to all human minds.]],
    statBases = {
      MarketValue = 2800,
      Mass = 0.3,
    },
  },

  ["ThingDef:ArchotechArm"] = {
    _ = {
      ParentName = "BodyPartArchotechBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Archotech.xml",
      DLC = "Core",
    },
    defName = "ArchotechArm",
    label = "archotech arm",
    description = [[An artifical arm built by an archotech. It's strong enough to crush a thick hardwood branch in its hand, and precise enough to write a sonnet on a grain of rice. It looks and feels like natural flesh, but it's harder to damage than plasteel. Even if it is harmed, it repairs itself over time. Its internal workings are a mystery to all human minds.]],
    statBases = {
      MarketValue = 2800,
      Mass = 4,
    },
  },

  ["ThingDef:ArchotechLeg"] = {
    _ = {
      ParentName = "BodyPartArchotechBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Archotech.xml",
      DLC = "Core",
    },
    defName = "ArchotechLeg",
    label = "archotech leg",
    description = [[An artifical leg built by an archotech. It looks and feels like natural flesh, but a pair of these can move the user as fast as a decent car, and it's harder to damage than plasteel. Even if it is harmed, it repairs itself over time. Its internal workings are a mystery to all human minds.]],
    statBases = {
      MarketValue = 2800,
      Mass = 7,
    },
  },

  ["ThingDef:BodyPartBase"] = {
    _ = {
      Name = "BodyPartBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Base.xml",
      DLC = "Core",
    },
    thingClass = "ThingWithComps",
    category = "Item",
    useHitPoints = true,
    altitudeLayer = "Item",
    pathCost = 14,
    statBases = {
      MaxHitPoints = 50,
      Flammability = 0.7,
      Beauty = -4,
      DeteriorationRate = 2.0,
      Mass = 1,
    },
    tradeTags = {
      "TechHediff",
    },
    comps = {
      CompProperties_Forbiddable = {},
    },
  },

  ["ThingDef:BodyPartBionicBase"] = {
    _ = {
      Name = "BodyPartBionicBase",
      ParentName = "BodyPartBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    thingCategories = {
      "BodyPartsBionic",
    },
    tradeTags = {
      "Bionic",
    },
    statBases = {
      WorkToMake = 26000,
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Smith",
      unfinishedThingDef = "UnfinishedHealthItemBionic",
      skillRequirements = {
        Crafting = 8,
      },
      researchPrerequisite = "Bionics",
      recipeUsers = {
        "FabricationBench",
      },
    },
  },

  ["ThingDef:BionicEye"] = {
    _ = {
      ParentName = "BodyPartBionicBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    defName = "BionicEye",
    label = "bionic eye",
    description = [[An advanced artifical eye. With its biogel nerve-link, internal signal pre-processor, and wide-spectrum sensors, it is better than a biological eye in almost every way. A lattice-dust healing system allows it to recover from damage.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    statBases = {
      Mass = 0.3,
    },
  },

  ["ThingDef:BionicArm"] = {
    _ = {
      ParentName = "BodyPartBionicBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    defName = "BionicArm",
    label = "bionic arm",
    description = [[An advanced artificial arm. Silenced mini-servos give great strength, while the biogel nerve-link gives exquisite control. A lattice-dust healing system allows it to recover from damage. It is better than a biological arm in almost every way.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    statBases = {
      Mass = 5,
    },
  },

  ["ThingDef:BionicLeg"] = {
    _ = {
      ParentName = "BodyPartBionicBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    defName = "BionicLeg",
    label = "bionic leg",
    description = [[An advanced artificial leg. With its biogel nerve-link, powerful mini-servos, and lattice-dust healing system, it is better than a biological leg in almost every way.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    statBases = {
      Mass = 8,
    },
  },

  ["ThingDef:BionicSpine"] = {
    _ = {
      ParentName = "BodyPartBionicBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    defName = "BionicSpine",
    label = "bionic spine",
    description = [[An advanced artificial spine. A biogel nerve bundle runs down an articulated plasteel core, surrounded by a lattice-dust healing system. It matches the performance of a biological spine.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    statBases = {
      Mass = 2,
    },
  },

  ["ThingDef:BionicHeart"] = {
    _ = {
      ParentName = "BodyPartBionicBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    defName = "BionicHeart",
    label = "bionic heart",
    description = [[An advanced artificial heart. It has synthetic muscle fibers for a realistic heartbeat, plus a high-flow pump for rapid circulation during high stress. It is better than a biological heart in almost every way.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
  },

  ["ThingDef:BionicStomach"] = {
    _ = {
      ParentName = "BodyPartBionicBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    defName = "BionicStomach",
    label = "bionic stomach",
    description = [[An advanced artificial stomach. A set of sensors and chemical synthesizers efficiently digest nearly any energy-bearing foodstuff. An integrated lattice-dust healing system automatically repairs any damage caused by the powerful acids. It is better than a biological stomach in almost every way.]],
    costList = {
      Plasteel = 10,
      ComponentSpacer = 3,
    },
    statBases = {
      Mass = 2,
    },
  },

  ["ThingDef:DeathAcidifier"] = {
    _ = {
      ParentName = "BodyPartBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    defName = "DeathAcidifier",
    label = "death acidifier",
    description = [[A chest implant for preventing enemy use of captured equipment. Upon the user's death, it releases powerful chemicals that dissolve gear in contact with the user's body. It doesn't damage others.]],
    statBases = {
      MarketValue = 400,
    },
    thingCategories = {
      "BodyPartsBionic",
    },
  },

  ["ThingDef:Mote_AcidCloud"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    defName = "Mote_AcidCloud",
    altitudeLayer = "MoteOverhead",
  },

  ["ThingDef:BionicEar"] = {
    _ = {
      ParentName = "BodyPartBionicBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic.xml",
      DLC = "Core",
    },
    defName = "BionicEar",
    label = "bionic ear",
    description = [[An advanced artificial ear implant. A collection of invisible subdermal microphones capture sound and transmit it to a biogel nerve interface that links directly with the auditory nerve. It's sensitive enough to hear a cat before you see it, can't be damaged by loud noise, and automatically tunes itself to pick out meaningful sounds in noisy environments.]],
    costList = {
      Plasteel = 10,
      ComponentSpacer = 3,
    },
  },

  ["ThingDef:BodyPartNaturalBase"] = {
    _ = {
      Name = "BodyPartNaturalBase",
      ParentName = "BodyPartBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Natural.xml",
      DLC = "Core",
    },
    thingCategories = {
      "BodyPartsNatural",
    },
    statBases = {
      DeteriorationRate = 4.0,
    },
  },

  ["ThingDef:Heart"] = {
    _ = {
      ParentName = "BodyPartNaturalBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Natural.xml",
      DLC = "Core",
    },
    defName = "Heart",
    label = "heart",
    description = [[A biological human heart. Pumps blood around the body.]],
    statBases = {
      MarketValue = 500,
      Mass = 1,
    },
  },

  ["ThingDef:Lung"] = {
    _ = {
      ParentName = "BodyPartNaturalBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Natural.xml",
      DLC = "Core",
    },
    defName = "Lung",
    label = "lung",
    description = [[A biological human lung. A pair of these form the core of the human respiratory system.]],
    statBases = {
      MarketValue = 400,
      Mass = 1,
    },
  },

  ["ThingDef:Kidney"] = {
    _ = {
      ParentName = "BodyPartNaturalBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Natural.xml",
      DLC = "Core",
    },
    defName = "Kidney",
    label = "kidney",
    description = [[A biological human kidney. Filters and removes waste products from the blood.]],
    statBases = {
      MarketValue = 250,
      Mass = 1,
    },
  },

  ["ThingDef:Liver"] = {
    _ = {
      ParentName = "BodyPartNaturalBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Natural.xml",
      DLC = "Core",
    },
    defName = "Liver",
    label = "liver",
    description = [[A biological human liver. Plays an important role in metabolism.]],
    statBases = {
      MarketValue = 500,
      Mass = 2,
    },
  },

  ["ThingDef:BodyPartProstheticBase"] = {
    _ = {
      Name = "BodyPartProstheticBase",
      ParentName = "BodyPartBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic.xml",
      DLC = "Core",
    },
    thingCategories = {
      "BodyPartsProsthetic",
    },
    statBases = {
      WorkToMake = 15000,
    },
  },

  ["ThingDef:BodyPartProstheticMakeableBase"] = {
    _ = {
      Name = "BodyPartProstheticMakeableBase",
      ParentName = "BodyPartProstheticBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic.xml",
      DLC = "Core",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Smith",
      recipeUsers = {
        "TableMachining",
      },
      skillRequirements = {
        Crafting = 5,
      },
      unfinishedThingDef = "UnfinishedHealthItemProsthetic",
      researchPrerequisite = "Prosthetics",
    },
  },

  ["ThingDef:SimpleProstheticLeg"] = {
    _ = {
      ParentName = "BodyPartProstheticMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic.xml",
      DLC = "Core",
    },
    defName = "SimpleProstheticLeg",
    label = "prosthetic leg",
    description = [[A leg prosthesis. While it lacks a neural interface, its complex arrangement of internal joints allows it to mimic natural movement quite convincingly. Still, it is inferior to a real leg.]],
    costList = {
      Steel = 40,
      ComponentIndustrial = 4,
    },
    statBases = {
      Mass = 8,
    },
  },

  ["ThingDef:SimpleProstheticArm"] = {
    _ = {
      ParentName = "BodyPartProstheticMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic.xml",
      DLC = "Core",
    },
    defName = "SimpleProstheticArm",
    label = "prosthetic arm",
    description = [[An arm prosthesis. While it lacks a neural interface, its complex arrangement of internal joints allows it to mimic natural movement quite convincingly. Still, it is inferior to a real arm.]],
    costList = {
      Steel = 40,
      ComponentIndustrial = 4,
    },
    statBases = {
      Mass = 5,
    },
  },

  ["ThingDef:SimpleProstheticHeart"] = {
    _ = {
      ParentName = "BodyPartProstheticMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic.xml",
      DLC = "Core",
    },
    defName = "SimpleProstheticHeart",
    label = "prosthetic heart",
    description = [[A heart prosthesis. It contains an electric motor that pumps blood smoothly around the body. Users often report feeling tired, but it's better than the alternative.]],
    costList = {
      Steel = 25,
      ComponentIndustrial = 4,
    },
    statBases = {
      Mass = 2,
    },
  },

  ["ThingDef:CochlearImplant"] = {
    _ = {
      ParentName = "BodyPartProstheticMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic.xml",
      DLC = "Core",
    },
    defName = "CochlearImplant",
    label = "cochlear implant",
    description = [[An implant which replaces normal hearing. An external microphone transmits a sound signal to electrodes wrapped around the inner ear's auditory sensing nerves. The electrodes stimulate the nerves according to the sound, creating a sensation of hearing. It's not as good as a natural ear, but it's a lot better than being deaf.]],
    costList = {
      Steel = 20,
      ComponentIndustrial = 4,
    },
  },

  ["ThingDef:PowerClaw"] = {
    _ = {
      ParentName = "BodyPartProstheticBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic.xml",
      DLC = "Core",
    },
    defName = "PowerClaw",
    label = "power claw",
    description = [[A combat-oriented hand replacement consisting of a mechanical hand with a hooked claw on each finger. It cuts deep, and it is strong enough to crush a skull like a hand crushes an egg. The claws can be retracted, making it as useful as a natural hand for non-combat tasks, however its overall ungainlyness slows down movement slightly.]],
    costList = {
      Steel = 40,
      ComponentIndustrial = 8,
    },
    statBases = {
      Mass = 4,
    },
  },

  ["ThingDef:Joywire"] = {
    _ = {
      ParentName = "BodyPartProstheticBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic.xml",
      DLC = "Core",
    },
    defName = "Joywire",
    label = "joywire",
    description = [[A brain implant that stimulates the brain's pleasure centers. While it dramatically improves a user's mood, the blanket of happiness makes it hard to concentrate on anything real. Joywires are illegal on many worlds, and are known for destroying whole cultures.]],
    costList = {
      Steel = 20,
      ComponentIndustrial = 4,
    },
  },

  ["ThingDef:Painstopper"] = {
    _ = {
      ParentName = "BodyPartProstheticBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic.xml",
      DLC = "Core",
    },
    defName = "Painstopper",
    label = "painstopper",
    description = [[A brain implant which inhibits nociception, or pain sensation. While it does allow the user to accomplish more, it turns out pain has a purpose. When you don't feel it, you can get hurt really bad really easily.]],
    costList = {
      Steel = 20,
      ComponentIndustrial = 4,
    },
  },

  ["ThingDef:AncientConcreteBarrier"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Ancient.xml",
      DLC = "Core",
    },
    defName = "AncientConcreteBarrier",
    label = "ancient concrete barrier",
    thingClass = "Building",
    category = "Building",
    description = [[A traffic management solution from long ago.]],
    altitudeLayer = "Building",
    pathCost = 42,
    pathCostIgnoreRepeat = true,
    passability = "PassThroughOnly",
    fillPercent = 0.5,
    statBases = {
      MaxHitPoints = 500,
      Beauty = -10,
      Flammability = 0,
      WorkToBuild = 600,
    },
    building = {
      isInert = true,
    },
    costList = {
      Steel = 15,
    },
  },

  ["ThingDef:AncientLamppost"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Ancient.xml",
      DLC = "Core",
    },
    defName = "AncientLamppost",
    label = "ancient lamppost",
    thingClass = "Building",
    category = "Building",
    description = [[Road lighting from long ago. No longer functional.]],
    statBases = {
      MaxHitPoints = 300,
      WorkToBuild = 400,
    },
    fillPercent = 0.25,
    passability = "PassThroughOnly",
    pathCost = 42,
    costList = {
      Steel = 15,
    },
    building = {
      isInert = true,
    },
  },

  ["ThingDef:Urn"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Ancient.xml",
      DLC = "Core",
    },
    defName = "Urn",
    label = "urn",
    description = [[An ancient-style decorative container.]],
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsFurniture",
    },
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.40,
    statBases = {
      MaxHitPoints = 40,
      WorkToBuild = 500,
      Mass = 5,
      Flammability = 1.0,
      Beauty = 5,
    },
    pathCost = 30,
    building = {
      isInert = true,
    },
  },

  ["ThingDef:SculptureBase"] = {
    _ = {
      ParentName = "BuildingBase",
      Name = "SculptureBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Art.xml",
      DLC = "Core",
    },
    thingClass = "Building_Art",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    useHitPoints = true,
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsArt",
    },
    statBases = {
      Flammability = 1.0,
      SellPriceFactor = 1.10,
      MeditationFocusStrength = 0.0,
    },
    comps = {
      {
        compClass = "CompQuality",
      },
      CompProperties_Art = {
        nameMaker = "NamerArtSculpture",
        descriptionMaker = "ArtDescription_Sculpture",
        canBeEnjoyedAsArt = true,
      },
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Artistic",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_Quality",
            },
            curve = {
              points = {
                {0, 0.12},
                {1, 0.16},
                {2, 0.20},
                {3, 0.22},
                {4, 0.24},
                {5, 0.26},
                {6, 0.28},
              },
            },
          },
          {
            _ = {
              Class = "FocusStrengthOffset_BuildingDefsWithQuality",
            },
            defs = {
              "SculptureSmall",
              "SculptureLarge",
              "SculptureGrand",
            },
            radius = 9.9,
            maxBuildings = 8,
            focusPerQuality = {
              points = {
                {0, 0.0},
                {1, 0.0},
                {2, 0.01},
                {3, 0.01},
                {4, 0.01},
                {5, 0.02},
                {6, 0.02},
              },
            },
            explanationKey = "MeditationFocusPerSculpture",
            explanationKeyAbstract = "MeditationFocusPerSculptureAbstract",
          },
        },
      },
    },
    tradeTags = {
      "Art",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Artistic",
      unfinishedThingDef = "UnfinishedSculpture",
      effectWorking = "Sculpt",
      soundWorking = "Recipe_Sculpt",
      recipeUsers = {
        "TableSculpting",
      },
      defaultIngredientFilter = {
        categories = {
          "Root",
        },
        disallowedThingDefs = {
          "Gold",
          "Silver",
          "Plasteel",
          "Jade",
          "Uranium",
        },
      },
    },
  },

  ["ThingDef:SculptureSmall"] = {
    _ = {
      ParentName = "SculptureBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Art.xml",
      DLC = "Core",
    },
    defName = "SculptureSmall",
    label = "small sculpture",
    description = [[A torso-sized piece of material sculpted into an artistic form.]],
    fillPercent = 0.35,
    statBases = {
      MaxHitPoints = 90,
      Mass = 3,
      Beauty = 50,
      WorkToMake = 18000,
    },
  },

  ["ThingDef:SculptureLarge"] = {
    _ = {
      ParentName = "SculptureBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Art.xml",
      DLC = "Core",
    },
    defName = "SculptureLarge",
    label = "large sculpture",
    description = [[A person-sized piece of material sculpted into an artistic form.]],
    fillPercent = 0.5,
    statBases = {
      MaxHitPoints = 150,
      Mass = 7,
      Beauty = 100,
      WorkToMake = 30000,
    },
  },

  ["ThingDef:SculptureGrand"] = {
    _ = {
      ParentName = "SculptureBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Art.xml",
      DLC = "Core",
    },
    defName = "SculptureGrand",
    label = "grand sculpture",
    description = [[A huge sculpture sized to dominate a room.]],
    fillPercent = 0.5,
    size = {2, 2},
    statBases = {
      MaxHitPoints = 300,
      Beauty = 400,
      Mass = 28,
      WorkToMake = 105000,
    },
  },

  ["ThingDef:Snowman"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Art.xml",
      DLC = "Core",
    },
    defName = "Snowman",
    label = "snowman",
    description = [[A set of large snowballs piled and shaped to resemble a person. People make these for the fun of it.]],
    thingClass = "Building",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 30,
    pathCostIgnoreRepeat = false,
    useHitPoints = true,
    fillPercent = 0.35,
    statBases = {
      MaxHitPoints = 50,
      Beauty = 4,
      WorkToBuild = 1000,
      MarketValue = 0,
    },
    comps = {
      {
        compClass = "CompMelter",
      },
    },
    building = {
      repairable = false,
      isInert = true,
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:BuildingBase"] = {
    _ = {
      Name = "BuildingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Base.xml",
      DLC = "Core",
    },
    category = "Building",
    thingClass = "Building",
    terrainAffordanceNeeded = "Light",
    leaveResourcesWhenKilled = true,
    statBases = {
      SellPriceFactor = 0.70,
    },
  },

  ["ThingDef:CrashedShipPartBase"] = {
    _ = {
      Abstract = true,
      Name = "CrashedShipPartBase",
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Exotic.xml",
      DLC = "Core",
    },
    size = {6, 3},
    passability = "Impassable",
    fillPercent = 1,
    altitudeLayer = "Building",
    terrainAffordanceNeeded = "Light",
    leaveResourcesWhenKilled = false,
    statBases = {
      MaxHitPoints = 1200,
      Flammability = 0,
      Beauty = -200,
    },
    killedLeavings = {
      ChunkSlagSteel = 4,
      Steel = 60,
      ComponentIndustrial = 1,
      Plasteel = 10,
      ComponentSpacer = 1,
    },
    building = {
      combatPower = 250,
    },
    comps = {
      CompProperties_WakeUpDormant = {},
    },
  },

  ["ThingDef:PsychicDronerShipPart"] = {
    _ = {
      ParentName = "CrashedShipPartBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Exotic.xml",
      DLC = "Core",
    },
    defName = "PsychicDronerShipPart",
    label = "ship part (psychic droner)",
    description = [[An ancient ship part, torn off of a craft of unknown origin. It might be thousands of years old.\n\nThis one contains a psychic disturbance device. Using incomprehensible archotechnologies, it generates a psychic signal that drives people and animals mad within a wide radius around itself.]],
    comps = {
      CompProperties_CausesGameCondition_PsychicEmanation = {
        conditionDef = "PsychicDroner",
        compClass = "CompCauseGameCondition_PsychicEmanation",
        worldRange = 1,
        droneLevelIncreaseInterval = 150000,
        droneLevel = 2,
      },
      CompProperties_AnimalInsanityPulser = {},
    },
  },

  ["ThingDef:DefoliatorShipPart"] = {
    _ = {
      ParentName = "CrashedShipPartBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Exotic.xml",
      DLC = "Core",
    },
    defName = "DefoliatorShipPart",
    label = "ship part (defoliator)",
    description = [[An ancient ship part, torn off of a craft of unknown origin. It might be thousands of years old.\n\nThis one contains a device which annihilates plant life near itself without directly affecting flesh creatures. These kinds of weapons are sometimes scattered across farmlands or forests to remove the enemy's food supply and hiding places without permanently ruining the territory. They're usually associated with orbital-drop mechanoid armies.]],
    comps = {
      CompProperties_PlantHarmRadius = {
        radiusPerDayCurve = {
          points = {
            "0  , 5",
            "1.5, 18",
            "6  , 40",
            "20 , 100",
          },
        },
      },
    },
  },

  ["ThingDef:ShipChunk"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Exotic.xml",
      DLC = "Core",
    },
    defName = "ShipChunk",
    label = "ship chunk",
    description = [[A chunk of a spacecraft. Can be deconstructed to yield useful resources.]],
    category = "Building",
    altitudeLayer = "Building",
    pathCost = 42,
    passability = "PassThroughOnly",
    fillPercent = 0.50,
    size = {2, 2},
    statBases = {
      MaxHitPoints = 300,
      Flammability = 0,
      Beauty = -20,
      WorkToBuild = 12000,
    },
    leaveResourcesWhenKilled = false,
    killedLeavings = {
      ChunkSlagSteel = 2,
      ComponentIndustrial = 1,
    },
    costList = {
      ComponentIndustrial = 11,
      Steel = 40,
    },
    building = {
      alwaysDeconstructible = true,
    },
  },

  ["ThingDef:FurnitureBase"] = {
    _ = {
      Name = "FurnitureBase",
      ParentName = "BuildingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsFurniture",
    },
  },

  ["ThingDef:FurnitureWithQualityBase"] = {
    _ = {
      Name = "FurnitureWithQualityBase",
      ParentName = "FurnitureBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
    },
  },

  ["ThingDef:ArtableFurnitureBase"] = {
    _ = {
      Name = "ArtableFurnitureBase",
      ParentName = "FurnitureWithQualityBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    comps = {
      CompProperties_Art = {
        nameMaker = "NamerArtFurniture",
        descriptionMaker = "ArtDescription_Furniture",
        minQualityForArtistic = "Excellent",
      },
    },
  },

  ["ThingDef:ArtableFurnitureRegardlessOfQualityBase"] = {
    _ = {
      Name = "ArtableFurnitureRegardlessOfQualityBase",
      ParentName = "FurnitureWithQualityBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    comps = {
      CompProperties_Art = {
        nameMaker = "NamerArtFurniture",
        descriptionMaker = "ArtDescription_Furniture",
        minQualityForArtistic = "Awful",
      },
    },
  },

  ["ThingDef:SleepingSpot"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "SleepingSpot",
    label = "sleeping spot",
    description = [[Designates a spot on the ground where people should sleep. Not comfortable.]],
    thingClass = "Building_Bed",
    altitudeLayer = "FloorEmplacement",
    statBases = {
      WorkToBuild = 0,
      Comfort = 0.4,
      SurgerySuccessChanceFactor = 0.7,
    },
    useHitPoints = false,
    size = {1, 2},
    passability = "Standable",
    building = {
      sowTag = "SupportPlantsOnly",
      artificialForMeditationPurposes = false,
      buildingTags = {
        "Bed",
      },
    },
    comps = {
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = false,
        compClass = "CompAssignableToPawn_Bed",
      },
    },
  },

  ["ThingDef:DoubleSleepingSpot"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "DoubleSleepingSpot",
    label = "double sleeping spot",
    description = [[Designates a spot on the ground where two people should sleep together. Not comfortable.]],
    thingClass = "Building_Bed",
    altitudeLayer = "FloorEmplacement",
    statBases = {
      WorkToBuild = 0,
      Comfort = 0.4,
      SurgerySuccessChanceFactor = 0.7,
    },
    useHitPoints = false,
    size = {2, 2},
    passability = "Standable",
    building = {
      sowTag = "SupportPlantsOnly",
      artificialForMeditationPurposes = false,
      buildingTags = {
        "Bed",
      },
    },
    comps = {
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = false,
        compClass = "CompAssignableToPawn_Bed",
      },
    },
  },

  ["ThingDef:BedBase"] = {
    _ = {
      ParentName = "FurnitureBase",
      Name = "BedBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    thingClass = "Building_Bed",
    altitudeLayer = "Building",
    comps = {
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = false,
        compClass = "CompAssignableToPawn_Bed",
      },
    },
    passability = "PassThroughOnly",
    building = {
      buildingTags = {
        "Bed",
      },
    },
  },

  ["ThingDef:BedWithQualityBase"] = {
    _ = {
      Name = "BedWithQualityBase",
      ParentName = "BedBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
    },
  },

  ["ThingDef:ArtableBedBase"] = {
    _ = {
      Name = "ArtableBedBase",
      ParentName = "BedWithQualityBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    comps = {
      CompProperties_Art = {
        nameMaker = "NamerArtFurniture",
        descriptionMaker = "ArtDescription_Furniture",
        minQualityForArtistic = "Excellent",
      },
    },
  },

  ["ThingDef:Bed"] = {
    _ = {
      ParentName = "BedWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Bed",
    label = "bed",
    description = [[A cozy mattress and sheets on a frame for resting.]],
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "EndTable",
          "Dresser",
        },
      },
    },
    statBases = {
      MaxHitPoints = 140,
      Flammability = 1.0,
      Beauty = 1,
      WorkToBuild = 800,
      Mass = 30,
      BedRestEffectiveness = 1,
      Comfort = 0.75,
      ImmunityGainSpeedFactor = 1.07,
      SurgerySuccessChanceFactor = 1,
    },
    size = {1, 2},
    building = {
      bed_healPerDay = 4,
    },
    fillPercent = 0.4,
    pathCost = 42,
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:DoubleBed"] = {
    _ = {
      ParentName = "ArtableBedBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "DoubleBed",
    label = "double bed",
    description = [[A simple double-wide bed that fits two people.]],
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "EndTable",
          "Dresser",
        },
      },
    },
    statBases = {
      MaxHitPoints = 200,
      Flammability = 1.0,
      WorkToBuild = 1500,
      Mass = 50,
      Comfort = 0.75,
      Beauty = 2,
      BedRestEffectiveness = 1,
      ImmunityGainSpeedFactor = 1.07,
      SurgerySuccessChanceFactor = 1,
    },
    size = {2, 2},
    building = {
      bed_healPerDay = 4,
    },
    terrainAffordanceNeeded = "Light",
    fillPercent = 0.4,
    pathCost = 42,
    leaveResourcesWhenKilled = true,
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:RoyalBed"] = {
    _ = {
      ParentName = "ArtableBedBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "RoyalBed",
    label = "royal bed",
    description = [[A luxurious gold-inlaid bed fit for the highborn. Very comfy and beautiful, it is a work of art in itself. Fits two.]],
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "EndTable",
          "Dresser",
        },
      },
    },
    statBases = {
      MaxHitPoints = 200,
      Flammability = 1.0,
      WorkToBuild = 50000,
      Mass = 60,
      Beauty = 75,
      BedRestEffectiveness = 1.05,
      Comfort = 0.90,
      ImmunityGainSpeedFactor = 1.07,
      SurgerySuccessChanceFactor = 1,
    },
    size = {2, 2},
    costList = {
      Gold = 50,
    },
    building = {
      bed_healPerDay = 4,
    },
    terrainAffordanceNeeded = "Light",
    fillPercent = 0.4,
    pathCost = 42,
    leaveResourcesWhenKilled = true,
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:HospitalBed"] = {
    _ = {
      ParentName = "BedWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "HospitalBed",
    label = "hospital bed",
    description = [[A bed specially designed for use in hospitals. Adjustable for a patient and festooned with built-in equipment, it improves medical outcomes over normal beds.]],
    statBases = {
      MaxHitPoints = 150,
      WorkToBuild = 2800,
      Mass = 35,
      Flammability = 1.0,
      BedRestEffectiveness = 1,
      Comfort = 0.80,
      ImmunityGainSpeedFactor = 1.11,
      MedicalTendQualityOffset = 0.10,
      SurgerySuccessChanceFactor = 1.1,
    },
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "VitalsMonitor",
          "EndTable",
          "Dresser",
        },
      },
    },
    size = {1, 2},
    costList = {
      Steel = 80,
      ComponentIndustrial = 5,
    },
    building = {
      bed_healPerDay = 10,
      bed_defaultMedical = true,
      buildingSizeCategory = "Small",
    },
    fillPercent = 0.4,
    pathCost = 42,
    leaveResourcesWhenKilled = true,
    researchPrerequisites = {
      "HospitalBed",
    },
  },

  ["ThingDef:Bedroll"] = {
    _ = {
      ParentName = "BedWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Bedroll",
    label = "bedroll",
    description = [[A simple bed that lays on the floor, usually made of cloth or leather, often lined with fur. It is lightweight and can be rolled up for easy transport, but it is not quite as comfortable as a typical bed. Caravans can use bedrolls while traveling for better sleep.]],
    statBases = {
      MaxHitPoints = 75,
      Flammability = 1.0,
      Mass = 2.5,
      BedRestEffectiveness = 0.95,
      ImmunityGainSpeedFactor = 1.05,
      Comfort = 0.68,
      WorkToBuild = 600,
    },
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "Dresser",
          "EndTable",
        },
      },
    },
    size = {1, 2},
    building = {
      bed_healPerDay = 4,
      bed_caravansCanUse = true,
    },
    pathCost = 14,
    passability = "Standable",
  },

  ["ThingDef:BedrollDouble"] = {
    _ = {
      ParentName = "BedWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "BedrollDouble",
    label = "double bedroll",
    description = [[A simple double-wide bed that lays on the floor, usually made of cloth or leather, often lined with fur. It is lightweight and can be rolled up for easy transport, but it is not quite as comfortable as a typical bed. Caravans can use bedrolls while traveling for better sleep.]],
    statBases = {
      Flammability = 1.0,
      Mass = 4.5,
      BedRestEffectiveness = 0.95,
      ImmunityGainSpeedFactor = 1.05,
      Comfort = 0.68,
      WorkToBuild = 1100,
    },
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "Dresser",
          "EndTable",
        },
      },
    },
    size = {2, 2},
    building = {
      bed_healPerDay = 4,
      bed_caravansCanUse = true,
    },
    pathCost = 14,
    passability = "Standable",
  },

  ["ThingDef:AnimalSleepingSpot"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "AnimalSleepingSpot",
    thingClass = "Building_Bed",
    label = "animal sleeping spot",
    description = [[Designates a spot on the ground where animals should sleep.]],
    size = {1, 1},
    passability = "Standable",
    useHitPoints = false,
    altitudeLayer = "FloorEmplacement",
    statBases = {
      WorkToBuild = 0,
      SurgerySuccessChanceFactor = 0.7,
    },
    building = {
      bed_humanlike = false,
      sowTag = "SupportPlantsOnly",
      artificialForMeditationPurposes = false,
    },
    comps = {
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = false,
        compClass = "CompAssignableToPawn_Bed",
      },
    },
  },

  ["ThingDef:AnimalSleepingBox"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "AnimalSleepingBox",
    thingClass = "Building_Bed",
    label = "animal sleeping box",
    description = [[A small box for animals to sleep in. Fits smaller animals like chickens, cats, or small dogs.]],
    fillPercent = 0.15,
    pathCost = 14,
    passability = "PassThroughOnly",
    building = {
      bed_humanlike = false,
      bed_maxBodySize = 0.55,
      bed_healPerDay = 4,
    },
    altitudeLayer = "Building",
    statBases = {
      MaxHitPoints = 75,
      Flammability = 1.0,
      WorkToBuild = 180,
      Mass = 3,
      BedRestEffectiveness = 0.93,
      Comfort = 0.60,
      ImmunityGainSpeedFactor = 1.05,
      SurgerySuccessChanceFactor = 1,
    },
    comps = {
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = false,
        compClass = "CompAssignableToPawn_Bed",
      },
    },
  },

  ["ThingDef:AnimalBed"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "AnimalBed",
    thingClass = "Building_Bed",
    label = "animal bed",
    description = [[A soft bed for animals to sleep on. Fits any animal.]],
    fillPercent = 0.15,
    pathCost = 14,
    passability = "PassThroughOnly",
    building = {
      bed_humanlike = false,
      bed_healPerDay = 4,
    },
    altitudeLayer = "Building",
    statBases = {
      MaxHitPoints = 140,
      Flammability = 1.0,
      WorkToBuild = 400,
      Mass = 5,
      BedRestEffectiveness = 1,
      Comfort = 0.75,
      ImmunityGainSpeedFactor = 1.07,
      SurgerySuccessChanceFactor = 1,
    },
    comps = {
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = false,
        compClass = "CompAssignableToPawn_Bed",
      },
    },
  },

  ["ThingDef:Stool"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Stool",
    label = "stool",
    description = [[A simple platform on which to sit. Not very comfortable, but much better than nothing. Can be used at tables, work stations, and elsewhere.]],
    altitudeLayer = "Building",
    statBases = {
      MaxHitPoints = 75,
      WorkToBuild = 450,
      Mass = 3,
      Flammability = 1.0,
      Beauty = 0,
      Comfort = 0.5,
    },
    pathCost = 30,
    fillPercent = 0.20,
    building = {
      isSittable = true,
    },
  },

  ["ThingDef:DiningChair"] = {
    _ = {
      ParentName = "ArtableFurnitureBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "DiningChair",
    label = "dining chair",
    description = [[A comfortable and attractive chair. Can be used at tables, work stations, and elsewhere.]],
    altitudeLayer = "Building",
    statBases = {
      MaxHitPoints = 100,
      WorkToBuild = 8000,
      Mass = 5,
      Flammability = 1.0,
      Beauty = 8,
      Comfort = 0.70,
    },
    pathCost = 30,
    fillPercent = 0.35,
    building = {
      isSittable = true,
    },
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:Armchair"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Armchair",
    label = "armchair",
    description = [[A large, soft, comfy seat. Great for relaxation. Can be used at tables, work stations, and elsewhere.]],
    altitudeLayer = "Building",
    statBases = {
      MaxHitPoints = 120,
      WorkToBuild = 14000,
      Mass = 18,
      Flammability = 1.0,
      Beauty = 4,
      Comfort = 0.8,
    },
    researchPrerequisites = {
      "ComplexFurniture",
    },
    pathCost = 30,
    fillPercent = 0.40,
    building = {
      isSittable = true,
    },
  },

  ["ThingDef:TableBase"] = {
    _ = {
      Abstract = true,
      ParentName = "FurnitureWithQualityBase",
      Name = "TableBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    description = [[People eat off tables when chairs are placed facing them.]],
    thingClass = "Building",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 42,
    fillPercent = 0.4,
    leaveResourcesWhenKilled = true,
  },

  ["ThingDef:TableGatherSpotBase"] = {
    _ = {
      Abstract = true,
      ParentName = "TableBase",
      Name = "TableGatherSpotBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    comps = {
      {
        compClass = "CompGatherSpot",
      },
    },
  },

  ["ThingDef:EndTable"] = {
    _ = {
      ParentName = "TableBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "EndTable",
    label = "end table",
    description = [[A small bedside table which makes nearby beds a little bit more comfortable. Must be placed directly adjacent to the head of the bed. Placing more than one end table near the same bed has no effect.]],
    statBases = {
      MaxHitPoints = 75,
      WorkToBuild = 1000,
      Mass = 5,
      Flammability = 1.0,
      Beauty = 3,
    },
    pathCost = 30,
    researchPrerequisites = {
      "ComplexFurniture",
    },
    comps = {
      CompProperties_Facility = {
        statOffsets = {
          Comfort = 0.05,
        },
        maxSimultaneous = 1,
        mustBePlacedAdjacentCardinalToBedHead = true,
      },
    },
  },

  ["ThingDef:Table1x2c"] = {
    _ = {
      ParentName = "TableGatherSpotBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Table1x2c",
    label = "table (1x2)",
    statBases = {
      MaxHitPoints = 75,
      WorkToBuild = 750,
      Mass = 5,
      Flammability = 1.0,
      Beauty = 0.5,
    },
    size = {1, 2},
  },

  ["ThingDef:Table2x2c"] = {
    _ = {
      ParentName = "TableGatherSpotBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Table2x2c",
    label = "table (2x2)",
    statBases = {
      MaxHitPoints = 100,
      WorkToBuild = 1500,
      Mass = 10,
      Flammability = 1.0,
      Beauty = 1,
    },
    size = {2, 2},
  },

  ["ThingDef:Table2x4c"] = {
    _ = {
      ParentName = "TableGatherSpotBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Table2x4c",
    label = "table (2x4)",
    statBases = {
      MaxHitPoints = 150,
      WorkToBuild = 3000,
      Mass = 20,
      Flammability = 1.0,
      Beauty = 2,
    },
    size = {2, 4},
    building = {
      buildingSizeCategory = "Medium",
    },
  },

  ["ThingDef:Table3x3c"] = {
    _ = {
      ParentName = "TableGatherSpotBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Table3x3c",
    label = "table (3x3)",
    statBases = {
      MaxHitPoints = 175,
      WorkToBuild = 3300,
      Mass = 22,
      Flammability = 1.0,
      Beauty = 2,
    },
    size = {3, 3},
    building = {
      buildingSizeCategory = "Medium",
    },
  },

  ["ThingDef:PlantPot"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "PlantPot",
    label = "plant pot",
    description = [[Plant decorative flowers here to improve the mood of people nearby.]],
    thingClass = "Building_PlantGrower",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.20,
    statBases = {
      MaxHitPoints = 75,
      WorkToBuild = 250,
      Mass = 2,
      Flammability = 1.0,
    },
    comps = {
      CompProperties_Forbiddable = {},
    },
    leaveResourcesWhenKilled = false,
    building = {
      defaultPlantToGrow = "Plant_Daylily",
      sowTag = "Decorative",
    },
  },

  ["ThingDef:TorchLamp"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "TorchLamp",
    label = "torch lamp",
    description = [[A wooden torch for lighting an area. People need light to move and work at full speed. Can be automatically refueled with wood. Produces a small amount of heat.]],
    category = "Building",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 14,
    fillPercent = 0.15,
    statBases = {
      MaxHitPoints = 75,
      WorkToBuild = 100,
      Flammability = 0,
      MeditationFocusStrength = 0.0,
    },
    costList = {
      WoodLog = 20,
    },
    building = {
      artificialForMeditationPurposes = false,
    },
    leaveResourcesWhenKilled = false,
    comps = {
      CompProperties_Refuelable = {
        fuelConsumptionRate = 2.0,
        fuelCapacity = 20.0,
        fuelConsumptionPerTickInRain = 0.0006,
        fuelFilter = {
          thingDefs = {
            "WoodLog",
          },
        },
        initialFuelPercent = 1,
        showAllowAutoRefuelToggle = true,
      },
      CompProperties_Glower = {
        glowRadius = 10,
        glowColor = {252, 187, 113, 0},
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 3.5,
        heatPushMaxTemperature = 23,
      },
      CompProperties_FireOverlay = {
        fireSize = 0.4,
        offset = {0, 0, 0.2},
      },
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Flame",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_Lit",
            },
            offset = 0.1,
          },
          {
            _ = {
              Class = "FocusStrengthOffset_BuildingDefsLit",
            },
            defs = {
              "Campfire",
              "TorchLamp",
              "Brazier",
            },
            offsetPerBuilding = 0.01,
            radius = 9.9,
            maxBuildings = 8,
            explanationKey = "MeditationFocusPerFlame",
            explanationKeyAbstract = "MeditationFocusPerFlameAbstract",
          },
        },
      },
    },
  },

  ["ThingDef:LampBase"] = {
    _ = {
      Abstract = true,
      Name = "LampBase",
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    thingClass = "Building",
    category = "Building",
    minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.20,
    pathCost = 14,
    leaveResourcesWhenKilled = false,
    thingCategories = {
      "BuildingsFurniture",
    },
    comps = {
      CompProperties_Flickable = {},
    },
    statBases = {
      MaxHitPoints = 50,
      WorkToBuild = 300,
      Flammability = 1.0,
    },
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:StandingLampBase"] = {
    _ = {
      Abstract = true,
      Name = "StandingLampBase",
      ParentName = "LampBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    costList = {
      Steel = 20,
    },
    statBases = {
      Mass = 4,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 30,
      },
    },
  },

  ["ThingDef:StandingLamp"] = {
    _ = {
      ParentName = "StandingLampBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "StandingLamp",
    label = "standing lamp",
    description = [[An electrical standing lamp that lights an area. People need light to move and work at full speed.]],
    comps = {
      CompProperties_Glower = {
        glowRadius = 12,
        glowColor = {217, 217, 208, 0},
      },
    },
  },

  ["ThingDef:StandingLamp_Red"] = {
    _ = {
      ParentName = "StandingLampBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "StandingLamp_Red",
    label = "standing lamp (red)",
    description = [[A standing lamp that lights an area in red.]],
    comps = {
      CompProperties_Glower = {
        glowRadius = 12,
        glowColor = {217, 80, 80, 0},
      },
    },
    researchPrerequisites = {
      _ = {
        Inherit = false,
      },
      "ColoredLights",
    },
  },

  ["ThingDef:StandingLamp_Green"] = {
    _ = {
      ParentName = "StandingLampBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "StandingLamp_Green",
    label = "standing lamp (green)",
    description = [[A standing lamp that lights an area in green.]],
    comps = {
      CompProperties_Glower = {
        glowRadius = 12,
        glowColor = {80, 217, 80, 0},
      },
    },
    researchPrerequisites = {
      _ = {
        Inherit = false,
      },
      "ColoredLights",
    },
  },

  ["ThingDef:StandingLamp_Blue"] = {
    _ = {
      ParentName = "StandingLampBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "StandingLamp_Blue",
    label = "standing lamp (blue)",
    description = [[A standing lamp that lights an area in blue.]],
    comps = {
      CompProperties_Glower = {
        glowRadius = 12,
        glowColor = {80, 80, 217, 0},
      },
    },
    researchPrerequisites = {
      _ = {
        Inherit = false,
      },
      "ColoredLights",
    },
  },

  ["ThingDef:SunLamp"] = {
    _ = {
      ParentName = "LampBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "SunLamp",
    label = "sun lamp",
    description = [[An industrial lamp which lights an area brightly enough to grow crops, but consumes a huge amount of power. Automatically turns itself off at night.]],
    thingClass = "Building_SunLamp",
    statBases = {
      WorkToBuild = 330,
      Mass = 4.5,
    },
    costList = {
      Steel = 40,
    },
    comps = {
      CompProperties_Glower = {
        overlightRadius = 7.0,
        glowRadius = 14,
        glowColor = {370, 370, 370, 0},
      },
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 2900,
      },
      CompProperties_Schedule = {
        startTime = 0.25,
        endTime = 0.8,
        offMessage = "Off for plant resting period",
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 3,
      },
    },
  },

  ["ThingDef:Shelf"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Shelf",
    label = "shelf",
    description = [[A shelf for storing miscellaneous items. Items stored in this will not affect room beauty and they won't deteriorate, even if outside.]],
    thingClass = "Building_Storage",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.4,
    pathCost = 50,
    statBases = {
      MaxHitPoints = 100,
      Mass = 8,
      WorkToBuild = 600,
      Flammability = 1.0,
      Beauty = 0.5,
    },
    size = {2, 1},
    building = {
      preventDeteriorationOnTop = true,
      ignoreStoredThingsBeauty = true,
      defaultStorageSettings = {
        priority = "Important",
        filter = {
          categories = {
            "Weapons",
          },
        },
      },
    },
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:Dresser"] = {
    _ = {
      ParentName = "ArtableFurnitureBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Core",
    },
    defName = "Dresser",
    label = "dresser",
    description = [[A dresser. Gives a small comfort bonus to all nearby beds. Placing more than one dresser near the same bed has no effect.]],
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.4,
    pathCost = 42,
    statBases = {
      MaxHitPoints = 120,
      Mass = 15,
      WorkToBuild = 2000,
      Flammability = 1.0,
      Beauty = 5,
    },
    size = {2, 1},
    researchPrerequisites = {
      "ComplexFurniture",
    },
    comps = {
      CompProperties_Facility = {
        statOffsets = {
          Comfort = 0.05,
        },
        maxSimultaneous = 1,
        maxDistance = 6,
      },
    },
  },

  ["ThingDef:HorseshoesPin"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "HorseshoesPin",
    label = "horseshoes pin",
    description = [[A simple ancient game played with a horseshoes and a large pin in the ground. Players toss horseshoes to try to get them to land on the pin. It's relaxing, and trains shooting skills.]],
    minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
    thingCategories = {
      "BuildingsJoy",
    },
    statBases = {
      MaxHitPoints = 75,
      WorkToBuild = 100,
      Mass = 3,
      Flammability = 1.0,
      JoyGainFactor = 1,
    },
    building = {
      joyKind = "Gaming_Dexterity",
      artificialForMeditationPurposes = false,
    },
    pathCost = 14,
  },

  ["ThingDef:HoopstoneRing"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "HoopstoneRing",
    label = "hoopstone ring",
    description = [[A simple ancient game played with stones and a large ring in the ground. Players try to toss stones through the ring from a distance. It's relaxing, and trains shooting skills.]],
    minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
    thingCategories = {
      "BuildingsJoy",
    },
    statBases = {
      MaxHitPoints = 100,
      WorkToBuild = 100,
      Mass = 4,
      Flammability = 1.0,
      JoyGainFactor = 1,
    },
    building = {
      joyKind = "Gaming_Dexterity",
      artificialForMeditationPurposes = false,
    },
    pathCost = 14,
  },

  ["ThingDef:GameOfUrBoard"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "GameOfUrBoard",
    label = "Game-of-Ur board",
    description = [[Dating from 2500BC, this exciting yet infuriating board game can be played by one or two people. It trains intellectual skills.]],
    altitudeLayer = "Building",
    fillPercent = 0.20,
    building = {
      joyKind = "Gaming_Cerebral",
    },
    statBases = {
      MaxHitPoints = 90,
      WorkToBuild = 6000,
      Mass = 2,
      Flammability = 1.0,
      Beauty = 2,
      JoyGainFactor = 0.8,
    },
    pathCost = 14,
    passability = "PassThroughOnly",
  },

  ["ThingDef:ChessTable"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "ChessTable",
    label = "chess table",
    description = [[The ancient game of kings. Fun for a few hours here and there, even playing alone. It trains intellectual skills.]],
    altitudeLayer = "Building",
    fillPercent = 0.40,
    building = {
      joyKind = "Gaming_Cerebral",
    },
    researchPrerequisites = {
      "ComplexFurniture",
    },
    statBases = {
      MaxHitPoints = 100,
      WorkToBuild = 8000,
      Mass = 5,
      Flammability = 1.0,
      Beauty = 4,
      JoyGainFactor = 1,
    },
    pathCost = 30,
    passability = "PassThroughOnly",
  },

  ["ThingDef:PokerTable"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "PokerTable",
    label = "poker table",
    description = [[A table designed for playing gambling card games like poker. A great way to test your strategic skills and a bit of luck.]],
    altitudeLayer = "Building",
    fillPercent = 0.40,
    building = {
      joyKind = "Gaming_Cerebral",
      buildingSizeCategory = "Medium",
    },
    statBases = {
      MaxHitPoints = 250,
      WorkToBuild = 10000,
      Mass = 30,
      Flammability = 1.0,
      Beauty = 0,
      JoyGainFactor = 1.3,
    },
    size = {2, 2},
    costList = {
      Cloth = 50,
      WoodLog = 25,
    },
    pathCost = 42,
    passability = "PassThroughOnly",
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:BilliardsTable"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "BilliardsTable",
    label = "billiards table",
    description = [[A soft-topped bounded table for playing a variety of billiards-type games. It trains shooting ability.]],
    altitudeLayer = "Building",
    fillPercent = 0.40,
    terrainAffordanceNeeded = "Medium",
    building = {
      joyKind = "Gaming_Dexterity",
      buildingSizeCategory = "Medium",
    },
    statBases = {
      MaxHitPoints = 250,
      WorkToBuild = 12000,
      Mass = 60,
      Flammability = 1.0,
      Beauty = 0,
      JoyGainFactor = 1.3,
    },
    size = {2, 3},
    costList = {
      Cloth = 80,
      WoodLog = 30,
    },
    pathCost = 42,
    passability = "PassThroughOnly",
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:TubeTelevision"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "TubeTelevision",
    label = "tube television",
    description = [[A cathode ray tube display for showing moving pictures with sound. Even on the rimworlds, there is often an old transmitter running something at least marginally interesting.]],
    altitudeLayer = "Building",
    minifiedDef = "MinifiedThing",
    fillPercent = 0.40,
    thingCategories = {
      "BuildingsJoy",
    },
    statBases = {
      WorkToBuild = 10000,
      MaxHitPoints = 100,
      Mass = 14,
      Flammability = 1.0,
      JoyGainFactor = 1.2,
    },
    costList = {
      Steel = 80,
      ComponentIndustrial = 4,
    },
    pathCost = 42,
    passability = "PassThroughOnly",
    building = {
      joyKind = "Television",
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 200,
      },
      CompProperties_Flickable = {},
    },
    tradeTags = {
      "Television",
    },
    researchPrerequisites = {
      "TubeTelevision",
    },
  },

  ["ThingDef:FlatscreenTelevision"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "FlatscreenTelevision",
    label = "flatscreen television",
    description = [[A high-tech flat-screen television with crystal-clear image and rich color. Picks up transmissions from ancient satellites and ubiquitous data cards.]],
    altitudeLayer = "Building",
    minifiedDef = "MinifiedThing",
    fillPercent = 0.35,
    thingCategories = {
      "BuildingsJoy",
    },
    costList = {
      Steel = 140,
      ComponentIndustrial = 16,
    },
    statBases = {
      WorkToBuild = 40000,
      MaxHitPoints = 80,
      Flammability = 1.0,
      Mass = 8,
      JoyGainFactor = 1.4,
    },
    pathCost = 50,
    passability = "PassThroughOnly",
    size = {2, 1},
    researchPrerequisites = {
      "FlatscreenTelevision",
    },
    building = {
      joyKind = "Television",
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 330,
      },
      CompProperties_Flickable = {},
    },
    tradeTags = {
      "Television",
    },
  },

  ["ThingDef:MegascreenTelevision"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "MegascreenTelevision",
    label = "megascreen television",
    description = [[A huge, high-tech television. Gigantic, hyper-vibrant images almost leap out of the screen. Very entertaining. Picks up transmissions from ancient satellites and ubiquitous data cards.]],
    altitudeLayer = "Building",
    minifiedDef = "MinifiedThing",
    fillPercent = 0.35,
    thingCategories = {
      "BuildingsJoy",
    },
    costList = {
      Steel = 260,
      ComponentIndustrial = 22,
    },
    statBases = {
      WorkToBuild = 80000,
      MaxHitPoints = 85,
      Flammability = 1.0,
      Mass = 10,
      JoyGainFactor = 1.6,
    },
    pathCost = 50,
    passability = "PassThroughOnly",
    size = {3, 1},
    building = {
      joyKind = "Television",
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 450,
      },
      CompProperties_Flickable = {},
    },
    tradeTags = {
      "Television",
    },
  },

  ["ThingDef:Telescope"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Joy.xml",
      DLC = "Core",
    },
    defName = "Telescope",
    label = "telescope",
    description = [[A telescope for doing amateur astronomy. It's a relaxing hobby for a certain kind of person. Can only be used outdoors.]],
    fillPercent = 0.15,
    altitudeLayer = "Building",
    hasInteractionCell = true,
    passability = "PassThroughOnly",
    pathCost = 30,
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsJoy",
    },
    building = {
      joyKind = "Telescope",
    },
    costList = {
      Steel = 50,
      ComponentIndustrial = 1,
    },
    statBases = {
      MaxHitPoints = 75,
      Flammability = 1.0,
      MarketValue = 350,
      Mass = 7.5,
      JoyGainFactor = 1.2,
    },
  },

  ["ThingDef:OrbitalTradeBeacon"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "OrbitalTradeBeacon",
    label = "orbital trade beacon",
    thingClass = "Building_OrbitalTradeBeacon",
    altitudeLayer = "Building",
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsMisc",
    },
    statBases = {
      MaxHitPoints = 75,
      WorkToBuild = 800,
      Flammability = 0.5,
      Mass = 5,
    },
    description = [[Required for orbital trading. You can only sell goods to orbital traders if they're near an orbital trade beacon. Can be placed indoors.]],
    fillPercent = 0.15,
    costList = {
      Steel = 40,
      ComponentIndustrial = 1,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 40,
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
    },
    leaveResourcesWhenKilled = false,
    pathCost = 14,
    researchPrerequisites = {
      "MicroelectronicsBasics",
    },
  },

  ["ThingDef:CommsConsole"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "CommsConsole",
    label = "comms console",
    description = [[Allows radio contact with other factions and orbital traders.]],
    thingClass = "Building_CommsConsole",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.5,
    statBases = {
      MaxHitPoints = 250,
      WorkToBuild = 2200,
      Flammability = 0.6,
    },
    size = {3, 2},
    costList = {
      Steel = 120,
      ComponentIndustrial = 4,
    },
    hasInteractionCell = true,
    terrainAffordanceNeeded = "Medium",
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 200,
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
    },
    researchPrerequisites = {
      "MicroelectronicsBasics",
    },
  },

  ["ThingDef:FirefoamPopper"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "FirefoamPopper",
    label = "firefoam popper",
    description = [[When it detects fire, this safety device pops and sprays a fire-retardant foam in a circular field around itself. Can also be triggered manually.]],
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 9.9,
        explosiveDamageType = "Extinguish",
        startWickHitPointsPercent = -1,
        startWickOnDamageTaken = {
          "Flame",
        },
        postExplosionSpawnThingDef = "Filth_FireFoam",
        postExplosionSpawnChance = 1,
        postExplosionSpawnThingCount = 1,
        applyDamageToExplosionCellsNeighbors = true,
        explosionEffect = "ExtinguisherExplosion",
      },
      CompProperties_Usable = {
        useJob = "TriggerFirefoamPopper",
        useLabel = "Trigger firefoam popper",
      },
      CompProperties_UseEffect = {
        compClass = "CompUseEffect_StartWick",
      },
      CompProperties_ProximityFuse = {
        target = "Fire",
        radius = 3,
      },
    },
    altitudeLayer = "Building",
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsMisc",
    },
    statBases = {
      MaxHitPoints = 50,
      WorkToBuild = 1500,
      Mass = 10,
      Flammability = 1.0,
      Beauty = -8,
    },
    fillPercent = 0.30,
    costList = {
      Steel = 75,
      ComponentIndustrial = 1,
    },
    leaveResourcesWhenKilled = false,
    pathCost = 30,
    passability = "PassThroughOnly",
    researchPrerequisites = {
      "Firefoam",
    },
  },

  ["ThingDef:MoisturePump"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "MoisturePump",
    label = "moisture pump",
    description = [[Very slowly equalizes moisture in nearby terrain, converting marshes or shallow water into dry ground, and soft sand into normal sand. Does not affect deep water.]],
    comps = {
      CompProperties_Forbiddable = {},
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 150,
      },
      CompProperties_TerrainPumpDry = {
        soundWorking = "MoisturePump_Ambience",
        radius = 6.9,
        daysToRadius = 60,
      },
    },
    altitudeLayer = "Building",
    statBases = {
      MaxHitPoints = 50,
      WorkToBuild = 1500,
      Flammability = 1.0,
      Beauty = -8,
    },
    fillPercent = 0.15,
    costList = {
      Steel = 75,
      ComponentIndustrial = 4,
    },
    pathCost = 30,
    passability = "PassThroughOnly",
    researchPrerequisites = {
      "MoisturePump",
    },
  },

  ["ThingDef:GroundPenetratingScanner"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "GroundPenetratingScanner",
    label = "ground-penetrating scanner",
    description = [[A sensor unit used by researchers to search for buried resources. The chance to find a resource depends on the operator's research ability. It consumes a lot of electricity. If you find a buried resource, you'll need to use deep drills to extract it. It doesn't work under a roof.]],
    costList = {
      Steel = 150,
      ComponentIndustrial = 4,
      ComponentSpacer = 1,
    },
    comps = {
      CompProperties_Forbiddable = {},
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 700,
      },
      CompProperties_Breakdownable = {},
      CompProperties_Flickable = {},
      CompProperties_ScannerMineralsDeep = {
        scanSpeedStat = "ResearchSpeed",
        scanFindMtbDays = 3,
        scanFindGuaranteedDays = 6,
        soundWorking = "ScannerGroundPenetrating_Ambience",
      },
    },
    altitudeLayer = "Building",
    statBases = {
      MaxHitPoints = 200,
      WorkToBuild = 12000,
      Flammability = 0.5,
      Beauty = -8,
    },
    hasInteractionCell = true,
    fillPercent = 0.40,
    leaveResourcesWhenKilled = false,
    passability = "PassThroughOnly",
    pathCost = 50,
    size = {3, 3},
    terrainAffordanceNeeded = "Heavy",
    researchPrerequisites = {
      "GroundPenetratingScanner",
    },
  },

  ["ThingDef:LongRangeMineralScanner"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "LongRangeMineralScanner",
    label = "long-range mineral scanner",
    description = [[A lateral sensor unit used by researchers to detect a specific type of mineral across the planet. The chance to find a resource depends on the operator's research ability. This sensor can be tuned to target a specific resource type. It consumes a lot of electricity. If you find a resource, you'll need to travel to collect it.]],
    costList = {
      Steel = 200,
      ComponentIndustrial = 6,
      ComponentSpacer = 2,
    },
    comps = {
      CompProperties_Forbiddable = {},
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 700,
      },
      CompProperties_Breakdownable = {},
      CompProperties_Flickable = {},
      CompProperties_LongRangeMineralScanner = {
        scanSpeedStat = "ResearchSpeed",
        scanFindMtbDays = 4,
        scanFindGuaranteedDays = 8,
        soundWorking = "ScannerLongRangeMineral_Ambience",
      },
    },
    altitudeLayer = "Building",
    statBases = {
      MaxHitPoints = 250,
      WorkToBuild = 1000,
      Flammability = 0.5,
      Beauty = -8,
    },
    fillPercent = 0.40,
    leaveResourcesWhenKilled = false,
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    size = {3, 3},
    terrainAffordanceNeeded = "Heavy",
    researchPrerequisites = {
      "LongRangeMineralScanner",
    },
  },

  ["ThingDef:PodLauncher"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "PodLauncher",
    label = "pod launcher",
    description = [[A fueling port for launching one transport pod. Pod launchers can launch as a group - but the launchers must be placed adjacent to each other.]],
    size = {1, 2},
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1.0,
    terrainAffordanceNeeded = "Medium",
    statBases = {
      MaxHitPoints = 200,
      WorkToBuild = 3000,
      Flammability = 0.5,
    },
    costList = {
      Steel = 50,
      ComponentIndustrial = 1,
    },
    comps = {
      CompProperties_Refuelable = {
        fuelCapacity = 150.0,
        targetFuelLevelConfigurable = true,
        initialConfigurableTargetFuelLevel = 75,
        fuelFilter = {
          thingDefs = {
            "Chemfuel",
          },
        },
        consumeFuelOnlyWhenUsed = true,
        autoRefuelPercent = 1,
        showFuelGizmo = true,
        drawOutOfFuelOverlay = false,
        drawFuelGaugeInMap = true,
        showAllowAutoRefuelToggle = true,
      },
    },
    researchPrerequisites = {
      "TransportPod",
    },
  },

  ["ThingDef:TransportPod"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "TransportPod",
    label = "transport pod",
    description = [[A launchable sub-orbital cargo pod capable of carrying people, items, or animals. Can be used for sending gifts, transporting people or supplies, surprise attacks, or reinforcing battles.]],
    size = {1, 1},
    altitudeLayer = "BuildingOnTop",
    passability = "PassThroughOnly",
    fillPercent = 0.5,
    terrainAffordanceNeeded = "Medium",
    statBases = {
      MaxHitPoints = 250,
      WorkToBuild = 1600,
      Flammability = 0.5,
    },
    costList = {
      Steel = 60,
      ComponentIndustrial = 1,
    },
    comps = {
      CompProperties_Transporter = {
        restEffectiveness = 0.8,
      },
      CompProperties_Launchable = {
        skyfallerLeaving = "DropPodLeaving",
      },
    },
    researchPrerequisites = {
      "TransportPod",
    },
  },

  ["ThingDef:MultiAnalyzer"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "MultiAnalyzer",
    label = "multi-analyzer",
    description = [[Increases research speed when placed near hi-tech research bench and unlocks new research projects. Each research bench can only use one multi-analyzer.]],
    researchPrerequisites = {
      "MultiAnalyzer",
    },
    size = {2, 2},
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.5,
    minifiedDef = "MinifiedThing",
    terrainAffordanceNeeded = "Medium",
    thingCategories = {
      "BuildingsMisc",
    },
    statBases = {
      MaxHitPoints = 200,
      WorkToBuild = 10000,
      Mass = 60,
      Flammability = 1.0,
    },
    costList = {
      Steel = 40,
      Plasteel = 50,
      Gold = 20,
      ComponentIndustrial = 8,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 200,
      },
      CompProperties_Flickable = {},
      CompProperties_Facility = {
        statOffsets = {
          ResearchSpeedFactor = 0.1,
        },
        maxSimultaneous = 1,
      },
    },
  },

  ["ThingDef:VitalsMonitor"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "VitalsMonitor",
    label = "vitals monitor",
    description = [[Increases medical tend quality, surgery success chance, and immunity gain speed when placed directly adjacent to a hospital bed. Only works for hospital beds - normal beds will not benefit. Attaching more than one vitals monitor to the same bed will have no effect.]],
    researchPrerequisites = {
      "VitalsMonitor",
    },
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.2,
    statBases = {
      MaxHitPoints = 100,
      WorkToBuild = 6000,
      Mass = 20,
      Flammability = 0.7,
    },
    size = {1, 1},
    costList = {
      Steel = 50,
      ComponentIndustrial = 3,
    },
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsMisc",
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 80,
      },
      CompProperties_Flickable = {},
      CompProperties_Facility = {
        statOffsets = {
          MedicalTendQualityOffset = 0.07,
          ImmunityGainSpeedFactor = 0.02,
          SurgerySuccessChanceFactor = 0.05,
        },
        maxSimultaneous = 1,
        mustBePlacedAdjacent = true,
      },
    },
  },

  ["ThingDef:ToolCabinet"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "ToolCabinet",
    label = "tool cabinet",
    description = [[Increases work speed when placed near a workbench. One workbench use to up to two tool cabinets.]],
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.5,
    pathCost = 42,
    statBases = {
      MaxHitPoints = 100,
      WorkToBuild = 1800,
      Mass = 20,
      Flammability = 0.5,
    },
    size = {2, 1},
    costList = {
      Steel = 200,
    },
    researchPrerequisites = {
      "ComplexFurniture",
    },
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsMisc",
    },
    comps = {
      CompProperties_Facility = {
        statOffsets = {
          WorkTableWorkSpeedFactor = 0.06,
        },
        maxSimultaneous = 2,
      },
    },
  },

  ["ThingDef:Grave"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "Grave",
    label = "grave",
    description = [[A decent final resting place. Colonists will visit full graves to gain meditative joy.]],
    thingClass = "Building_Grave",
    altitudeLayer = "FloorEmplacement",
    useHitPoints = false,
    size = {1, 2},
    statBases = {
      WorkToBuild = 800,
      MeditationFocusStrength = 0.06,
    },
    passability = "Standable",
    building = {
      isInert = true,
      preventDeteriorationInside = true,
      artificialForMeditationPurposes = false,
      fixedStorageSettings = {
        filter = {
          categories = {
            "Corpses",
          },
        },
      },
      defaultStorageSettings = {
        priority = "Important",
        filter = {
          categories = {
            "CorpsesHumanlike",
          },
        },
      },
    },
    terrainAffordanceNeeded = "Diggable",
    comps = {
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = false,
        compClass = "CompAssignableToPawn_Grave",
      },
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Morbid",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_GraveFull",
            },
            offset = 0.10,
          },
          {
            _ = {
              Class = "FocusStrengthOffset_GraveCorpseRelationship",
            },
            offset = 0.10,
          },
          {
            _ = {
              Class = "FocusStrengthOffset_NearbyGraves",
            },
            defs = {
              "Grave",
              "Sarcophagus",
            },
            offsetPerBuilding = 0.01,
            radius = 9.9,
            maxBuildings = 4,
            focusPerFullGrave = 0.01,
            explanationKey = "MeditationFocusPerGrave",
            explanationKeyAbstract = "MeditationFocusPerGraveAbstract",
          },
        },
      },
    },
  },

  ["ThingDef:Sarcophagus"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "Sarcophagus",
    label = "sarcophagus",
    description = [[An ornamented burial receptacle for the honored dead.]],
    thingClass = "Building_Sarcophagus",
    size = {1, 2},
    pathCost = 42,
    fillPercent = 0.5,
    building = {
      preventDeteriorationInside = true,
      fixedStorageSettings = {
        filter = {
          categories = {
            "Corpses",
          },
        },
      },
      defaultStorageSettings = {
        priority = "Important",
        filter = {
          categories = {
            "CorpsesHumanlike",
          },
          specialFiltersToDisallow = {
            "AllowCorpsesStranger",
          },
        },
      },
    },
    statBases = {
      WorkToBuild = 2400,
      MaxHitPoints = 250,
      Flammability = 1.0,
      MeditationFocusStrength = 0.10,
      Beauty = 0,
    },
    comps = {
      {
        compClass = "CompQuality",
      },
      CompProperties_Art = {
        nameMaker = "NamerArtSarcophagusPlate",
        descriptionMaker = "ArtDescription_SarcophagusPlate",
        mustBeFullGrave = true,
      },
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = false,
        compClass = "CompAssignableToPawn_Grave",
      },
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Morbid",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_GraveFull",
            },
            offset = 0.10,
          },
          {
            _ = {
              Class = "FocusStrengthOffset_GraveCorpseRelationship",
            },
            offset = 0.10,
          },
          {
            _ = {
              Class = "FocusStrengthOffset_NearbyGraves",
            },
            defs = {
              "Grave",
              "Sarcophagus",
            },
            offsetPerBuilding = 0.01,
            radius = 9.9,
            maxBuildings = 4,
            focusPerFullGrave = 0.01,
            explanationKey = "MeditationFocusPerGrave",
            explanationKeyAbstract = "MeditationFocusPerGraveAbstract",
          },
        },
      },
    },
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    terrainAffordanceNeeded = "Light",
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:CryptosleepCasket"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "CryptosleepCasket",
    label = "cryptosleep casket",
    description = [[A self-powered sarcophagus designed to keep a person in a state of suspended animation for many years.]],
    thingClass = "Building_CryptosleepCasket",
    researchPrerequisites = {
      "Cryptosleep",
    },
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 42,
    fillPercent = 0.5,
    statBases = {
      WorkToBuild = 3200,
      MaxHitPoints = 250,
      Flammability = 0.5,
    },
    size = {1, 2},
    hasInteractionCell = true,
    costList = {
      Steel = 180,
      Uranium = 5,
      ComponentIndustrial = 4,
      ComponentSpacer = 1,
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 2.66,
        explosiveDamageType = "Flame",
      },
      CompProperties_EmptyStateGraphic = {
        graphicData = {
          texPath = "Things/Building/Ship/ShipCryptosleepCasketOpenDoor",
          graphicClass = "Graphic_Multi",
          drawSize = {1, 2},
        },
      },
    },
    terrainAffordanceNeeded = "Medium",
  },

  ["ThingDef:AncientCryptosleepCasket"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "AncientCryptosleepCasket",
    label = "ancient cryptosleep casket",
    description = [[This cryptosleep casket looks like it has been here for a very long time. Who knows what it might contain?]],
    thingClass = "Building_AncientCryptosleepCasket",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 42,
    fillPercent = 0.5,
    statBases = {
      MaxHitPoints = 250,
      Flammability = 1.0,
    },
    size = {1, 2},
    hasInteractionCell = true,
    costList = {
      Steel = 180,
      Uranium = 5,
    },
    killedLeavings = {
      ChunkSlagSteel = 1,
      Steel = 25,
      Uranium = 3,
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 2.66,
        explosiveDamageType = "Flame",
      },
      CompProperties_EmptyStateGraphic = {
        graphicData = {
          texPath = "Things/Building/Ship/ShipCryptosleepCasketOpenDoor",
          graphicClass = "Graphic_Multi",
          drawSize = {1, 2},
        },
      },
    },
    leaveResourcesWhenKilled = false,
    terrainAffordanceNeeded = "Medium",
  },

  ["ThingDef:MarriageSpot"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "MarriageSpot",
    label = "marriage spot",
    description = [[Designates a spot where marriage ceremonies will take place. Spectators can watch from either side.]],
    thingClass = "Building_MarriageSpot",
    altitudeLayer = "FloorEmplacement",
    statBases = {
      WorkToBuild = 0,
    },
    useHitPoints = false,
    size = {2, 1},
    passability = "Standable",
    building = {
      sowTag = "SupportPlantsOnly",
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:PartySpot"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "PartySpot",
    label = "party spot",
    description = [[Designates a spot for throwing parties.]],
    altitudeLayer = "FloorEmplacement",
    statBases = {
      WorkToBuild = 0,
    },
    useHitPoints = false,
    passability = "Standable",
    building = {
      sowTag = "SupportPlantsOnly",
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:CaravanPackingSpot"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "CaravanPackingSpot",
    label = "caravan packing spot",
    description = [[Designates a spot for forming caravans. Put this near your stockpiles to speed up the caravan loading process.]],
    altitudeLayer = "FloorEmplacement",
    statBases = {
      WorkToBuild = 0,
    },
    useHitPoints = false,
    passability = "Standable",
    building = {
      sowTag = "SupportPlantsOnly",
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:SteleBase"] = {
    _ = {
      Name = "SteleBase",
      ParentName = "BuildingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.50,
    pathCost = 50,
    researchPrerequisites = {
      "ComplexFurniture",
    },
    comps = {
      CompProperties_Art = {
        nameMaker = "NamerArtFurniture",
        descriptionMaker = "ArtDescription_Furniture",
        minQualityForArtistic = "Awful",
      },
    },
  },

  ["ThingDef:SteleLarge"] = {
    _ = {
      ParentName = "SteleBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "SteleLarge",
    label = "large stele",
    description = [[A tall, thick slab with engravings on the sides. Steles have been used since ancient times to memorialize individuals, battles, and other important events.]],
    size = {2, 2},
    statBases = {
      MaxHitPoints = 200,
      WorkToBuild = 8000,
      Beauty = 15,
      MeditationFocusStrength = 0.15,
    },
    terrainAffordanceNeeded = "Medium",
    comps = {
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Artistic",
        },
      },
    },
  },

  ["ThingDef:SteleGrand"] = {
    _ = {
      ParentName = "SteleBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Core",
    },
    defName = "SteleGrand",
    label = "grand stele",
    description = [[A towering slab with extensive engravings on the sides. Steles have been used since ancient times to memorialize individuals, battles, and other important events.]],
    size = {3, 3},
    statBases = {
      MaxHitPoints = 400,
      WorkToBuild = 16000,
      Beauty = 30,
      MeditationFocusStrength = 0.18,
    },
    terrainAffordanceNeeded = "Heavy",
    comps = {
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Artistic",
        },
      },
    },
  },

  ["ThingDef:BuildingNaturalBase"] = {
    _ = {
      Name = "BuildingNaturalBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    category = "Building",
    building = {
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:RockBase"] = {
    _ = {
      Name = "RockBase",
      ParentName = "BuildingNaturalBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    thingClass = "Mineable",
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      Flammability = 0,
    },
    building = {
      isInert = true,
      isNaturalRock = true,
      deconstructible = false,
    },
  },

  ["ThingDef:CollapsedRocks"] = {
    _ = {
      ParentName = "RockBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "CollapsedRocks",
    label = "collapsed rocks",
    description = [[Collapsed rocks, packed tightly enough to hold up a roof.]],
    statBases = {
      MaxHitPoints = 500,
    },
    building = {
      isNaturalRock = false,
    },
  },

  ["ThingDef:MineableSteel"] = {
    _ = {
      ParentName = "RockBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "MineableSteel",
    label = "compacted steel",
    description = [[The remains of some ancient, collapsed structure. Rich in steel.]],
    statBases = {
      MaxHitPoints = 1500,
    },
    building = {
      isResourceRock = true,
      mineableThing = "Steel",
      mineableYield = 40,
    },
  },

  ["ThingDef:MineableSilver"] = {
    _ = {
      ParentName = "RockBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "MineableSilver",
    label = "silver ore",
    description = [[Rock containing bits of silver.]],
    statBases = {
      MaxHitPoints = 1500,
    },
    building = {
      isResourceRock = true,
      mineableThing = "Silver",
      mineableYield = 40,
    },
  },

  ["ThingDef:MineableGold"] = {
    _ = {
      ParentName = "RockBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "MineableGold",
    label = "gold ore",
    description = [[Rock containing bits of gold.]],
    statBases = {
      MaxHitPoints = 1500,
    },
    building = {
      isResourceRock = true,
      mineableThing = "Gold",
      mineableYield = 40,
    },
  },

  ["ThingDef:MineableUranium"] = {
    _ = {
      ParentName = "RockBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "MineableUranium",
    label = "uranium ore",
    description = [[Rock containing bits of uranium.]],
    statBases = {
      MaxHitPoints = 4000,
    },
    building = {
      isResourceRock = true,
      mineableThing = "Uranium",
      mineableYield = 40,
    },
  },

  ["ThingDef:MineablePlasteel"] = {
    _ = {
      ParentName = "RockBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "MineablePlasteel",
    label = "compacted plasteel",
    description = [[Ancient compacted rubble rich in plasteel.]],
    statBases = {
      MaxHitPoints = 8000,
    },
    building = {
      isResourceRock = true,
      mineableThing = "Plasteel",
      mineableYield = 40,
    },
  },

  ["ThingDef:MineableJade"] = {
    _ = {
      ParentName = "RockBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "MineableJade",
    label = "jade",
    description = [[Rock containing bits of jade.]],
    statBases = {
      MaxHitPoints = 1500,
    },
    building = {
      isResourceRock = true,
      mineableThing = "Jade",
      mineableYield = 40,
    },
  },

  ["ThingDef:MineableComponentsIndustrial"] = {
    _ = {
      ParentName = "RockBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "MineableComponentsIndustrial",
    label = "compacted machinery",
    description = [[Ancient machinery, compacted over time. Can be mined for useful components.]],
    statBases = {
      MaxHitPoints = 2000,
    },
    building = {
      isResourceRock = true,
      mineableThing = "ComponentIndustrial",
      mineableYield = 2,
    },
  },

  ["ThingDef:SteamGeyser"] = {
    _ = {
      ParentName = "BuildingNaturalBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "SteamGeyser",
    label = "steam geyser",
    description = [[A natural source of high-pressure steam. Geothermal generators can harness the steam power. Rooms built over this will rapidly cook.]],
    thingClass = "Building_SteamGeyser",
    altitudeLayer = "Floor",
    useHitPoints = false,
    size = {2, 2},
    building = {
      isEdifice = false,
      deconstructible = false,
    },
  },

  ["ThingDef:Hive"] = {
    _ = {
      ParentName = "BuildingNaturalBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "Hive",
    label = "hive",
    description = [[A hive of giant insects. If activated, it will spawn additional insects and hives over time, as well as valuable insect jelly.]],
    thingClass = "Hive",
    altitudeLayer = "Building",
    fillPercent = 0.5,
    statBases = {
      MaxHitPoints = 130,
      Flammability = 1.0,
    },
    pathCost = 42,
    passability = "PassThroughOnly",
    killedLeavings = {
      InsectJelly = 30,
    },
    comps = {
      CompProperties_CanBeDormant = {
        startsDormant = true,
        canWakeUpFogged = false,
      },
      CompProperties_WakeUpDormant = {},
      CompProperties_SpawnerPawn = {
        spawnablePawnKinds = {
          "Megascarab",
          "Spelopede",
          "Megaspider",
        },
        lordJob = "LordJob_DefendAndExpandHive",
        spawnSound = "Hive_Spawn",
        initialPawnsPoints = 200,
        maxSpawnedPawnsPoints = 500,
      },
      CompProperties_SelfhealHitpoints = {
        ticksPerHeal = 6000,
      },
      CompProperties_SpawnerHives = {},
      CompProperties_Spawner = {
        thingToSpawn = "InsectJelly",
        spawnCount = 20,
        spawnIntervalRange = { ["<"]=26000, [">"]=30000 },
        spawnMaxAdjacent = 40,
        spawnForbidden = true,
        saveKeysPrefix = "jelly",
      },
      CompProperties_Spawner = {
        thingToSpawn = "GlowPod",
        spawnCount = 1,
        spawnIntervalRange = { ["<"]=30000, [">"]=60000 },
        spawnMaxAdjacent = 1,
        saveKeysPrefix = "pod",
        inheritFaction = true,
      },
      CompProperties_HeatPusher = {
        heatPerSecond = 6,
        heatPushMaxTemperature = 38,
      },
      CompProperties_SpawnerFilth = {
        filthDef = "Filth_Slime",
        spawnCountOnSpawn = 10,
        spawnMtbHours = 4,
        spawnRadius = 5,
      },
      CompProperties_Maintainable = {
        ticksHealthy = 60000,
        ticksNeedsMaintenance = 60000,
        damagePerTickRare = 10,
      },
    },
  },

  ["ThingDef:GlowPod"] = {
    _ = {
      ParentName = "BuildingNaturalBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "GlowPod",
    label = "glow pod",
    description = [[A bioluminescent pod produced by giant insects. Glows under its own light for a long time, then dies.]],
    thingClass = "Building",
    minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.20,
    leaveResourcesWhenKilled = false,
    thingCategories = {
      "BuildingsSpecial",
    },
    statBases = {
      MaxHitPoints = 50,
      Mass = 4,
      Flammability = 1.0,
      MarketValue = 50,
    },
    comps = {
      CompProperties_Glower = {
        glowRadius = 6,
        glowColor = {113, 141, 117, 0},
      },
      CompProperties_Lifespan = {
        lifespanTicks = 1200000,
      },
    },
  },

  ["ThingDef:RaisedRocks"] = {
    _ = {
      ParentName = "RockBase",
      Name = "RaisedRocks",
      DefCategory = "ThingDef",
      FileName = "Buildings_Natural.xml",
      DLC = "Core",
    },
    defName = "RaisedRocks",
    label = "raised rocks",
    description = [[A fragile wall made of rubble. It will collapse in time.]],
    leaveResourcesWhenKilled = false,
    building = {
      isNaturalRock = false,
    },
    comps = {
      CompProperties_Lifespan = {
        lifespanTicks = 10000,
        expireEffect = "RaisedRock_Collapse",
      },
    },
  },

  ["ThingDef:PowerConduit"] = {
    _ = {
      ParentName = "BuildingBase",
      Name = "PowerConduit",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "PowerConduit",
    label = "power conduit",
    description = [[A bundle of electrical cables for moving power around. Can be placed under walls and other buildings.]],
    thingClass = "Building",
    category = "Building",
    building = {
      isInert = true,
      isEdifice = false,
    },
    altitudeLayer = "Conduits",
    passability = "Standable",
    leaveResourcesWhenKilled = false,
    statBases = {
      MaxHitPoints = 80,
      WorkToBuild = 35,
      Flammability = 0.7,
      Beauty = -2,
    },
    costList = {
      Steel = 1,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTransmitter",
        transmitsPower = true,
      },
    },
    terrainAffordanceNeeded = "Light",
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:WaterproofConduit"] = {
    _ = {
      ParentName = "PowerConduit",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "WaterproofConduit",
    label = "waterproof conduit",
    description = [[Insulated electrical cables for transmitting power under shallow water.]],
    terrainAffordanceNeeded = "ShallowWater",
    costList = {
      Steel = 10,
    },
  },

  ["ThingDef:PowerSwitch"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "PowerSwitch",
    label = "power switch",
    description = [[Switches power on/off.]],
    thingClass = "Building_PowerSwitch",
    category = "Building",
    altitudeLayer = "Building",
    passability = "Standable",
    leaveResourcesWhenKilled = false,
    statBases = {
      MaxHitPoints = 120,
      WorkToBuild = 200,
      Flammability = 0.5,
      Beauty = -2,
    },
    costList = {
      Steel = 15,
      ComponentIndustrial = 1,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTransmitter",
        transmitsPower = true,
      },
      CompProperties_Flickable = {},
    },
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:WoodFiredGenerator"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "WoodFiredGenerator",
    label = "wood-fired generator",
    description = [[Produces power by consuming wood. Must be periodically loaded with wood fuel by hand.]],
    thingClass = "Building",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 1.0,
    statBases = {
      MaxHitPoints = 300,
      WorkToBuild = 2500,
      Flammability = 1.0,
      Beauty = -20,
    },
    size = {2, 2},
    costList = {
      Steel = 100,
      ComponentIndustrial = 2,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerPlant",
        basePowerConsumption = -1000,
        transmitsPower = true,
        soundAmbientProducingPower = "WoodFiredGenerator_Ambience",
      },
      CompProperties_Flickable = {},
      CompProperties_Refuelable = {
        fuelConsumptionRate = 22.0,
        fuelCapacity = 75.0,
        fuelFilter = {
          thingDefs = {
            "WoodLog",
          },
        },
        showAllowAutoRefuelToggle = true,
      },
      CompProperties_Glower = {
        glowRadius = 6,
        glowColor = {217, 112, 33, 0},
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 6,
      },
      CompProperties_Breakdownable = {},
    },
    terrainAffordanceNeeded = "Medium",
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:ChemfuelPoweredGenerator"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "ChemfuelPoweredGenerator",
    label = "chemfuel powered generator",
    description = [[Produces power by consuming chemfuel. Must be periodically refueled by hand.]],
    thingClass = "Building",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 1.0,
    statBases = {
      MaxHitPoints = 300,
      WorkToBuild = 2500,
      Flammability = 1.0,
      Beauty = -20,
    },
    size = {2, 2},
    costList = {
      Steel = 100,
      ComponentIndustrial = 3,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerPlant",
        basePowerConsumption = -1000,
        transmitsPower = true,
        soundAmbientProducingPower = "ChemfuelFiredGenerator_Ambience",
      },
      CompProperties_Flickable = {},
      CompProperties_Refuelable = {
        fuelConsumptionRate = 4.5,
        fuelCapacity = 30.0,
        fuelFilter = {
          thingDefs = {
            "Chemfuel",
          },
        },
        showAllowAutoRefuelToggle = true,
      },
      CompProperties_Glower = {
        glowRadius = 6,
        glowColor = {80, 112, 180, 0},
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 6,
      },
      CompProperties_Breakdownable = {},
      CompProperties_Explosive = {
        explosiveRadius = 0,
        explosiveExpandPerFuel = 0.95,
        explosiveDamageType = "Flame",
        destroyThingOnExplosionSize = 2,
        startWickHitPointsPercent = 0.333,
        preExplosionSpawnThingDef = "Filth_Fuel",
        preExplosionSpawnChance = 1,
        wickTicks = { ["<"]=70, [">"]=150 },
      },
    },
    terrainAffordanceNeeded = "Medium",
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:WindTurbine"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "WindTurbine",
    thingClass = "Building",
    label = "wind turbine",
    description = [[A wind-powered electrical generator. Requires a large clear space in front and behind for optimal air flow.]],
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 0.5,
    statBases = {
      MaxHitPoints = 150,
      WorkToBuild = 3300,
      Flammability = 0.5,
      Beauty = -12,
    },
    size = {7, 2},
    terrainAffordanceNeeded = "Heavy",
    costList = {
      Steel = 100,
      ComponentIndustrial = 2,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerPlantWind",
        basePowerConsumption = -2300,
        transmitsPower = true,
      },
      CompProperties_Breakdownable = {},
    },
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:Battery"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "Battery",
    label = "battery",
    description = [[Stores electricity for later use. Charged batteries explode when exposed to rain or fire.]],
    thingClass = "Building_Battery",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.40,
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsPower",
    },
    statBases = {
      MaxHitPoints = 100,
      WorkToBuild = 800,
      Mass = 20,
      Flammability = 1.0,
      Beauty = -15,
    },
    size = {1, 2},
    costList = {
      Steel = 70,
      ComponentIndustrial = 2,
    },
    comps = {
      CompProperties_Battery = {
        storedEnergyMax = 600,
        efficiency = 0.5,
        shortCircuitInRain = true,
        transmitsPower = true,
      },
      CompProperties_Breakdownable = {},
    },
    terrainAffordanceNeeded = "Medium",
    researchPrerequisites = {
      "Batteries",
    },
  },

  ["ThingDef:SolarGenerator"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "SolarGenerator",
    label = "solar generator",
    description = [[Produces electricity from sunlight. Does not work in the dark or under artificial light.]],
    thingClass = "Building",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.5,
    statBases = {
      MaxHitPoints = 300,
      WorkToBuild = 2500,
      Flammability = 0.7,
    },
    size = {4, 4},
    costList = {
      Steel = 100,
      ComponentIndustrial = 3,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerPlantSolar",
        basePowerConsumption = -1,
        transmitsPower = true,
      },
      CompProperties_Breakdownable = {},
    },
    terrainAffordanceNeeded = "Medium",
    researchPrerequisites = {
      "SolarPanels",
    },
  },

  ["ThingDef:GeothermalGenerator"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "GeothermalGenerator",
    label = "geothermal generator",
    description = [[Produces electricity from geothermal steam geysers. Must be placed on a steam geyser.]],
    thingClass = "Building",
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      MaxHitPoints = 500,
      WorkToBuild = 12000,
      Flammability = 0.5,
      Beauty = -30,
    },
    size = {6, 6},
    costList = {
      Steel = 340,
      ComponentIndustrial = 8,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerPlantSteam",
        basePowerConsumption = -3600,
        transmitsPower = true,
      },
      CompProperties_Breakdownable = {},
    },
    terrainAffordanceNeeded = "Heavy",
    researchPrerequisites = {
      "GeothermalPower",
    },
  },

  ["ThingDef:WatermillGenerator"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Power.xml",
      DLC = "Core",
    },
    defName = "WatermillGenerator",
    label = "watermill generator",
    description = [[Produces electricity from a river. Must be placed with its wheel in moving water. If watermills are placed too close together, the turbulence they generate will interfere and reduce power generation.]],
    thingClass = "Building",
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      MaxHitPoints = 400,
      WorkToBuild = 4000,
      Flammability = 1.0,
      Beauty = -20,
    },
    size = {5, 6},
    costList = {
      WoodLog = 280,
      Steel = 80,
      ComponentIndustrial = 3,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerPlantWater",
        basePowerConsumption = -1100,
        transmitsPower = true,
        soundAmbientProducingPower = "WaterMill_Ambience",
      },
      CompProperties_Breakdownable = {},
    },
    terrainAffordanceNeeded = {},
    researchPrerequisites = {
      "WatermillGenerator",
    },
  },

  ["ThingDef:CraftingSpot"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "CraftingSpot",
    label = "crafting spot",
    description = [[A place for crafting simple items like knives or bows. Production here is slow because of the lack of tools.]],
    thingClass = "Building_WorkTable",
    altitudeLayer = "FloorEmplacement",
    statBases = {
      WorkToBuild = 0,
      WorkTableWorkSpeedFactor = 0.5,
    },
    useHitPoints = false,
    size = {1, 1},
    passability = "Standable",
    hasInteractionCell = true,
    building = {
      sowTag = "SupportPlantsOnly",
      artificialForMeditationPurposes = false,
      buildingTags = {
        "Production",
      },
    },
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
      {
        compClass = "CompReportWorkSpeed",
      },
    },
  },

  ["ThingDef:ButcherSpot"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "ButcherSpot",
    label = "butcher spot",
    description = [[A place for butchering animals. Due to the lack of equipment, butchering here yields only 70% of the meat and leather of each creature.]],
    thingClass = "Building_WorkTable",
    altitudeLayer = "FloorEmplacement",
    statBases = {
      WorkToBuild = 0,
      WorkTableEfficiencyFactor = 0.7,
    },
    useHitPoints = false,
    size = {1, 1},
    passability = "Standable",
    hasInteractionCell = true,
    building = {
      sowTag = "SupportPlantsOnly",
      artificialForMeditationPurposes = false,
      buildingTags = {
        "Production",
      },
    },
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
      {
        compClass = "CompReportWorkSpeed",
      },
    },
  },

  ["ThingDef:BenchBase"] = {
    _ = {
      Name = "BenchBase",
      ParentName = "BuildingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    minifiedDef = "MinifiedThing",
    terrainAffordanceNeeded = "Medium",
    thingCategories = {
      "BuildingsProduction",
    },
    statBases = {
      Mass = 20,
    },
    comps = {
      {
        compClass = "CompReportWorkSpeed",
      },
    },
    building = {
      buildingTags = {
        "Production",
      },
    },
  },

  ["ThingDef:TableSculpting"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "TableSculpting",
    label = "art bench",
    description = [[A workbench equipped for creating art.]],
    thingClass = "Building_WorkTable",
    costList = {
      Steel = 50,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 2500,
      MaxHitPoints = 180,
      Flammability = 1.0,
      Cleanliness = -5,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
    },
  },

  ["ThingDef:TableButcher"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "TableButcher",
    label = "butcher table",
    description = [[A heavy table for butchering dead creatures into pieces of raw meat.]],
    thingClass = "Building_WorkTable",
    costList = {
      WoodLog = 20,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 2000,
      MaxHitPoints = 180,
      Flammability = 1.0,
      Cleanliness = -15,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
    },
  },

  ["ThingDef:HandTailoringBench"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "HandTailoringBench",
    label = "hand tailor bench",
    description = [[A workbench for tailoring clothes by hand. Works at 50% of the speed of an electric tailoring bench.]],
    thingClass = "Building_WorkTable",
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 2000,
      MaxHitPoints = 180,
      Flammability = 1.0,
      WorkTableWorkSpeedFactor = 0.5,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
    },
    researchPrerequisites = {
      "ComplexClothing",
    },
  },

  ["ThingDef:ElectricTailoringBench"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "ElectricTailoringBench",
    label = "electric tailor bench",
    description = [[A workbench with a sewing machine for rapid tailoring of clothes. Can work without electricity at 50% of normal speed.]],
    thingClass = "Building_WorkTable",
    costList = {
      Steel = 50,
      ComponentIndustrial = 2,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 2500,
      MaxHitPoints = 180,
      Flammability = 1.0,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 120,
      },
      CompProperties_Flickable = {},
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
      CompProperties_Breakdownable = {},
    },
    researchPrerequisites = {
      "ComplexClothing",
      "Electricity",
    },
  },

  ["ThingDef:FueledSmithy"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "FueledSmithy",
    label = "fueled smithy",
    description = [[A wood-fueled station for smithing non-mechanical weapons and tools.]],
    thingClass = "Building_WorkTable",
    costList = {
      Steel = 100,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 3000,
      MaxHitPoints = 180,
      Flammability = 1.0,
      Cleanliness = -3,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_Refuelable = {
        fuelConsumptionRate = 80.0,
        fuelCapacity = 50.0,
        fuelFilter = {
          thingDefs = {
            "WoodLog",
          },
        },
        consumeFuelOnlyWhenUsed = true,
        showAllowAutoRefuelToggle = true,
      },
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
    },
    researchPrerequisites = {
      "Smithing",
    },
  },

  ["ThingDef:ElectricSmithy"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "ElectricSmithy",
    label = "electric smithy",
    description = [[An electric-powered station for smithing non-mechanical weapons and tools.]],
    thingClass = "Building_WorkTable",
    costList = {
      Steel = 100,
      ComponentIndustrial = 3,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 3000,
      MaxHitPoints = 180,
      Flammability = 1.0,
      Cleanliness = -3,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 210,
      },
      CompProperties_Flickable = {},
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 4,
      },
    },
    researchPrerequisites = {
      "Smithing",
      "Electricity",
    },
  },

  ["ThingDef:TableMachining"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "TableMachining",
    label = "machining table",
    description = [[A work station for assembling machinery like guns and ammunition, or breaking down dead mechanoids.]],
    thingClass = "Building_WorkTable",
    costList = {
      Steel = 150,
      ComponentIndustrial = 5,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 3000,
      MaxHitPoints = 180,
      Flammability = 1.0,
      Cleanliness = -2,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 350,
      },
      CompProperties_Flickable = {},
      CompProperties_Glower = {
        glowRadius = 5,
        glowColor = {73, 123, 138, 0},
      },
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
      CompProperties_Breakdownable = {},
    },
    researchPrerequisites = {
      "Machining",
    },
  },

  ["ThingDef:ElectricStove"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "ElectricStove",
    label = "electric stove",
    description = [[An electrically-powered stove with an attached countertop for preparing meals.]],
    thingClass = "Building_WorkTable_HeatPush",
    costList = {
      Steel = 80,
      ComponentIndustrial = 2,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 2000,
      MaxHitPoints = 180,
      Flammability = 1.0,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        shortCircuitInRain = true,
        basePowerConsumption = 350,
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 3,
      },
    },
    building = {
      isMealSource = true,
      heatPerTickWhileWorking = 0.10,
    },
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:FueledStove"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "FueledStove",
    label = "fueled stove",
    description = [[A wood-fueled stove with an attached countertop for preparing meals.]],
    thingClass = "Building_WorkTable_HeatPush",
    costList = {
      Steel = 80,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 2000,
      MaxHitPoints = 180,
      Flammability = 1.0,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_Refuelable = {
        fuelConsumptionRate = 160.0,
        fuelCapacity = 50.0,
        fuelFilter = {
          thingDefs = {
            "WoodLog",
          },
        },
        consumeFuelOnlyWhenUsed = true,
        showAllowAutoRefuelToggle = true,
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 4,
      },
    },
    building = {
      isMealSource = true,
      heatPerTickWhileWorking = 0.10,
    },
  },

  ["ThingDef:TableStonecutter"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "TableStonecutter",
    label = "stonecutter's table",
    description = [[A work table with saws and chisels for cutting stone chunks into usable blocks.]],
    thingClass = "Building_WorkTable_HeatPush",
    costList = {
      Steel = 30,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 2000,
      MaxHitPoints = 180,
      Flammability = 1.0,
      Cleanliness = -5,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    terrainAffordanceNeeded = "Heavy",
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
    },
    researchPrerequisites = {
      "Stonecutting",
    },
  },

  ["ThingDef:Brewery"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "Brewery",
    label = "brewery",
    description = [[A work station with all the equipment needed to mix wort for beer production. Wort must be fermented to finally become beer.]],
    thingClass = "Building_WorkTable",
    costList = {
      WoodLog = 120,
      Steel = 30,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 2000,
      MaxHitPoints = 180,
      Flammability = 1.0,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    researchPrerequisites = {
      "Brewing",
    },
  },

  ["ThingDef:DrugLab"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "DrugLab",
    label = "drug lab",
    description = [[A work bench equipped with containers, heaters, and measurement devices for producing various drugs.]],
    thingClass = "Building_WorkTable",
    costList = {
      Steel = 75,
      ComponentIndustrial = 6,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 3500,
      MaxHitPoints = 120,
      Flammability = 1.0,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
    },
    researchPrerequisites = {
      "DrugProduction",
    },
  },

  ["ThingDef:ElectricSmelter"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "ElectricSmelter",
    label = "electric smelter",
    description = [[Extracts usable metal from slag chunks and other mixed metal items. Consumes a lot of power.]],
    thingClass = "Building_WorkTable_HeatPush",
    costList = {
      Steel = 170,
      ComponentIndustrial = 2,
    },
    altitudeLayer = "Building",
    fillPercent = 0.5,
    useHitPoints = true,
    statBases = {
      WorkToBuild = 3500,
      MaxHitPoints = 180,
      Flammability = 1.0,
    },
    size = {3, 1},
    passability = "PassThroughOnly",
    pathCost = 50,
    hasInteractionCell = true,
    terrainAffordanceNeeded = "Heavy",
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 700,
        shortCircuitInRain = true,
      },
      CompProperties_Flickable = {},
      CompProperties_Glower = {
        glowRadius = 6,
        glowColor = {217, 112, 33, 0},
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 9,
      },
      CompProperties_Breakdownable = {},
    },
    building = {
      heatPerTickWhileWorking = 0.32,
    },
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:BiofuelRefinery"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "BiofuelRefinery",
    label = "biofuel refinery",
    description = [[Refines biological matter like wood or plant matter into chemfuel.]],
    thingClass = "Building_WorkTable",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    statBases = {
      MaxHitPoints = 200,
      WorkToBuild = 2000,
      Flammability = 1.0,
    },
    minifiedDef = {},
    thingCategories = {
      _ = {
        Inherit = false,
      },
    },
    size = {3, 2},
    costList = {
      Steel = 150,
      ComponentIndustrial = 3,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 170,
        shortCircuitInRain = true,
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
    },
    fillPercent = 0.5,
    hasInteractionCell = true,
    terrainAffordanceNeeded = "Heavy",
    researchPrerequisites = {
      "BiofuelRefining",
    },
  },

  ["ThingDef:FabricationBench"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "FabricationBench",
    label = "fabrication bench",
    description = [[A workbench equipped with advanced tools for producing technological marvels from simpler materials.]],
    thingClass = "Building_WorkTable",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    statBases = {
      MaxHitPoints = 300,
      WorkToBuild = 5000,
      Flammability = 1.0,
    },
    minifiedDef = {},
    thingCategories = {
      _ = {
        Inherit = false,
      },
    },
    size = {5, 2},
    costList = {
      Steel = 200,
      ComponentIndustrial = 12,
      ComponentSpacer = 2,
    },
    comps = {
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "ToolCabinet",
        },
      },
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 250,
        shortCircuitInRain = true,
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
    },
    fillPercent = 0.5,
    hasInteractionCell = true,
    terrainAffordanceNeeded = "Heavy",
    researchPrerequisites = {
      "Fabrication",
    },
  },

  ["ThingDef:SimpleResearchBench"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "SimpleResearchBench",
    label = "simple research bench",
    description = [[A simple bench with writing implements and simple measurement devices. Researchers work here to discover new things.]],
    thingClass = "Building_ResearchBench",
    size = {3, 2},
    costList = {
      Steel = 25,
    },
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    statBases = {
      MaxHitPoints = 250,
      WorkToBuild = 2800,
      Flammability = 1.0,
      ResearchSpeedFactor = 0.75,
    },
    fillPercent = 0.5,
    hasInteractionCell = true,
  },

  ["ThingDef:HiTechResearchBench"] = {
    _ = {
      ParentName = "BenchBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "HiTechResearchBench",
    label = "hi-tech research bench",
    description = [[A high-tech bench with computers and electronic measurement equipment. Allows more rapid research, and unlocks advanced research projects.]],
    thingClass = "Building_ResearchBench",
    size = {5, 2},
    minifiedDef = {},
    thingCategories = {
      _ = {
        Inherit = false,
      },
    },
    costList = {
      Steel = 100,
      ComponentIndustrial = 10,
    },
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    statBases = {
      MaxHitPoints = 250,
      WorkToBuild = 5000,
      Flammability = 1.0,
      ResearchSpeedFactor = 1.0,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 250,
        shortCircuitInRain = true,
      },
      CompProperties_Flickable = {},
      CompProperties_AffectedByFacilities = {
        linkableFacilities = {
          "MultiAnalyzer",
        },
      },
    },
    fillPercent = 0.5,
    hasInteractionCell = true,
    terrainAffordanceNeeded = "Heavy",
    researchPrerequisites = {
      "MicroelectronicsBasics",
    },
  },

  ["ThingDef:ElectricCrematorium"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "ElectricCrematorium",
    label = "electric crematorium",
    description = [[A huge stone crematorium which vaporizes corpses with extremely high temperatures.]],
    thingClass = "Building_WorkTable_HeatPush",
    costList = {
      Steel = 20,
      ComponentIndustrial = 2,
    },
    altitudeLayer = "Building",
    useHitPoints = true,
    statBases = {
      WorkToBuild = 4500,
      MaxHitPoints = 300,
      Cleanliness = -20,
      Beauty = -10,
    },
    size = {3, 2},
    fillPercent = 1,
    passability = "Impassable",
    hasInteractionCell = true,
    terrainAffordanceNeeded = "Heavy",
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 250,
        shortCircuitInRain = true,
      },
      CompProperties_Flickable = {},
      CompProperties_Glower = {
        glowRadius = 6,
        glowColor = {217, 112, 33, 0},
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 12,
      },
    },
    building = {
      heatPerTickWhileWorking = 0.32,
      buildingTags = {
        "Production",
      },
    },
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:HydroponicsBasin"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "HydroponicsBasin",
    label = "hydroponics basin",
    description = [[An artificial nutrient bath for growing plants. The nutrients pumps must work continuously; the plants will die if power is cut.]],
    thingClass = "Building_PlantGrower",
    altitudeLayer = "LowPlant",
    passability = "PassThroughOnly",
    pathCost = 30,
    fillPercent = 0.30,
    statBases = {
      WorkToBuild = 2800,
      MaxHitPoints = 180,
      Flammability = 0.5,
      Cleanliness = -3,
    },
    size = {1, 4},
    costList = {
      Steel = 100,
      ComponentIndustrial = 1,
    },
    building = {
      defaultPlantToGrow = "Plant_Rice",
      sowTag = "Hydroponic",
      buildingTags = {
        "Production",
      },
    },
    comps = {
      CompProperties_Forbiddable = {},
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 70,
      },
      CompProperties_Flickable = {},
    },
    researchPrerequisites = {
      "Hydroponics",
    },
    terrainAffordanceNeeded = "Medium",
  },

  ["ThingDef:FermentingBarrel"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "FermentingBarrel",
    label = "fermenting barrel",
    description = [[A barrel for fermenting raw wort into beer.]],
    thingClass = "Building_FermentingBarrel",
    minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.45,
    pathCost = 42,
    thingCategories = {
      "BuildingsProduction",
    },
    statBases = {
      WorkToBuild = 600,
      Mass = 10,
      MaxHitPoints = 100,
      Flammability = 1.0,
    },
    costList = {
      Steel = 10,
      WoodLog = 30,
    },
    comps = {
      CompProperties_TemperatureRuinable = {
        minSafeTemperature = -1,
        maxSafeTemperature = 32,
        progressPerDegreePerTick = 0.00001,
      },
    },
    building = {
      buildingTags = {
        "Production",
      },
    },
    researchPrerequisites = {
      "Brewing",
    },
  },

  ["ThingDef:DeepDrill"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "DeepDrill",
    label = "deep drill",
    description = [[A deep-crust drilling rig for extracting minerals from deep under the surface. Use a ground-penetrating scanner to detect the resources. This drill will yield stone chunks if no resources are present. Can be repositioned freely.]],
    size = {1, 1},
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.5,
    hasInteractionCell = true,
    terrainAffordanceNeeded = "Light",
    minifiedDef = "MinifiedThing",
    building = {
      buildingTags = {
        "Production",
      },
    },
    thingCategories = {
      "BuildingsProduction",
    },
    costList = {
      Steel = 100,
      ComponentIndustrial = 2,
    },
    researchPrerequisites = {
      "DeepDrilling",
    },
    statBases = {
      MaxHitPoints = 300,
      WorkToBuild = 10000,
      Flammability = 0.5,
      Beauty = -25,
      Mass = 35,
    },
    comps = {
      CompProperties_Forbiddable = {},
      CompProperties_Flickable = {},
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 200,
      },
      CompProperties_DeepDrill = {},
      CompProperties_CreatesInfestations = {},
    },
  },

  ["ThingDef:NutrientPasteDispenser"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "NutrientPasteDispenser",
    label = "nutrient paste dispenser",
    description = [[A machine that synthesizes edible nutrient paste from organic feedstocks placed in adjacent hoppers. It consumes less ingredients and time than any other meal production method - but nobody likes eating nutrient paste. Accepts raw food, but not rough plant matter like hay.]],
    thingClass = "Building_NutrientPasteDispenser",
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      WorkToBuild = 2200,
      MaxHitPoints = 350,
      Flammability = 0.5,
    },
    building = {
      isMealSource = true,
      buildingTags = {
        "Production",
      },
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 200,
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
    },
    size = {3, 4},
    costList = {
      Steel = 90,
      ComponentIndustrial = 3,
    },
    hasInteractionCell = true,
    terrainAffordanceNeeded = "Heavy",
    researchPrerequisites = {
      "NutrientPaste",
    },
  },

  ["ThingDef:Hopper"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Production.xml",
      DLC = "Core",
    },
    defName = "Hopper",
    label = "hopper",
    description = [[Holds resources for use by machines like nutrient paste dispensers.]],
    thingClass = "Building_Storage",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.5,
    pathCost = 42,
    building = {
      fixedStorageSettings = {
        priority = "Important",
        filter = {
          categories = {
            "FoodRaw",
          },
          specialFiltersToDisallow = {
            "AllowPlantFood",
          },
        },
      },
      defaultStorageSettings = {
        priority = "Important",
        filter = {
          categories = {
            "FoodRaw",
          },
          disallowedThingDefs = {
            "Meat_Human",
            "Meat_Megaspider",
          },
        },
      },
      buildingTags = {
        "Production",
      },
    },
    statBases = {
      WorkToBuild = 300,
      MaxHitPoints = 100,
      Flammability = 0.5,
    },
    costList = {
      Steel = 15,
    },
    researchPrerequisites = {
      "NutrientPaste",
    },
  },

  ["ThingDef:Sandbags"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    defName = "Sandbags",
    label = "sandbags",
    description = [[Bags of locally-sourced dirt or sand, stacked for use as cover. Sandbags are ugly, but provide better cover than other low objects.]],
    thingClass = "Building",
    category = "Building",
    altitudeLayer = "Building",
    pathCost = 42,
    pathCostIgnoreRepeat = true,
    passability = "PassThroughOnly",
    fillPercent = 0.57,
    statBases = {
      MaxHitPoints = 300,
      Beauty = -10,
      WorkToBuild = 180,
      Flammability = 0,
    },
    building = {
      isInert = true,
    },
    terrainAffordanceNeeded = "Light",
  },

  ["ThingDef:Barricade"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    defName = "Barricade",
    label = "barricade",
    description = [[A waist-high barrier for use as cover from incoming shots. Barricades are ugly, but provide better cover than other low objects.]],
    thingClass = "Building",
    category = "Building",
    altitudeLayer = "Building",
    pathCost = 42,
    pathCostIgnoreRepeat = true,
    passability = "PassThroughOnly",
    fillPercent = 0.57,
    statBases = {
      MaxHitPoints = 300,
      Beauty = -3,
      WorkToBuild = 320,
      Flammability = 1,
    },
    building = {
      isInert = true,
    },
    terrainAffordanceNeeded = "Heavy",
  },

  ["ThingDef:TrapSpike"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    defName = "TrapSpike",
    label = "spike trap",
    description = [[Five spikes under tension, connected to a touch-activated trigger. When the victim disturbs the trigger, the spikes spring forth and strike the victim. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    thingClass = "Building_TrapDamager",
    altitudeLayer = "Building",
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsSecurity",
    },
    statBases = {
      Mass = 2.5,
      MaxHitPoints = 40,
      WorkToBuild = 3200,
      Flammability = 1,
      Beauty = -18,
      Cleanliness = -5,
      TrapMeleeDamage = 100,
      TrapSpringChance = 1.0,
    },
    building = {
      isTrap = true,
    },
  },

  ["ThingDef:TrapIEDBase"] = {
    _ = {
      Name = "TrapIEDBase",
      ParentName = "BuildingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    thingClass = "Building_TrapExplosive",
    altitudeLayer = "Building",
    minifiedDef = "MinifiedThing",
    leaveResourcesWhenKilled = false,
    thingCategories = {
      "BuildingsSecurity",
    },
    statBases = {
      Mass = 2,
      MaxHitPoints = 40,
      WorkToBuild = 1400,
      Flammability = 1,
      Beauty = -4,
      TrapSpringChance = 1.0,
    },
    building = {
      isTrap = true,
    },
    researchPrerequisites = {
      "IEDs",
    },
  },

  ["ThingDef:TrapIED_HighExplosive"] = {
    _ = {
      ParentName = "TrapIEDBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    defName = "TrapIED_HighExplosive",
    label = "IED trap",
    description = [[A pair of high-explosive shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    costList = {
      Shell_HighExplosive = 2,
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 3.9,
        explosiveDamageType = "Bomb",
        startWickHitPointsPercent = 0.2,
        wickTicks = 15,
        startWickOnDamageTaken = {
          "Bullet",
          "Arrow",
          "ArrowHighVelocity",
        },
      },
    },
  },

  ["ThingDef:TrapIED_Incendiary"] = {
    _ = {
      ParentName = "TrapIEDBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    defName = "TrapIED_Incendiary",
    label = "IED incendiary trap",
    description = [[A pair of incendiary shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    costList = {
      Shell_Incendiary = 2,
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 3.9,
        explosiveDamageType = "Flame",
        startWickHitPointsPercent = 0.2,
        wickTicks = 15,
        startWickOnDamageTaken = {
          "Bullet",
          "Arrow",
          "ArrowHighVelocity",
        },
      },
    },
  },

  ["ThingDef:TrapIED_EMP"] = {
    _ = {
      ParentName = "TrapIEDBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    defName = "TrapIED_EMP",
    label = "IED EMP trap",
    description = [[A pair of EMP shells connected to a trigger which detonates on touch or bullet impact. The explosion can paralyze mechanoids for a few seconds. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    costList = {
      Shell_EMP = 2,
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 10.9,
        explosiveDamageType = "EMP",
        startWickHitPointsPercent = 0.2,
        wickTicks = 15,
        startWickOnDamageTaken = {
          "Bullet",
          "Arrow",
          "ArrowHighVelocity",
        },
      },
    },
  },

  ["ThingDef:TrapIED_Smoke"] = {
    _ = {
      ParentName = "TrapIEDBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    defName = "TrapIED_Smoke",
    label = "IED Smoke trap",
    description = [[A pair of smoke shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    costList = {
      Shell_Smoke = 2,
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 8.6,
        explosiveDamageType = "Smoke",
        startWickHitPointsPercent = 0.2,
        postExplosionSpawnThingDef = "Gas_Smoke",
        postExplosionSpawnChance = 1,
        postExplosionSpawnThingCount = 1,
        wickTicks = 15,
        startWickOnDamageTaken = {
          "Bullet",
          "Arrow",
          "ArrowHighVelocity",
        },
      },
    },
  },

  ["ThingDef:TrapIED_Firefoam"] = {
    _ = {
      ParentName = "TrapIEDBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    defName = "TrapIED_Firefoam",
    label = "IED firefoam trap",
    description = [[A pair of firefoam shells connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    costList = {
      Shell_Firefoam = 2,
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 9.9,
        explosiveDamageType = "Extinguish",
        startWickHitPointsPercent = 0.2,
        postExplosionSpawnThingDef = "Filth_FireFoam",
        postExplosionSpawnChance = 1,
        postExplosionSpawnThingCount = 3,
        applyDamageToExplosionCellsNeighbors = true,
        explosionEffect = "ExtinguisherExplosion",
        wickTicks = 15,
        startWickOnDamageTaken = {
          "Bullet",
          "Arrow",
          "ArrowHighVelocity",
        },
      },
    },
  },

  ["ThingDef:TrapIED_AntigrainWarhead"] = {
    _ = {
      ParentName = "TrapIEDBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security.xml",
      DLC = "Core",
    },
    defName = "TrapIED_AntigrainWarhead",
    label = "IED antigrain warhead trap",
    description = [[An antimatter-powered antigrain warhead connected to a trigger which detonates on touch or bullet impact. Since it is hidden in the surrounding terrain, it cannot be placed adjacent to other traps. Animals can sense these when calm.]],
    costList = {
      Shell_AntigrainWarhead = 1,
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 14.9,
        explosiveDamageType = "BombSuper",
        startWickHitPointsPercent = 0.2,
        chanceToStartFire = 0.22,
        damageFalloff = true,
        explosionEffect = "GiantExplosion",
        explosionSound = "Explosion_GiantBomb",
        wickTicks = 15,
        startWickOnDamageTaken = {
          "Bullet",
          "Arrow",
          "ArrowHighVelocity",
        },
      },
    },
  },

  ["ThingDef:BaseWeaponTurret"] = {
    _ = {
      Abstract = true,
      Name = "BaseWeaponTurret",
      ParentName = "BaseWeapon",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    tradeability = "None",
    useHitPoints = false,
    weaponTags = {
      "TurretGun",
    },
  },

  ["ThingDef:BaseArtilleryWeapon"] = {
    _ = {
      Abstract = true,
      Name = "BaseArtilleryWeapon",
      ParentName = "BaseWeaponTurret",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    weaponTags = {
      _ = {
        Inherit = false,
      },
      "Artillery",
    },
  },

  ["ThingDef:BaseArtilleryBuilding"] = {
    _ = {
      Name = "BaseArtilleryBuilding",
      ParentName = "BuildingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    thingClass = "Building_TurretGun",
    minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
    hasInteractionCell = true,
    size = {2, 2},
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.4,
    thingCategories = {
      "BuildingsSecurity",
    },
    terrainAffordanceNeeded = "Light",
    costList = {
      Steel = 150,
      ComponentIndustrial = 6,
    },
    comps = {
      CompProperties_Forbiddable = {},
      CompProperties_Mannable = {
        manWorkType = "Violent",
      },
    },
    statBases = {
      MaxHitPoints = 180,
      Flammability = 0.7,
      WorkToBuild = 2000,
      Mass = 30,
      Beauty = -20,
    },
    building = {
      turretBurstWarmupTime = 4.0,
      turretBurstCooldownTime = 28.0,
      buildingTags = {
        "Artillery",
      },
    },
    researchPrerequisites = {
      "Mortars",
    },
  },

  ["ThingDef:Turret_MiniTurret"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Turret_MiniTurret",
    label = "mini-turret",
    description = [[A portable automatic turret. Requires steel to refurbish its barrel after heavy use. May explode when damaged. Its dumb AI brain can't be directly controlled, so beware of friendly fire.]],
    thingClass = "Building_TurretGun",
    minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
    thingCategories = {
      "BuildingsSecurity",
    },
    statBases = {
      MaxHitPoints = 100,
      Flammability = 0.7,
      WorkToBuild = 1800,
      Mass = 8,
      Beauty = -20,
      ShootingAccuracyTurret = 0.96,
    },
    comps = {
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 3.9,
        explosiveDamageType = "Bomb",
        chanceNeverExplodeFromDamage = 0.5,
      },
      CompProperties_Forbiddable = {},
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 80,
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
      CompProperties_Refuelable = {
        fuelLabel = "Shots until barrel change",
        fuelGizmoLabel = "Barrel durability",
        outOfFuelMessage = "Cannot shoot: Needs new barrel",
        fuelFilter = {
          thingDefs = {
            "Steel",
          },
        },
        fuelCapacity = 60,
        fuelMultiplier = 0.75,
        initialFuelPercent = 1,
        autoRefuelPercent = 0.5,
        showFuelGizmo = true,
        minimumFueledThreshold = 1,
        factorByDifficulty = true,
        consumeFuelOnlyWhenUsed = true,
        fuelIconPath = "UI/Overlays/Barrel",
      },
    },
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.4,
    costList = {
      Steel = 70,
      ComponentIndustrial = 3,
    },
    terrainAffordanceNeeded = "Light",
    building = {
      combatPower = 45,
      turretGunDef = "Gun_MiniTurret",
      turretBurstCooldownTime = 4.8,
    },
    researchPrerequisites = {
      "GunTurrets",
    },
  },

  ["ThingDef:Bullet_MiniTurret"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Bullet_MiniTurret",
    label = "mini-turret bullet",
  },

  ["ThingDef:Gun_MiniTurret"] = {
    _ = {
      ParentName = "BaseWeaponTurret",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Gun_MiniTurret",
    label = "mini-turret gun",
    description = [[A simple automatic gun made to be mounted on a turret.]],
    statBases = {
      AccuracyTouch = 0.70,
      AccuracyShort = 0.64,
      AccuracyMedium = 0.41,
      AccuracyLong = 0.22,
      RangedWeapon_Cooldown = 4.8,
      DeteriorationRate = 0,
      Mass = 5,
      Flammability = 0,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_MiniTurret",
        warmupTime = 0,
        range = 28.9,
        ticksBetweenBurstShots = 8,
        burstShotCount = 2,
        consumeFuelPerShot = 1,
      },
    },
  },

  ["ThingDef:AutocannonTurret"] = {
    _ = {
      ParentName = "BuildingBase",
      Name = "AutocannonTurret",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    thingClass = "Building_TurretGun",
    altitudeLayer = "Building",
    size = {2, 2},
    statBases = {
      MaxHitPoints = 380,
      Flammability = 0.7,
      WorkToBuild = 15000,
      Mass = 100,
      Beauty = -20,
    },
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.5,
    terrainAffordanceNeeded = "Heavy",
  },

  ["ThingDef:Turret_Autocannon"] = {
    _ = {
      ParentName = "AutocannonTurret",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Turret_Autocannon",
    label = "autocannon turret",
    description = [[A heavy automatic turret. Its large-caliber shells do heavy damage over significant ranges, but its barrel must be refurbished after use. It cannot fire at close-up targets, and may explode when damaged.]],
    statBases = {
      ShootingAccuracyTurret = 0.96,
    },
    costList = {
      Steel = 350,
      Plasteel = 40,
      ComponentIndustrial = 6,
    },
    comps = {
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 5.9,
        explosiveDamageType = "Bomb",
        chanceNeverExplodeFromDamage = 0.5,
      },
      CompProperties_Forbiddable = {},
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 150,
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
      CompProperties_Refuelable = {
        fuelLabel = "Shots until barrel change",
        fuelGizmoLabel = "Barrel durability",
        outOfFuelMessage = "Cannot shoot: Needs new barrel",
        fuelFilter = {
          thingDefs = {
            "Steel",
          },
        },
        fuelCapacity = 90,
        fuelMultiplier = 0.5,
        initialFuelPercent = 1,
        autoRefuelPercent = 0.5,
        showFuelGizmo = true,
        minimumFueledThreshold = 1,
        factorByDifficulty = true,
        consumeFuelOnlyWhenUsed = true,
        fuelIconPath = "UI/Overlays/Barrel",
      },
    },
    building = {
      turretGunDef = "Gun_AutocannonTurret",
      turretBurstCooldownTime = 3.5,
    },
    researchPrerequisites = {
      "HeavyTurrets",
    },
  },

  ["ThingDef:Bullet_AutocannonTurret"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Bullet_AutocannonTurret",
    label = "autocannon shell",
  },

  ["ThingDef:Gun_AutocannonTurret"] = {
    _ = {
      ParentName = "BaseWeaponTurret",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Gun_AutocannonTurret",
    label = "autocannon",
    description = [[A self-loading large-bore cannon designed to attach to a turret.]],
    statBases = {
      AccuracyTouch = 0.25,
      AccuracyShort = 0.65,
      AccuracyMedium = 0.60,
      AccuracyLong = 0.45,
      RangedWeapon_Cooldown = 3.5,
      DeteriorationRate = 0,
      Mass = 40,
      Flammability = 0,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_AutocannonTurret",
        warmupTime = 0,
        minRange = 8.9,
        range = 32.9,
        ticksBetweenBurstShots = 17,
        burstShotCount = 3,
        consumeFuelPerShot = 1,
      },
    },
  },

  ["ThingDef:Turret_Sniper"] = {
    _ = {
      ParentName = "AutocannonTurret",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Turret_Sniper",
    label = "uranium slug turret",
    description = [[An armor-piercing turret. Its ultra-dense uranium shells can punch through heavy armor, but it requires new uranium slugs to be loaded after use. It's more accurate at longer ranges, and can't fire at all close up. May explode when damaged.]],
    statBases = {
      ShootingAccuracyTurret = 0.98,
    },
    costList = {
      Steel = 300,
      Plasteel = 30,
      Uranium = 60,
      ComponentIndustrial = 6,
    },
    comps = {
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 5.9,
        explosiveDamageType = "Bomb",
        chanceNeverExplodeFromDamage = 0.5,
      },
      CompProperties_Forbiddable = {},
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 150,
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
      CompProperties_Refuelable = {
        fuelLabel = "Shots until rearm",
        fuelGizmoLabel = "Uranium slugs",
        outOfFuelMessage = "Cannot shoot: No slugs",
        fuelFilter = {
          thingDefs = {
            "Uranium",
          },
        },
        fuelCapacity = 30,
        fuelMultiplier = 0.3333,
        initialFuelPercent = 1,
        autoRefuelPercent = 0.5,
        showFuelGizmo = true,
        minimumFueledThreshold = 1,
        factorByDifficulty = true,
        consumeFuelOnlyWhenUsed = true,
        fuelIconPath = "UI/Overlays/Barrel",
      },
    },
    building = {
      turretGunDef = "Gun_TurretSniper",
      turretBurstCooldownTime = 3.2,
    },
    researchPrerequisites = {
      "SniperTurret",
    },
  },

  ["ThingDef:Bullet_TurretSniper"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Bullet_TurretSniper",
    label = "uranium slug",
  },

  ["ThingDef:Gun_TurretSniper"] = {
    _ = {
      ParentName = "BaseWeaponTurret",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Gun_TurretSniper",
    label = "uranium slug cannon",
    description = [[A self-loading uranium slug cannon designed to attach to a turret.]],
    statBases = {
      AccuracyTouch = 0.20,
      AccuracyShort = 0.30,
      AccuracyMedium = 0.40,
      AccuracyLong = 0.95,
      RangedWeapon_Cooldown = 4.0,
      DeteriorationRate = 0,
      Mass = 40,
      Flammability = 0,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_TurretSniper",
        warmupTime = 0,
        minRange = 11.9,
        range = 45.9,
        burstShotCount = 1,
        consumeFuelPerShot = 1,
      },
    },
  },

  ["ThingDef:Turret_Mortar"] = {
    _ = {
      ParentName = "BaseArtilleryBuilding",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Turret_Mortar",
    label = "mortar",
    description = [[A manned mortar that launches all kinds of shells. While it can inflict devastating damage, the mortar's inherent inaccuracy makes it more useful for attacking large fortifications than groups of enemies in the field.]],
    comps = {
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 4.9,
        explosiveDamageType = "Bomb",
      },
    },
    terrainAffordanceNeeded = "Heavy",
    building = {
      turretGunDef = "Artillery_Mortar",
      buildingTags = {
        "Artillery_BaseDestroyer",
        "Artillery_MannedMortar",
      },
    },
  },

  ["ThingDef:Artillery_Mortar"] = {
    _ = {
      ParentName = "BaseArtilleryWeapon",
      DefCategory = "ThingDef",
      FileName = "Buildings_Security_Turrets.xml",
      DLC = "Core",
    },
    defName = "Artillery_Mortar",
    label = "mortar",
    description = [[Mortar launcher. Lobs bombs over walls. Very inaccurate but long-ranged.]],
    weaponTags = {
      "Artillery_BaseDestroyer",
    },
    verbs = {
      {
        warmupTime = 4.0,
        forcedMissRadius = 13,
        requireLineOfSight = false,
        minRange = 29.9,
        range = 500,
        burstShotCount = 1,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    comps = {
      CompProperties_ChangeableProjectile = {},
    },
    building = {
      fixedStorageSettings = {
        filter = {
          categories = {
            "MortarShells",
          },
        },
      },
      defaultStorageSettings = {
        filter = {
          categories = {
            "MortarShells",
          },
          disallowedThingDefs = {
            "Shell_Firefoam",
            "Shell_AntigrainWarhead",
          },
        },
      },
    },
  },

  ["ThingDef:Ship_Beam"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Ship.xml",
      DLC = "Core",
    },
    defName = "Ship_Beam",
    label = "ship structural beam",
    description = [[A structural beam around which a starship can be constructed. Includes all the necessary conduits and transit pipes for communications, power, and materials transport.]],
    thingClass = "Building",
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      WorkToBuild = 8000,
      MaxHitPoints = 400,
      Flammability = 0,
    },
    size = {2, 6},
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTransmitter",
        transmitsPower = true,
      },
      CompProperties_ShipPart = {},
    },
    costList = {
      Steel = 200,
      Plasteel = 40,
      ComponentIndustrial = 3,
      ComponentSpacer = 1,
    },
    terrainAffordanceNeeded = "Heavy",
    researchPrerequisites = {
      "ShipBasics",
    },
  },

  ["ThingDef:Ship_CryptosleepCasket"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Ship.xml",
      DLC = "Core",
    },
    defName = "Ship_CryptosleepCasket",
    label = "ship cryptosleep casket",
    description = [[A cryptosleep casket hardened against the dangers of space. Capable of maintaining a person in cryptosleep for centuries and surviving atmospheric re-entry.]],
    thingClass = "Building_CryptosleepCasket",
    researchPrerequisites = {
      "ShipCryptosleep",
    },
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 42,
    fillPercent = 0.5,
    statBases = {
      WorkToBuild = 8000,
      MaxHitPoints = 200,
      Flammability = 0,
    },
    size = {1, 2},
    hasInteractionCell = true,
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTransmitter",
        transmitsPower = true,
      },
      CompProperties_ShipPart = {},
      CompProperties_Explosive = {
        explosiveRadius = 2.66,
        explosiveDamageType = "Flame",
      },
      CompProperties_EmptyStateGraphic = {
        graphicData = {
          texPath = "Things/Building/Ship/ShipCryptosleepCasketOpenDoor",
          graphicClass = "Graphic_Multi",
          drawSize = {1, 2},
        },
      },
    },
    building = {
      isPlayerEjectable = true,
    },
    costList = {
      Steel = 120,
      Uranium = 14,
      ComponentIndustrial = 3,
      ComponentSpacer = 3,
    },
    terrainAffordanceNeeded = "Heavy",
  },

  ["ThingDef:Ship_ComputerCore"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Ship.xml",
      DLC = "Core",
    },
    defName = "Ship_ComputerCore",
    label = "ship computer core",
    description = [[A computer core housing a machine persona who can guide a starship through any challenge during a multi-decade starflight.]],
    thingClass = "Building_ShipComputerCore",
    researchPrerequisites = {
      "ShipComputerCore",
    },
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      WorkToBuild = 16000,
      MaxHitPoints = 150,
      Flammability = 0,
    },
    size = {2, 2},
    comps = {
      CompProperties_ShipPart = {},
      CompProperties_Power = {
        compClass = "CompPowerTransmitter",
        transmitsPower = true,
      },
    },
    costList = {
      Steel = 150,
      ComponentSpacer = 4,
      Gold = 70,
      AIPersonaCore = 1,
    },
    terrainAffordanceNeeded = "Heavy",
  },

  ["ThingDef:Ship_Reactor"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Ship.xml",
      DLC = "Core",
    },
    defName = "Ship_Reactor",
    label = "ship reactor",
    description = [[Powers a ship on its journey between stars. Takeoff requires a long powerup process that is likely to attract raiders.]],
    thingClass = "Building_ShipReactor",
    researchPrerequisites = {
      "ShipReactor",
    },
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      WorkToBuild = 65000,
      MaxHitPoints = 500,
      Flammability = 0,
    },
    size = {6, 7},
    costList = {
      Steel = 350,
      Plasteel = 280,
      Uranium = 70,
      ComponentSpacer = 8,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerPlant",
        basePowerConsumption = -1000,
        transmitsPower = true,
      },
      CompProperties_ShipPart = {},
      CompProperties_Hibernatable = {
        incidentTargetWhileStarting = "Map_RaidBeacon",
        sustainerActive = "ShipReactor_Ambience",
      },
    },
    terrainAffordanceNeeded = "Heavy",
  },

  ["ThingDef:Ship_Engine"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Ship.xml",
      DLC = "Core",
    },
    defName = "Ship_Engine",
    label = "ship engine",
    description = [[A reactionless Johnson-Tanaka drive capable of launching a ship into orbit, and crawling across the vast expanses between stars.]],
    thingClass = "Building",
    researchPrerequisites = {
      "ShipEngine",
    },
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      WorkToBuild = 50000,
      MaxHitPoints = 400,
      Flammability = 0,
    },
    size = {3, 4},
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTransmitter",
        transmitsPower = true,
      },
      CompProperties_ShipPart = {},
    },
    costList = {
      Steel = 260,
      Plasteel = 140,
      Uranium = 70,
      ComponentSpacer = 6,
    },
    terrainAffordanceNeeded = "Heavy",
  },

  ["ThingDef:Ship_SensorCluster"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Ship.xml",
      DLC = "Core",
    },
    defName = "Ship_SensorCluster",
    label = "sensor cluster",
    description = [[A multi-function sensor module. Can scan and signal across the void for communications, threat detection, deception, jamming, and other purposes.]],
    thingClass = "Building",
    researchPrerequisites = {
      "ShipSensorCluster",
    },
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      WorkToBuild = 30000,
      MaxHitPoints = 100,
      Flammability = 0,
    },
    size = {2, 2},
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTransmitter",
        transmitsPower = true,
      },
      CompProperties_ShipPart = {},
    },
    costList = {
      Steel = 140,
      Gold = 4,
      ComponentIndustrial = 6,
      ComponentSpacer = 6,
    },
    terrainAffordanceNeeded = "Heavy",
  },

  ["ThingDef:PsychicEmanator"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Special.xml",
      DLC = "Core",
    },
    defName = "PsychicEmanator",
    label = "psychic emanator",
    description = [[An ancient device that projects a soothing psychic field around itself. This improves the mood of anyone nearby. Works through walls.]],
    thingCategories = {
      "BuildingsSpecial",
    },
    costList = {
      Steel = 50,
      ComponentSpacer = 6,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 200,
      },
      CompProperties_MoteEmitter = {
        mote = "Mote_PsychicEmanatorEffect",
        emissionInterval = 350,
      },
      CompProperties_Breakdownable = {},
      CompProperties_Flickable = {},
    },
    altitudeLayer = "Building",
    statBases = {
      MarketValue = 1300,
      MaxHitPoints = 100,
      Flammability = 0,
      Beauty = 0,
      Mass = 15,
      WorkToBuild = 2000,
    },
    fillPercent = 0.2,
    leaveResourcesWhenKilled = false,
    pathCost = 30,
    passability = "PassThroughOnly",
    minifiedDef = "MinifiedThing",
    tradeability = "Sellable",
    tradeTags = {
      "ExoticBuilding",
    },
  },

  ["ThingDef:VanometricPowerCell"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Special.xml",
      DLC = "Core",
    },
    defName = "VanometricPowerCell",
    label = "vanometric power cell",
    description = [[Generates free energy, forever, without using fuel. This technology is developed by archotechs, and is beyond even most glitterworld societies. While nobody knows exactly how it works, scholars believe it somehow extracts energy directly from fluctuations in the quantum foam.]],
    altitudeLayer = "Building",
    pathCost = 42,
    fillPercent = 0.4,
    passability = "PassThroughOnly",
    leaveResourcesWhenKilled = false,
    terrainAffordanceNeeded = "Medium",
    thingCategories = {
      "BuildingsSpecial",
    },
    statBases = {
      MarketValue = 1200,
      MaxHitPoints = 200,
      Flammability = 0,
      Mass = 15,
    },
    size = {1, 2},
    costList = {
      Steel = 100,
      ComponentSpacer = 6,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerPlant",
        basePowerConsumption = -1000,
        transmitsPower = true,
      },
      CompProperties_Glower = {
        glowRadius = 3,
        glowColor = {227, 233, 168, 0},
      },
    },
    minifiedDef = "MinifiedThing",
    tradeability = "Sellable",
    tradeTags = {
      "ExoticBuilding",
    },
  },

  ["ThingDef:InfiniteChemreactor"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Special.xml",
      DLC = "Core",
    },
    defName = "InfiniteChemreactor",
    label = "infinite chemreactor",
    description = [[Slowly generates chemfuel by a complex series of chemical reactions, using atoms extracted from the air.]],
    thingCategories = {
      "BuildingsSpecial",
    },
    costList = {
      Steel = 200,
      ComponentSpacer = 6,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 300,
      },
      CompProperties_Breakdownable = {},
      CompProperties_Flickable = {},
      CompProperties_Spawner = {
        requiresPower = true,
        thingToSpawn = "Chemfuel",
        spawnCount = 75,
        spawnIntervalRange = {
          min = 600000,
          max = 600000,
        },
        writeTimeLeftToSpawn = true,
        showMessageIfOwned = true,
      },
      CompProperties_Explosive = {
        explosiveRadius = 8,
        explosiveDamageType = "Flame",
      },
    },
    altitudeLayer = "Building",
    statBases = {
      MarketValue = 1500,
      MaxHitPoints = 200,
      Flammability = 1.0,
      Beauty = -10,
      Mass = 35,
      WorkToBuild = 8000,
    },
    size = {2, 2},
    fillPercent = 1.0,
    leaveResourcesWhenKilled = false,
    terrainAffordanceNeeded = "Medium",
    passability = "Impassable",
    minifiedDef = "MinifiedThing",
    tradeability = "Sellable",
    tradeTags = {
      "ExoticBuilding",
    },
  },

  ["ThingDef:DoorBase"] = {
    _ = {
      ParentName = "BuildingBase",
      Name = "DoorBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Structure.xml",
      DLC = "Core",
    },
    thingClass = "Building_Door",
    category = "Building",
    altitudeLayer = "DoorMoveable",
    fillPercent = 1,
    useHitPoints = true,
    statBases = {
      MaxHitPoints = 160,
      Flammability = 1.0,
    },
    leaveResourcesWhenKilled = false,
    terrainAffordanceNeeded = "Light",
    building = {
      isInert = true,
    },
    comps = {
      CompProperties_Forbiddable = {},
    },
  },

  ["ThingDef:Door"] = {
    _ = {
      ParentName = "DoorBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Structure.xml",
      DLC = "Core",
    },
    defName = "Door",
    label = "door",
    description = [[Divides rooms. Simple doors must be manually opened, which slows people down. The amount of slowdown depends on what the door is made of.]],
    statBases = {
      WorkToBuild = 850,
    },
  },

  ["ThingDef:Autodoor"] = {
    _ = {
      ParentName = "DoorBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Structure.xml",
      DLC = "Core",
    },
    defName = "Autodoor",
    label = "autodoor",
    description = [[Divides rooms. Powered operation allows people to move through the door without slowing down.]],
    statBases = {
      WorkToBuild = 1100,
    },
    costList = {
      Steel = 40,
      ComponentIndustrial = 2,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 50,
      },
      CompProperties_Breakdownable = {},
      CompProperties_Flickable = {},
    },
    researchPrerequisites = {
      "Autodoors",
    },
  },

  ["ThingDef:Wall"] = {
    _ = {
      ParentName = "BuildingBase",
      Name = "Wall",
      DefCategory = "ThingDef",
      FileName = "Buildings_Structure.xml",
      DLC = "Core",
    },
    defName = "Wall",
    label = "wall",
    description = [[An impassable wall. Capable of holding up a roof.]],
    thingClass = "Building",
    category = "Building",
    statBases = {
      MaxHitPoints = 300,
      WorkToBuild = 135,
      Flammability = 1.0,
      MeditationFocusStrength = 0.22,
    },
    leaveResourcesWhenKilled = false,
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    terrainAffordanceNeeded = "Heavy",
    building = {
      isInert = true,
    },
    comps = {
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Minimal",
        },
      },
    },
  },

  ["ThingDef:Column"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Structure.xml",
      DLC = "Core",
    },
    defName = "Column",
    label = "column",
    description = [[A column capable of holding a roof. Does not block sight or movement and looks quite nice.]],
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    fillPercent = 0.25,
    pathCost = 0,
    statBases = {
      MaxHitPoints = 160,
      WorkToBuild = 750,
      Mass = 10,
      Flammability = 1.0,
      Beauty = 5,
    },
    building = {
      isInert = true,
    },
  },

  ["ThingDef:Campfire"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Temperature.xml",
      DLC = "Core",
    },
    defName = "Campfire",
    label = "campfire",
    description = [[Cooks meals and produces heat, and burns out after a few days. As with all heat sources, it must be placed indoors so it has a closed space to heat. Refuelable.]],
    thingClass = "Building_WorkTable",
    category = "Building",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 42,
    fillPercent = 0.20,
    statBases = {
      MaxHitPoints = 80,
      WorkToBuild = 200,
      Flammability = 0,
      WorkTableWorkSpeedFactor = 0.5,
      MeditationFocusStrength = 0.0,
    },
    costList = {
      WoodLog = 20,
    },
    leaveResourcesWhenKilled = false,
    comps = {
      CompProperties_Refuelable = {
        fuelConsumptionRate = 10.0,
        fuelCapacity = 20.0,
        fuelConsumptionPerTickInRain = 0.0006,
        fuelFilter = {
          thingDefs = {
            "WoodLog",
          },
        },
        initialFuelPercent = 1,
        showAllowAutoRefuelToggle = true,
      },
      CompProperties_Glower = {
        glowRadius = 10,
        glowColor = {252, 187, 113, 0},
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 21,
        heatPushMaxTemperature = 28,
      },
      CompProperties_FireOverlay = {
        fireSize = 1,
      },
      {
        compClass = "CompGatherSpot",
      },
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Flame",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_Lit",
            },
            offset = 0.12,
          },
          {
            _ = {
              Class = "FocusStrengthOffset_BuildingDefsLit",
            },
            defs = {
              "Campfire",
              "TorchLamp",
              "Brazier",
            },
            offsetPerBuilding = 0.02,
            radius = 9.9,
            maxBuildings = 8,
            explanationKey = "MeditationFocusPerFlame",
            explanationKeyAbstract = "MeditationFocusPerFlameAbstract",
          },
        },
      },
    },
    hasInteractionCell = true,
    building = {
      isMealSource = true,
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:PassiveCooler"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Temperature.xml",
      DLC = "Core",
    },
    defName = "PassiveCooler",
    label = "passive cooler",
    description = [[A traditional unpowered cooler that works by water evaporation. Must be regularly replenished with wood. Not efficient enough to refrigerate food.]],
    category = "Building",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 30,
    fillPercent = 0.40,
    statBases = {
      MaxHitPoints = 80,
      WorkToBuild = 200,
      Flammability = 1,
    },
    costList = {
      WoodLog = 50,
    },
    leaveResourcesWhenKilled = false,
    comps = {
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = -11,
        heatPushMinTemperature = 17,
      },
      CompProperties_Refuelable = {
        fuelConsumptionRate = 10.0,
        fuelCapacity = 50.0,
        fuelFilter = {
          thingDefs = {
            "WoodLog",
          },
        },
        initialFuelPercent = 1,
        showAllowAutoRefuelToggle = true,
      },
    },
    researchPrerequisites = {
      "PassiveCooler",
    },
  },

  ["ThingDef:Heater"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Temperature.xml",
      DLC = "Core",
    },
    defName = "Heater",
    label = "heater",
    description = [[A device that converts electricity into heat. It can automatically turn itself on or off to reach a specific target temperature.]],
    thingClass = "Building_Heater",
    minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 30,
    fillPercent = 0.4,
    thingCategories = {
      "BuildingsTemperature",
    },
    statBases = {
      WorkToBuild = 1000,
      MaxHitPoints = 100,
      Mass = 6,
      Flammability = 0.5,
    },
    costList = {
      Steel = 50,
      ComponentIndustrial = 1,
    },
    terrainAffordanceNeeded = "Light",
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 175,
        shortCircuitInRain = true,
      },
      CompProperties_Flickable = {},
      CompProperties_TempControl = {
        energyPerSecond = 21,
      },
      CompProperties_Glower = {
        glowRadius = 3,
        glowColor = {255, 150, 100, 0},
      },
      CompProperties_Breakdownable = {},
    },
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:Cooler"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Temperature.xml",
      DLC = "Core",
    },
    defName = "Cooler",
    label = "cooler",
    description = [[An air-cooling machine that fits into a wall. Cool air comes out one side, while hot exhaust comes out the other. Can be used to cool down rooms during summer, or to create a walk-in freezer.]],
    thingClass = "Building_Cooler",
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      WorkToBuild = 1600,
      MaxHitPoints = 100,
      Flammability = 0.7,
    },
    costList = {
      Steel = 90,
      ComponentIndustrial = 3,
    },
    terrainAffordanceNeeded = "Medium",
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 200,
      },
      CompProperties_Flickable = {},
      CompProperties_TempControl = {
        energyPerSecond = -21,
      },
      CompProperties_Breakdownable = {},
    },
    researchPrerequisites = {
      "AirConditioning",
    },
  },

  ["ThingDef:Vent"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Temperature.xml",
      DLC = "Core",
    },
    defName = "Vent",
    label = "vent",
    description = [[A vent for equalizing the temperature between two rooms without allowing people to walk between them.]],
    thingClass = "Building_Vent",
    altitudeLayer = "Building",
    passability = "Impassable",
    fillPercent = 1,
    statBases = {
      WorkToBuild = 400,
      MaxHitPoints = 100,
      Flammability = 1.0,
    },
    costList = {
      Steel = 30,
    },
    terrainAffordanceNeeded = "Medium",
    researchPrerequisites = {
      "ComplexFurniture",
    },
    comps = {
      CompProperties_Flickable = {
        commandTexture = "UI/Commands/Vent",
        commandLabelKey = "CommandDesignateOpenCloseVentLabel",
        commandDescKey = "CommandDesignateOpenCloseVentDesc",
      },
    },
  },

  ["ThingDef:ArtifactBase"] = {
    _ = {
      ParentName = "ResourceBase",
      Name = "ArtifactBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Artifacts.xml",
      DLC = "Core",
    },
    thingClass = "ThingWithComps",
    thingCategories = {
      "Artifacts",
    },
    tradeTags = {
      "Artifact",
    },
    statBases = {
      Mass = 0.5,
    },
    comps = {
      CompProperties_Usable = {
        useJob = "UseArtifact",
        useLabel = "Activate",
      },
      CompProperties_UseEffect = {
        compClass = "CompUseEffect_DestroySelf",
      },
    },
  },

  ["ThingDef:PsychicAnimalPulser"] = {
    _ = {
      ParentName = "ArtifactBase",
      DefCategory = "ThingDef",
      FileName = "Items_Artifacts.xml",
      DLC = "Core",
    },
    defName = "PsychicAnimalPulser",
    label = "psychic animal pulser",
    description = [[A one-use broad-wave psychic effector. The psychic pulse fills lower minds with terrifying imagery, driving all animals in the region into a manhunting rage. Animals currently under your control will not be affected.]],
    stackLimit = 1,
    useHitPoints = true,
    statBases = {
      MarketValue = 700,
      MaxHitPoints = 80,
    },
    comps = {
      CompProperties_Targetable = {
        compClass = "CompTargetable_AllAnimalsOnTheMap",
        psychicSensitiveTargetsOnly = true,
        doCameraShake = true,
        moteOnTarget = "Mote_PsycastPsychicEffect",
        moteOnUsed = "Mote_PsycastAreaEffect",
        moteOnUsedScale = 10,
        ignorePlayerFactionPawns = true,
      },
      {
        compClass = "CompTargetEffect_Manhunter",
      },
      CompProperties_TargetEffect_GoodwillImpact = {
        goodwillImpact = -200,
      },
      CompProperties_UseEffectArtifact = {
        sound = "PsychicAnimalPulserCast",
      },
    },
  },

  ["ThingDef:PsychicSoothePulser"] = {
    _ = {
      ParentName = "ArtifactBase",
      DefCategory = "ThingDef",
      FileName = "Items_Artifacts.xml",
      DLC = "Core",
    },
    defName = "PsychicSoothePulser",
    label = "psychic soothe pulser",
    description = [[A one-use broad-wave psychic effector. The psychic pulse induces self-satisfying perceptual distortions, giving a temporary mood boost to everyone in the region.]],
    stackLimit = 1,
    useHitPoints = true,
    statBases = {
      MarketValue = 600,
      MaxHitPoints = 80,
    },
    comps = {
      CompProperties_Targetable = {
        compClass = "CompTargetable_AllPawnsOnTheMap",
        psychicSensitiveTargetsOnly = true,
        doCameraShake = true,
        moteOnTarget = "Mote_PsycastPsychicEffect",
        moteOnUsed = "Mote_PsycastAreaEffect",
        moteOnUsedScale = 10,
      },
      {
        compClass = "CompTargetEffect_MoodBoost",
      },
      CompProperties_UseEffectArtifact = {
        sound = "PsychicSoothePulserCast",
      },
    },
  },

  ["ThingDef:ResourceVerbBase"] = {
    _ = {
      Name = "ResourceVerbBase",
      ParentName = "ResourceBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Exotic.xml",
      DLC = "Core",
    },
    comps = {
      {
        compClass = "CompEquippable",
      },
    },
  },

  ["ThingDef:AIPersonaCore"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Exotic.xml",
      DLC = "Core",
    },
    defName = "AIPersonaCore",
    label = "persona core",
    description = [[A hyper-advanced computer core that houses a peak-human-equivalent machine persona. In its isolated state, the core is dormant. Installed in a proper support structure, however, it can become a mind of great power.]],
    stackLimit = 1,
    useHitPoints = true,
    statBases = {
      MarketValue = 4000,
      MaxHitPoints = 100,
      Mass = 2,
      Flammability = 0.2,
    },
    thingCategories = {
      "Items",
    },
    tradeability = "Sellable",
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:MechSerumBase"] = {
    _ = {
      ParentName = "ResourceBase",
      Name = "MechSerumBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Exotic.xml",
      DLC = "Core",
    },
    thingClass = "ThingWithComps",
    useHitPoints = true,
    statBases = {
      MaxHitPoints = 80,
      Mass = 0.2,
      DeteriorationRate = 2.0,
      Flammability = 0.2,
    },
    tradeTags = {
      "ExoticMisc",
    },
    comps = {
      CompProperties_UseEffectPlaySound = {
        soundOnUsed = "MechSerumUsed",
      },
    },
  },

  ["ThingDef:MechSerumHealer"] = {
    _ = {
      ParentName = "MechSerumBase",
      DefCategory = "ThingDef",
      FileName = "Items_Exotic.xml",
      DLC = "Core",
    },
    defName = "MechSerumHealer",
    label = "healer mech serum",
    description = [[A one-use super-dose of mechanites tuned to heal health conditions. The mechanites will target and heal the single worst health condition affecting someone at any given time. Works even on health conditions that would otherwise be incurable. The mechanites can even transmute themselves into organic matter, forming new limbs or organs as needed.]],
    stackLimit = 10,
    statBases = {
      MarketValue = 1300,
    },
    thingCategories = {
      "Items",
    },
    tradeability = "Sellable",
    comps = {
      CompProperties_Usable = {
        useJob = "UseItem",
        useLabel = "Use healer mech serum",
        useDuration = 600,
      },
      CompProperties_UseEffect = {
        compClass = "CompUseEffect_FixWorstHealthCondition",
      },
      CompProperties_UseEffect = {
        compClass = "CompUseEffect_DestroySelf",
      },
    },
  },

  ["ThingDef:MechSerumResurrector"] = {
    _ = {
      ParentName = "MechSerumBase",
      DefCategory = "ThingDef",
      FileName = "Items_Exotic.xml",
      DLC = "Core",
    },
    defName = "MechSerumResurrector",
    label = "resurrector mech serum",
    description = [[A one-use super-dose of mechanites tuned to resurrect the dead. Administered to a corpse, mechanites repair broken-down tissues and kickstart the body back to life. Unfortunately, the resurrected sometimes come back with brain damage, blindness, or progressive psychosis. Outcomes are better when the mechanites are administered to a fresher body. If a body is preserved, it can even be resurrected long after death.]],
    stackLimit = 10,
    statBases = {
      MarketValue = 1700,
    },
    thingCategories = {
      "Items",
    },
    tradeability = "Sellable",
    comps = {
      CompProperties_Usable = {
        useJob = "UseItem",
        useLabel = "Use resurrector mech serum",
        useDuration = 0,
      },
      CompProperties_Targetable = {
        compClass = "CompTargetable_SingleCorpse",
        fleshCorpsesOnly = true,
        nonDessicatedCorpsesOnly = true,
      },
      {
        compClass = "CompTargetEffect_Resurrect",
      },
    },
  },

  ["ThingDef:TechprofSubpersonaCore"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Exotic.xml",
      DLC = "Core",
    },
    defName = "TechprofSubpersonaCore",
    label = "techprof subpersona core",
    thingClass = "ThingWithComps",
    description = [[A small AI core housing a low-grade subpersona specialized in teaching technology. When used, the AI will teach you the technology you're currently researching, instantly and for free. Can only be used once.]],
    stackLimit = 1,
    useHitPoints = true,
    statBases = {
      MarketValue = 1000,
      MaxHitPoints = 100,
      Mass = 2.0,
      Flammability = 0.2,
    },
    thingCategories = {
      "Items",
    },
    tradeability = "Sellable",
    tradeTags = {
      "ExoticMisc",
    },
    comps = {
      CompProperties_Usable = {
        useJob = "UseItem",
        useLabel = "Use techprof subpersona core",
      },
      CompProperties_UseEffect = {
        compClass = "CompUseEffect_FinishRandomResearchProject",
      },
      CompProperties_UseEffect = {
        compClass = "CompUseEffect_DestroySelf",
      },
    },
  },

  ["ThingDef:ThrumboHorn"] = {
    _ = {
      ParentName = "ResourceVerbBase",
      DefCategory = "ThingDef",
      FileName = "Items_Exotic.xml",
      DLC = "Core",
    },
    defName = "ThrumboHorn",
    label = "thrumbo horn",
    description = [[A thrumbo's horn. It's razor-sharp, rock-hard, and priceless in most markets. This is a true trophy, as well as a deadly melee weapon.]],
    statBases = {
      MarketValue = 800,
      MaxHitPoints = 150,
      Mass = 3,
      Flammability = 0.4,
      DeteriorationRate = 0.5,
    },
    stackLimit = 10,
    tools = {
      {
        label = "point",
        capacities = {
          "Scratch",
          "Stab",
        },
        power = 28,
        cooldownTime = 2.6,
      },
      {
        label = "base",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
    thingCategories = {
      "Items",
    },
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:ElephantTusk"] = {
    _ = {
      ParentName = "ResourceVerbBase",
      DefCategory = "ThingDef",
      FileName = "Items_Exotic.xml",
      DLC = "Core",
    },
    defName = "ElephantTusk",
    label = "elephant tusk",
    description = [[An elephant's tusk. It is very durable and valuable. While somewhat unwieldy as a melee weapon, it can still be deadly.]],
    statBases = {
      MarketValue = 80,
      MaxHitPoints = 150,
      Mass = 1.8,
      Flammability = 0.9,
      DeteriorationRate = 0.5,
    },
    stackLimit = 10,
    tools = {
      {
        label = "point",
        capacities = {
          "Scratch",
          "Stab",
        },
        power = 18.2,
        cooldownTime = 2.6,
      },
      {
        label = "base",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
        chanceFactor = 0.5,
      },
    },
    thingCategories = {
      "Items",
    },
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:MealBase"] = {
    _ = {
      Name = "MealBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Food.xml",
      DLC = "Core",
    },
    thingClass = "ThingWithComps",
    category = "Item",
    useHitPoints = true,
    statBases = {
      MaxHitPoints = 50,
      Flammability = 1.0,
      Beauty = 0,
      Mass = 0.44,
      DeteriorationRate = 10,
    },
    altitudeLayer = "Item",
    stackLimit = 10,
    thingCategories = {
      "FoodMeals",
    },
    comps = {
      CompProperties_Forbiddable = {},
      CompProperties_Ingredients = {},
      CompProperties_FoodPoisonable = {},
    },
    pathCost = 14,
    ingestible = {
      foodType = {
        "Meal",
      },
      optimalityOffsetHumanlikes = 16,
    },
  },

  ["ThingDef:MealSurvivalPack"] = {
    _ = {
      ParentName = "MealBase",
      DefCategory = "ThingDef",
      FileName = "Items_Food.xml",
      DLC = "Core",
    },
    defName = "MealSurvivalPack",
    label = "packaged survival meal",
    description = [[A high-quality packaged meal, manufactured for use in survival situations. While it never rots, it can still deteriorate if left outside. Great for traveling.]],
    statBases = {
      DeteriorationRate = 0.25,
      MarketValue = 24,
      Mass = 0.3,
      WorkToMake = 450,
      Nutrition = 0.9,
    },
    ingestible = {
      preferability = "MealSimple",
      optimalityOffsetHumanlikes = -5,
      optimalityOffsetFeedingAnimals = -10,
    },
  },

  ["ThingDef:MealNutrientPaste"] = {
    _ = {
      ParentName = "MealBase",
      DefCategory = "ThingDef",
      FileName = "Items_Food.xml",
      DLC = "Core",
    },
    defName = "MealNutrientPaste",
    label = "nutrient paste meal",
    description = [[A synthetic mixture of protein, carbohydrates, and vitamins, amino acids and minerals. Everything the body needs, and absolutely disgusting.]],
    statBases = {
      MarketValue = 10,
      Nutrition = 0.9,
    },
    ingestible = {
      preferability = "MealAwful",
      tasteThought = "AteAwfulMeal",
    },
    tradeability = "Buyable",
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 0.75,
        rotDestroys = true,
      },
    },
  },

  ["ThingDef:MealCooked"] = {
    _ = {
      ParentName = "MealBase",
      Name = "MealCooked",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Food.xml",
      DLC = "Core",
    },
    tradeability = "Buyable",
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 4,
        rotDestroys = true,
      },
    },
  },

  ["ThingDef:MealSimple"] = {
    _ = {
      ParentName = "MealCooked",
      DefCategory = "ThingDef",
      FileName = "Items_Food.xml",
      DLC = "Core",
    },
    defName = "MealSimple",
    label = "simple meal",
    description = [[A simple meal quickly cooked from one main ingredient.]],
    statBases = {
      MarketValue = 15,
      WorkToMake = 300,
      Nutrition = 0.9,
    },
    ingestible = {
      preferability = "MealSimple",
    },
  },

  ["ThingDef:MealFine"] = {
    _ = {
      ParentName = "MealCooked",
      DefCategory = "ThingDef",
      FileName = "Items_Food.xml",
      DLC = "Core",
    },
    defName = "MealFine",
    label = "fine meal",
    description = [[A complex dish assembled with care from a variety of ingredients.]],
    statBases = {
      MarketValue = 20,
      WorkToMake = 450,
      Nutrition = 0.9,
    },
    ingestible = {
      preferability = "MealFine",
      tasteThought = "AteFineMeal",
    },
  },

  ["ThingDef:MealLavish"] = {
    _ = {
      ParentName = "MealCooked",
      DefCategory = "ThingDef",
      FileName = "Items_Food.xml",
      DLC = "Core",
    },
    defName = "MealLavish",
    label = "lavish meal",
    description = [[A masterpiece of the culinary arts, this meal nourishes the body, mind, and soul.]],
    statBases = {
      MarketValue = 40,
      WorkToMake = 800,
      Nutrition = 1,
    },
    ingestible = {
      preferability = "MealLavish",
      tasteThought = "AteLavishMeal",
    },
  },

  ["ThingDef:Kibble"] = {
    _ = {
      ParentName = "OrganicProductBase",
      DefCategory = "ThingDef",
      FileName = "Items_Food.xml",
      DLC = "Core",
    },
    defName = "Kibble",
    label = "kibble",
    description = [[Animal feed made from mixed meat and plant sources. Humans can eat it, but they really, really don't like it.]],
    thingCategories = {
      "Foods",
    },
    statBases = {
      MarketValue = 1.1,
      Mass = 0.015,
      Nutrition = 0.05,
      FoodPoisonChanceFixedHuman = 0.02,
    },
    ingestible = {
      foodType = {
        "Kibble",
      },
      preferability = "RawBad",
      tasteThought = "AteKibble",
      optimalityOffsetHumanlikes = -30,
      optimalityOffsetFeedingAnimals = 15,
    },
    comps = {
      CompProperties_Ingredients = {},
    },
  },

  ["ThingDef:Pemmican"] = {
    _ = {
      ParentName = "OrganicProductBase",
      DefCategory = "ThingDef",
      FileName = "Items_Food.xml",
      DLC = "Core",
    },
    defName = "Pemmican",
    label = "pemmican",
    description = [[A preserved mashed mixture of fat and plant food. Tastes bland, but not offensive. It lasts a very long time without refrigeration. Great for traveling.]],
    thingClass = "ThingWithComps",
    thingCategories = {
      "Foods",
    },
    statBases = {
      MarketValue = 1.4,
      Mass = 0.018,
      Flammability = 0.6,
      WorkToMake = 700,
      DeteriorationRate = 2,
      Nutrition = 0.05,
    },
    ingestible = {
      foodType = {
        "Meal",
      },
      preferability = "MealSimple",
      optimalityOffsetHumanlikes = 6,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 70,
        rotDestroys = true,
      },
      CompProperties_Ingredients = {},
      CompProperties_FoodPoisonable = {},
    },
  },

  ["ThingDef:Chocolate"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Luxury.xml",
      DLC = "Core",
    },
    defName = "Chocolate",
    label = "chocolate",
    description = [[A delicious preparation of cocoa seeds ground together with sugar and vanilla. It fulfills the need for recreation, but it is not very nutritious.]],
    statBases = {
      MaxHitPoints = 60,
      MarketValue = 3,
      Mass = 0.075,
      Flammability = 1.0,
      DeteriorationRate = 8,
      Nutrition = 0.1,
    },
    thingCategories = {
      "Foods",
    },
    ingestible = {
      preferability = "DesperateOnly",
      foodType = {
        "Processed",
      },
      joy = 0.10,
      joyKind = "Gluttonous",
    },
  },

  ["ThingDef:Milk"] = {
    _ = {
      ParentName = "OrganicProductBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "Milk",
    label = "milk",
    description = [[Milk from an animal.]],
    statBases = {
      MarketValue = 3.1,
      Mass = 0.045,
      MaxHitPoints = 60,
      Flammability = 0.2,
      Nutrition = 0.05,
      FoodPoisonChanceFixedHuman = 0.02,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 14,
        rotDestroys = true,
      },
    },
    ingestible = {
      preferability = "RawTasty",
      foodType = {
        "AnimalProduct",
        "Fluid",
      },
    },
    thingCategories = {
      "AnimalProductRaw",
    },
  },

  ["ThingDef:InsectJelly"] = {
    _ = {
      ParentName = "OrganicProductBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "InsectJelly",
    label = "insect jelly",
    description = [[Jelly stored and used as food by oversized insects. It is smooth, rich, and fulfills the recreation need of those who consume it. Because of its unique biological properties, it can nourish almost any creature and never rots.]],
    statBases = {
      MarketValue = 8.0,
      Mass = 0.025,
      Nutrition = 0.05,
      FoodPoisonChanceFixedHuman = 0.02,
    },
    ingestible = {
      foodType = {
        "AnimalProduct",
      },
      preferability = "MealFine",
      joy = 0.08,
      joyKind = "Gluttonous",
      canAutoSelectAsFoodForCaravan = false,
    },
    thingCategories = {
      "AnimalProductRaw",
    },
  },

  ["ThingDef:EggBase"] = {
    _ = {
      Abstract = true,
      Name = "EggBase",
      ParentName = "OrganicProductBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    ingestible = {
      foodType = {
        "AnimalProduct",
      },
      tasteThought = "AteRawFood",
    },
    statBases = {
      Mass = 0.15,
      MaxHitPoints = 20,
      DeteriorationRate = 2,
      Flammability = 0.7,
      Nutrition = 0.25,
      FoodPoisonChanceFixedHuman = 0.02,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 15,
        rotDestroys = true,
        disableIfHatcher = true,
      },
    },
  },

  ["ThingDef:EggUnfertBase"] = {
    _ = {
      Abstract = true,
      Name = "EggUnfertBase",
      ParentName = "EggBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    ingestible = {
      preferability = "RawBad",
    },
    thingCategories = {
      "EggsUnfertilized",
    },
  },

  ["ThingDef:EggFertBase"] = {
    _ = {
      Abstract = true,
      Name = "EggFertBase",
      ParentName = "EggBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    ingestible = {
      preferability = "DesperateOnly",
    },
    thingCategories = {
      "EggsFertilized",
    },
    comps = {
      CompProperties_TemperatureRuinable = {
        minSafeTemperature = 0,
        maxSafeTemperature = 50,
        progressPerDegreePerTick = 0.00003,
      },
    },
  },

  ["ThingDef:EggChickenUnfertilized"] = {
    _ = {
      ParentName = "EggUnfertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggChickenUnfertilized",
    label = "chicken egg (unfert.)",
    description = [[An unfertilized chicken egg. It can be eaten raw, but it's much, much better cooked.]],
    statBases = {
      MarketValue = 7.0,
    },
  },

  ["ThingDef:EggChickenFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggChickenFertilized",
    label = "chicken egg (fert.)",
    description = [[A fertilized chicken egg. If all goes well, it should hatch into a chick. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 7.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 3.5,
        hatcherPawn = "Chicken",
      },
    },
  },

  ["ThingDef:EggCobraFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggCobraFertilized",
    label = "cobra egg (fert.)",
    description = [[A fertilized cobra egg. If all goes well, it should hatch into a baby cobra. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 40.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 4.5,
        hatcherPawn = "Cobra",
      },
    },
  },

  ["ThingDef:EggIguanaFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggIguanaFertilized",
    label = "iguana egg (fert.)",
    description = [[A fertilized iguana egg. If all goes well, it should hatch into a baby iguana. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 25.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 3.5,
        hatcherPawn = "Iguana",
      },
    },
  },

  ["ThingDef:EggTortoiseFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggTortoiseFertilized",
    label = "tortoise egg (fert.)",
    description = [[A fertilized tortoise egg. If all goes well, it should hatch into a baby tortoise. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 23.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 3.5,
        hatcherPawn = "Tortoise",
      },
    },
  },

  ["ThingDef:EggCassowaryFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggCassowaryFertilized",
    label = "cassowary egg (fert.)",
    description = [[A fertilized cassowary egg. If all goes well, it should hatch into a baby cassowary. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 19.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 7,
        hatcherPawn = "Cassowary",
      },
    },
  },

  ["ThingDef:EggEmuFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggEmuFertilized",
    label = "emu egg (fert.)",
    description = [[A fertilized emu egg. If all goes well, it should hatch into a baby emu. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 18.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 6,
        hatcherPawn = "Emu",
      },
    },
  },

  ["ThingDef:EggOstrichFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggOstrichFertilized",
    label = "ostrich egg (fert.)",
    description = [[A fertilized ostrich egg. If all goes well, it should hatch into a baby ostrich. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 23.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 8,
        hatcherPawn = "Ostrich",
      },
    },
  },

  ["ThingDef:EggTurkeyFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggTurkeyFertilized",
    label = "turkey egg (fert.)",
    description = [[A fertilized turkey egg. If all goes well, it should hatch into a baby turkey. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 11.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 5,
        hatcherPawn = "Turkey",
      },
    },
  },

  ["ThingDef:EggDuckUnfertilized"] = {
    _ = {
      ParentName = "EggUnfertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggDuckUnfertilized",
    label = "duck egg (unfert.)",
    description = [[An unfertilized duck egg. It can be eaten raw, but it's much, much better cooked.]],
    statBases = {
      MarketValue = 7.0,
    },
  },

  ["ThingDef:EggDuckFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggDuckFertilized",
    label = "duck egg (fert.)",
    description = [[A fertilized duck egg. If all goes well, it should hatch into a duckling. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 7.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 3.5,
        hatcherPawn = "Duck",
      },
    },
  },

  ["ThingDef:EggGooseUnfertilized"] = {
    _ = {
      ParentName = "EggUnfertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggGooseUnfertilized",
    label = "goose egg (unfert.)",
    description = [[An unfertilized goose egg. It can be eaten raw, but it's much, much better cooked.]],
    statBases = {
      MarketValue = 9.0,
    },
  },

  ["ThingDef:EggGooseFertilized"] = {
    _ = {
      ParentName = "EggFertBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_AnimalProduct.xml",
      DLC = "Core",
    },
    defName = "EggGooseFertilized",
    label = "goose egg (fert.)",
    description = [[A fertilized goose egg. If all goes well, it should hatch into a baby goose. It can be eaten raw, but it's much better cooked.]],
    statBases = {
      MarketValue = 11.0,
    },
    comps = {
      CompProperties_Hatcher = {
        hatcherDaystoHatch = 6.5,
        hatcherPawn = "Goose",
      },
    },
  },

  ["ThingDef:ResourceBase"] = {
    _ = {
      Name = "ResourceBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Base.xml",
      DLC = "Core",
    },
    thingClass = "ThingWithComps",
    category = "Item",
    useHitPoints = true,
    altitudeLayer = "Item",
    stackLimit = 75,
    statBases = {
      Beauty = -4,
    },
    comps = {
      CompProperties_Forbiddable = {},
    },
    pathCost = 14,
  },

  ["ThingDef:MedicineBase"] = {
    _ = {
      ParentName = "ResourceBase",
      Name = "MedicineBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Manufactured.xml",
      DLC = "Core",
    },
    thingClass = "Medicine",
    stackLimit = 25,
    statBases = {
      MaxHitPoints = 60,
    },
    thingCategories = {
      "Medicine",
    },
  },

  ["ThingDef:MedicineHerbal"] = {
    _ = {
      ParentName = "MedicineBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Manufactured.xml",
      DLC = "Core",
    },
    defName = "MedicineHerbal",
    label = "herbal medicine",
    description = [[A pack of herbal concoctions extracted from the healroot plant. It is less potent than industrial pharmaceuticals, but much better than nothing.]],
    statBases = {
      MarketValue = 10,
      Mass = 0.35,
      Flammability = 1.3,
      MedicalPotency = 0.60,
      MedicalQualityMax = 0.70,
      DeteriorationRate = 6,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 150,
        rotDestroys = true,
      },
    },
  },

  ["ThingDef:MedicineIndustrial"] = {
    _ = {
      ParentName = "MedicineBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Manufactured.xml",
      DLC = "Core",
    },
    defName = "MedicineIndustrial",
    label = "medicine",
    description = [[A kit of industrial-era medical equipment. It contains basic drugs, tools for suturing and bone setting, diagnostic devices, and various pads and fluids.]],
    statBases = {
      MarketValue = 18,
      Mass = 0.50,
      Flammability = 0.7,
      MedicalPotency = 1.00,
      MedicalQualityMax = 1.00,
      DeteriorationRate = 2,
      WorkToMake = 700,
    },
    costList = {
      MedicineHerbal = 1,
      Neutroamine = 1,
      Cloth = 3,
    },
    recipeMaker = {
      workSpeedStat = "DrugSynthesisSpeed",
      workSkill = "Intellectual",
      recipeUsers = {
        "DrugLab",
      },
      researchPrerequisite = "MedicineProduction",
      skillRequirements = {
        Crafting = 4,
        Intellectual = 4,
      },
    },
  },

  ["ThingDef:MedicineUltratech"] = {
    _ = {
      ParentName = "MedicineBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Manufactured.xml",
      DLC = "Core",
    },
    defName = "MedicineUltratech",
    label = "glitterworld medicine",
    description = [[A kit of advanced ultra-tech medical supplies, probably manufactured on a distant glitterworld. It contains advanced polymorphic drugs, nanite diagnostic and healing assisters, a mini-imager, and various multi-use tools.]],
    statBases = {
      MarketValue = 50,
      Mass = 0.50,
      Flammability = 0.7,
      MedicalPotency = 1.60,
      MedicalQualityMax = 1.30,
      DeteriorationRate = 2.0,
    },
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:ComponentIndustrial"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Manufactured.xml",
      DLC = "Core",
    },
    defName = "ComponentIndustrial",
    label = "component",
    description = [[Miscellaneous gears, capacitors, circuit boards, tubes, wheels, sensors, wires, chips, processors, and other electronic and industrial parts. Necessary for assembling complex machines or electronics.]],
    stackLimit = 50,
    statBases = {
      MaxHitPoints = 70,
      MarketValue = 32,
      Mass = 0.6,
      Flammability = 0.6,
      DeteriorationRate = 2.0,
    },
    thingCategories = {
      "Manufactured",
    },
  },

  ["ThingDef:ComponentSpacer"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Manufactured.xml",
      DLC = "Core",
    },
    defName = "ComponentSpacer",
    label = "advanced component",
    description = [[Advanced computing and energy-directing machinery, miniaturized and hardened for the most demanding applications.]],
    stackLimit = 50,
    statBases = {
      MaxHitPoints = 70,
      MarketValue = 200,
      Mass = 0.6,
      Flammability = 0.6,
      DeteriorationRate = 2.0,
    },
    thingCategories = {
      "Manufactured",
    },
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:Neutroamine"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Manufactured.xml",
      DLC = "Core",
    },
    defName = "Neutroamine",
    label = "neutroamine",
    description = [[A synthetic precursor chemical. While it is useless on its own, many drugs require neutroamine as an ingredient.]],
    stackLimit = 150,
    statBases = {
      MaxHitPoints = 50,
      MarketValue = 6,
      Mass = 0.02,
      Flammability = 0.7,
      DeteriorationRate = 1.0,
    },
    thingCategories = {
      "Manufactured",
    },
  },

  ["ThingDef:Chemfuel"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Manufactured.xml",
      DLC = "Core",
    },
    defName = "Chemfuel",
    label = "chemfuel",
    description = [[A volatile liquid chemical. Used to fuel engines and rockets, or to transmute into propellant for projectiles, or as an incendiary weapon.]],
    stackLimit = 150,
    statBases = {
      MaxHitPoints = 50,
      MarketValue = 2.3,
      Mass = 0.05,
      Flammability = 2.0,
      DeteriorationRate = 1.0,
    },
    thingCategories = {
      "Manufactured",
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 1.1,
        explosiveDamageType = "Flame",
        explosiveExpandPerStackcount = 0.037,
        startWickOnDamageTaken = {
          "Flame",
        },
        startWickHitPointsPercent = 0.333,
        preExplosionSpawnThingDef = "Filth_Fuel",
        preExplosionSpawnChance = 1,
        wickTicks = { ["<"]=70, [">"]=150 },
      },
    },
  },

  ["ThingDef:OrganicProductBase"] = {
    _ = {
      Abstract = true,
      Name = "OrganicProductBase",
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    statBases = {
      MaxHitPoints = 60,
      Flammability = 1.0,
      DeteriorationRate = 6,
      Mass = 0.03,
    },
  },

  ["ThingDef:PlantFoodRawBase"] = {
    _ = {
      Abstract = true,
      Name = "PlantFoodRawBase",
      ParentName = "OrganicProductBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    ingestible = {
      preferability = "RawBad",
      tasteThought = "AteRawFood",
    },
    statBases = {
      Nutrition = 0.05,
      FoodPoisonChanceFixedHuman = 0.02,
    },
    thingCategories = {
      "PlantFoodRaw",
    },
  },

  ["ThingDef:RawPotatoes"] = {
    _ = {
      ParentName = "PlantFoodRawBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "RawPotatoes",
    label = "potatoes",
    description = [[Raw potatoes.]],
    statBases = {
      MarketValue = 1.1,
    },
    ingestible = {
      foodType = {
        "VegetableOrFruit",
      },
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 30,
        rotDestroys = true,
      },
    },
  },

  ["ThingDef:RawFungus"] = {
    _ = {
      ParentName = "PlantFoodRawBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "RawFungus",
    label = "raw fungus",
    description = [[Raw fungus.]],
    statBases = {
      MarketValue = 1.1,
    },
    ingestible = {
      foodType = {
        "VegetableOrFruit",
      },
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 30,
        rotDestroys = true,
      },
    },
  },

  ["ThingDef:RawRice"] = {
    _ = {
      ParentName = "PlantFoodRawBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "RawRice",
    label = "rice",
    description = [[Raw rice.]],
    statBases = {
      MarketValue = 1.1,
    },
    ingestible = {
      foodType = {
        "Seed",
      },
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 40,
        rotDestroys = true,
      },
    },
  },

  ["ThingDef:RawAgave"] = {
    _ = {
      ParentName = "PlantFoodRawBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "RawAgave",
    label = "agave fruit",
    description = [[Raw agave fruit.]],
    statBases = {
      MarketValue = 1.1,
    },
    ingestible = {
      foodType = {
        "VegetableOrFruit",
      },
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 25,
        rotDestroys = true,
      },
    },
  },

  ["ThingDef:RawCorn"] = {
    _ = {
      ParentName = "PlantFoodRawBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "RawCorn",
    label = "corn",
    description = [[Raw corn.]],
    statBases = {
      MarketValue = 1.1,
    },
    ingestible = {
      foodType = {
        "VegetableOrFruit",
      },
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 60,
        rotDestroys = true,
      },
    },
  },

  ["ThingDef:RawBerries"] = {
    _ = {
      ParentName = "PlantFoodRawBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "RawBerries",
    label = "berries",
    description = [[Assorted berries. Nice to eat, even when raw.]],
    statBases = {
      MarketValue = 1.2,
      Mass = 0.027,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 14,
        rotDestroys = true,
      },
    },
    ingestible = {
      preferability = "RawTasty",
      tasteThought = {},
      foodType = {
        "VegetableOrFruit",
      },
    },
  },

  ["ThingDef:RoughPlantBase"] = {
    _ = {
      ParentName = "OrganicProductBase",
      Name = "RoughPlantBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    ingestible = {
      foodType = {
        "Plant",
      },
      preferability = "DesperateOnlyForHumanlikes",
    },
    statBases = {
      Nutrition = 0.05,
    },
  },

  ["ThingDef:Hay"] = {
    _ = {
      ParentName = "RoughPlantBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "Hay",
    label = "hay",
    description = [[Nutrient-rich grasses and shoots, harvested and compacted for storage. Hay is good animal feed, but inedible for humans.]],
    stackLimit = 200,
    statBases = {
      MarketValue = 0.6,
      Mass = 0.014,
      Flammability = 1.5,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 60,
        rotDestroys = true,
      },
    },
    thingCategories = {
      "Foods",
    },
    ingestible = {
      optimalityOffsetFeedingAnimals = 7,
    },
  },

  ["ThingDef:RawHops"] = {
    _ = {
      ParentName = "RoughPlantBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "RawHops",
    label = "hops",
    description = [[Raw hops. A flavoring and preserving agent that is necessary for making beer.]],
    statBases = {
      MarketValue = 1.3,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 30,
        rotDestroys = true,
      },
    },
    thingCategories = {
      "PlantMatter",
    },
    ingestible = {
      preferability = "DesperateOnly",
    },
  },

  ["ThingDef:PsychoidLeaves"] = {
    _ = {
      ParentName = "RoughPlantBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "PsychoidLeaves",
    label = "psychoid leaves",
    description = [[Raw cut leaves of a psychoid plant. Can be refined into various form of the stimulant drug psychite.]],
    statBases = {
      MarketValue = 1.9,
      Flammability = 1.3,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 30,
        rotDestroys = true,
      },
    },
    thingCategories = {
      "PlantMatter",
    },
    ingestible = {
      preferability = "DesperateOnly",
    },
  },

  ["ThingDef:SmokeleafLeaves"] = {
    _ = {
      ParentName = "RoughPlantBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_RawPlant.xml",
      DLC = "Core",
    },
    defName = "SmokeleafLeaves",
    label = "smokeleaf leaves",
    description = [[Raw cut leaves of a smokeleaf plant. Can be rolled into smokeable joints at a crafting spot.]],
    statBases = {
      MarketValue = 1.6,
      Flammability = 1.3,
    },
    comps = {
      CompProperties_Rottable = {
        daysToRotStart = 30,
        rotDestroys = true,
      },
    },
    thingCategories = {
      "PlantMatter",
    },
    ingestible = {
      preferability = "DesperateOnly",
    },
  },

  ["ThingDef:ShellBase"] = {
    _ = {
      Name = "ShellBase",
      ParentName = "ResourceBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    stackLimit = 25,
    statBases = {
      MaxHitPoints = 60,
      MarketValue = 55,
      Mass = 1.25,
      Flammability = 1.0,
      DeteriorationRate = 1.5,
    },
    thingCategories = {
      "MortarShells",
    },
    tradeTags = {
      "MortarShell",
    },
  },

  ["ThingDef:MakeableShellBase"] = {
    _ = {
      Name = "MakeableShellBase",
      ParentName = "ShellBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      effectWorking = "Cook",
      soundWorking = "Recipe_Machining",
      workAmount = 800,
      targetCountAdjustment = 5,
      workSkill = "Crafting",
      recipeUsers = {
        "TableMachining",
      },
      skillRequirements = {
        Crafting = 4,
      },
    },
  },

  ["ThingDef:Shell_HighExplosive"] = {
    _ = {
      ParentName = "MakeableShellBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Shell_HighExplosive",
    label = "high-explosive shell",
    description = [[A shell filled with high explosives. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 2.9,
        explosiveDamageType = "Bomb",
        explosiveExpandPerStackcount = 0.4,
        startWickHitPointsPercent = 0.7,
        wickTicks = { ["<"]=30, [">"]=60 },
      },
    },
    costList = {
      Steel = 25,
      Chemfuel = 15,
    },
    recipeMaker = {
      researchPrerequisite = "Mortars",
    },
  },

  ["ThingDef:Bullet_Shell_HighExplosive"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Bullet_Shell_HighExplosive",
    label = "high-explosive shell",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Shell_Incendiary"] = {
    _ = {
      ParentName = "MakeableShellBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Shell_Incendiary",
    label = "incendiary shell",
    description = [[A shell filled with flammable gel and a small explosive charge. Starts fires when detonated. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 2.9,
        explosiveDamageType = "Flame",
        explosiveExpandPerStackcount = 0.4,
        startWickHitPointsPercent = 0.7,
        wickTicks = { ["<"]=30, [">"]=60 },
      },
    },
    costList = {
      Steel = 20,
      Chemfuel = 20,
    },
    recipeMaker = {
      researchPrerequisite = "Mortars",
    },
  },

  ["ThingDef:Bullet_Shell_Incendiary"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Bullet_Shell_Incendiary",
    label = "incendiary shell",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Shell_EMP"] = {
    _ = {
      ParentName = "MakeableShellBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Shell_EMP",
    label = "EMP shell",
    description = [[A shell filled with batteries and antennas, for generating an electromagnetic pulse when detonated. Electromagnetic pulses temporarily disable electrical devices and mechanoids. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 11.9,
        explosiveDamageType = "EMP",
        explosiveExpandPerStackcount = 0.4,
        startWickHitPointsPercent = 0.7,
        wickTicks = { ["<"]=30, [">"]=60 },
      },
    },
    costList = {
      Steel = 25,
      ComponentIndustrial = 2,
    },
    recipeMaker = {
      researchPrerequisite = "MicroelectronicsBasics",
    },
  },

  ["ThingDef:Bullet_Shell_EMP"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Bullet_Shell_EMP",
    label = "EMP shell",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Shell_Smoke"] = {
    _ = {
      ParentName = "MakeableShellBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Shell_Smoke",
    label = "Smoke shell",
    description = [[A shell that generates a cloud of smoke when detonated, obscuring incoming shots and preventing turrets from locking on. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
    comps = {
      CompProperties_Explosive = {
        explosiveDamageType = "Smoke",
        explosiveRadius = 11,
        postExplosionSpawnThingDef = "Gas_Smoke",
        postExplosionSpawnChance = 1,
        postExplosionSpawnThingCount = 1,
        wickTicks = { ["<"]=30, [">"]=60 },
      },
    },
    costList = {
      Steel = 35,
    },
    recipeMaker = {
      researchPrerequisite = "Mortars",
    },
  },

  ["ThingDef:Bullet_Shell_Smoke"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Bullet_Shell_Smoke",
    label = "Smoke shell",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Shell_Firefoam"] = {
    _ = {
      ParentName = "MakeableShellBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Shell_Firefoam",
    label = "firefoam shell",
    description = [[A pressurized shell filled with fire-retardant foam. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 9.9,
        explosiveDamageType = "Extinguish",
        explosiveExpandPerStackcount = 0.4,
        startWickHitPointsPercent = 0.7,
        postExplosionSpawnThingDef = "Filth_FireFoam",
        postExplosionSpawnChance = 1,
        postExplosionSpawnThingCount = 3,
        applyDamageToExplosionCellsNeighbors = true,
        explosionEffect = "ExtinguisherExplosion",
        wickTicks = { ["<"]=30, [">"]=60 },
      },
    },
    costList = {
      Steel = 35,
    },
    recipeMaker = {
      researchPrerequisite = "Firefoam",
    },
  },

  ["ThingDef:Bullet_Shell_Firefoam"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Bullet_Shell_Firefoam",
    label = "firefoam shell",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Shell_AntigrainWarhead"] = {
    _ = {
      ParentName = "ShellBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Shell_AntigrainWarhead",
    label = "antigrain warhead",
    description = [[An ultra-tech warhead powered by a grain of antimatter. Usually used by spacecraft or glitterworld war machines, it creates a huge explosion and starts fires around the target. Can be fired from mortars or installed as a trap. Explodes when damaged.]],
    tradeability = "Sellable",
    statBases = {
      MarketValue = 1200,
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 14.9,
        explosiveDamageType = "BombSuper",
        explosiveExpandPerStackcount = 0.4,
        startWickHitPointsPercent = 0.7,
        chanceToStartFire = 0.22,
        damageFalloff = true,
        explosionEffect = "GiantExplosion",
        explosionSound = "Explosion_GiantBomb",
        wickTicks = { ["<"]=60, [">"]=120 },
      },
    },
  },

  ["ThingDef:Bullet_Shell_AntigrainWarhead"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Shell.xml",
      DLC = "Core",
    },
    defName = "Bullet_Shell_AntigrainWarhead",
    label = "antigrain warhead",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Silver"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "Silver",
    label = "silver",
    description = [[This metal is mostly used as a commodity currency. It can also be used for making decorations.]],
    useHitPoints = false,
    statBases = {
      MarketValue = 1,
      Mass = 0.008,
      StuffPower_Armor_Sharp = 0.72,
      StuffPower_Armor_Blunt = 0.36,
      StuffPower_Armor_Heat = 0.36,
      StuffPower_Insulation_Cold = 3,
      StuffPower_Insulation_Heat = 0,
      SharpDamageMultiplier = 0.85,
      BluntDamageMultiplier = 1.0,
    },
    thingCategories = {
      "ResourcesRaw",
    },
    stackLimit = 500,
    smeltable = true,
    stuffProps = {
      categories = {
        "Metallic",
      },
      statOffsets = {
        Beauty = 6,
      },
      statFactors = {
        MaxHitPoints = 0.7,
        Flammability = 0.4,
        Beauty = 2,
      },
    },
    terrainAffordanceNeeded = "Medium",
  },

  ["ThingDef:Gold"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "Gold",
    label = "gold",
    description = [[The most seductive metal of them all. While it is too soft to be of much practical use, it is strikingly beautiful and never tarnishes. Millions have died in attempting to feed the endless human thirst for gold.]],
    useHitPoints = false,
    statBases = {
      MarketValue = 10,
      RoyalFavorValue = 0.015,
      Mass = 0.008,
      StuffPower_Armor_Sharp = 0.72,
      StuffPower_Armor_Blunt = 0.36,
      StuffPower_Armor_Heat = 0.36,
      StuffPower_Insulation_Cold = 3,
      StuffPower_Insulation_Heat = 0,
      SharpDamageMultiplier = 0.75,
      BluntDamageMultiplier = 1.0,
    },
    thingCategories = {
      "ResourcesRaw",
    },
    stackLimit = 500,
    smeltable = true,
    stuffProps = {
      categories = {
        "Metallic",
      },
      statOffsets = {
        Beauty = 20,
      },
      statFactors = {
        MaxHitPoints = 0.6,
        Flammability = 0.4,
        Beauty = 4,
        WorkToMake = 0.9,
        WorkToBuild = 0.9,
        MeleeWeapon_CooldownMultiplier = 1.0,
      },
    },
    terrainAffordanceNeeded = "Medium",
  },

  ["ThingDef:Steel"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "Steel",
    label = "steel",
    description = [[An iron-carbon metal alloy used for building a huge variety of structures, weapons, and machines.]],
    statBases = {
      MarketValue = 1.9,
      Mass = 0.5,
      StuffPower_Armor_Sharp = 0.9,
      StuffPower_Armor_Blunt = 0.45,
      StuffPower_Armor_Heat = 0.60,
      StuffPower_Insulation_Cold = 3,
      StuffPower_Insulation_Heat = 0,
      SharpDamageMultiplier = 1,
      BluntDamageMultiplier = 1,
    },
    useHitPoints = false,
    thingCategories = {
      "ResourcesRaw",
    },
    smeltable = true,
    stuffProps = {
      categories = {
        "Metallic",
      },
      statFactors = {
        MaxHitPoints = 1,
        Beauty = 1,
        Flammability = 0.4,
      },
    },
    terrainAffordanceNeeded = "Medium",
  },

  ["ThingDef:Plasteel"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "Plasteel",
    label = "plasteel",
    description = [[Advanced spacer tech structural material. Plasteel is extremely strong due to its unique molecular structure.]],
    useHitPoints = false,
    statBases = {
      MarketValue = 9,
      Mass = 0.25,
      StuffPower_Armor_Sharp = 1.14,
      StuffPower_Armor_Blunt = 0.55,
      StuffPower_Armor_Heat = 0.65,
      StuffPower_Insulation_Cold = 3,
      StuffPower_Insulation_Heat = 0,
      SharpDamageMultiplier = 1.1,
      BluntDamageMultiplier = 0.9,
    },
    thingCategories = {
      "ResourcesRaw",
    },
    smeltable = true,
    stuffProps = {
      categories = {
        "Metallic",
      },
      statFactors = {
        MaxHitPoints = 2.8,
        Beauty = 1,
        Flammability = 0,
        WorkToMake = 2.2,
        WorkToBuild = 2.2,
        MeleeWeapon_CooldownMultiplier = 0.8,
      },
    },
    terrainAffordanceNeeded = "Medium",
  },

  ["ThingDef:WoodLog"] = {
    _ = {
      ParentName = "ResourceVerbBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "WoodLog",
    label = "wood",
    description = [[Wood from trees or other fibrous plants. Useful for building structures and weapons. It is a good fuel for campfires and generators, and can be refined into chemfuel. In a pinch, a piece of wood can be used as a weapon or a leg.]],
    statBases = {
      MarketValue = 1.2,
      MaxHitPoints = 150,
      Mass = 0.4,
      Flammability = 1.0,
      DeteriorationRate = 0.5,
      StuffPower_Armor_Sharp = 0.54,
      StuffPower_Armor_Blunt = 0.54,
      StuffPower_Armor_Heat = 0.40,
      StuffPower_Insulation_Cold = 8,
      StuffPower_Insulation_Heat = 4,
      SharpDamageMultiplier = 0.40,
      BluntDamageMultiplier = 0.9,
    },
    stuffProps = {
      categories = {
        "Woody",
      },
      statFactors = {
        MaxHitPoints = 0.65,
        Beauty = 1,
        Flammability = 1,
        WorkToMake = 0.7,
        WorkToBuild = 0.7,
        DoorOpenSpeed = 1.2,
      },
    },
    thingCategories = {
      "ResourcesRaw",
    },
    tools = {
      {
        label = "log",
        capacities = {
          "Blunt",
        },
        power = 10,
        cooldownTime = 2,
      },
    },
    terrainAffordanceNeeded = "Light",
  },

  ["ThingDef:Uranium"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "Uranium",
    label = "uranium",
    description = [[A dark, heavy metal. While it is best known as a fuel for nuclear devices, its extreme density and hardness also make it good for making certain weapons, armor, and ammunition.]],
    useHitPoints = false,
    statBases = {
      MarketValue = 6,
      Mass = 1,
      StuffPower_Armor_Sharp = 1.08,
      StuffPower_Armor_Blunt = 0.54,
      StuffPower_Armor_Heat = 0.65,
      StuffPower_Insulation_Cold = 3,
      StuffPower_Insulation_Heat = 0,
      SharpDamageMultiplier = 1.1,
      BluntDamageMultiplier = 1.5,
    },
    thingCategories = {
      "ResourcesRaw",
    },
    smeltable = true,
    stuffProps = {
      categories = {
        "Metallic",
      },
      statFactors = {
        MaxHitPoints = 2.5,
        WorkToMake = 1.9,
        WorkToBuild = 1.9,
        Beauty = 0.5,
        Flammability = 0.0,
        DoorOpenSpeed = 0.75,
        MeleeWeapon_CooldownMultiplier = 1.10,
      },
    },
    terrainAffordanceNeeded = "Medium",
  },

  ["ThingDef:Jade"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "Jade",
    label = "jade",
    description = [[A hard, green stone. Because of its beauty and rarity, jade is often used for ornaments and decorations. Its hardness and density also makes it a good material for blunt weapons.]],
    useHitPoints = false,
    statBases = {
      MarketValue = 5,
      Mass = 0.5,
      StuffPower_Armor_Sharp = 0.9,
      StuffPower_Armor_Blunt = 0.45,
      StuffPower_Armor_Heat = 0.54,
      StuffPower_Insulation_Cold = 3,
      StuffPower_Insulation_Heat = 0,
      BluntDamageMultiplier = 1.5,
    },
    thingCategories = {
      "ResourcesRaw",
    },
    smeltable = false,
    stuffProps = {
      categories = {
        "Stony",
      },
      statOffsets = {
        Beauty = 10,
      },
      statFactors = {
        MaxHitPoints = 0.5,
        WorkToMake = 1.4,
        WorkToBuild = 5.0,
        Beauty = 2.5,
        Flammability = 0,
        MeleeWeapon_CooldownMultiplier = 1.3,
      },
    },
    terrainAffordanceNeeded = "Heavy",
  },

  ["ThingDef:Cloth"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "Cloth",
    label = "cloth",
    description = [[Cloth woven from organic fibers.]],
    statBases = {
      StuffPower_Armor_Sharp = 0.36,
      StuffPower_Armor_Blunt = 0,
      StuffPower_Armor_Heat = 0.18,
      StuffPower_Insulation_Cold = 18,
      StuffPower_Insulation_Heat = 18,
      MaxHitPoints = 80,
      MarketValue = 1.5,
      Mass = 0.026,
      Flammability = 1.2,
      DeteriorationRate = 4,
    },
    stuffProps = {
      statFactors = {
        Flammability = 1.2,
        Beauty = 1,
      },
      categories = {
        "Fabric",
      },
    },
    thingCategories = {
      "Textiles",
    },
    comps = {
      {
        compClass = "CompColorable",
      },
    },
  },

  ["ThingDef:Synthread"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "Synthread",
    label = "synthread",
    description = [[Spacer-tech synthetic fabric designed for making ordinary clothes. It is soft, light, strong, and insulates well.]],
    statBases = {
      MaxHitPoints = 150,
      MarketValue = 4,
      Mass = 0.025,
      Flammability = 0.7,
      DeteriorationRate = 3,
      StuffPower_Armor_Sharp = 0.94,
      StuffPower_Armor_Blunt = 0.26,
      StuffPower_Armor_Heat = 0.90,
      StuffPower_Insulation_Cold = 22,
      StuffPower_Insulation_Heat = 22,
    },
    stuffProps = {
      categories = {
        "Fabric",
      },
      statFactors = {
        Flammability = 0.7,
        MaxHitPoints = 1.3,
        Beauty = 2.3,
      },
    },
    thingCategories = {
      "Textiles",
    },
  },

  ["ThingDef:DevilstrandCloth"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "DevilstrandCloth",
    label = "devilstrand",
    description = [[Fabric spun from microfibers extracted from devilstrand mushrooms. It is very tough, good at insulating, and protects exceptionally well against flame.]],
    statBases = {
      MaxHitPoints = 100,
      MarketValue = 5.5,
      Mass = 0.032,
      Flammability = 0.4,
      DeteriorationRate = 3,
      StuffPower_Armor_Sharp = 1.40,
      StuffPower_Armor_Blunt = 0.36,
      StuffPower_Armor_Heat = 3.00,
      StuffPower_Insulation_Cold = 20,
      StuffPower_Insulation_Heat = 24,
    },
    stuffProps = {
      categories = {
        "Fabric",
      },
      statFactors = {
        Flammability = 0.4,
        MaxHitPoints = 1.3,
        Beauty = 3.2,
      },
    },
    thingCategories = {
      "Textiles",
    },
    comps = {
      {
        compClass = "CompColorable",
      },
    },
  },

  ["ThingDef:Hyperweave"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "Hyperweave",
    label = "hyperweave",
    description = [[Nano-fibers woven into sheets molecule-by-molecule using specialized production mechanites. While it flexes freely most of the time, it stiffens to absorb blows as they land, and is incredibly difficult to break. The secrets of its production are known only to the most advanced glitterworld cultures.]],
    statBases = {
      MaxHitPoints = 200,
      MarketValue = 9,
      Mass = 0.038,
      Flammability = 0.4,
      DeteriorationRate = 1.0,
      StuffPower_Armor_Sharp = 2.00,
      StuffPower_Armor_Blunt = 0.54,
      StuffPower_Armor_Heat = 2.88,
      StuffPower_Insulation_Cold = 26,
      StuffPower_Insulation_Heat = 26,
    },
    stuffProps = {
      categories = {
        "Fabric",
      },
      statFactors = {
        Flammability = 0.4,
        MaxHitPoints = 2.4,
        Beauty = 5.5,
      },
    },
    thingCategories = {
      "Textiles",
    },
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:WoolBase"] = {
    _ = {
      ParentName = "ResourceBase",
      Name = "WoolBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    stackLimit = 100,
    statBases = {
      MaxHitPoints = 90,
      MarketValue = 2.7,
      Mass = 0.028,
      Flammability = 0.4,
      DeteriorationRate = 3.4,
      StuffPower_Armor_Sharp = 0.36,
      StuffPower_Armor_Blunt = 0.00,
      StuffPower_Armor_Heat = 1.10,
    },
    stuffProps = {
      statFactors = {
        Flammability = 1.7,
        Beauty = 1.5,
      },
      categories = {
        "Fabric",
      },
    },
    thingCategories = {
      "Textiles",
    },
  },

  ["ThingDef:WoolMegasloth"] = {
    _ = {
      ParentName = "WoolBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "WoolMegasloth",
    label = "megasloth wool",
    description = [[While somewhat coarse, megasloth wool's long fibers make it very strong. It is exceptionally warm.]],
    statBases = {
      StuffPower_Armor_Sharp = 0.80,
      StuffPower_Insulation_Cold = 34,
      StuffPower_Insulation_Heat = 12,
    },
  },

  ["ThingDef:WoolMuffalo"] = {
    _ = {
      ParentName = "WoolBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "WoolMuffalo",
    label = "muffalo wool",
    description = [[Soft, light and provides very good insulation. Muffalo wool clothes can keep the body warm even in very cold conditions.]],
    statBases = {
      StuffPower_Insulation_Cold = 30,
      StuffPower_Insulation_Heat = 12,
    },
  },

  ["ThingDef:WoolAlpaca"] = {
    _ = {
      ParentName = "WoolBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "WoolAlpaca",
    label = "alpaca wool",
    description = [[The remarkably soft wool of an alpaca. It is very warm.]],
    statBases = {
      DeteriorationRate = 2.6,
      StuffPower_Insulation_Cold = 28,
      StuffPower_Insulation_Heat = 16,
    },
  },

  ["ThingDef:WoolBison"] = {
    _ = {
      ParentName = "WoolBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "WoolBison",
    label = "bison wool",
    description = [[Thick and coarse wool of a bison. Quite warm.]],
    statBases = {
      StuffPower_Insulation_Cold = 26,
      StuffPower_Insulation_Heat = 12,
    },
  },

  ["ThingDef:WoolSheep"] = {
    _ = {
      ParentName = "WoolBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff.xml",
      DLC = "Core",
    },
    defName = "WoolSheep",
    label = "sheep wool",
    description = [[Sheep's wool. It provides good insulation.]],
    statBases = {
      StuffPower_Insulation_Cold = 26,
      StuffPower_Insulation_Heat = 10,
    },
  },

  ["ThingDef:LeatherBase"] = {
    _ = {
      Abstract = true,
      Name = "LeatherBase",
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    description = [[Tanned, dried, scraped skin. A good traditional material for making clothes and bags.]],
    statBases = {
      MaxHitPoints = 60,
      DeteriorationRate = 2,
      Mass = 0.03,
      Flammability = 1,
      MarketValue = 2.1,
      StuffPower_Armor_Sharp = 0.81,
      StuffPower_Armor_Blunt = 0.24,
      StuffPower_Armor_Heat = 1.5,
      StuffPower_Insulation_Cold = 16,
      StuffPower_Insulation_Heat = 16,
    },
    thingCategories = {
      "Leathers",
    },
    stuffProps = {
      categories = {
        "Leathery",
      },
      statFactors = {
        MaxHitPoints = 1.3,
      },
    },
  },

  ["ThingDef:Leather_Plain"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Plain",
    label = "plainleather",
  },

  ["ThingDef:Leather_Dog"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Dog",
    label = "dog leather",
    statBases = {
      MarketValue = 2.0,
      StuffPower_Insulation_Cold = 14,
    },
  },

  ["ThingDef:Leather_Wolf"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Wolf",
    label = "wolfskin",
    description = [[A soft furry pelt harvested from a wolf-like creature. It is difficult to pierce and insulates well against cold.]],
    statBases = {
      MarketValue = 3.0,
      StuffPower_Armor_Sharp = 1.02,
      StuffPower_Insulation_Cold = 24,
    },
    stuffProps = {
      statFactors = {
        Beauty = 1.7,
      },
    },
  },

  ["ThingDef:Leather_Panthera"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Panthera",
    label = "panthera fur",
    description = [[A soft furry pelt harvested from a big cat. It is difficult to pierce and insulates well against heat.]],
    statBases = {
      MarketValue = 3.0,
      StuffPower_Armor_Sharp = 0.93,
      StuffPower_Insulation_Heat = 24,
    },
    stuffProps = {
      statFactors = {
        Beauty = 1.7,
      },
    },
  },

  ["ThingDef:Leather_Camel"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Camel",
    label = "camelhide",
    description = [[Tanned, dried, scraped camel skin. Good at temperature regulation in hot climates.]],
    statBases = {
      MarketValue = 2.3,
      StuffPower_Insulation_Heat = 24,
    },
    stuffProps = {
      statFactors = {
        Beauty = 1.3,
      },
    },
  },

  ["ThingDef:Leather_Bluefur"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Bluefur",
    label = "bluefur",
    description = [[The furry pelt of muffalo. Recognizable by its distinctive blue tint. Good at temperature regulation in cold climates.]],
    statBases = {
      MarketValue = 2.3,
      StuffPower_Insulation_Cold = 20,
    },
    stuffProps = {
      statFactors = {
        Beauty = 1.3,
      },
    },
  },

  ["ThingDef:Leather_Bear"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Bear",
    label = "bearskin",
    description = [[The strong furry leather of a bear. Compared to most leather, it is quite a bit tougher and a bit better at all kinds of temperature regulation.]],
    statBases = {
      MarketValue = 3.4,
      StuffPower_Armor_Sharp = 1.12,
      StuffPower_Insulation_Cold = 20,
      StuffPower_Insulation_Heat = 20,
    },
    stuffProps = {
      statFactors = {
        Beauty = 1.9,
      },
    },
  },

  ["ThingDef:Leather_GuineaPig"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_GuineaPig",
    label = "guinea pig fur",
    description = [[Sheets of guinea pig fur. It is delicate, but luxurious.]],
    statBases = {
      MarketValue = 5,
      StuffPower_Armor_Sharp = 0.67,
      StuffPower_Armor_Blunt = 0.14,
      StuffPower_Insulation_Cold = 38,
      StuffPower_Insulation_Heat = 18,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 0.6,
        Beauty = 2.8,
      },
    },
  },

  ["ThingDef:Leather_Human"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Human",
    label = "human leather",
    description = [[Tanned, dried, scraped human skin. Most people find this material horrifying. Some find it fascinating. While a decent leather, it neither protects nor insulates particularly well.]],
    statBases = {
      MarketValue = 4.2,
      StuffPower_Armor_Sharp = 0.64,
      StuffPower_Insulation_Cold = 12,
      StuffPower_Insulation_Heat = 12,
    },
  },

  ["ThingDef:Leather_Pig"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Pig",
    label = "pigskin",
    description = [[Tanned, dried, scraped pig skin. While a decent leather, it neither protects nor insulates particularly well.]],
    statBases = {
      MarketValue = 1.9,
      StuffPower_Armor_Sharp = 0.64,
      StuffPower_Insulation_Cold = 12,
      StuffPower_Insulation_Heat = 12,
    },
  },

  ["ThingDef:Leather_Light"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Light",
    label = "lightleather",
    description = [[Lightweight, thin leather. Probably harvested from a small animal. Not as protective as thicker leathers.]],
    statBases = {
      MarketValue = 1.9,
      StuffPower_Armor_Sharp = 0.54,
      StuffPower_Armor_Blunt = 0.14,
      StuffPower_Insulation_Cold = 12,
      StuffPower_Insulation_Heat = 12,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.0,
      },
    },
  },

  ["ThingDef:Leather_Bird"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Bird",
    label = "birdskin",
    description = [[Tanned, dried, scraped bird skin. It is quite delicate. Without its feathers, it provides little protection from heat or cold.]],
    statBases = {
      MarketValue = 1.8,
      StuffPower_Armor_Sharp = 0.67,
      StuffPower_Armor_Blunt = 0.14,
      StuffPower_Insulation_Cold = 10,
      StuffPower_Insulation_Heat = 10,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.0,
      },
    },
  },

  ["ThingDef:Leather_Chinchilla"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Chinchilla",
    label = "chinchilla fur",
    description = [[Tanned, dried, scraped chinchilla skin. Known as an extremely luxurious and insulating fur, it is exceptionally valuable.]],
    statBases = {
      MarketValue = 6.5,
      StuffPower_Armor_Sharp = 0.67,
      StuffPower_Armor_Blunt = 0.14,
      StuffPower_Insulation_Cold = 30,
      StuffPower_Insulation_Heat = 16,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.0,
        Beauty = 3.6,
      },
    },
  },

  ["ThingDef:Leather_Fox"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Fox",
    label = "foxfur",
    description = [[The pelt of a fox. It protects well from the cold and is quite luxurious, fetching a high price.]],
    statBases = {
      MarketValue = 3.5,
      StuffPower_Armor_Sharp = 0.81,
      StuffPower_Armor_Blunt = 0.21,
      StuffPower_Insulation_Cold = 20,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.0,
        Beauty = 2.0,
      },
    },
  },

  ["ThingDef:Leather_Lizard"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Lizard",
    label = "lizardskin",
    description = [[The tanned skin of a cold-blooded reptile. Lizardskin is reasonably tough, but does not insulate well at all.]],
    statBases = {
      MarketValue = 2.1,
      StuffPower_Armor_Sharp = 0.81,
      StuffPower_Armor_Blunt = 0.27,
      StuffPower_Insulation_Cold = 12,
      StuffPower_Insulation_Heat = 12,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.0,
        Beauty = 1.2,
      },
    },
  },

  ["ThingDef:Leather_Elephant"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Elephant",
    label = "elephant leather",
    description = [[Tanned, dried, scraped elephant skin. While quite tough, it is a poor insulator.]],
    statBases = {
      MarketValue = 3.0,
      StuffPower_Armor_Sharp = 1.12,
      StuffPower_Insulation_Cold = 14,
      StuffPower_Insulation_Heat = 12,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.5,
        Beauty = 1.6,
      },
    },
  },

  ["ThingDef:Leather_Heavy"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Heavy",
    label = "heavy fur",
    description = [[Thick leather covered in a long, rugged mat of fur. Harvested from a large, hardy animal. This thick skin insulates and protects very well.]],
    statBases = {
      MarketValue = 3.3,
      StuffPower_Armor_Sharp = 1.24,
      StuffPower_Insulation_Cold = 30,
      StuffPower_Insulation_Heat = 14,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.5,
        Beauty = 1.85,
      },
    },
  },

  ["ThingDef:Leather_Rhinoceros"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Rhinoceros",
    label = "rhinoceros leather",
    description = [[Tanned, dried, scraped rhinocerous skin. It is exceptionally durable in combat, but provides little protection from weather.]],
    statBases = {
      MarketValue = 4.2,
      StuffPower_Armor_Sharp = 1.29,
      StuffPower_Insulation_Cold = 14,
      StuffPower_Insulation_Heat = 14,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.5,
        Beauty = 2.4,
      },
    },
  },

  ["ThingDef:Leather_Thrumbo"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Thrumbo",
    label = "thrumbofur",
    description = [[Furry pelt of a thrumbo. Luxurious and extraordinarily durable. Used for the highest-quality crafts for its insulation and strength.]],
    statBases = {
      MarketValue = 14.0,
      StuffPower_Armor_Sharp = 2.08,
      StuffPower_Armor_Blunt = 0.36,
      StuffPower_Insulation_Cold = 34,
      StuffPower_Insulation_Heat = 22,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 2.0,
        Beauty = 8,
      },
    },
  },

  ["ThingDef:Leather_Patch"] = {
    _ = {
      ParentName = "LeatherBase",
      DefCategory = "ThingDef",
      FileName = "Items_Resource_Stuff_Leather.xml",
      DLC = "Core",
    },
    defName = "Leather_Patch",
    label = "patchleather",
    description = [[A weak textile created by cutting up and sewing together various types of leathers. Regardless of what kind of leather is used to create it, patchleather's irregular seams make it less tough and less insulating than any intact leather.]],
    statBases = {
      MarketValue = 1.5,
      StuffPower_Armor_Sharp = 0.45,
      StuffPower_Armor_Blunt = 0.19,
      StuffPower_Armor_Heat = 0.9,
      StuffPower_Insulation_Cold = 9,
      StuffPower_Insulation_Heat = 9,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.0,
      },
    },
  },

  ["ThingDef:UnfinishedBase"] = {
    _ = {
      Name = "UnfinishedBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    thingClass = "UnfinishedThing",
    category = "Item",
    label = "unfinished thing",
    altitudeLayer = "Item",
    useHitPoints = true,
    tradeability = "None",
    statBases = {
      MaxHitPoints = 50,
      DeteriorationRate = 2.0,
      Beauty = -8,
      Mass = 1,
    },
    comps = {
      CompProperties_Forbiddable = {},
    },
    pathCost = 14,
    thingCategories = {
      "Unfinished",
    },
  },

  ["ThingDef:UnfinishedSculpture"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedSculpture",
    label = "unfinished sculpture",
    description = [[An unfinished sculpture.]],
  },

  ["ThingDef:UnfinishedGun"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedGun",
    label = "unfinished gun",
    description = [[An unfinished gun of some kind.]],
    statBases = {
      Flammability = 0.5,
    },
  },

  ["ThingDef:UnfinishedWeapon"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedWeapon",
    label = "unfinished weapon",
    description = [[An unfinished weapon.]],
  },

  ["ThingDef:UnfinishedArmor"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedArmor",
    label = "unfinished simple armor",
    description = [[An unfinished piece of simple armor.]],
  },

  ["ThingDef:UnfinishedTechArmor"] = {
    _ = {
      Name = "UnfinishedTechArmor",
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedTechArmor",
    label = "unfinished advanced armor",
    description = [[An unfinished piece of high-tech armor.]],
    statBases = {
      Flammability = 0.4,
    },
  },

  ["ThingDef:UnfinishedMetallicTechArmor"] = {
    _ = {
      ParentName = "UnfinishedTechArmor",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedMetallicTechArmor",
    label = "unfinished metal armor",
    description = [[An unfinished piece of metal armor.]],
  },

  ["ThingDef:UnfinishedApparel"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedApparel",
    label = "unfinished apparel",
    description = [[An unfinished piece of an apparel.]],
    comps = {
      {
        compClass = "CompColorable",
      },
    },
  },

  ["ThingDef:UnfinishedBelt"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedBelt",
    label = "unfinished belt",
    description = [[An unfinished piece of a belt.]],
    statBases = {
      Flammability = 0.5,
    },
  },

  ["ThingDef:UnfinishedPack"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedPack",
    label = "unfinished pack",
    description = [[An unfinished piece of a pack.]],
    statBases = {
      Flammability = 0.5,
    },
  },

  ["ThingDef:UnfinishedComponent"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedComponent",
    label = "unfinished component",
    description = [[An unfinished component.]],
    statBases = {
      Flammability = 0.5,
    },
  },

  ["ThingDef:UnfinishedHealthItemProsthetic"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedHealthItemProsthetic",
    label = "unfinished prosthetic",
    description = [[An unfinished prosthetic.]],
    statBases = {
      Flammability = 0.5,
    },
  },

  ["ThingDef:UnfinishedHealthItemBionic"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "UnfinishedHealthItemBionic",
    label = "unfinished bionic",
    description = [[An unfinished bionic.]],
    statBases = {
      Flammability = 0.5,
    },
  },

  ["ThingDef:MinifiedThing"] = {
    _ = {
      DefCategory = "ThingDef",
      FileName = "Items_Unfinished.xml",
      DLC = "Core",
    },
    defName = "MinifiedThing",
    label = "minified thing",
    thingClass = "MinifiedThing",
    category = "Item",
    useHitPoints = true,
    altitudeLayer = "Item",
    comps = {
      CompProperties_Forbiddable = {},
    },
    pathCost = 14,
  },

  ["ThingDef:Apparel_ShieldBelt"] = {
    _ = {
      ParentName = "ApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Belts.xml",
      DLC = "Core",
    },
    defName = "Apparel_ShieldBelt",
    label = "shield belt",
    description = [[A projectile-repulsion device. It will attempt to stop incoming projectiles or shrapnel, but does nothing against melee attacks or heat. It prevents the wearer from firing out, and shuts down instantly if hit by EMP.]],
    thingClass = "ShieldBelt",
    statBases = {
      Mass = 3,
      WorkToMake = 14000,
      Flammability = 0.4,
      EnergyShieldRechargeRate = 0.13,
      EnergyShieldEnergyMax = 1.1,
      EquipDelay = 2,
    },
    costList = {
      ComponentIndustrial = 2,
      Steel = 50,
      Plasteel = 20,
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedBelt",
      researchPrerequisite = "ShieldBelt",
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Machining",
      recipeUsers = {
        "TableMachining",
      },
      useIngredientsForColor = false,
      skillRequirements = {
        Crafting = 6,
      },
    },
    thingCategories = {
      "ApparelUtility",
    },
    apparel = {
      bodyPartGroups = {
        "Waist",
      },
      layers = {
        "Belt",
      },
      tags = {
        "BeltDefense",
      },
    },
  },

  ["ThingDef:HatBase"] = {
    _ = {
      Name = "HatBase",
      ParentName = "ApparelBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    thingCategories = {
      "Headgear",
    },
  },

  ["ThingDef:HatMakeableBase"] = {
    _ = {
      Name = "HatMakeableBase",
      ParentName = "ApparelMakeableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    thingCategories = {
      "Headgear",
    },
  },

  ["ThingDef:ArmorHelmetMakeableBase"] = {
    _ = {
      Name = "ArmorHelmetMakeableBase",
      ParentName = "ArmorMachineableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    thingCategories = {
      "ArmorHeadgear",
    },
  },

  ["ThingDef:NobleHatMakeableBase"] = {
    _ = {
      Name = "NobleHatMakeableBase",
      ParentName = "ApparelMakeableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    thingCategories = {
      "HeadgearNoble",
    },
  },

  ["ThingDef:Apparel_CowboyHat"] = {
    _ = {
      ParentName = "HatMakeableBase",
      Name = "CowboyHat",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_CowboyHat",
    label = "cowboy hat",
    description = [[Stylish yet rugged, this hat keeps the sun and rain off - and it gives anyone who wears it a bit of extra charm. It is the most important part of traditional western attire.]],
    recipeMaker = {
      researchPrerequisite = "ComplexClothing",
    },
    statBases = {
      MaxHitPoints = 80,
      WorkToMake = 1800,
      Mass = 0.14,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.10,
      StuffEffectMultiplierInsulation_Heat = 0.50,
      EquipDelay = 0.8,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "IndustrialBasic",
        "Western",
      },
      defaultOutfitTags = {
        "Worker",
      },
    },
  },

  ["ThingDef:Apparel_BowlerHat"] = {
    _ = {
      ParentName = "CowboyHat",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_BowlerHat",
    label = "bowler hat",
    description = [[A good-looking hat which projects a slightly urban, money-loving style. Improves social impact.]],
    statBases = {
      WorkToMake = 1800,
      Mass = 0.14,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.10,
      StuffEffectMultiplierInsulation_Heat = 0.40,
      EquipDelay = 0.8,
    },
  },

  ["ThingDef:Apparel_TribalHeaddress"] = {
    _ = {
      ParentName = "HatMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_TribalHeaddress",
    label = "tribal headdress",
    description = [[Elegant traditional garb, often with religious significance. Improves social impact.]],
    recipeMaker = {
      researchPrerequisite = {},
      recipeUsers = {
        "ElectricTailoringBench",
        "HandTailoringBench",
        "CraftingSpot",
      },
      skillRequirements = {
        Crafting = 4,
      },
      factionPrerequisiteTags = {
        "Tribal",
      },
    },
    statBases = {
      WorkToMake = 6000,
      Mass = 0.11,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.1,
      StuffEffectMultiplierInsulation_Heat = 0.15,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      defaultOutfitTags = {
        "Worker",
      },
    },
  },

  ["ThingDef:Apparel_Tuque"] = {
    _ = {
      ParentName = "HatMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_Tuque",
    label = "tuque",
    description = [[A soft, thick cap. Great for keeping warm in winter.]],
    statBases = {
      MaxHitPoints = 80,
      WorkToMake = 1200,
      Mass = 0.07,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.50,
      StuffEffectMultiplierInsulation_Heat = 0,
      EquipDelay = 0.8,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "IndustrialBasic",
      },
      defaultOutfitTags = {
        "Worker",
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_WarMask"] = {
    _ = {
      ParentName = "HatMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_WarMask",
    label = "war mask",
    description = [[An artistically terrifying war mask. It hides the wearer's face and makes them more confident.]],
    statBases = {
      WorkToMake = 3000,
      MaxHitPoints = 80,
      Mass = 1.4,
      StuffEffectMultiplierArmor = 0.3,
      StuffEffectMultiplierInsulation_Cold = 0.05,
      StuffEffectMultiplierInsulation_Heat = 0.05,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "FullHead",
      },
      layers = {
        "Overhead",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Sculpt",
      soundWorking = "Recipe_Sculpt",
      recipeUsers = {
        "CraftingSpot",
      },
      unfinishedThingDef = "UnfinishedSculpture",
      factionPrerequisiteTags = {
        "Tribal",
      },
    },
  },

  ["ThingDef:Apparel_WarVeil"] = {
    _ = {
      ParentName = "HatMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_WarVeil",
    label = "war veil",
    description = [[A war veil, made out of reinforced cloth torn to appear damaged in combat. Some believe this functions as a talisman of courage.]],
    statBases = {
      WorkToMake = 1400,
      MaxHitPoints = 80,
      Mass = 0.08,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.05,
      StuffEffectMultiplierInsulation_Heat = 0.05,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "FullHead",
      },
      layers = {
        "Overhead",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
    recipeMaker = {
      recipeUsers = {
        "CraftingSpot",
      },
      factionPrerequisiteTags = {
        "Tribal",
      },
    },
  },

  ["ThingDef:Apparel_SimpleHelmet"] = {
    _ = {
      ParentName = "ArmorHelmetMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_SimpleHelmet",
    label = "simple helmet",
    description = [[A simple helmet which gives moderate protection against sharp attacks. Not effective against blunt weapons.]],
    statBases = {
      WorkToMake = 3200,
      MaxHitPoints = 100,
      Mass = 2,
      StuffEffectMultiplierArmor = 0.5,
      StuffEffectMultiplierInsulation_Cold = 0.15,
      StuffEffectMultiplierInsulation_Heat = 0,
      EquipDelay = 1.5,
    },
    recipeMaker = {
      recipeUsers = {
        "ElectricSmithy",
        "FueledSmithy",
      },
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "IndustrialMilitaryBasic",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_AdvancedHelmet"] = {
    _ = {
      ParentName = "ArmorHelmetMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_AdvancedHelmet",
    label = "flak helmet",
    description = [[A lightweight combat helmet with a complex design, reinforced with plasteel. Not effective against blunt weapons.]],
    recipeMaker = {
      researchPrerequisite = "FlakArmor",
      unfinishedThingDef = "UnfinishedMetallicTechArmor",
      skillRequirements = {
        Crafting = 5,
      },
    },
    statBases = {
      WorkToMake = 8000,
      MaxHitPoints = 120,
      Mass = 1.2,
      StuffEffectMultiplierArmor = 0.7,
      StuffEffectMultiplierInsulation_Cold = 0.15,
      StuffEffectMultiplierInsulation_Heat = 0,
      EquipDelay = 1.5,
    },
    costList = {
      ComponentIndustrial = 2,
      Plasteel = 10,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "IndustrialMilitaryAdvanced",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:ApparelArmorHelmetPowerBase"] = {
    _ = {
      Name = "ApparelArmorHelmetPowerBase",
      ParentName = "ArmorHelmetMakeableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedTechArmor",
      researchPrerequisite = "PoweredArmor",
      skillRequirements = {
        Crafting = 7,
      },
      recipeUsers = {
        _ = {
          Inherit = false,
        },
        "FabricationBench",
      },
    },
    tradeTags = {
      "HiTechArmor",
    },
    statBases = {
      WorkToMake = 21000,
      MaxHitPoints = 150,
      Mass = 1.5,
      Flammability = 0.4,
      ArmorRating_Sharp = 1.06,
      ArmorRating_Blunt = 0.45,
      ArmorRating_Heat = 0.54,
      Insulation_Cold = 4,
      Insulation_Heat = 2,
      EquipDelay = 4,
    },
    costList = {
      ComponentSpacer = 1,
      Plasteel = 40,
    },
    apparel = {
      bodyPartGroups = {
        "FullHead",
      },
      layers = {
        "Overhead",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
    comps = {
      CompProperties_BiocodableApparel = {},
    },
  },

  ["ThingDef:Apparel_PowerArmorHelmet"] = {
    _ = {
      ParentName = "ApparelArmorHelmetPowerBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_PowerArmorHelmet",
    label = "marine helmet",
    description = [[A marine armor helmet, with a built-in status computer and layered plasteel-weave plates.\n\nArmor like this is often used by imperial janissaries and rapid-incursion space marines.]],
    apparel = {
      tags = {
        "SpacerMilitary",
      },
    },
  },

  ["ThingDef:ApparelArmorHelmetReconBase"] = {
    _ = {
      Name = "ApparelArmorHelmetReconBase",
      ParentName = "ArmorHelmetMakeableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedTechArmor",
      researchPrerequisite = "ReconArmor",
      skillRequirements = {
        Crafting = 6,
      },
      recipeUsers = {
        _ = {
          Inherit = false,
        },
        "FabricationBench",
      },
    },
    tradeTags = {
      "HiTechArmor",
    },
    statBases = {
      WorkToMake = 15750,
      MaxHitPoints = 120,
      Mass = 1,
      Flammability = 0.4,
      ArmorRating_Sharp = 0.92,
      ArmorRating_Blunt = 0.4,
      ArmorRating_Heat = 0.46,
      Insulation_Cold = 4,
      Insulation_Heat = 2,
      EquipDelay = 2,
    },
    costList = {
      ComponentSpacer = 1,
      Plasteel = 30,
    },
    apparel = {
      bodyPartGroups = {
        "FullHead",
      },
      layers = {
        "Overhead",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
    comps = {
      CompProperties_BiocodableApparel = {},
    },
  },

  ["ThingDef:Apparel_ArmorHelmetRecon"] = {
    _ = {
      ParentName = "ApparelArmorHelmetReconBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_ArmorHelmetRecon",
    label = "recon helmet",
    description = [[A high-tech armored helmet with a built-in status computer and a protective plasteel-weave plate.\n\nArmor like this is often used by imperial scout troops or glitterworld police forces.]],
    apparel = {
      tags = {
        "SpacerMilitary",
      },
    },
  },

  ["ThingDef:Apparel_PsychicFoilHelmet"] = {
    _ = {
      ParentName = "HatBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Headgear.xml",
      DLC = "Core",
    },
    defName = "Apparel_PsychicFoilHelmet",
    label = "psychic foil helmet",
    description = [[A thin helmet containing finely-tuned sheets of psychically-absorptive foil. Reduces the impact of psychic waves.]],
    statBases = {
      MaxHitPoints = 80,
      MarketValue = 250,
      Mass = 1.0,
      Flammability = 0.4,
      ArmorRating_Sharp = 0.09,
      ArmorRating_Blunt = 0.09,
      ArmorRating_Heat = 0.27,
      Insulation_Cold = 2,
      Insulation_Heat = 1,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "IndustrialMilitaryBasic",
        "IndustrialMilitaryAdvanced",
        "SpacerMilitary",
      },
    },
  },

  ["ThingDef:Apparel_SmokepopBelt"] = {
    _ = {
      ParentName = "ApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Packs.xml",
      DLC = "Core",
    },
    thingClass = "SmokepopBelt",
    defName = "Apparel_SmokepopBelt",
    label = "smokepop pack",
    description = [[A defensive smokescreen. When activated, it will release a cloud of smoke, obscuring incoming shots and preventing turrets from locking on.]],
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 3,
        ammoDef = "Chemfuel",
        ammoCountToRefill = 10,
        baseReloadTicks = 60,
        soundReload = "Standard_Reload",
        hotKey = "Misc4",
        chargeNoun = "smokepop",
        displayGizmoWhileUndrafted = false,
      },
    },
    verbs = {
      {
        label = "pop smoke",
        violent = false,
        targetable = false,
        nonInterruptingSelfCast = true,
        onlyManualCast = true,
      },
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedPack",
      researchPrerequisite = "SmokepopBelt",
      recipeUsers = {
        "TableMachining",
      },
      useIngredientsForColor = false,
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Smith",
      skillRequirements = {
        Crafting = 3,
      },
    },
    costList = {
      ComponentIndustrial = 1,
      Steel = 20,
      Chemfuel = 40,
    },
    statBases = {
      WorkToMake = 1200,
      Mass = 3,
      Flammability = 0.4,
      SmokepopBeltRadius = 4.9,
      EquipDelay = 2,
    },
    thingCategories = {
      "ApparelUtility",
    },
    apparel = {
      bodyPartGroups = {
        "Waist",
      },
      layers = {
        "Belt",
      },
      tags = {
        "BeltDefensePop",
      },
    },
  },

  ["ThingDef:Apparel_PsychicShockLance"] = {
    _ = {
      ParentName = "ApparelNoQualityBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Utility.xml",
      DLC = "Core",
    },
    defName = "Apparel_PsychicShockLance",
    label = "psychic shock lance",
    description = [[A limited-use psychic effector. It shocks the target's mind with chaotic images, blocking coherent perception and dropping him into a state of psychic shock. There is a risk of brain damage. It has a long range, but requires line of sight.]],
    tradeTags = {
      "Artifact",
    },
    statBases = {
      Mass = 0.5,
      EquipDelay = 2,
      MarketValue = 550,
      MaxHitPoints = 80,
    },
    thingCategories = {
      "ApparelUtility",
    },
    apparel = {
      bodyPartGroups = {
        "Waist",
      },
      layers = {
        "Belt",
      },
    },
    smeltable = false,
    verbs = {
      {
        label = "psychic shock lance",
        targetable = true,
        onlyManualCast = true,
        range = 34.9,
        warmupTime = 0.5,
        targetParams = {
          canTargetBuildings = false,
          onlyTargetPsychicSensitive = true,
          neverTargetIncapacitated = true,
        },
      },
    },
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 2,
        destroyOnEmpty = true,
        hotKey = "Misc4",
        chargeNoun = "charge",
        displayGizmoWhileUndrafted = false,
      },
      {
        compClass = "CompTargetEffect_PsychicShock",
      },
      CompProperties_TargetEffect_BrainDamageChance = {
        brainDamageChance = 0.3,
      },
      CompProperties_TargetEffect_GoodwillImpact = {
        goodwillImpact = -200,
      },
      CompProperties_TargetEffect_MoteOnTarget = {
        moteDef = "Mote_PsycastPsychicEffect",
      },
      CompProperties_TargetEffect_MoteConnecting = {
        moteDef = "Mote_PsycastPsychicLine",
      },
    },
  },

  ["ThingDef:Apparel_PsychicInsanityLance"] = {
    _ = {
      ParentName = "ApparelNoQualityBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Utility.xml",
      DLC = "Core",
    },
    defName = "Apparel_PsychicInsanityLance",
    label = "psychic insanity lance",
    description = [[A limited-use psychic effector. It overwhelms the target's mind with terrifying perceptual distortions, driving him into a berserk state. There is a risk of brain damage. It has a long range, but requires line of sight.]],
    tradeTags = {
      "Artifact",
    },
    statBases = {
      Mass = 0.5,
      EquipDelay = 2,
      MarketValue = 650,
      MaxHitPoints = 80,
    },
    thingCategories = {
      "ApparelUtility",
    },
    apparel = {
      bodyPartGroups = {
        "Waist",
      },
      layers = {
        "Belt",
      },
    },
    smeltable = false,
    verbs = {
      {
        label = "psychic insanity lance",
        targetable = true,
        onlyManualCast = true,
        range = 34.9,
        warmupTime = 0.5,
        targetParams = {
          canTargetBuildings = false,
          onlyTargetPsychicSensitive = true,
          neverTargetIncapacitated = true,
        },
      },
    },
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 2,
        destroyOnEmpty = true,
        hotKey = "Misc4",
        chargeNoun = "charge",
        displayGizmoWhileUndrafted = false,
      },
      {
        compClass = "CompTargetEffect_Berserk",
      },
      CompProperties_TargetEffect_BrainDamageChance = {
        brainDamageChance = 0.3,
      },
      CompProperties_TargetEffect_GoodwillImpact = {
        goodwillImpact = -200,
      },
      CompProperties_TargetEffect_MoteOnTarget = {
        moteDef = "Mote_PsycastPsychicEffect",
      },
      CompProperties_TargetEffect_MoteConnecting = {
        moteDef = "Mote_PsycastPsychicLine",
      },
    },
  },

  ["ThingDef:ApparelNoQualityBase"] = {
    _ = {
      Name = "ApparelNoQualityBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    thingClass = "Apparel",
    category = "Item",
    pathCost = 14,
    useHitPoints = true,
    statBases = {
      MaxHitPoints = 100,
      Flammability = 1.0,
      DeteriorationRate = 2,
      Beauty = -3,
    },
    altitudeLayer = "Item",
    smeltable = true,
    comps = {
      CompProperties_Forbiddable = {},
      {
        compClass = "CompColorable",
      },
    },
  },

  ["ThingDef:ApparelBase"] = {
    _ = {
      Name = "ApparelBase",
      ParentName = "ApparelNoQualityBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
    },
  },

  ["ThingDef:ApparelMakeableBase"] = {
    _ = {
      Name = "ApparelMakeableBase",
      ParentName = "ApparelBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Tailor",
      soundWorking = "Recipe_Tailor",
      recipeUsers = {
        "ElectricTailoringBench",
        "HandTailoringBench",
      },
      unfinishedThingDef = "UnfinishedApparel",
      defaultIngredientFilter = {
        categories = {
          "Root",
        },
        disallowedThingDefs = {
          "Gold",
          "Silver",
          "Plasteel",
          "Jade",
          "Uranium",
        },
      },
    },
  },

  ["ThingDef:ArmorSmithableBase"] = {
    _ = {
      Name = "ArmorSmithableBase",
      ParentName = "ApparelBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    smeltable = true,
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Smith",
      recipeUsers = {
        "ElectricSmithy",
        "FueledSmithy",
      },
      defaultIngredientFilter = {
        categories = {
          "Root",
        },
        disallowedThingDefs = {
          "Gold",
          "Silver",
          "Plasteel",
          "Jade",
          "Uranium",
        },
      },
    },
  },

  ["ThingDef:ArmorMachineableBase"] = {
    _ = {
      Name = "ArmorMachineableBase",
      ParentName = "ApparelBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Machining",
      recipeUsers = {
        "TableMachining",
      },
      unfinishedThingDef = "UnfinishedArmor",
      defaultIngredientFilter = {
        categories = {
          "Root",
        },
        disallowedThingDefs = {
          "Gold",
          "Silver",
          "Plasteel",
          "Jade",
          "Uranium",
        },
      },
    },
  },

  ["ThingDef:Apparel_TribalA"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_TribalA",
    label = "tribalwear",
    description = [[A full-body garment crafted using neolithic tools. While it may look primitive, it is effective at insulating the wearer.]],
    tradeability = "Sellable",
    statBases = {
      MaxHitPoints = 100,
      WorkToMake = 1800,
      Mass = 0.5,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.55,
      StuffEffectMultiplierInsulation_Heat = 0.55,
      EquipDelay = 1.5,
    },
    thingCategories = {
      "Apparel",
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Legs",
      },
      layers = {
        "OnSkin",
      },
      tags = {
        "Neolithic",
      },
    },
    recipeMaker = {
      recipeUsers = {
        "ElectricTailoringBench",
        "HandTailoringBench",
        "CraftingSpot",
      },
    },
  },

  ["ThingDef:Apparel_Parka"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_Parka",
    label = "parka",
    description = [[A parka for staying warm in even the coldest of temperatures.]],
    thingCategories = {
      "Apparel",
    },
    statBases = {
      MaxHitPoints = 180,
      WorkToMake = 8000,
      Mass = 2,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 2.00,
      StuffEffectMultiplierInsulation_Heat = 0.00,
      EquipDelay = 3,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
      },
      layers = {
        "Shell",
      },
      tags = {
        "IndustrialBasic",
        "Neolithic",
      },
      defaultOutfitTags = {
        "Worker",
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_Pants"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_Pants",
    label = "pants",
    description = [[A simple set of pants.]],
    recipeMaker = {
      researchPrerequisite = "ComplexClothing",
    },
    thingCategories = {
      "Apparel",
    },
    statBases = {
      MaxHitPoints = 100,
      WorkToMake = 1600,
      Mass = 0.5,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.20,
      StuffEffectMultiplierInsulation_Heat = 0.08,
      EquipDelay = 2,
    },
    apparel = {
      bodyPartGroups = {
        "Legs",
      },
      layers = {
        "OnSkin",
      },
      tags = {
        "IndustrialBasic",
      },
      defaultOutfitTags = {
        "Worker",
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_BasicShirt"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_BasicShirt",
    label = "T-shirt",
    description = [[A simple T-shirt.]],
    thingCategories = {
      "Apparel",
    },
    statBases = {
      MaxHitPoints = 100,
      WorkToMake = 1600,
      Mass = 0.25,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.22,
      StuffEffectMultiplierInsulation_Heat = 0.10,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Shoulders",
      },
      layers = {
        "OnSkin",
      },
      tags = {
        "IndustrialBasic",
      },
      defaultOutfitTags = {
        "Worker",
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_CollarShirt"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_CollarShirt",
    description = [[A nice-looking collared shirt with buttons.]],
    label = "button-down shirt",
    recipeMaker = {
      researchPrerequisite = "ComplexClothing",
    },
    thingCategories = {
      "Apparel",
    },
    statBases = {
      MaxHitPoints = 100,
      WorkToMake = 2700,
      Mass = 0.3,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.26,
      StuffEffectMultiplierInsulation_Heat = 0.10,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
      },
      layers = {
        "OnSkin",
      },
      tags = {
        "IndustrialBasic",
      },
      defaultOutfitTags = {
        "Worker",
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_Duster"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_Duster",
    description = [[A long duster coat for blocking the sun and grit of the outdoors.]],
    label = "duster",
    recipeMaker = {
      researchPrerequisite = "ComplexClothing",
    },
    thingCategories = {
      "Apparel",
    },
    statBases = {
      MaxHitPoints = 200,
      WorkToMake = 10000,
      Mass = 2,
      StuffEffectMultiplierArmor = 0.3,
      StuffEffectMultiplierInsulation_Cold = 0.60,
      StuffEffectMultiplierInsulation_Heat = 0.85,
      EquipDelay = 3,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
        "Legs",
      },
      layers = {
        "Shell",
      },
      tags = {
        "IndustrialAdvanced",
      },
      defaultOutfitTags = {
        "Worker",
      },
    },
  },

  ["ThingDef:Apparel_Jacket"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_Jacket",
    label = "jacket",
    description = [[A tough jacket to stop scrapes and bruises, and to keep one warm in chilly weather.]],
    thingCategories = {
      "Apparel",
    },
    statBases = {
      MaxHitPoints = 160,
      WorkToMake = 7000,
      Mass = 1.7,
      StuffEffectMultiplierArmor = 0.3,
      StuffEffectMultiplierInsulation_Cold = 0.80,
      StuffEffectMultiplierInsulation_Heat = 0.30,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
      },
      layers = {
        "Shell",
      },
      tags = {
        "IndustrialAdvanced",
      },
      defaultOutfitTags = {
        "Worker",
      },
    },
  },

  ["ThingDef:Apparel_PlateArmor"] = {
    _ = {
      ParentName = "ArmorSmithableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_PlateArmor",
    label = "plate armor",
    description = [[Overlapping solid plates of armor covering the entire body from neck to feet.]],
    recipeMaker = {
      unfinishedThingDef = "UnfinishedMetallicTechArmor",
      researchPrerequisite = "PlateArmor",
      skillRequirements = {
        Crafting = 7,
      },
    },
    statBases = {
      WorkToMake = 38000,
      MaxHitPoints = 290,
      Mass = 15,
      StuffEffectMultiplierArmor = 0.73,
      StuffEffectMultiplierInsulation_Cold = 1.0,
      StuffEffectMultiplierInsulation_Heat = 0,
      EquipDelay = 15,
    },
    thingCategories = {
      "ApparelArmor",
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
        "Legs",
      },
      layers = {
        "Middle",
        "Shell",
      },
      tags = {
        "MedievalMilitary",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_FlakVest"] = {
    _ = {
      ParentName = "ArmorMachineableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_FlakVest",
    label = "flak vest",
    description = [[A vest with armor plates inserted on the chest and back. While quite effective at deflecting gunshots and stabbing attacks against the chest, it does nothing to protect the limbs.]],
    recipeMaker = {
      researchPrerequisite = "FlakArmor",
      unfinishedThingDef = "UnfinishedTechArmor",
      skillRequirements = {
        Crafting = 4,
      },
    },
    statBases = {
      WorkToMake = 9000,
      MaxHitPoints = 200,
      Mass = 4,
      Flammability = 0.6,
      ArmorRating_Sharp = 1.00,
      ArmorRating_Blunt = 0.36,
      ArmorRating_Heat = 0.27,
      Insulation_Cold = 1,
      EquipDelay = 5,
    },
    thingCategories = {
      "ApparelArmor",
    },
    costList = {
      Cloth = 30,
      Steel = 60,
      ComponentIndustrial = 1,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
      },
      layers = {
        "Middle",
      },
      tags = {
        "IndustrialMilitaryBasic",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_FlakPants"] = {
    _ = {
      ParentName = "ArmorMachineableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_FlakPants",
    label = "flak pants",
    description = [[A pair of pants with armor plates sewn in. While it's not as good as solid armor, it offers effective protection against all manner of attacks while remaining quite comfortable.]],
    recipeMaker = {
      researchPrerequisite = "FlakArmor",
      unfinishedThingDef = "UnfinishedTechArmor",
      skillRequirements = {
        Crafting = 4,
      },
    },
    statBases = {
      WorkToMake = 9000,
      MaxHitPoints = 200,
      Mass = 4,
      Flammability = 0.6,
      ArmorRating_Sharp = 0.40,
      ArmorRating_Blunt = 0.08,
      ArmorRating_Heat = 0.10,
      Insulation_Cold = 3.5,
      Insulation_Heat = 1,
      EquipDelay = 5,
    },
    thingCategories = {
      "ApparelArmor",
    },
    costList = {
      Cloth = 30,
      Steel = 60,
      ComponentIndustrial = 1,
    },
    apparel = {
      bodyPartGroups = {
        "Legs",
      },
      layers = {
        "OnSkin",
        "Middle",
      },
      tags = {
        "IndustrialMilitaryBasic",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_FlakJacket"] = {
    _ = {
      ParentName = "ArmorMachineableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_FlakJacket",
    label = "flak jacket",
    description = [[A tough fabric jacket with armor plates sewn in. While it's not as good as solid armor, it offers effective protection against all manner of attacks while remaining quite comfortable.]],
    recipeMaker = {
      researchPrerequisite = "FlakArmor",
      unfinishedThingDef = "UnfinishedTechArmor",
      skillRequirements = {
        Crafting = 4,
      },
    },
    costList = {
      Cloth = 50,
      Steel = 70,
      ComponentIndustrial = 1,
    },
    thingCategories = {
      "ApparelArmor",
    },
    statBases = {
      MaxHitPoints = 200,
      WorkToMake = 14000,
      Mass = 7,
      Flammability = 0.6,
      ArmorRating_Sharp = 0.40,
      ArmorRating_Blunt = 0.08,
      ArmorRating_Heat = 0.10,
      Insulation_Cold = 14.4,
      Insulation_Heat = 3,
      EquipDelay = 3,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
      },
      layers = {
        "Shell",
      },
      tags = {
        "IndustrialAdvanced",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:ApparelArmorPowerBase"] = {
    _ = {
      Name = "ApparelArmorPowerBase",
      ParentName = "ArmorMachineableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedTechArmor",
      researchPrerequisite = "PoweredArmor",
      skillRequirements = {
        Crafting = 7,
      },
      recipeUsers = {
        _ = {
          Inherit = false,
        },
        "FabricationBench",
      },
    },
    statBases = {
      WorkToMake = 60000,
      MaxHitPoints = 340,
      Mass = 12,
      Flammability = 0.4,
      ArmorRating_Sharp = 1.06,
      ArmorRating_Blunt = 0.45,
      ArmorRating_Heat = 0.54,
      Insulation_Cold = 34,
      Insulation_Heat = 10,
      EquipDelay = 14,
    },
    thingCategories = {
      "ApparelArmor",
    },
    tradeTags = {
      "HiTechArmor",
    },
    costList = {
      ComponentSpacer = 4,
      Plasteel = 100,
      Uranium = 20,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
        "Legs",
      },
      layers = {
        "Middle",
        "Shell",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
    comps = {
      CompProperties_BiocodableApparel = {},
    },
  },

  ["ThingDef:Apparel_PowerArmor"] = {
    _ = {
      ParentName = "ApparelArmorPowerBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_PowerArmor",
    label = "marine armor",
    description = [[A suit of powered armor. Layered plasteel-weave plates are very effective at stopping attacks, with few vulnerable joint sections. Neuro-memetic assistors allow a human to wear the armor and still move easily.\n\nArmor like this is often used by imperial janissaries and rapid-incursion space marines.]],
    apparel = {
      tags = {
        "SpacerMilitary",
      },
    },
  },

  ["ThingDef:ApparelArmorReconBase"] = {
    _ = {
      Name = "ApparelArmorReconBase",
      ParentName = "ArmorMachineableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedTechArmor",
      researchPrerequisite = "ReconArmor",
      skillRequirements = {
        Crafting = 6,
      },
      recipeUsers = {
        _ = {
          Inherit = false,
        },
        "FabricationBench",
      },
    },
    tradeTags = {
      "HiTechArmor",
    },
    statBases = {
      WorkToMake = 45000,
      MaxHitPoints = 280,
      Mass = 9,
      Flammability = 0.4,
      ArmorRating_Sharp = 0.92,
      ArmorRating_Blunt = 0.4,
      ArmorRating_Heat = 0.46,
      Insulation_Cold = 32,
      Insulation_Heat = 9,
      EquipDelay = 11,
    },
    thingCategories = {
      "ApparelArmor",
    },
    costList = {
      ComponentSpacer = 3,
      Plasteel = 80,
      Uranium = 10,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
        "Legs",
      },
      layers = {
        "Middle",
        "Shell",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
    comps = {
      CompProperties_BiocodableApparel = {},
    },
  },

  ["ThingDef:Apparel_ArmorRecon"] = {
    _ = {
      ParentName = "ApparelArmorReconBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Core",
    },
    defName = "Apparel_ArmorRecon",
    label = "recon armor",
    description = [[A suit of light partially-powered armor, designed to permit quick movement. Lightweight plasteel-weave plates block attacks without compromising mobility, and neuro-memetic assistors in the lower body allow a human to wear the armor and still move easily.\n\nArmor like this is often used by imperial scout troops and glitterworld police forces.]],
    apparel = {
      tags = {
        "SpacerMilitary",
      },
    },
  },

  ["ThingDef:OrbitalStrikeBase"] = {
    _ = {
      Abstract = true,
      Name = "OrbitalStrikeBase",
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_OrbitalStrikes.xml",
      DLC = "Core",
    },
    thingClass = "OrbitalStrike",
  },

  ["ThingDef:Bombardment"] = {
    _ = {
      ParentName = "OrbitalStrikeBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_OrbitalStrikes.xml",
      DLC = "Core",
    },
    defName = "Bombardment",
    label = "bombardment",
    thingClass = "Bombardment",
    comps = {
      CompProperties_OrbitalBeam = {
        width = 0.2,
        color = "(255, 20, 20, 242)",
      },
    },
  },

  ["ThingDef:Mote_Bombardment_PreImpact"] = {
    _ = {
      ParentName = "MoteBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_OrbitalStrikes.xml",
      DLC = "Core",
    },
    defName = "Mote_Bombardment_PreImpact",
    altitudeLayer = "MoteOverhead",
  },

  ["ThingDef:PowerBeam"] = {
    _ = {
      ParentName = "OrbitalStrikeBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_OrbitalStrikes.xml",
      DLC = "Core",
    },
    defName = "PowerBeam",
    label = "power beam",
    thingClass = "PowerBeam",
    comps = {
      CompProperties_OrbitalBeam = {
        width = 8,
        color = "(255, 245, 214, 242)",
        sound = "OrbitalBeam",
      },
      CompProperties_CameraShaker = {
        mag = 0.03,
      },
      CompProperties_AffectsSky = {
        skyColors = {
          sky = "(255, 230, 200)",
          shadow = "(225, 220, 185)",
          overlay = "(255, 255, 255)",
          saturation = 1.3,
        },
      },
    },
  },

  ["ThingDef:SignalAction_Letter"] = {
    _ = {
      ParentName = "SignalActionBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_SignalActions.xml",
      DLC = "Core",
    },
    defName = "SignalAction_Letter",
    label = "signal action - letter",
    thingClass = "SignalAction_Letter",
  },

  ["ThingDef:SignalAction_Ambush"] = {
    _ = {
      ParentName = "SignalActionBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_SignalActions.xml",
      DLC = "Core",
    },
    defName = "SignalAction_Ambush",
    label = "signal action - ambush",
    thingClass = "SignalAction_Ambush",
  },

  ["ThingDef:SkyfallerBase"] = {
    _ = {
      Name = "SkyfallerBase",
      ParentName = "EtherealThingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Core",
    },
    thingClass = "Skyfaller",
    useHitPoints = false,
    altitudeLayer = "Skyfaller",
  },

  ["ThingDef:DropPodIncoming"] = {
    _ = {
      ParentName = "SkyfallerBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Core",
    },
    defName = "DropPodIncoming",
    label = "drop pod (incoming)",
    thingClass = "DropPodIncoming",
  },

  ["ThingDef:DropPodLeaving"] = {
    _ = {
      ParentName = "SkyfallerBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Core",
    },
    defName = "DropPodLeaving",
    label = "drop pod (leaving)",
    thingClass = "DropPodLeaving",
  },

  ["ThingDef:ShipChunkIncoming"] = {
    _ = {
      ParentName = "SkyfallerBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Core",
    },
    defName = "ShipChunkIncoming",
    label = "ship chunk (incoming)",
    size = {2, 2},
  },

  ["ThingDef:CrashedShipPartIncoming"] = {
    _ = {
      ParentName = "SkyfallerBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Core",
    },
    defName = "CrashedShipPartIncoming",
    label = "crashed ship part (incoming)",
    size = {6, 3},
  },

  ["ThingDef:MeteoriteIncoming"] = {
    _ = {
      ParentName = "SkyfallerBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Core",
    },
    defName = "MeteoriteIncoming",
    label = "meteorite (incoming)",
    size = {2, 2},
  },

  ["ThingDef:EtherealThingBase"] = {
    _ = {
      Abstract = true,
      Name = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Core",
    },
    category = "Ethereal",
    useHitPoints = false,
  },

  ["ThingDef:RectTrigger"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Core",
    },
    defName = "RectTrigger",
    label = "rect trigger",
    thingClass = "RectTrigger",
  },

  ["ThingDef:TriggerUnfogged"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Core",
    },
    defName = "TriggerUnfogged",
    label = "trigger unfogged",
    thingClass = "TriggerUnfogged",
  },

  ["ThingDef:Explosion"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Core",
    },
    defName = "Explosion",
    label = "explosion",
    thingClass = "Explosion",
  },

  ["ThingDef:Blight"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Core",
    },
    defName = "Blight",
    label = "blight",
    thingClass = "Blight",
  },

  ["ThingDef:Tornado"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Core",
    },
    defName = "Tornado",
    label = "tornado",
    thingClass = "Tornado",
    comps = {
      CompProperties_WindSource = {},
    },
  },

  ["ThingDef:TunnelHiveSpawner"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Core",
    },
    defName = "TunnelHiveSpawner",
    label = "tunnel",
    thingClass = "TunnelHiveSpawner",
  },

  ["ThingDef:PawnFlyerBase"] = {
    _ = {
      Name = "PawnFlyerBase",
      Abstract = true,
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Core",
    },
    label = "flying",
    thingClass = "PawnFlyer",
    useHitPoints = false,
    altitudeLayer = "Skyfaller",
  },

  ["ThingDef:BaseFilth"] = {
    _ = {
      Name = "BaseFilth",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    thingClass = "Filth",
    category = "Filth",
    altitudeLayer = "Filth",
    useHitPoints = false,
    statBases = {
      Beauty = -15,
      Cleanliness = -5,
    },
  },

  ["ThingDef:Filth_Dirt"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_Dirt",
    label = "dirt",
  },

  ["ThingDef:Filth_AnimalFilth"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_AnimalFilth",
    label = "animal filth",
  },

  ["ThingDef:Filth_Trash"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_Trash",
    label = "trash",
  },

  ["ThingDef:Filth_Sand"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_Sand",
    label = "sand",
  },

  ["ThingDef:Filth_RubbleRock"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_RubbleRock",
    label = "rock rubble",
  },

  ["ThingDef:Filth_RubbleBuilding"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_RubbleBuilding",
    label = "building rubble",
  },

  ["ThingDef:SlagRubble"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "SlagRubble",
    label = "scattered slag",
  },

  ["ThingDef:SandbagRubble"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "SandbagRubble",
    label = "scattered sandbags",
  },

  ["ThingDef:Filth_Blood"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_Blood",
    label = "blood",
    statBases = {
      Beauty = -30,
      Cleanliness = -10,
    },
  },

  ["ThingDef:Filth_BloodInsect"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_BloodInsect",
    label = "bugblood",
    statBases = {
      Beauty = -40,
      Cleanliness = -15,
    },
  },

  ["ThingDef:Filth_MachineBits"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_MachineBits",
    label = "machine bits",
    statBases = {
      Beauty = -10,
      Cleanliness = -5,
    },
  },

  ["ThingDef:Filth_AmnioticFluid"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_AmnioticFluid",
    label = "amniotic fluid",
    statBases = {
      Beauty = -30,
      Cleanliness = -5,
    },
  },

  ["ThingDef:Filth_Slime"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_Slime",
    label = "slime",
    statBases = {
      Beauty = -25,
      Cleanliness = -5,
    },
  },

  ["ThingDef:Filth_Vomit"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_Vomit",
    label = "vomit",
    statBases = {
      Beauty = -40,
      Cleanliness = -15,
    },
  },

  ["ThingDef:Filth_FireFoam"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_FireFoam",
    label = "firefoam",
    statBases = {
      Beauty = -25,
      Cleanliness = -5,
    },
  },

  ["ThingDef:Filth_Fuel"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_Fuel",
    label = "chemfuel puddle",
    description = [[A puddle of flammable chemfuel.]],
    thingClass = "LiquidFuel",
    useHitPoints = true,
    statBases = {
      Beauty = -10,
      Cleanliness = -15,
      MaxHitPoints = 150,
      Flammability = 2.0,
    },
  },

  ["ThingDef:Filth_CorpseBile"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_CorpseBile",
    label = "corpse bile",
    statBases = {
      Beauty = -50,
      Cleanliness = -20,
    },
  },

  ["ThingDef:Filth_Ash"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_Ash",
    label = "ash",
    statBases = {
      Beauty = -12,
      Cleanliness = -15,
    },
  },

  ["ThingDef:Filth_Water"] = {
    _ = {
      ParentName = "BaseFilth",
      DefCategory = "ThingDef",
      FileName = "Filth_Various.xml",
      DLC = "Core",
    },
    defName = "Filth_Water",
    label = "water puddle",
    statBases = {
      Beauty = -10,
      Cleanliness = -5,
    },
  },

  ["ThingDef:BaseGas"] = {
    _ = {
      Name = "BaseGas",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Gas_Various.xml",
      DLC = "Core",
    },
    thingClass = "Gas",
    label = "gas",
    category = "Gas",
    altitudeLayer = "Gas",
    useHitPoints = false,
  },

  ["ThingDef:Gas_Smoke"] = {
    _ = {
      ParentName = "BaseGas",
      DefCategory = "ThingDef",
      FileName = "Gas_Various.xml",
      DLC = "Core",
    },
    defName = "Gas_Smoke",
    label = "smoke",
  },

  ["ThingDef:ActiveDropPod"] = {
    _ = {
      DefCategory = "ThingDef",
      FileName = "Things_Special.xml",
      DLC = "Core",
    },
    defName = "ActiveDropPod",
    label = "drop pod",
    category = "Item",
    thingClass = "ActiveDropPod",
    altitudeLayer = "Building",
    useHitPoints = true,
    statBases = {
      MaxHitPoints = 500,
      Flammability = 0,
    },
  },

  ["ThingDef:Fire"] = {
    _ = {
      DefCategory = "ThingDef",
      FileName = "Things_Special.xml",
      DLC = "Core",
    },
    defName = "Fire",
    label = "fire",
    thingClass = "Fire",
    category = "Attachment",
    altitudeLayer = "PawnState",
    useHitPoints = false,
  },

  ["ThingDef:Spark"] = {
    _ = {
      DefCategory = "ThingDef",
      FileName = "Things_Special.xml",
      DLC = "Core",
    },
    defName = "Spark",
    label = "spark",
    category = "Projectile",
    thingClass = "Spark",
    altitudeLayer = "Projectile",
    useHitPoints = false,
  },

  ["ThingDef:ChunkBase"] = {
    _ = {
      Name = "ChunkBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    category = "Item",
    thingClass = "Thing",
    altitudeLayer = "Item",
    passability = "PassThroughOnly",
    fillPercent = 0.50,
    statBases = {
      MaxHitPoints = 300,
      Flammability = 0,
      Beauty = -8,
      Cleanliness = -2,
    },
    pathCost = 42,
    pathCostIgnoreRepeat = true,
    stackLimit = 1,
    tradeability = "None",
  },

  ["ThingDef:ChunkRockBase"] = {
    _ = {
      ParentName = "ChunkBase",
      Name = "ChunkRockBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    description = [[A chunk of rock. Can be cut into usable stone blocks.]],
    thingCategories = {
      "StoneChunks",
    },
  },

  ["ThingDef:StoneBlocksBase"] = {
    _ = {
      ParentName = "ResourceBase",
      Name = "StoneBlocksBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    description = [[Blocks of stone. Mostly useful for building long-lasting, simple structures.]],
    useHitPoints = false,
    tradeability = "Buyable",
    statBases = {
      MaxHitPoints = 200,
      MarketValue = 0.9,
      SharpDamageMultiplier = 0.6,
      BluntDamageMultiplier = 1.0,
      Beauty = -12,
      ConstructionSpeedFactor = 0.8,
    },
    thingCategories = {
      "StoneBlocks",
    },
    stuffProps = {
      categories = {
        "Stony",
      },
      statOffsets = {
        WorkToBuild = 140,
      },
      statFactors = {
        MarketValue = 0.4,
        MaxHitPoints = 1.8,
        Flammability = 0,
        WorkToBuild = 6.0,
        WorkToMake = 1.3,
        DoorOpenSpeed = 0.45,
        BedRestEffectiveness = 0.9,
        MeleeWeapon_CooldownMultiplier = 1.30,
      },
    },
    terrainAffordanceNeeded = "Heavy",
  },

  ["ThingDef:UglyRockBase"] = {
    _ = {
      Name = "UglyRockBase",
      ParentName = "RockBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    statBases = {
      Flammability = 0,
      Beauty = -2,
    },
  },

  ["ThingDef:ChunkSlagSteel"] = {
    _ = {
      ParentName = "ChunkBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "ChunkSlagSteel",
    label = "steel slag chunk",
    description = [[A chunk of steel slag. While it's useless in its current form, it can be smelted to recover steel.]],
    statBases = {
      Mass = 5,
    },
    thingCategories = {
      "Chunks",
    },
    smeltProducts = {
      Steel = 15,
    },
  },

  ["ThingDef:Sandstone"] = {
    _ = {
      ParentName = "UglyRockBase",
      Name = "SandstoneBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "Sandstone",
    label = "sandstone",
    description = [[A sedimentary rock composed of sand particles compressed together.]],
    statBases = {
      MaxHitPoints = 400,
    },
    building = {
      mineableThing = "ChunkSandstone",
    },
  },

  ["ThingDef:SmoothedSandstone"] = {
    _ = {
      ParentName = "SandstoneBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "SmoothedSandstone",
    label = "smoothed sandstone",
    description = [[A sedimentary rock composed of sand particles compressed together. The sand layers have been polished to a flat, smooth surface.]],
    statBases = {
      Beauty = 1,
      MarketValue = 18,
    },
    building = {
      isNaturalRock = false,
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:ChunkSandstone"] = {
    _ = {
      ParentName = "ChunkRockBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "ChunkSandstone",
    label = "sandstone chunk",
    statBases = {
      Mass = 20,
    },
  },

  ["ThingDef:BlocksSandstone"] = {
    _ = {
      ParentName = "StoneBlocksBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "BlocksSandstone",
    label = "sandstone blocks",
    description = [[Blocks of solid sandstone. Sandstone is a relatively soft rock and chips easily.]],
    statBases = {
      Mass = 1,
      SharpDamageMultiplier = 0.5,
    },
    stuffProps = {
      statFactors = {
        Beauty = 1.1,
        MaxHitPoints = 1.4,
        WorkToBuild = 5.0,
        WorkToMake = 1.1,
      },
    },
  },

  ["ThingDef:Granite"] = {
    _ = {
      ParentName = "UglyRockBase",
      Name = "GraniteBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "Granite",
    label = "granite",
    description = [[A very hard igneous rock.]],
    statBases = {
      MaxHitPoints = 900,
    },
    building = {
      mineableThing = "ChunkGranite",
    },
  },

  ["ThingDef:SmoothedGranite"] = {
    _ = {
      ParentName = "GraniteBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "SmoothedGranite",
    label = "smoothed granite",
    description = [[A very hard igneous rock. The shining surface is filled with a mosaic of black, white, and pink speckles.]],
    statBases = {
      Beauty = 1,
      MarketValue = 20,
    },
    building = {
      isNaturalRock = false,
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:ChunkGranite"] = {
    _ = {
      ParentName = "ChunkRockBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "ChunkGranite",
    label = "granite chunk",
    statBases = {
      Mass = 25,
    },
  },

  ["ThingDef:BlocksGranite"] = {
    _ = {
      ParentName = "StoneBlocksBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "BlocksGranite",
    label = "granite blocks",
    description = [[Blocks of solid granite. Granite is a very hard stone.]],
    statBases = {
      Mass = 1.25,
      SharpDamageMultiplier = 0.65,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.7,
      },
    },
  },

  ["ThingDef:Limestone"] = {
    _ = {
      ParentName = "UglyRockBase",
      Name = "LimestoneBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "Limestone",
    label = "limestone",
    description = [[A sedimentary rock formed from the compacted remains of ancient seashells.]],
    statBases = {
      MaxHitPoints = 700,
    },
    building = {
      mineableThing = "ChunkLimestone",
    },
  },

  ["ThingDef:SmoothedLimestone"] = {
    _ = {
      ParentName = "LimestoneBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "SmoothedLimestone",
    label = "smoothed limestone",
    description = [[A sedimentary rock formed from the compacted remains of ancient seashells. It glows a smooth white, with light patterns of impurities suspended within.]],
    statBases = {
      Beauty = 1,
      MarketValue = 20,
    },
    building = {
      isNaturalRock = false,
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:ChunkLimestone"] = {
    _ = {
      ParentName = "ChunkRockBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "ChunkLimestone",
    label = "limestone chunk",
    statBases = {
      Mass = 22,
    },
  },

  ["ThingDef:BlocksLimestone"] = {
    _ = {
      ParentName = "StoneBlocksBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "BlocksLimestone",
    label = "limestone blocks",
    description = [[Blocks of solid limestone.]],
    statBases = {
      Mass = 1.1,
    },
    stuffProps = {
      statFactors = {
        MaxHitPoints = 1.55,
      },
    },
  },

  ["ThingDef:Slate"] = {
    _ = {
      ParentName = "UglyRockBase",
      Name = "SlateBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "Slate",
    label = "slate",
    description = [[A dark-colored metamorphic rock. Its fine layers are emblematic of slaty cleavage.]],
    statBases = {
      MaxHitPoints = 500,
    },
    building = {
      mineableThing = "ChunkSlate",
    },
  },

  ["ThingDef:SmoothedSlate"] = {
    _ = {
      ParentName = "SlateBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "SmoothedSlate",
    label = "smoothed slate",
    description = [[A dark-colored metamorphic rock. Its fine layers are emblematic of slaty cleavage. Interior strata are clearly visible through the polished surface.]],
    statBases = {
      Beauty = 1,
      MarketValue = 20,
    },
    building = {
      isNaturalRock = false,
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:ChunkSlate"] = {
    _ = {
      ParentName = "ChunkRockBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "ChunkSlate",
    label = "slate chunk",
    statBases = {
      Mass = 18,
    },
  },

  ["ThingDef:BlocksSlate"] = {
    _ = {
      ParentName = "StoneBlocksBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "BlocksSlate",
    label = "slate blocks",
    description = [[Blocks of solid slate. A dull-looking rock that chips easily.]],
    statBases = {
      Mass = 0.9,
    },
    stuffProps = {
      statFactors = {
        Beauty = 1.1,
        MaxHitPoints = 1.3,
      },
    },
  },

  ["ThingDef:Marble"] = {
    _ = {
      ParentName = "UglyRockBase",
      Name = "MarbleBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "Marble",
    label = "marble",
    description = [[A soft metamorphic rock.]],
    statBases = {
      MaxHitPoints = 450,
      Beauty = -1,
    },
    building = {
      mineableThing = "ChunkMarble",
    },
  },

  ["ThingDef:SmoothedMarble"] = {
    _ = {
      ParentName = "MarbleBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "SmoothedMarble",
    label = "smoothed marble",
    description = [[A soft metamorphic rock. This semi-transparent rock almost appears to glow with its own inner light.]],
    statBases = {
      Beauty = 2,
      MarketValue = 25,
    },
    building = {
      isNaturalRock = false,
      artificialForMeditationPurposes = false,
    },
  },

  ["ThingDef:ChunkMarble"] = {
    _ = {
      ParentName = "ChunkRockBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "ChunkMarble",
    label = "marble chunk",
    statBases = {
      Mass = 25,
    },
  },

  ["ThingDef:BlocksMarble"] = {
    _ = {
      ParentName = "StoneBlocksBase",
      DefCategory = "ThingDef",
      FileName = "Various_Stone.xml",
      DLC = "Core",
    },
    defName = "BlocksMarble",
    label = "marble blocks",
    description = [[Blocks of solid marble. Marble is a soft, beautiful stone, known for being easy to sculpt.]],
    statBases = {
      Mass = 1.25,
    },
    stuffProps = {
      statFactors = {
        Beauty = 1.35,
        MaxHitPoints = 1.2,
        WorkToBuild = 5.5,
        WorkToMake = 1.15,
      },
      statOffsets = {
        Beauty = 1,
      },
    },
  },

  ["ThingDef:BaseWeapon"] = {
    _ = {
      Abstract = true,
      Name = "BaseWeapon",
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    thingClass = "ThingWithComps",
    category = "Item",
    altitudeLayer = "Item",
    useHitPoints = true,
    pathCost = 14,
    statBases = {
      MaxHitPoints = 100,
      Flammability = 1.0,
      DeteriorationRate = 2,
      Beauty = -3,
      SellPriceFactor = 0.20,
    },
    comps = {
      CompProperties_Forbiddable = {},
      {
        compClass = "CompEquippable",
      },
    },
  },

  ["ThingDef:BaseGun"] = {
    _ = {
      Name = "BaseGun",
      Abstract = true,
      ParentName = "BaseWeapon",
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    smeltable = true,
    thingCategories = {
      "WeaponsRanged",
    },
    statBases = {
      Flammability = 0.5,
    },
    comps = {
      CompProperties_Art = {
        nameMaker = "NamerArtWeaponGun",
        descriptionMaker = "ArtDescription_WeaponGun",
        minQualityForArtistic = "Excellent",
      },
    },
  },

  ["ThingDef:BaseGunWithQuality"] = {
    _ = {
      Name = "BaseGunWithQuality",
      Abstract = true,
      ParentName = "BaseGun",
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
    },
  },

  ["ThingDef:BaseMakeableGun"] = {
    _ = {
      Name = "BaseMakeableGun",
      ParentName = "BaseGunWithQuality",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Smith",
      recipeUsers = {
        "TableMachining",
      },
      unfinishedThingDef = "UnfinishedGun",
      researchPrerequisite = "Gunsmithing",
    },
  },

  ["ThingDef:BaseHumanMakeableGun"] = {
    _ = {
      Name = "BaseHumanMakeableGun",
      ParentName = "BaseMakeableGun",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    weaponTags = {
      "Gun",
    },
    comps = {
      CompProperties_BiocodableWeapon = {},
    },
  },

  ["ThingDef:BaseBullet"] = {
    _ = {
      Name = "BaseBullet",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    category = "Projectile",
    altitudeLayer = "Projectile",
    thingClass = "Bullet",
    label = "bullet",
    useHitPoints = false,
  },

  ["ThingDef:BaseMeleeWeapon"] = {
    _ = {
      Name = "BaseMeleeWeapon",
      Abstract = true,
      ParentName = "BaseWeapon",
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    smeltable = true,
    thingCategories = {
      "WeaponsMelee",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Smith",
      recipeUsers = {
        "ElectricSmithy",
        "FueledSmithy",
      },
      unfinishedThingDef = "UnfinishedWeapon",
    },
  },

  ["ThingDef:BaseMeleeWeapon_Sharp"] = {
    _ = {
      Name = "BaseMeleeWeapon_Sharp",
      ParentName = "BaseMeleeWeapon",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    recipeMaker = {
      defaultIngredientFilter = {
        categories = {
          "Root",
        },
        disallowedThingDefs = {
          "Silver",
          "Gold",
          "WoodLog",
        },
      },
    },
  },

  ["ThingDef:BaseMeleeWeapon_Blunt"] = {
    _ = {
      Name = "BaseMeleeWeapon_Blunt",
      ParentName = "BaseMeleeWeapon",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    recipeMaker = {
      defaultIngredientFilter = {
        categories = {
          "Root",
        },
        disallowedThingDefs = {
          "Silver",
          "Gold",
        },
      },
    },
  },

  ["ThingDef:BaseMeleeWeapon_Sharp_Quality"] = {
    _ = {
      Name = "BaseMeleeWeapon_Sharp_Quality",
      Abstract = true,
      ParentName = "BaseMeleeWeapon_Sharp",
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
      CompProperties_Art = {
        nameMaker = "NamerArtWeaponMelee",
        descriptionMaker = "ArtDescription_WeaponMelee",
        minQualityForArtistic = "Excellent",
      },
    },
  },

  ["ThingDef:BaseMeleeWeapon_Blunt_Quality"] = {
    _ = {
      Name = "BaseMeleeWeapon_Blunt_Quality",
      Abstract = true,
      ParentName = "BaseMeleeWeapon_Sharp",
      DefCategory = "ThingDef",
      FileName = "BaseWeapons.xml",
      DLC = "Core",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
      CompProperties_Art = {
        nameMaker = "NamerArtWeaponMelee",
        descriptionMaker = "ArtDescription_WeaponMelee",
        minQualityForArtistic = "Excellent",
      },
    },
  },

  ["ThingDef:MeleeWeapon_Mace"] = {
    _ = {
      ParentName = "BaseMeleeWeapon_Blunt_Quality",
      DefCategory = "ThingDef",
      FileName = "MeleeMedieval.xml",
      DLC = "Core",
    },
    defName = "MeleeWeapon_Mace",
    label = "mace",
    description = [[A refined club, engineered for efficient swinging and deadly impacts.]],
    statBases = {
      WorkToMake = 6000,
      Mass = 1.25,
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 3,
      },
    },
    weaponTags = {
      "MedievalMeleeDecent",
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 15.7,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:MeleeWeapon_Gladius"] = {
    _ = {
      ParentName = "BaseMeleeWeapon_Sharp_Quality",
      DefCategory = "ThingDef",
      FileName = "MeleeMedieval.xml",
      DLC = "Core",
    },
    defName = "MeleeWeapon_Gladius",
    label = "gladius",
    description = [[A short sword of ancient design. Good for stabbing or slashing. It's light and nimble, which sometimes lets it beat bigger, heavier weapons.]],
    weaponTags = {
      "MedievalMeleeDecent",
    },
    statBases = {
      WorkToMake = 12000,
      Mass = 0.85,
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "point",
        capacities = {
          "Stab",
        },
        power = 16,
        cooldownTime = 2,
      },
      {
        label = "edge",
        capacities = {
          "Cut",
        },
        power = 16,
        cooldownTime = 2,
      },
    },
    recipeMaker = {
      researchPrerequisite = "Smithing",
      skillRequirements = {
        Crafting = 3,
      },
    },
  },

  ["ThingDef:MeleeWeapon_LongSword"] = {
    _ = {
      ParentName = "BaseMeleeWeapon_Sharp_Quality",
      DefCategory = "ThingDef",
      FileName = "MeleeMedieval.xml",
      DLC = "Core",
    },
    defName = "MeleeWeapon_LongSword",
    label = "longsword",
    description = [[The ancient weapon of kings, the longsword can be used for slashing or stabbing.]],
    weaponTags = {
      "MedievalMeleeAdvanced",
    },
    statBases = {
      WorkToMake = 18000,
      Mass = 2,
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "point",
        capacities = {
          "Stab",
        },
        power = 23,
        cooldownTime = 2.6,
      },
      {
        label = "edge",
        capacities = {
          "Cut",
        },
        power = 23,
        cooldownTime = 2.6,
      },
    },
    recipeMaker = {
      researchPrerequisite = "LongBlades",
      skillRequirements = {
        Crafting = 5,
      },
    },
  },

  ["ThingDef:MeleeWeapon_Club"] = {
    _ = {
      ParentName = "BaseMeleeWeapon_Blunt",
      DefCategory = "ThingDef",
      FileName = "MeleeNeolithic.xml",
      DLC = "Core",
    },
    defName = "MeleeWeapon_Club",
    label = "club",
    description = [[A shaped stick, heavy at one end, for bashing enemies to death. This weapon is so old it's part of human biology. Evolutionary biologists say that a major reason humans can tilt our wrists side-to-side (instead of just forward-and-back like other primates) is to be able to better swing a club.]],
    weaponTags = {
      "NeolithicMeleeBasic",
    },
    statBases = {
      WorkToMake = 1200,
      Mass = 2,
    },
    recipeMaker = {
      recipeUsers = {
        "CraftingSpot",
      },
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 14,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:MeleeWeapon_Knife"] = {
    _ = {
      ParentName = "BaseMeleeWeapon_Sharp_Quality",
      DefCategory = "ThingDef",
      FileName = "MeleeNeolithic.xml",
      DLC = "Core",
    },
    defName = "MeleeWeapon_Knife",
    label = "knife",
    description = [[One of mankind's oldest manufactured objects. The knife has taken many forms, but the concept has always remained the same: A handle for holding and a sharp edge for cutting.]],
    weaponTags = {
      "MedievalMeleeBasic",
      "NeolithicMeleeBasic",
    },
    statBases = {
      WorkToMake = 1800,
      Mass = 0.5,
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "blade",
        capacities = {
          "Cut",
        },
        power = 12,
        cooldownTime = 1.5,
      },
      {
        label = "point",
        capacities = {
          "Stab",
        },
        power = 13,
        cooldownTime = 2,
      },
    },
    recipeMaker = {
      recipeUsers = {
        "CraftingSpot",
      },
    },
  },

  ["ThingDef:MeleeWeapon_Ikwa"] = {
    _ = {
      ParentName = "BaseMeleeWeapon_Sharp_Quality",
      DefCategory = "ThingDef",
      FileName = "MeleeNeolithic.xml",
      DLC = "Core",
    },
    defName = "MeleeWeapon_Ikwa",
    label = "ikwa",
    description = [[A short spearhandle attached to a long bladed point, designed to be driven into vital organs with a quick thrust.]],
    weaponTags = {
      "NeolithicMeleeDecent",
    },
    statBases = {
      WorkToMake = 5000,
      Mass = 1.1,
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "head",
        capacities = {
          "Stab",
        },
        power = 15,
        cooldownTime = 2,
      },
      {
        label = "edge",
        capacities = {
          "Cut",
        },
        power = 15,
        cooldownTime = 2,
      },
    },
    recipeMaker = {
      researchPrerequisite = "Smithing",
      skillRequirements = {
        Crafting = 3,
      },
    },
  },

  ["ThingDef:MeleeWeapon_Spear"] = {
    _ = {
      ParentName = "BaseMeleeWeapon_Sharp_Quality",
      DefCategory = "ThingDef",
      FileName = "MeleeNeolithic.xml",
      DLC = "Core",
    },
    defName = "MeleeWeapon_Spear",
    label = "spear",
    description = [[A polearm tipped with a sharp point for stabbing opponents.]],
    weaponTags = {
      "NeolithicMeleeAdvanced",
      "MedievalMeleeAdvanced",
    },
    statBases = {
      WorkToMake = 12000,
      Mass = 2,
    },
    tools = {
      {
        label = "shaft",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 13,
        cooldownTime = 2.6,
      },
      {
        label = "point",
        capacities = {
          "Stab",
        },
        power = 23,
        cooldownTime = 2.6,
      },
    },
    recipeMaker = {
      researchPrerequisite = "LongBlades",
      skillRequirements = {
        Crafting = 4,
      },
    },
  },

  ["ThingDef:Bullet_Revolver"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_Revolver",
    label = "revolver bullet",
  },

  ["ThingDef:Gun_Revolver"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_Revolver",
    label = "revolver",
    description = [[An ancient pattern double-action revolver. It's not very powerful, but has a decent range for a pistol and is quick on the draw.]],
    statBases = {
      WorkToMake = 4000,
      Mass = 1.4,
      AccuracyTouch = 0.80,
      AccuracyShort = 0.75,
      AccuracyMedium = 0.45,
      AccuracyLong = 0.35,
      RangedWeapon_Cooldown = 1.6,
    },
    weaponTags = {
      "SimpleGun",
      "Revolver",
    },
    costList = {
      Steel = 30,
      ComponentIndustrial = 2,
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 3,
      },
    },
    verbs = {
      {
        defaultProjectile = "Bullet_Revolver",
        warmupTime = 0.3,
        range = 25.9,
      },
    },
    tools = {
      {
        label = "grip",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Gun_Autopistol"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_Autopistol",
    label = "autopistol",
    description = [[An ancient pattern blowback-operated self-loading pistol. It lacks stopping power and range, but is quick to fire.]],
    recipeMaker = {
      researchPrerequisite = "BlowbackOperation",
      skillRequirements = {
        Crafting = 4,
      },
    },
    weaponTags = {
      "SimpleGun",
    },
    statBases = {
      WorkToMake = 5000,
      Mass = 1.2,
      AccuracyTouch = 0.80,
      AccuracyShort = 0.70,
      AccuracyMedium = 0.40,
      AccuracyLong = 0.30,
      RangedWeapon_Cooldown = 1,
    },
    costList = {
      Steel = 30,
      ComponentIndustrial = 2,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_Autopistol",
        warmupTime = 0.3,
        range = 25.9,
      },
    },
    tools = {
      {
        label = "grip",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_Autopistol"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_Autopistol",
    label = "autopistol bullet",
  },

  ["ThingDef:Gun_MachinePistol"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_MachinePistol",
    label = "machine pistol",
    description = [[A micro-submachine gun. It is short-ranged, but very light in the hands. Its rate of fire tends to make up for its weakness.]],
    recipeMaker = {
      researchPrerequisite = "BlowbackOperation",
      skillRequirements = {
        Crafting = 4,
      },
    },
    statBases = {
      WorkToMake = 11000,
      Mass = 2.5,
      AccuracyTouch = 0.90,
      AccuracyShort = 0.65,
      AccuracyMedium = 0.35,
      AccuracyLong = 0.15,
      RangedWeapon_Cooldown = 0.9,
    },
    costList = {
      Steel = 45,
      ComponentIndustrial = 3,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_MachinePistol",
        warmupTime = 0.5,
        range = 19.9,
        burstShotCount = 3,
        ticksBetweenBurstShots = 7,
      },
    },
    tools = {
      {
        label = "grip",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_MachinePistol"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_MachinePistol",
    label = "machine pistol bullet",
  },

  ["ThingDef:Gun_IncendiaryLauncher"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_IncendiaryLauncher",
    label = "incendiary launcher",
    description = [[A wide-barreled incendiary bolt launcher. The bolts create small incendiary explosions on impact, starting fires.]],
    statBases = {
      WorkToMake = 20000,
      Mass = 3.4,
      RangedWeapon_Cooldown = 3.5,
    },
    costList = {
      Steel = 75,
      ComponentIndustrial = 4,
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 4,
      },
    },
    verbs = {
      {
        defaultProjectile = "Bullet_IncendiaryLauncher",
        warmupTime = 3.5,
        range = 23.9,
        forcedMissRadius = 1.9,
        burstShotCount = 1,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_IncendiaryLauncher"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_IncendiaryLauncher",
    label = "incendiary bolt",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Gun_SmokeLauncher"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_SmokeLauncher",
    label = "smoke launcher",
    description = [[A wide-barreled smoke shell launcher. The shell will upon impact release a cloud of smoke, obscuring incoming shots and preventing turrets from locking on.]],
    statBases = {
      WorkToMake = 30000,
      Mass = 3.4,
      RangedWeapon_Cooldown = 4.5,
    },
    costList = {
      Steel = 75,
      ComponentIndustrial = 4,
    },
    weaponTags = {
      _ = {
        Inherit = false,
      },
      "GrenadeSmoke",
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 4,
      },
    },
    verbs = {
      {
        defaultProjectile = "Bullet_SmokeLauncher",
        warmupTime = 3.5,
        range = 23.9,
        forcedMissRadius = 1.9,
        burstShotCount = 1,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_SmokeLauncher"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_SmokeLauncher",
    label = "smoke launcher shell",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Gun_EmpLauncher"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_EmpLauncher",
    label = "EMP launcher",
    description = [[A wide-barreled EMP shell launcher. The shell will upon impact release a burst of electromagnetic energy, stunning mechanical targets (mechanoids, turrets, mortars) and depleting shields in the area of effect.]],
    weaponTags = {
      "GrenadeEMP",
    },
    statBases = {
      WorkToMake = 30000,
      Mass = 3.4,
      RangedWeapon_Cooldown = 3.5,
    },
    costList = {
      Steel = 75,
      ComponentIndustrial = 8,
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 4,
      },
      researchPrerequisite = "MicroelectronicsBasics",
    },
    verbs = {
      {
        defaultProjectile = "Bullet_EMPLauncher",
        warmupTime = 3.5,
        range = 23.9,
        forcedMissRadius = 1.9,
        burstShotCount = 1,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_EMPLauncher"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_EMPLauncher",
    label = "EMP launcher shell",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Gun_BoltActionRifle"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_BoltActionRifle",
    label = "bolt-action rifle",
    description = [[An ancient pattern bolt-action rifle. With its long range, and low fire rate, it is unlikely to drive animals to revenge, which makes it a favorite weapon for hunting.]],
    statBases = {
      WorkToMake = 12000,
      Mass = 3.5,
      AccuracyTouch = 0.65,
      AccuracyShort = 0.80,
      AccuracyMedium = 0.90,
      AccuracyLong = 0.80,
      RangedWeapon_Cooldown = 1.5,
    },
    costList = {
      Steel = 60,
      ComponentIndustrial = 3,
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 5,
      },
    },
    verbs = {
      {
        defaultProjectile = "Bullet_BoltActionRifle",
        warmupTime = 1.7,
        range = 36.9,
      },
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_BoltActionRifle"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_BoltActionRifle",
    label = "bolt-action rifle bullet",
  },

  ["ThingDef:Gun_PumpShotgun"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_PumpShotgun",
    label = "pump shotgun",
    description = [[An ancient design of shotgun that emits a tight-packed spray of pellets. Deadly, but short range.]],
    statBases = {
      WorkToMake = 12000,
      Mass = 3.4,
      AccuracyTouch = 0.80,
      AccuracyShort = 0.87,
      AccuracyMedium = 0.77,
      AccuracyLong = 0.64,
      RangedWeapon_Cooldown = 1.25,
    },
    costList = {
      Steel = 60,
      ComponentIndustrial = 3,
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 5,
      },
    },
    verbs = {
      {
        defaultProjectile = "Bullet_Shotgun",
        warmupTime = 0.9,
        range = 15.9,
      },
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_Shotgun"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_Shotgun",
    label = "shotgun blast",
  },

  ["ThingDef:Gun_ChainShotgun"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_ChainShotgun",
    label = "chain shotgun",
    description = [[A magazine-fed fully automatic shotgun. It is even shorter-ranged than a typical shotgun, but is extraordinarily dangerous due to burst fire.]],
    recipeMaker = {
      researchPrerequisite = "GasOperation",
      skillRequirements = {
        Crafting = 6,
      },
    },
    statBases = {
      WorkToMake = 31000,
      Mass = 4.5,
      AccuracyTouch = 0.57,
      AccuracyShort = 0.64,
      AccuracyMedium = 0.55,
      AccuracyLong = 0.45,
      RangedWeapon_Cooldown = 1.35,
    },
    costList = {
      Steel = 70,
      ComponentIndustrial = 5,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_Shotgun",
        warmupTime = 1.2,
        range = 12.9,
        burstShotCount = 3,
        ticksBetweenBurstShots = 10,
      },
    },
    weaponTags = {
      "IndustrialGunAdvanced",
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Gun_HeavySMG"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_HeavySMG",
    label = "heavy SMG",
    description = [[A compact, wide-caliber slug-thrower. It's got a very short range, but it packs a punch and handles quite well.]],
    recipeMaker = {
      researchPrerequisite = "GasOperation",
      skillRequirements = {
        Crafting = 5,
      },
    },
    statBases = {
      WorkToMake = 24000,
      Mass = 3.5,
      AccuracyTouch = 0.85,
      AccuracyShort = 0.65,
      AccuracyMedium = 0.35,
      AccuracyLong = 0.20,
      RangedWeapon_Cooldown = 1.65,
    },
    costList = {
      Steel = 75,
      ComponentIndustrial = 4,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_HeavySMG",
        warmupTime = 0.9,
        range = 22.9,
        burstShotCount = 3,
        ticksBetweenBurstShots = 11,
      },
    },
    weaponTags = {
      "IndustrialGunAdvanced",
    },
    tools = {
      {
        label = "grip",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_HeavySMG"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_HeavySMG",
    label = "heavy SMG bullet",
  },

  ["ThingDef:Gun_LMG"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_LMG",
    label = "LMG",
    description = [[A gas-operated light machine gun. While it is somewhat unwieldy and inaccurate, its long bursts of fire are effective against groups of enemies.]],
    recipeMaker = {
      researchPrerequisite = "GasOperation",
      skillRequirements = {
        Crafting = 6,
      },
    },
    statBases = {
      WorkToMake = 34000,
      Mass = 8.5,
      AccuracyTouch = 0.40,
      AccuracyShort = 0.48,
      AccuracyMedium = 0.35,
      AccuracyLong = 0.26,
      RangedWeapon_Cooldown = 1.8,
    },
    costList = {
      Steel = 75,
      ComponentIndustrial = 5,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_LMG",
        warmupTime = 1.8,
        range = 25.9,
        ticksBetweenBurstShots = 7,
        burstShotCount = 6,
      },
    },
    weaponTags = {
      "IndustrialGunAdvanced",
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_LMG"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_LMG",
    label = "LMG bullet",
  },

  ["ThingDef:Gun_AssaultRifle"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_AssaultRifle",
    label = "assault rifle",
    description = [[A general-purpose gas-operated assault rifle for field or urban combat. It has good range, decent power, and good accuracy.]],
    recipeMaker = {
      researchPrerequisite = "PrecisionRifling",
      skillRequirements = {
        Crafting = 6,
      },
    },
    statBases = {
      WorkToMake = 40000,
      Mass = 3.5,
      AccuracyTouch = 0.60,
      AccuracyShort = 0.70,
      AccuracyMedium = 0.65,
      AccuracyLong = 0.55,
      RangedWeapon_Cooldown = 1.70,
    },
    costList = {
      Steel = 60,
      ComponentIndustrial = 7,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_AssaultRifle",
        warmupTime = 1.0,
        range = 30.9,
        burstShotCount = 3,
        ticksBetweenBurstShots = 10,
      },
    },
    weaponTags = {
      "IndustrialGunAdvanced",
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_AssaultRifle"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_AssaultRifle",
    label = "assault rifle bullet",
  },

  ["ThingDef:Gun_SniperRifle"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_SniperRifle",
    label = "sniper rifle",
    description = [[An ancient design of precision sniper rifle. Bolt action. It has an exceptionally long range, great accuracy and good power. Because it's so unwieldy, other weapons outclass it at close range.]],
    recipeMaker = {
      researchPrerequisite = "PrecisionRifling",
      skillRequirements = {
        Crafting = 7,
      },
    },
    statBases = {
      WorkToMake = 45000,
      Mass = 4,
      AccuracyTouch = 0.50,
      AccuracyShort = 0.70,
      AccuracyMedium = 0.86,
      AccuracyLong = 0.88,
      RangedWeapon_Cooldown = 2.3,
    },
    costList = {
      Steel = 60,
      ComponentIndustrial = 8,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_SniperRifle",
        warmupTime = 3.5,
        range = 44.9,
      },
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
    weaponTags = {
      _ = {
        Inherit = false,
      },
      "SniperRifle",
    },
  },

  ["ThingDef:Bullet_SniperRifle"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_SniperRifle",
    label = "sniper rifle bullet",
  },

  ["ThingDef:Gun_Minigun"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Gun_Minigun",
    label = "minigun",
    description = [[A multi-barrel machine gun. It's unwieldy, but once it starts firing it fires very fast. Where most self-loading guns are powered by the energy from the gunpowder, the minigun uses an electric motor to rapidly cycle cartridges through the weapon.]],
    statBases = {
      WorkToMake = 60000,
      Mass = 10,
      AccuracyTouch = 0.15,
      AccuracyShort = 0.25,
      AccuracyMedium = 0.25,
      AccuracyLong = 0.18,
      RangedWeapon_Cooldown = 2.3,
    },
    costList = {
      Steel = 160,
      ComponentIndustrial = 20,
    },
    recipeMaker = {
      researchPrerequisite = "MultibarrelWeapons",
      skillRequirements = {
        Crafting = 7,
      },
    },
    weaponTags = {
      "GunHeavy",
    },
    verbs = {
      {
        defaultProjectile = "Bullet_Minigun",
        warmupTime = 2.5,
        range = 30.9,
        burstShotCount = 25,
        ticksBetweenBurstShots = 5,
      },
    },
    tools = {
      {
        label = "barrels",
        capacities = {
          "Blunt",
        },
        power = 11.7,
        cooldownTime = 2.6,
      },
    },
  },

  ["ThingDef:Bullet_Minigun"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrial.xml",
      DLC = "Core",
    },
    defName = "Bullet_Minigun",
    label = "minigun bullet",
  },

  ["ThingDef:Gun_TripleRocket"] = {
    _ = {
      ParentName = "BaseGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialConsumable.xml",
      DLC = "Core",
    },
    defName = "Gun_TripleRocket",
    label = "triple rocket launcher",
    description = [[A single-use rocket launcher that fires three large-bore explosive rockets. Good against small groups of tough targets.\n\nBecause of its unwieldiness, single-use limitation, and the massive destruction it causes, it's said that one must be slightly crazy to use this weapon.]],
    statBases = {
      MarketValue = 1000,
      Mass = 7,
      RangedWeapon_Cooldown = 4.5,
    },
    weaponTags = {
      "Gun",
      "GunSingleUse",
    },
    tradeTags = {
      "ExoticMisc",
    },
    verbs = {
      {
        defaultProjectile = "Bullet_Rocket",
        forcedMissRadius = 2.9,
        warmupTime = 4.5,
        range = 35.9,
        ticksBetweenBurstShots = 20,
        burstShotCount = 3,
        onlyManualCast = true,
        stopBurstWithoutLos = false,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    tools = {
      {
        label = "barrel",
        capacities = {
          "Blunt",
        },
        power = 11.7,
        cooldownTime = 2.6,
      },
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 3.9,
        explosiveDamageType = "Bomb",
        requiredDamageTypeToExplode = "Flame",
      },
      CompProperties_BiocodableWeapon = {},
    },
  },

  ["ThingDef:Bullet_Rocket"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialConsumable.xml",
      DLC = "Core",
    },
    defName = "Bullet_Rocket",
    label = "rocket",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Gun_DoomsdayRocket"] = {
    _ = {
      ParentName = "BaseGun",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialConsumable.xml",
      DLC = "Core",
    },
    defName = "Gun_DoomsdayRocket",
    label = "doomsday rocket launcher",
    description = [[A single-use rocket launcher that fires a massive explosive projectile. Good against large groups of soft targets. Starts fires.\n\nBecause of its unwieldiness, single-use limitation, and the massive destruction it causes, it's said that one must be slightly crazy to use this weapon.]],
    statBases = {
      MarketValue = 1000,
      Mass = 8,
      RangedWeapon_Cooldown = 4.5,
    },
    weaponTags = {
      "Gun",
      "GunSingleUse",
    },
    tradeTags = {
      "ExoticMisc",
    },
    verbs = {
      {
        defaultProjectile = "Bullet_DoomsdayRocket",
        forcedMissRadius = 1.9,
        warmupTime = 4.5,
        range = 35.9,
        burstShotCount = 1,
        onlyManualCast = true,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    tools = {
      {
        label = "barrel",
        capacities = {
          "Blunt",
        },
        power = 11.7,
        cooldownTime = 2.6,
      },
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 7.8,
        explosiveDamageType = "Bomb",
        requiredDamageTypeToExplode = "Flame",
      },
      CompProperties_BiocodableWeapon = {},
    },
  },

  ["ThingDef:Bullet_DoomsdayRocket"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialConsumable.xml",
      DLC = "Core",
    },
    defName = "Bullet_DoomsdayRocket",
    label = "doomsday rocket",
    thingClass = "Projectile_DoomsdayRocket",
  },

  ["ThingDef:BaseGrenadeProjectile"] = {
    _ = {
      Name = "BaseGrenadeProjectile",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialGrenades.xml",
      DLC = "Core",
    },
    category = "Projectile",
    altitudeLayer = "Projectile",
    thingClass = "Projectile_Explosive",
    label = "projectile",
    useHitPoints = false,
  },

  ["ThingDef:BaseMakeableGrenade"] = {
    _ = {
      Name = "BaseMakeableGrenade",
      ParentName = "BaseWeapon",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialGrenades.xml",
      DLC = "Core",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Smith",
      recipeUsers = {
        "TableMachining",
      },
      unfinishedThingDef = "UnfinishedGun",
    },
  },

  ["ThingDef:Weapon_GrenadeFrag"] = {
    _ = {
      ParentName = "BaseMakeableGrenade",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialGrenades.xml",
      DLC = "Core",
    },
    defName = "Weapon_GrenadeFrag",
    label = "frag grenades",
    description = [[Old-school fragmentation grenades. They can be thrown a short distance, where they'll explode, damaging anything and anyone nearby.]],
    statBases = {
      Mass = 1,
      RangedWeapon_Cooldown = 2.66,
      WorkToMake = 12000,
    },
    costList = {
      Steel = 20,
      Chemfuel = 80,
    },
    weaponTags = {
      "GrenadeDestructive",
    },
    thingCategories = {
      "Grenades",
    },
    verbs = {
      {
        label = "throw frag grenade",
        range = 12.9,
        forcedMissRadius = 1.9,
        warmupTime = 1.5,
        noiseRadius = 4,
        targetParams = {
          canTargetLocations = true,
        },
        defaultProjectile = "Proj_GrenadeFrag",
      },
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 2.66,
        explosiveDamageType = "Bomb",
        requiredDamageTypeToExplode = "Flame",
      },
    },
  },

  ["ThingDef:BaseFragGrenadeProjectile"] = {
    _ = {
      Name = "BaseFragGrenadeProjectile",
      ParentName = "BaseGrenadeProjectile",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialGrenades.xml",
      DLC = "Core",
    },
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Proj_GrenadeFrag"] = {
    _ = {
      ParentName = "BaseFragGrenadeProjectile",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialGrenades.xml",
      DLC = "Core",
    },
    defName = "Proj_GrenadeFrag",
    label = "frag grenade",
  },

  ["ThingDef:Weapon_GrenadeMolotov"] = {
    _ = {
      ParentName = "BaseMakeableGrenade",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialGrenades.xml",
      DLC = "Core",
    },
    defName = "Weapon_GrenadeMolotov",
    label = "molotov cocktails",
    description = [[Glass bottles filled with flammable liquid, with a burning cloth in the neck. A favorite weapon of hooligans and desperate warriors from rim to rim.]],
    statBases = {
      Mass = 1,
      RangedWeapon_Cooldown = 2.66,
      WorkToMake = 6000,
    },
    costList = {
      Cloth = 25,
      Chemfuel = 80,
    },
    weaponTags = {
      "GrenadeDestructive",
    },
    thingCategories = {
      "Grenades",
    },
    verbs = {
      {
        label = "throw molotov",
        range = 12.9,
        forcedMissRadius = 1.9,
        warmupTime = 1.5,
        noiseRadius = 4,
        targetParams = {
          canTargetLocations = true,
        },
        defaultProjectile = "Proj_GrenadeMolotov",
      },
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 2.66,
        explosiveDamageType = "Flame",
        requiredDamageTypeToExplode = "Flame",
      },
    },
  },

  ["ThingDef:Proj_GrenadeMolotov"] = {
    _ = {
      ParentName = "BaseIncendiaryProjectile",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialGrenades.xml",
      DLC = "Core",
    },
    defName = "Proj_GrenadeMolotov",
    label = "molotov cocktail",
  },

  ["ThingDef:Weapon_GrenadeEMP"] = {
    _ = {
      ParentName = "BaseMakeableGrenade",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialGrenades.xml",
      DLC = "Core",
    },
    defName = "Weapon_GrenadeEMP",
    label = "EMP grenades",
    description = [[Electromagnetic pulse grenades damaging to electronic equipment.]],
    statBases = {
      Mass = 1,
      RangedWeapon_Cooldown = 2.66,
      WorkToMake = 24000,
    },
    costList = {
      Steel = 20,
      ComponentIndustrial = 6,
    },
    recipeMaker = {
      researchPrerequisite = "MicroelectronicsBasics",
    },
    weaponTags = {
      "GrenadeEMP",
    },
    thingCategories = {
      "Grenades",
    },
    verbs = {
      {
        label = "throw EMP grenade",
        range = 12.9,
        forcedMissRadius = 1.9,
        warmupTime = 1.5,
        noiseRadius = 4,
        targetParams = {
          canTargetLocations = true,
        },
        defaultProjectile = "Proj_GrenadeEMP",
      },
    },
    comps = {
      CompProperties_Explosive = {
        explosiveRadius = 2.66,
        explosiveDamageType = "EMP",
        requiredDamageTypeToExplode = "Flame",
      },
    },
    smeltProducts = {
      Steel = 10,
    },
  },

  ["ThingDef:Proj_GrenadeEMP"] = {
    _ = {
      ParentName = "BaseGrenadeProjectile",
      DefCategory = "ThingDef",
      FileName = "RangedIndustrialGrenades.xml",
      DLC = "Core",
    },
    defName = "Proj_GrenadeEMP",
    label = "EMP grenade",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Bullet_ChargeBlasterHeavy"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedMechanoid.xml",
      DLC = "Core",
    },
    defName = "Bullet_ChargeBlasterHeavy",
    label = "charge blaster shot",
  },

  ["ThingDef:Gun_ChargeBlasterHeavyBase"] = {
    _ = {
      Abstract = true,
      ParentName = "BaseGunWithQuality",
      Name = "Gun_ChargeBlasterHeavyBase",
      DefCategory = "ThingDef",
      FileName = "RangedMechanoid.xml",
      DLC = "Core",
    },
    label = "heavy charge blaster",
    description = [[A pulse-charged rapid-fire blaster for area suppressive fire. Heavy cooling allows long, deadly bursts.]],
    statBases = {
      MarketValue = 1400,
      Mass = 22,
      AccuracyTouch = 0.18,
      AccuracyShort = 0.26,
      AccuracyMedium = 0.26,
      AccuracyLong = 0.18,
      RangedWeapon_Cooldown = 7.4,
    },
    tradeability = "None",
    tools = {
      {
        label = "barrel",
        capacities = {
          "Blunt",
        },
        power = 11.7,
        cooldownTime = 2.6,
      },
    },
  },

  ["ThingDef:Gun_ChargeBlasterHeavy"] = {
    _ = {
      ParentName = "Gun_ChargeBlasterHeavyBase",
      DefCategory = "ThingDef",
      FileName = "RangedMechanoid.xml",
      DLC = "Core",
    },
    defName = "Gun_ChargeBlasterHeavy",
    verbs = {
      {
        defaultProjectile = "Bullet_ChargeBlasterHeavy",
        warmupTime = 1.25,
        range = 26.9,
        ticksBetweenBurstShots = 5,
        burstShotCount = 24,
      },
    },
    weaponTags = {
      "MechanoidGunHeavy",
    },
  },

  ["ThingDef:Bullet_InfernoCannon"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedMechanoid.xml",
      DLC = "Core",
    },
    defName = "Bullet_InfernoCannon",
    label = "inferno cannon shell",
    thingClass = "Projectile_Explosive",
  },

  ["ThingDef:Gun_InfernoCannonBase"] = {
    _ = {
      Abstract = true,
      ParentName = "BaseGunWithQuality",
      Name = "Gun_InfernoCannonBase",
      DefCategory = "ThingDef",
      FileName = "RangedMechanoid.xml",
      DLC = "Core",
    },
    label = "inferno cannon",
    description = [[An incendiary-shot mini-artillery device. It fires a large incendiary warhead.]],
    statBases = {
      MarketValue = 1400,
      Mass = 18,
      RangedWeapon_Cooldown = 8.4,
    },
    tradeability = "None",
    tools = {
      {
        label = "barrel",
        capacities = {
          "Blunt",
        },
        power = 11.7,
        cooldownTime = 2.6,
      },
    },
  },

  ["ThingDef:Gun_InfernoCannon"] = {
    _ = {
      ParentName = "Gun_InfernoCannonBase",
      DefCategory = "ThingDef",
      FileName = "RangedMechanoid.xml",
      DLC = "Core",
    },
    defName = "Gun_InfernoCannon",
    weaponTags = {
      "MechanoidGunHeavy",
    },
    verbs = {
      {
        defaultProjectile = "Bullet_InfernoCannon",
        forcedMissRadius = 3.5,
        warmupTime = 1.25,
        range = 26.9,
        burstShotCount = 1,
      },
    },
  },

  ["ThingDef:Gun_Needle"] = {
    _ = {
      ParentName = "BaseGunWithQuality",
      DefCategory = "ThingDef",
      FileName = "RangedMechanoid.xml",
      DLC = "Core",
    },
    defName = "Gun_Needle",
    label = "needle gun",
    description = [[A long-range weapon used by mechanoids. Named after its needle-like projectiles, it fires single shots with great accuracy. While it does less damage than charge weapons, it can reach over very long distances.]],
    tradeability = "None",
    statBases = {
      MarketValue = 1400,
      Mass = 2.6,
      AccuracyTouch = 0.60,
      AccuracyShort = 0.80,
      AccuracyMedium = 0.90,
      AccuracyLong = 0.85,
      RangedWeapon_Cooldown = 2.1,
    },
    weaponTags = {
      "MechanoidGunLongRange",
    },
    verbs = {
      {
        defaultProjectile = "Bullet_NeedleGun",
        warmupTime = 2.5,
        range = 44.9,
      },
    },
    tools = {
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2.6,
      },
    },
  },

  ["ThingDef:Bullet_NeedleGun"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedMechanoid.xml",
      DLC = "Core",
    },
    defName = "Bullet_NeedleGun",
    label = "needle shot",
  },

  ["ThingDef:BaseWeaponNeolithic"] = {
    _ = {
      Name = "BaseWeaponNeolithic",
      Abstract = true,
      ParentName = "BaseWeapon",
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    weaponTags = {
      "Neolithic",
    },
    thingCategories = {
      "WeaponsRanged",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      recipeUsers = {
        "ElectricSmithy",
        "FueledSmithy",
      },
      effectWorking = "Smelt",
      soundWorking = "Recipe_MakeBow",
      unfinishedThingDef = "UnfinishedWeapon",
    },
  },

  ["ThingDef:BaseProjectileNeolithic"] = {
    _ = {
      Name = "BaseProjectileNeolithic",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    category = "Projectile",
    altitudeLayer = "Projectile",
    thingClass = "Bullet",
    label = "arrow",
    useHitPoints = false,
  },

  ["ThingDef:Bow_Short"] = {
    _ = {
      ParentName = "BaseWeaponNeolithic",
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    defName = "Bow_Short",
    label = "short bow",
    description = [[A simple short selfbow made from a single piece of wood.]],
    costList = {
      WoodLog = 30,
    },
    statBases = {
      WorkToMake = 2400,
      Mass = 0.8,
      AccuracyTouch = 0.75,
      AccuracyShort = 0.65,
      AccuracyMedium = 0.45,
      AccuracyLong = 0.25,
      RangedWeapon_Cooldown = 1.65,
    },
    weaponTags = {
      "NeolithicRangedBasic",
    },
    recipeMaker = {
      recipeUsers = {
        "CraftingSpot",
      },
      skillRequirements = {
        Crafting = 2,
      },
    },
    verbs = {
      {
        defaultProjectile = "Arrow_Short",
        warmupTime = 1.35,
        range = 22.9,
      },
    },
    tools = {
      {
        label = "limb",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Arrow_Short"] = {
    _ = {
      ParentName = "BaseProjectileNeolithic",
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    defName = "Arrow_Short",
    label = "shortbow arrow",
  },

  ["ThingDef:Pila"] = {
    _ = {
      ParentName = "BaseWeaponNeolithic",
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    defName = "Pila",
    label = "pila",
    description = [[Pila are spears for throwing. They take a long time to throw, but one hit can do heavy damage. This weapon represents a bundle of pila and can be thrown over and over. The singular of pila is pilum.]],
    costList = {
      WoodLog = 70,
    },
    statBases = {
      WorkToMake = 7000,
      Mass = 4,
      AccuracyTouch = 0.50,
      AccuracyShort = 0.71,
      AccuracyMedium = 0.50,
      AccuracyLong = 0.32,
      RangedWeapon_Cooldown = 4,
    },
    weaponTags = {
      "NeolithicRangedHeavy",
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 3,
      },
    },
    verbs = {
      {
        defaultProjectile = "Pilum_Thrown",
        warmupTime = 4,
        range = 18.9,
      },
    },
    tools = {
      {
        label = "shaft",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "point",
        capacities = {
          "Stab",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Pilum_Thrown"] = {
    _ = {
      ParentName = "BaseProjectileNeolithic",
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    defName = "Pilum_Thrown",
    label = "pilum",
  },

  ["ThingDef:Bow_Recurve"] = {
    _ = {
      ParentName = "BaseWeaponNeolithic",
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    defName = "Bow_Recurve",
    label = "recurve bow",
    description = [[A recurve bow. Its construction behaves like a tuned spring, storing energy more efficiently and delivering a faster shot.]],
    costList = {
      WoodLog = 40,
    },
    statBases = {
      WorkToMake = 5000,
      Mass = 1.3,
      AccuracyTouch = 0.70,
      AccuracyShort = 0.78,
      AccuracyMedium = 0.65,
      AccuracyLong = 0.35,
      RangedWeapon_Cooldown = 1.65,
    },
    weaponTags = {
      "NeolithicRangedDecent",
    },
    recipeMaker = {
      recipeUsers = {
        "CraftingSpot",
      },
      researchPrerequisite = "RecurveBow",
      skillRequirements = {
        Crafting = 5,
      },
    },
    verbs = {
      {
        defaultProjectile = "Arrow_Recurve",
        warmupTime = 1.45,
        range = 25.9,
      },
    },
    tools = {
      {
        label = "limb",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Arrow_Recurve"] = {
    _ = {
      ParentName = "BaseProjectileNeolithic",
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    defName = "Arrow_Recurve",
    label = "recurve bow arrow",
  },

  ["ThingDef:Bow_Great"] = {
    _ = {
      ParentName = "BaseWeaponNeolithic",
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    defName = "Bow_Great",
    label = "greatbow",
    description = [[A powerful greatbow. Fires a heavy arrow long distances.]],
    costList = {
      WoodLog = 60,
    },
    statBases = {
      WorkToMake = 9000,
      Mass = 3.0,
      AccuracyTouch = 0.65,
      AccuracyShort = 0.85,
      AccuracyMedium = 0.75,
      AccuracyLong = 0.50,
      RangedWeapon_Cooldown = 1.5,
    },
    weaponTags = {
      "NeolithicRangedHeavy",
      "NeolithicRangedChief",
    },
    verbs = {
      {
        defaultProjectile = "Arrow_Great",
        warmupTime = 2.0,
        range = 29.9,
      },
    },
    tools = {
      {
        label = "limb",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
    recipeMaker = {
      recipeUsers = {
        "CraftingSpot",
      },
      researchPrerequisite = "Greatbow",
      skillRequirements = {
        Crafting = 6,
      },
    },
  },

  ["ThingDef:Arrow_Great"] = {
    _ = {
      ParentName = "BaseProjectileNeolithic",
      DefCategory = "ThingDef",
      FileName = "RangedNeolithic.xml",
      DLC = "Core",
    },
    defName = "Arrow_Great",
    label = "greatbow arrow",
  },

  ["ThingDef:Gun_ChargeRifle"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedSpacer.xml",
      DLC = "Core",
    },
    defName = "Gun_ChargeRifle",
    label = "charge rifle",
    description = [[A charged-shot assault rifle. Pulse-charge technology charges each shot with unstable energy as it leaves the barrel. Released on impact, the charged energy greatly increases the damage done.]],
    statBases = {
      WorkToMake = 45000,
      Mass = 4.6,
      AccuracyTouch = 0.55,
      AccuracyShort = 0.64,
      AccuracyMedium = 0.55,
      AccuracyLong = 0.45,
      RangedWeapon_Cooldown = 2.00,
    },
    recipeMaker = {
      researchPrerequisite = "ChargedShot",
      skillRequirements = {
        Crafting = 7,
      },
      recipeUsers = {
        _ = {
          Inherit = false,
        },
        "FabricationBench",
      },
    },
    costList = {
      Plasteel = 50,
      ComponentSpacer = 2,
    },
    weaponTags = {
      "SpacerGun",
    },
    verbs = {
      {
        defaultProjectile = "Bullet_ChargeRifle",
        warmupTime = 1.0,
        range = 25.9,
        ticksBetweenBurstShots = 12,
        burstShotCount = 3,
      },
    },
    tools = {
      {
        label = "stock",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_ChargeRifle"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedSpacer.xml",
      DLC = "Core",
    },
    defName = "Bullet_ChargeRifle",
    label = "charge shot",
  },

  ["ThingDef:Gun_ChargeLance"] = {
    _ = {
      ParentName = "BaseHumanMakeableGun",
      DefCategory = "ThingDef",
      FileName = "RangedSpacer.xml",
      DLC = "Core",
    },
    defName = "Gun_ChargeLance",
    label = "charge lance",
    description = [[A pulse-charged rail-assisted lance weapon. It fires a single shot at high velocity, charging it with unstable energy as it leaves the acceleration rail.]],
    statBases = {
      Mass = 8,
      AccuracyTouch = 0.65,
      AccuracyShort = 0.85,
      AccuracyMedium = 0.85,
      AccuracyLong = 0.75,
      RangedWeapon_Cooldown = 2.7,
      WorkToMake = 60000,
    },
    recipeMaker = {
      researchPrerequisite = "ChargedShot",
      skillRequirements = {
        Crafting = 9,
      },
      recipeUsers = {
        _ = {
          Inherit = false,
        },
        "FabricationBench",
      },
    },
    costList = {
      Plasteel = 60,
      ComponentSpacer = 3,
    },
    weaponTags = {
      "MechanoidGunMedium",
      "SpacerGun",
    },
    verbs = {
      {
        defaultProjectile = "Bullet_ChargeLance",
        warmupTime = 1.7,
        range = 29.9,
      },
    },
    tools = {
      {
        label = "barrel",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:Bullet_ChargeLance"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "RangedSpacer.xml",
      DLC = "Core",
    },
    defName = "Bullet_ChargeLance",
    label = "charge lance shot",
  },

  ["ThingDef:OrbitalWeaponBase"] = {
    _ = {
      ParentName = "BaseWeapon",
      Name = "OrbitalWeaponBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "RangedSpecial.xml",
      DLC = "Core",
    },
    thingCategories = {
      "WeaponsRanged",
    },
    statBases = {
      MarketValue = 1200,
      Mass = 0.2,
      Beauty = -3,
      Flammability = 0.5,
    },
    tradeability = "Sellable",
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:OrbitalUtilityBase"] = {
    _ = {
      ParentName = "ApparelNoQualityBase",
      Name = "OrbitalUtilityBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "RangedSpecial.xml",
      DLC = "Core",
    },
    thingCategories = {
      "ApparelUtility",
    },
    statBases = {
      MarketValue = 1200,
      Mass = 0.2,
      Beauty = -3,
      Flammability = 0.5,
    },
    tradeability = "Sellable",
    tradeTags = {
      "ExoticMisc",
    },
    apparel = {
      bodyPartGroups = {
        "Waist",
      },
      layers = {
        "Belt",
      },
    },
  },

  ["ThingDef:OrbitalTargeterBombardment"] = {
    _ = {
      ParentName = "OrbitalUtilityBase",
      DefCategory = "ThingDef",
      FileName = "RangedSpecial.xml",
      DLC = "Core",
    },
    defName = "OrbitalTargeterBombardment",
    label = "orbital bombardment targeter",
    description = [[An ancient targeting apparatus for an orbital bombardment system. This unit designates a target and transmits the coordinates to a network of satellites, which then bombard the target area with kinetic impactors. This unit has been reprogrammed to accept unauthorized users, but once it is used, the network will detect the incursion and cut off the link permanently.]],
    verbs = {
      {
        warmupTime = 3,
        range = 44.9,
        burstShotCount = 1,
        onlyManualCast = true,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 1,
        destroyOnEmpty = true,
        hotKey = "Misc4",
        chargeNoun = "charge",
        displayGizmoWhileUndrafted = false,
      },
    },
  },

  ["ThingDef:OrbitalTargeterPowerBeam"] = {
    _ = {
      ParentName = "OrbitalUtilityBase",
      DefCategory = "ThingDef",
      FileName = "RangedSpecial.xml",
      DLC = "Core",
    },
    defName = "OrbitalTargeterPowerBeam",
    label = "orbital power beam targeter",
    description = [[An ancient targeting unit for a network of power-collection satellites. Once aimed at a target, it directs ancient satellites to begin beaming power down in a massive column of electromagnetic energy. This power can safely be collected in a giant absorption dish. Since you have no absorption dish, you'll be aiming it at enemies, at which point the power column will turn the area into a thousand-degree inferno. This will last until the satellites detect the unsafe targeting, shut themselves down, and permanently deactivate the targeter.]],
    verbs = {
      {
        warmupTime = 3,
        range = 44.9,
        burstShotCount = 1,
        onlyManualCast = true,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 1,
        destroyOnEmpty = true,
        hotKey = "Misc4",
        chargeNoun = "charge",
        displayGizmoWhileUndrafted = false,
      },
    },
  },

  ["ThingDef:TornadoGenerator"] = {
    _ = {
      ParentName = "OrbitalUtilityBase",
      DefCategory = "ThingDef",
      FileName = "RangedSpecial.xml",
      DLC = "Core",
    },
    defName = "TornadoGenerator",
    label = "tornado generator",
    description = [[An ancient control unit for a network of weather-control satellites. This device has had certain failsafes bypassed; it is capable of causing a massive air current disturbance, which will generate a tornado at a chosen location. The weather network will detect this unauthorized intrusion and lock out the device after use, but the tornado will be left to spend its energy normally.]],
    statBases = {
      MarketValue = 800,
    },
    verbs = {
      {
        warmupTime = 3,
        spawnDef = "Tornado",
        colonyWideTaleDef = "TornadoFromItem",
        range = 44.9,
        burstShotCount = 1,
        onlyManualCast = true,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 1,
        destroyOnEmpty = true,
        hotKey = "Misc4",
        chargeNoun = "charge",
        displayGizmoWhileUndrafted = false,
      },
    },
  },

  ["ThingDef:PlantBaseNonEdible"] = {
    _ = {
      Name = "PlantBaseNonEdible",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Plants_Bases.xml",
      DLC = "Core",
    },
    category = "Plant",
    thingClass = "Plant",
    altitudeLayer = "LowPlant",
    useHitPoints = true,
    statBases = {
      Flammability = 1,
    },
    pathCostIgnoreRepeat = false,
    plant = {
      fertilityMin = 0.7,
      fertilitySensitivity = 1.0,
      sowWork = 170,
      harvestWork = 200,
    },
  },

  ["ThingDef:PlantBase"] = {
    _ = {
      ParentName = "PlantBaseNonEdible",
      Name = "PlantBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Plants_Bases.xml",
      DLC = "Core",
    },
    ingestible = {
      foodType = {
        "Plant",
      },
      preferability = "RawBad",
    },
  },

  ["ThingDef:BushBase"] = {
    _ = {
      ParentName = "PlantBase",
      Name = "BushBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Plants_Bases.xml",
      DLC = "Core",
    },
    statBases = {
      MaxHitPoints = 120,
      Nutrition = 0.3,
    },
    fillPercent = 0.20,
    pathCost = 30,
    plant = {
      fertilitySensitivity = 0.5,
      growDays = 3,
    },
  },

  ["ThingDef:TreeBase"] = {
    _ = {
      ParentName = "PlantBase",
      Name = "TreeBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Plants_Bases.xml",
      DLC = "Core",
    },
    statBases = {
      MaxHitPoints = 200,
      Flammability = 0.8,
      Nutrition = 1.7,
    },
    altitudeLayer = "Building",
    fillPercent = 0.25,
    passability = "PassThroughOnly",
    pathCost = 42,
    ingestible = {
      foodType = {
        "Tree",
      },
      preferability = "RawBad",
    },
    plant = {
      lifespanDaysPerGrowDays = 9,
      fertilitySensitivity = 0.5,
      sowWork = 4000,
      sowMinSkill = 6,
      sowResearchPrerequisites = {
        "TreeSowing",
      },
      harvestWork = 800,
      harvestedThingDef = "WoodLog",
      harvestYield = 25,
      harvestTag = "Wood",
      harvestMinGrowth = 0.40,
      harvestFailable = false,
      blockAdjacentSow = true,
      sowTags = {
        "Ground",
      },
      interferesWithRoof = true,
    },
  },

  ["ThingDef:CavePlantBase"] = {
    _ = {
      Name = "CavePlantBase",
      ParentName = "PlantBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Plants_Cave.xml",
      DLC = "Core",
    },
    plant = {
      growMinGlow = 0,
      growOptimalGlow = 0,
      cavePlant = true,
    },
  },

  ["ThingDef:Glowstool"] = {
    _ = {
      ParentName = "CavePlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cave.xml",
      DLC = "Core",
    },
    defName = "Glowstool",
    label = "glowstool",
    description = [[A small brown mushroom typically found in caves. It smells like an old, dirty rag pulled from the stomach of a rotting muffalo - but it tastes surprisingly good when cooked. Dies when exposed to light.]],
    statBases = {
      MaxHitPoints = 100,
      Beauty = 2,
      Nutrition = 0.35,
    },
    pathCost = 14,
    plant = {
      fertilityMin = 0.01,
      fertilitySensitivity = 0.15,
      growDays = 40,
      harvestYield = 20,
      harvestTag = "Standard",
      harvestedThingDef = "RawFungus",
    },
    comps = {
      CompProperties_Glower = {
        glowRadius = 10,
        glowColor = {5, 25, 32, 0},
      },
    },
  },

  ["ThingDef:Agarilux"] = {
    _ = {
      ParentName = "CavePlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cave.xml",
      DLC = "Core",
    },
    defName = "Agarilux",
    label = "agarilux",
    description = [[An enormous purple mushroom. Its size and glowing protrusions make this fungus beautiful to look at. It dies when exposed to light.]],
    statBases = {
      MaxHitPoints = 150,
      Beauty = 4,
      Nutrition = 0.5,
    },
    pathCost = 30,
    plant = {
      fertilityMin = 0.01,
      fertilitySensitivity = 0.15,
      growDays = 60,
      harvestYield = 35,
      harvestTag = "Standard",
      harvestedThingDef = "RawFungus",
    },
    comps = {
      CompProperties_Glower = {
        glowRadius = 10,
        glowColor = {23, 15, 30, 0},
      },
    },
  },

  ["ThingDef:Bryolux"] = {
    _ = {
      ParentName = "CavePlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cave.xml",
      DLC = "Core",
    },
    defName = "Bryolux",
    label = "bryolux",
    description = [[A blue moss typically found in deep, dark caves. It is sticky, with tangled fibers, which slows anyone walking over it. Dies when exposed to light.]],
    statBases = {
      MaxHitPoints = 100,
      Beauty = 1,
      Nutrition = 0.15,
    },
    pathCost = 30,
    plant = {
      fertilityMin = 0.01,
      fertilitySensitivity = 0.15,
      growDays = 60,
    },
    comps = {
      CompProperties_Glower = {
        glowRadius = 10,
        glowColor = {5, 5, 25, 0},
      },
    },
  },

  ["ThingDef:Plant_Rose"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Decorative.xml",
      DLC = "Core",
    },
    defName = "Plant_Rose",
    label = "rose",
    description = [[A beautiful cultivated flower, the rose has been a symbol of love since Earth's ancient era.]],
    statBases = {
      MaxHitPoints = 85,
      Beauty = 14,
      Nutrition = 0.05,
    },
    altitudeLayer = "Item",
    ingestible = {
      canAutoSelectAsFoodForCaravan = false,
    },
    plant = {
      harvestTag = "Standard",
      sowWork = 750,
      sowTags = {
        "Ground",
        "Decorative",
      },
      growMinGlow = 0.3,
      growDays = 1.5,
      lifespanDaysPerGrowDays = 5,
    },
  },

  ["ThingDef:Plant_Daylily"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Decorative.xml",
      DLC = "Core",
    },
    defName = "Plant_Daylily",
    label = "daylily",
    description = [[A cultivated flower with wide petals and a short lifespan. Daylilies are very beautiful, but must be replanted often.]],
    statBases = {
      MaxHitPoints = 85,
      Beauty = 18,
      Nutrition = 0.05,
    },
    altitudeLayer = "Item",
    ingestible = {
      canAutoSelectAsFoodForCaravan = false,
    },
    plant = {
      harvestTag = "Standard",
      sowWork = 540,
      sowTags = {
        "Ground",
        "Decorative",
      },
      growMinGlow = 0.3,
      growDays = 1.5,
      lifespanDaysPerGrowDays = 3,
    },
  },

  ["ThingDef:Plant_Rice"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Rice",
    label = "rice plant",
    description = [[A short, fast-growing crop that yields small edible grains. Its great nutritional ouput and ease of cultivation has made it the economic core of many great civilizations. While rice grows quickly, it is sensitive to soil fertility and will not fare well in poor soil.]],
    statBases = {
      MaxHitPoints = 85,
      Nutrition = 0.18,
    },
    pathCost = 14,
    plant = {
      harvestTag = "Standard",
      harvestedThingDef = "RawRice",
      harvestYield = 6,
      sowTags = {
        "Ground",
        "Hydroponic",
      },
      growDays = 3,
    },
  },

  ["ThingDef:Plant_Potato"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Potato",
    label = "potato plant",
    description = [[A highly nutritious tuber. Potatoes grow well even in somewhat poor soil, and form a delicious crispy outer coating when fried in oil.]],
    statBases = {
      MaxHitPoints = 85,
      Nutrition = 0.2,
    },
    pathCost = 14,
    plant = {
      fertilitySensitivity = 0.4,
      harvestTag = "Standard",
      harvestedThingDef = "RawPotatoes",
      harvestYield = 11,
      sowTags = {
        "Ground",
        "Hydroponic",
      },
      growDays = 5.8,
    },
  },

  ["ThingDef:Plant_Corn"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Corn",
    label = "corn plant",
    description = [[A tall grain plant which produces ears of soft, edible seeds. While corn takes a long time to grow, it yields lots of food compared to other crops. Harvested corn takes a long time to spoil.]],
    statBases = {
      MaxHitPoints = 150,
      Nutrition = 0.3,
    },
    pathCost = 14,
    plant = {
      fertilityMin = 0.70,
      harvestTag = "Standard",
      harvestedThingDef = "RawCorn",
      harvestYield = 22,
      sowTags = {
        "Ground",
      },
      growDays = 11.3,
    },
  },

  ["ThingDef:Plant_Strawberry"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Strawberry",
    label = "strawberry plant",
    description = [[A low bush-like plant that yields fragile but delicious strawberries. While it isn't quite as productive calorie-for-calorie as other crops, strawberries are delicious even when raw.]],
    statBases = {
      MaxHitPoints = 85,
      Nutrition = 0.2,
    },
    pathCost = 14,
    plant = {
      growDays = 4.6,
      harvestTag = "Standard",
      harvestedThingDef = "RawBerries",
      harvestYield = 8,
      sowMinSkill = 5,
      sowTags = {
        "Ground",
        "Hydroponic",
      },
    },
  },

  ["ThingDef:Plant_Haygrass"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Haygrass",
    label = "haygrass",
    description = [[A mixture of nutrient-rich grasses which yield large amounts of hay. Hay is edible for animals, but not humans.]],
    statBases = {
      MaxHitPoints = 85,
      Flammability = 1.3,
      Nutrition = 0.2,
    },
    pathCost = 14,
    plant = {
      fertilitySensitivity = 0.6,
      growDays = 7,
      harvestTag = "Standard",
      harvestedThingDef = "Hay",
      harvestYield = 18,
      sowTags = {
        "Ground",
      },
    },
  },

  ["ThingDef:Plant_Cotton"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Cotton",
    label = "cotton plant",
    description = [[A mid-size crop that yields fine white cotton fibers. These are used to make cloth.]],
    statBases = {
      MaxHitPoints = 85,
      Nutrition = 0.2,
    },
    pathCost = 14,
    plant = {
      growDays = 8,
      harvestTag = "Standard",
      harvestedThingDef = "Cloth",
      harvestYield = 10,
      sowTags = {
        "Ground",
        "Hydroponic",
      },
    },
  },

  ["ThingDef:Plant_Devilstrand"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Devilstrand",
    label = "devilstrand",
    description = [[This fragile mushroom was genetically engineered to produce a silk net that is both difficult to tear and soft to the touch. While the mushroom takes a very long time to grow, only exotic ultra-tech fabrics outperform its devilstrand fibers.\n\nSome say it's called devilstrand because of its red color. Others think it owes its name to the greed it inspires in people.]],
    statBases = {
      MaxHitPoints = 85,
      Nutrition = 0.15,
    },
    pathCost = 14,
    plant = {
      growDays = 22.5,
      sowWork = 400,
      harvestTag = "Standard",
      harvestedThingDef = "DevilstrandCloth",
      harvestYield = 6,
      sowTags = {
        "Ground",
      },
      sowMinSkill = 10,
      sowResearchPrerequisites = {
        "Devilstrand",
      },
    },
  },

  ["ThingDef:HealrootBase"] = {
    _ = {
      ParentName = "PlantBase",
      Name = "HealrootBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    statBases = {
      MaxHitPoints = 60,
      Nutrition = 0.15,
    },
    pathCost = 14,
    plant = {
      growDays = 10,
      harvestWork = 400,
      harvestTag = "Standard",
      harvestedThingDef = "MedicineHerbal",
      harvestYield = 1,
    },
  },

  ["ThingDef:Plant_Healroot"] = {
    _ = {
      ParentName = "HealrootBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Healroot",
    label = "healroot",
    description = [[A slow-growing plant which yields herbal medicine when harvested. Sowing and harvesting healroot are both very labor-intensive tasks because of its delicate shoots.\n\nHealroot was selectively bred for centuries by settlers. It is sometimes also called "healer's hand" by tribespeople - a nickname it owes to its five major medicinal virtues.]],
    plant = {
      growDays = 7,
      sowWork = 800,
      sowMinSkill = 8,
      sowTags = {
        "Ground",
        "Hydroponic",
      },
    },
  },

  ["ThingDef:Plant_Hops"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Hops",
    label = "hop plant",
    description = [[A flowering crop that yields hops, an essential ingredient in beer.]],
    statBases = {
      MaxHitPoints = 85,
      Nutrition = 0.2,
    },
    pathCost = 14,
    plant = {
      fertilitySensitivity = 0.7,
      growDays = 5,
      harvestTag = "Standard",
      harvestedThingDef = "RawHops",
      harvestYield = 8,
      sowMinSkill = 3,
      sowTags = {
        "Ground",
        "Hydroponic",
      },
    },
  },

  ["ThingDef:Plant_Smokeleaf"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Smokeleaf",
    label = "smokeleaf plant",
    description = [[A leafy crop grown for the psychological effects of chemicals in its leaves. Smokeleaf leaves can be prepared into joints at the crafting spot. Smokeleaf makes a user feel relaxed, but reduces motivation, and can be addictive.]],
    statBases = {
      MaxHitPoints = 85,
      Nutrition = 0.15,
    },
    pathCost = 14,
    plant = {
      growDays = 7.50,
      harvestTag = "Standard",
      harvestedThingDef = "SmokeleafLeaves",
      harvestYield = 9,
      sowMinSkill = 4,
      sowTags = {
        "Ground",
        "Hydroponic",
      },
    },
  },

  ["ThingDef:Plant_Psychoid"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_Psychoid",
    label = "psychoid plant",
    description = [[A leafy plant which generates the chemical compound psychite. Originally evolved as a defense mechanism to ward off plant-eating animals by overstimulating and sickening them, the psychite drug can be extracted and refined into various forms for recreational use. It is addictive.]],
    statBases = {
      MaxHitPoints = 85,
      Nutrition = 0.15,
    },
    pathCost = 14,
    plant = {
      growDays = 9.00,
      harvestTag = "Standard",
      harvestedThingDef = "PsychoidLeaves",
      harvestYield = 8,
      sowMinSkill = 6,
      sowTags = {
        "Ground",
        "Hydroponic",
      },
    },
  },

  ["ThingDef:Plant_TreeCocoa"] = {
    _ = {
      ParentName = "TreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Cultivated_Farm.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeCocoa",
    label = "cocoa tree",
    description = [[A tropical tree that produces chocolate, genetically engineered to sweeten its own product, and survive in slightly less-warm climates.]],
    statBases = {
      Beauty = 2,
      Nutrition = 1.25,
    },
    plant = {
      growDays = 16,
      sowMinSkill = 8,
      sowTags = {
        "Ground",
      },
      sowResearchPrerequisites = {
        _ = {
          Inherit = false,
        },
        "Cocoa",
      },
      harvestWork = 400,
      harvestTag = "Standard",
      harvestYield = 20,
      harvestedThingDef = "Chocolate",
      harvestFailable = true,
    },
  },

  ["ThingDef:BurnedTree"] = {
    _ = {
      DefCategory = "ThingDef",
      FileName = "Plants_Special.xml",
      DLC = "Core",
    },
    defName = "BurnedTree",
    label = "burned tree",
    description = [[A burned tree stump. It's ugly and yields no usable wood.]],
    category = "Plant",
    thingClass = "DeadPlant",
    altitudeLayer = "Building",
    useHitPoints = true,
    statBases = {
      MaxHitPoints = 100,
      Flammability = 0,
      DeteriorationRate = 4,
      Beauty = -8,
    },
    fillPercent = 0.20,
    pathCostIgnoreRepeat = false,
    passability = "PassThroughOnly",
    pathCost = 14,
    plant = {
      harvestWork = 180,
      harvestYield = 0,
      fertilityMin = 0.01,
      fertilitySensitivity = 0,
      blockAdjacentSow = true,
      harvestedThingDef = "WoodLog",
      harvestFailable = false,
      harvestTag = "Wood",
      growDays = 30,
      growMinGlow = 0,
      lifespanDaysPerGrowDays = 0,
    },
  },

  ["ThingDef:Plant_Ambrosia"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Special.xml",
      DLC = "Core",
    },
    defName = "Plant_Ambrosia",
    label = "ambrosia bush",
    description = [[A rare wild bush which yields the ambrosia fruit. Ambrosia fruit is delicious and produces a drug-like mood boost. Ambrosia cannot be farmed, which makes wild ambrosia groves very valuable.\n\nIts rarity, beauty, and desirability are why ambrosia was named after the food of the ancient Greek gods.]],
    statBases = {
      MaxHitPoints = 100,
      Nutrition = 0.35,
    },
    pathCost = 14,
    plant = {
      fertilitySensitivity = 0.15,
      growDays = 6,
      harvestYield = 4,
      harvestTag = "Standard",
      harvestedThingDef = "Ambrosia",
    },
  },

  ["ThingDef:Plant_Agave"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Arid.xml",
      DLC = "Core",
    },
    defName = "Plant_Agave",
    label = "agave",
    description = [[A large-leafed desert plant with edible flowers and stalks.]],
    statBases = {
      MaxHitPoints = 120,
      Nutrition = 0.2,
    },
    fillPercent = 0.20,
    pathCost = 30,
    plant = {
      fertilitySensitivity = 0.5,
      growDays = 6,
      harvestTag = "Standard",
      harvestedThingDef = "RawAgave",
      harvestYield = 10,
      harvestWork = 300,
    },
  },

  ["ThingDef:Plant_PincushionCactus"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Arid.xml",
      DLC = "Core",
    },
    defName = "Plant_PincushionCactus",
    label = "pincushion cactus",
    description = [[A short cactus. It is so named because it resembles a pincushion.]],
    statBases = {
      MaxHitPoints = 150,
      Nutrition = 0.25,
    },
    pathCost = 30,
    plant = {
      fertilityMin = 0.05,
      fertilitySensitivity = 0,
      growDays = 2.5,
    },
  },

  ["ThingDef:Plant_SaguaroCactus"] = {
    _ = {
      ParentName = "TreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Arid.xml",
      DLC = "Core",
    },
    defName = "Plant_SaguaroCactus",
    label = "saguaro cactus",
    description = [[A large cactus native to arid Earth environments. Though it is not a tree, it yields a small amount of fibrous material that can be used like wood.]],
    statBases = {
      MaxHitPoints = 130,
      Nutrition = 1.5,
    },
    fillPercent = 0.35,
    plant = {
      lifespanDaysPerGrowDays = 40,
      fertilityMin = 0.05,
      fertilitySensitivity = 0,
      growDays = 5,
      harvestWork = 300,
      harvestYield = 15,
      harvestMinGrowth = 0.2,
    },
  },

  ["ThingDef:Plant_TreeDrago"] = {
    _ = {
      ParentName = "TreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Arid.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeDrago",
    label = "drago tree",
    description = [[A hardy desert tree topped with thick, pointed leaves.]],
    statBases = {
      Beauty = 1,
      Nutrition = 1,
    },
    plant = {
      growDays = 15,
      harvestWork = 750,
      harvestYield = 25,
    },
  },

  ["ThingDef:Plant_Grass"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_General.xml",
      DLC = "Core",
    },
    defName = "Plant_Grass",
    label = "grass",
    description = [[Wild grass. Grows anywhere there is a little light and minimally fertile ground.]],
    statBases = {
      MaxHitPoints = 85,
      Flammability = 1.3,
      Nutrition = 0.25,
    },
    plant = {
      fertilityMin = 0.05,
      fertilitySensitivity = 0.3,
      growDays = 2.5,
      harvestWork = 40,
    },
  },

  ["ThingDef:Plant_TallGrass"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_General.xml",
      DLC = "Core",
    },
    defName = "Plant_TallGrass",
    label = "tall grass",
    description = [[Wild tall grass. Slows down anyone moving over it.]],
    statBases = {
      MaxHitPoints = 90,
      Flammability = 1.3,
      Nutrition = 0.30,
    },
    pathCost = 14,
    plant = {
      fertilitySensitivity = 0.7,
      growDays = 3,
      harvestWork = 60,
    },
  },

  ["ThingDef:Plant_Bush"] = {
    _ = {
      ParentName = "BushBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_General.xml",
      DLC = "Core",
    },
    defName = "Plant_Bush",
    label = "bush",
    description = [[A short shrub. Does not typically talk.]],
    plant = {
      growDays = 3,
    },
  },

  ["ThingDef:Plant_Brambles"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_General.xml",
      DLC = "Core",
    },
    defName = "Plant_Brambles",
    label = "brambles",
    description = [[Tangled, thorny, woody shoots covered with leaves. Brambles grow in clusters, and slow down anyone moving over them.]],
    statBases = {
      MaxHitPoints = 100,
      Nutrition = 0.2,
    },
    pathCost = 14,
    plant = {
      fertilitySensitivity = 0.7,
      growDays = 3,
      harvestWork = 60,
    },
  },

  ["ThingDef:Plant_HealrootWild"] = {
    _ = {
      ParentName = "HealrootBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_General.xml",
      DLC = "Core",
    },
    defName = "Plant_HealrootWild",
    label = "wild healroot",
    description = [[A slow-growing plant which yields herbal medicine when harvested.\n\nThis wild breed of healroot is hardier than domesticated healroot, but too difficult to cultivate. It is prized by tribespeople in colder climates.]],
  },

  ["ThingDef:Plant_TreeWillow"] = {
    _ = {
      ParentName = "DeciduousTreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Swamp.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeWillow",
    label = "willow tree",
    description = [[One of the fastest growing shade trees, willows provide a beautiful, leafy canopy. It doesn't yield much usable wood.]],
    statBases = {
      Beauty = 2,
    },
    plant = {
      growDays = 13,
      harvestWork = 800,
      harvestYield = 27,
    },
  },

  ["ThingDef:Plant_TreeCypress"] = {
    _ = {
      ParentName = "DeciduousTreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Swamp.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeCypress",
    label = "cypress tree",
    description = [[A tall coniferous tree often found in swamps. Despite its slow growth, planting these trees can be profitable as a low-effort, long-term investment because they yield so much usable wood.]],
    statBases = {
      Beauty = 1,
    },
    plant = {
      growDays = 35,
      harvestWork = 1800,
      harvestYield = 60,
    },
  },

  ["ThingDef:Plant_TreeMaple"] = {
    _ = {
      ParentName = "DeciduousTreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Swamp.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeMaple",
    label = "maple tree",
    description = [[A common medium-sized tree, easily identifiable by its distinct three-pointed leaf.]],
    statBases = {
      Beauty = 2,
    },
    plant = {
      growDays = 27,
      harvestWork = 800,
      harvestYield = 27,
    },
  },

  ["ThingDef:Plant_Chokevine"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Swamp.xml",
      DLC = "Core",
    },
    defName = "Plant_Chokevine",
    label = "chokevine",
    description = [[Tangled masses of cord-like, spiky vines which coil in great masses along the ground. Chokevine greatky slows down anyone who moves over it. Multiple tribes have independently generated stories of chokevine strangling children to death in the night, as a way to scare kids into coming home before dark.]],
    statBases = {
      MaxHitPoints = 100,
      Nutrition = 0.25,
    },
    pathCost = 42,
    plant = {
      fertilitySensitivity = 0.7,
      growDays = 5,
      harvestWork = 150,
    },
  },

  ["ThingDef:Plant_Dandelion"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Temperate.xml",
      DLC = "Core",
    },
    defName = "Plant_Dandelion",
    label = "dandelions",
    description = [[A tiny yellow flower which grows in large clusters. Though it is often considered a weed, dandelions in bloom are quite beautiful.]],
    statBases = {
      MaxHitPoints = 85,
      Beauty = 4,
      Nutrition = 0.18,
    },
    plant = {
      fertilitySensitivity = 0.0,
      growDays = 2.5,
      sowTags = {
        "Ground",
      },
      fertilityMin = 0.05,
    },
  },

  ["ThingDef:Plant_Astragalus"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Temperate.xml",
      DLC = "Core",
    },
    defName = "Plant_Astragalus",
    label = "astragalus",
    description = [[A small perennial wildflower that grows in alpine climates.]],
    statBases = {
      MaxHitPoints = 85,
      Beauty = 4,
      Nutrition = 0.18,
    },
    plant = {
      fertilityMin = 0.05,
      fertilitySensitivity = 0,
      growDays = 2.5,
    },
  },

  ["ThingDef:Plant_Moss"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Temperate.xml",
      DLC = "Core",
    },
    defName = "Plant_Moss",
    label = "moss",
    description = [[Wild moss that grows in clumps in areas of low light and cool temperatures. Moss takes a long time to grow, but is very frost-resistant.]],
    statBases = {
      MaxHitPoints = 120,
      Flammability = 0.6,
      Nutrition = 0.15,
    },
    plant = {
      fertilityMin = 0.05,
      fertilitySensitivity = 0,
      growDays = 15,
      harvestWork = 60,
    },
  },

  ["ThingDef:Plant_Berry"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Temperate.xml",
      DLC = "Core",
    },
    defName = "Plant_Berry",
    label = "berry bush",
    description = [[A bushy wild plant which yields delicious berries. Berries can be cooked, but they're also good to eat even when raw.]],
    statBases = {
      MaxHitPoints = 120,
      Nutrition = 0.35,
    },
    fillPercent = 0.20,
    pathCost = 30,
    plant = {
      fertilityMin = 0.5,
      fertilitySensitivity = 0.5,
      growDays = 6,
      harvestYield = 10,
      harvestWork = 250,
      harvestTag = "Standard",
      harvestedThingDef = "RawBerries",
    },
  },

  ["ThingDef:Plant_TreeOak"] = {
    _ = {
      ParentName = "DeciduousTreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Temperate.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeOak",
    label = "oak tree",
    description = [[A hardwood tree. Oaks take a long time to grow, but their wood is so strong that 'oak' is used as a metaphor for strength across many cultures.]],
    statBases = {
      Beauty = 2,
    },
    plant = {
      growDays = 30,
      harvestWork = 1400,
      harvestYield = 46,
    },
  },

  ["ThingDef:Plant_TreePoplar"] = {
    _ = {
      ParentName = "DeciduousTreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Temperate.xml",
      DLC = "Core",
    },
    defName = "Plant_TreePoplar",
    label = "poplar tree",
    description = [[A softwood tree that grows very fast. Unfortunately, its wood is weak and so it yields less useful material than hardwood trees.]],
    statBases = {
      Beauty = 1,
      Nutrition = 1,
    },
    plant = {
      growDays = 15.05,
      harvestWork = 800,
      harvestYield = 27,
    },
  },

  ["ThingDef:Plant_TreePine"] = {
    _ = {
      ParentName = "TreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Temperate.xml",
      DLC = "Core",
    },
    defName = "Plant_TreePine",
    label = "pine tree",
    description = [[A large conifer covered with prickly pine cones. It grows in a distinctive conical shape.]],
    statBases = {
      Beauty = 2,
      Nutrition = 1.25,
    },
    plant = {
      growDays = 20,
      harvestWork = 800,
      harvestYield = 27,
    },
  },

  ["ThingDef:Plant_TreeBirch"] = {
    _ = {
      ParentName = "DeciduousTreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Temperate.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeBirch",
    label = "birch tree",
    description = [[A temperate-biome tree known for its thin, white, paper-like bark.]],
    statBases = {
      Beauty = 2,
      Nutrition = 1.25,
    },
    plant = {
      growDays = 20,
      harvestWork = 800,
      harvestYield = 27,
    },
  },

  ["ThingDef:Plant_ShrubLow"] = {
    _ = {
      ParentName = "PlantBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Tropical.xml",
      DLC = "Core",
    },
    defName = "Plant_ShrubLow",
    label = "low shrubs",
    description = [[Various low broadleaf shrubs. These grow in clusters and slow down movement.]],
    statBases = {
      MaxHitPoints = 90,
      Nutrition = 0.2,
    },
    pathCost = 14,
    plant = {
      fertilitySensitivity = 0.7,
      growDays = 3,
      harvestWork = 60,
    },
  },

  ["ThingDef:Plant_Alocasia"] = {
    _ = {
      ParentName = "BushBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Tropical.xml",
      DLC = "Core",
    },
    defName = "Plant_Alocasia",
    label = "alocasia",
    description = [[A tropical plant. Its extremely broad leaves are a commonly-recognized signifier of tropical forests.]],
  },

  ["ThingDef:Plant_Clivia"] = {
    _ = {
      ParentName = "BushBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Tropical.xml",
      DLC = "Core",
    },
    defName = "Plant_Clivia",
    label = "clivia",
    description = [[An unusual plant with tall, pretty flowers. Some call it the 'bush lily'.]],
    statBases = {
      Beauty = 2,
    },
  },

  ["ThingDef:Plant_Rafflesia"] = {
    _ = {
      ParentName = "BushBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Tropical.xml",
      DLC = "Core",
    },
    defName = "Plant_Rafflesia",
    label = "giant rafflesia",
    description = [[A rare, giant flower which can be found deep in steaming jungles. You would think a giant flower would be beautiful, but this one looks and smells like rotting flesh.]],
    statBases = {
      Beauty = -6,
    },
  },

  ["ThingDef:Plant_TreeTeak"] = {
    _ = {
      ParentName = "DeciduousTreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Tropical.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeTeak",
    label = "teak tree",
    description = [[An exceptionally strong hardwood tree that grows in warm climates. Because teak wood is so durable and water-resistant, it was used to form the keel of wooden sailing ships in ancient times.]],
    statBases = {
      Beauty = 2,
    },
    plant = {
      growDays = 32.5,
      harvestWork = 1800,
      harvestYield = 60,
    },
  },

  ["ThingDef:Plant_TreeCecropia"] = {
    _ = {
      ParentName = "TreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Tropical.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeCecropia",
    label = "cecropia tree",
    description = [[One of the most common rainforest trees. Cecropia grows very fast, but yields little usable wood.]],
    statBases = {
      Beauty = 1,
      Nutrition = 1.2,
    },
    plant = {
      growDays = 14,
      harvestWork = 600,
      harvestYield = 18,
    },
  },

  ["ThingDef:Plant_TreePalm"] = {
    _ = {
      ParentName = "TreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Tropical.xml",
      DLC = "Core",
    },
    defName = "Plant_TreePalm",
    label = "palm tree",
    description = [[A tropical tree with a tall, naked trunk topped by a cluster of very broad leaves. Unfortunately, this variety doesn't produce any edible coconuts.]],
    statBases = {
      Beauty = 1,
      Nutrition = 1.2,
    },
    plant = {
      growDays = 14,
      harvestWork = 600,
      harvestYield = 18,
    },
  },

  ["ThingDef:Plant_TreeBamboo"] = {
    _ = {
      ParentName = "TreeBase",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild_Tropical.xml",
      DLC = "Core",
    },
    defName = "Plant_TreeBamboo",
    label = "bamboo tree",
    description = [[A fast-growing tree-like plant that grows in dense groves. Bamboo can be harvested for a wood-like material. The plant itself is not beautiful.]],
    statBases = {
      Nutrition = 1.2,
    },
    plant = {
      growDays = 12,
      harvestWork = 550,
      harvestYield = 10,
    },
  },

  ["ThingDef:Muffalo"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Arid.xml",
      DLC = "Core",
    },
    defName = "Muffalo",
    label = "muffalo",
    description = [[A large herding herbivore descended from buffalo and adapted for both cold and warm environments. While enraged muffalo are deadly, tamed muffalo are quite docile and can be used as pack animals.\n\nNobody is quite sure why they're blue - it might even be some early genetic modification test that just never got changed.]],
    statBases = {
      MoveSpeed = 4.5,
      MarketValue = 300,
      ComfyTemperatureMin = -55,
      ComfyTemperatureMax = 45,
    },
    tools = {
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 13,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "HeadAttackTool",
      },
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
    },
    comps = {
      CompProperties_Shearable = {
        woolDef = "WoolMuffalo",
        shearIntervalDays = 25,
        woolAmount = 100,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 2.1,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Bluefur",
      gestationPeriodDays = 28,
      wildness = 0.6,
      trainability = "Simple",
      lifeExpectancy = 15,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.25,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Gazelle"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Arid.xml",
      DLC = "Core",
    },
    defName = "Gazelle",
    label = "gazelle",
    description = [[A small, extremely quick antelope known for its amazingly long leap.]],
    statBases = {
      MoveSpeed = 6.0,
      ComfyTemperatureMin = -10,
      MarketValue = 150,
    },
    tools = {
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 5.5,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 5.5,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 0.7,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      wildness = 0.75,
      gestationPeriodDays = 22,
      lifeExpectancy = 12,
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.20,
        },
        {
          def = "AnimalAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
    },
  },

  ["ThingDef:Iguana"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Arid.xml",
      DLC = "Core",
    },
    defName = "Iguana",
    label = "iguana",
    description = [[These large lizards normally feed on plant matter. However, when angered, their tough hide and sharp claws make them quite dangerous.\n\nResting iguanas hold their heads high, giving them an amusing 'proud' look. But they're not proud; they're just trying to see predators so they don't get eaten.]],
    statBases = {
      MoveSpeed = 3.0,
      MarketValue = 100,
      ComfyTemperatureMin = 0,
      ComfyTemperatureMax = 60,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftClaws",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightClaws",
      },
      {
        capacities = {
          "Bite",
        },
        power = 10,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    comps = {
      CompProperties_EggLayer = {
        eggFertilizedDef = "EggIguanaFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 15,
        eggProgressUnfertilizedMax = 0.5,
        eggCountRange = { ["<"]=1, [">"]=2 },
      },
    },
    race = {
      baseBodySize = 0.20,
      foodType = {
        "OmnivoreRoughAnimal",
      },
      leatherDef = "Leather_Lizard",
      wildness = 0.5,
      trainability = "None",
      petness = 0.15,
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.09,
        },
        {
          def = "AnimalAdult",
          minAge = 0.25,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Dromedary"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Arid.xml",
      DLC = "Core",
    },
    defName = "Dromedary",
    label = "dromedary",
    description = [[A large land mammal adapted to arid environments. Domesticated since ancient times, its wool and leather are both exceptionally good at insulating against the desert heat, and its milk is quite nourishing. It can be used as a pack animal, but its bouncing gait makes it too uncomfortable to ride for any distance.\n\nBy storing water in its large humps and reclaiming moisture from its breath as it exhales, it can go weeks without drinking.]],
    statBases = {
      MoveSpeed = 4.3,
      MarketValue = 300,
      ComfyTemperatureMin = -22,
      ComfyTemperatureMax = 60,
    },
    comps = {
      CompProperties_Milkable = {
        milkDef = "Milk",
        milkIntervalDays = 2,
        milkAmount = 12,
      },
    },
    tools = {
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 2.0,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Camel",
      wildness = 0.25,
      trainability = "Simple",
      gestationPeriodDays = 28,
      lifeExpectancy = 45,
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.25,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:BasePawn"] = {
    _ = {
      Name = "BasePawn",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Base.xml",
      DLC = "Core",
    },
    thingClass = "Pawn",
    category = "Pawn",
    altitudeLayer = "Pawn",
    useHitPoints = false,
    statBases = {
      Mass = 60,
      Flammability = 0.7,
    },
    comps = {
      {
        compClass = "CompAttachBase",
      },
    },
  },

  ["ThingDef:AnimalThingBase"] = {
    _ = {
      ParentName = "BasePawn",
      Name = "AnimalThingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Base.xml",
      DLC = "Core",
    },
    statBases = {
      LeatherAmount = 30,
    },
    race = {
      manhunterOnDamageChance = 0.02,
      manhunterOnTameFailChance = 0.013,
      trainability = "Intermediate",
    },
  },

  ["ThingDef:BaseBear"] = {
    _ = {
      Abstract = true,
      ParentName = "AnimalThingBase",
      Name = "BaseBear",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Bears.xml",
      DLC = "Core",
    },
    statBases = {
      MoveSpeed = 4.6,
      ComfyTemperatureMin = -40,
      MarketValue = 700,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 17,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 17,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 23.6,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 11,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = false,
      baseBodySize = 2.15,
      foodType = {
        "OmnivoreAnimal",
        "OvivoreAnimal",
      },
      leatherDef = "Leather_Bear",
      gestationPeriodDays = 30,
      wildness = 0.80,
      lifeExpectancy = 22,
      trainability = "Advanced",
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.4,
        },
        {
          def = "AnimalAdult",
          minAge = 0.8,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:Bear_Grizzly"] = {
    _ = {
      ParentName = "BaseBear",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Bears.xml",
      DLC = "Core",
    },
    defName = "Bear_Grizzly",
    label = "grizzly bear",
    description = [[A huge omnivorous mammal adapted for cold climates. Bears' thick blubber and fur keeps them warm in winter.\n\nWhile their usual diet consists of fish, berries, honey, and scavenged meat, the grizzly is capable of using its massive strength and deadly claws to kill live prey. They are startlingly quick for such lumbering creatures.]],
    race = {
      wildness = 0.80,
    },
  },

  ["ThingDef:Bear_Polar"] = {
    _ = {
      ParentName = "BaseBear",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Bears.xml",
      DLC = "Core",
    },
    defName = "Bear_Polar",
    label = "polar bear",
    description = [[A great white bear adapted for frozen climates. Their thick blubber and fur keep them warm in winter.\n\nWhile their usual diet consists of fish and scavenged meat, the polar bear can also use its massive strength and deadly claws to kill live prey. They are startlingly quick for such lumbering creatures.]],
    statBases = {
      ComfyTemperatureMin = -55,
    },
    race = {
      wildness = 0.85,
    },
  },

  ["ThingDef:BigCatThingBase"] = {
    _ = {
      ParentName = "AnimalThingBase",
      Name = "BigCatThingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Races_Animal_BigCats.xml",
      DLC = "Core",
    },
    statBases = {
      MoveSpeed = 5.0,
      MarketValue = 400,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 11,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 11,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 16,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = false,
      baseBodySize = 1.4,
      foodType = {
        "CarnivoreAnimal",
        "OvivoreAnimal",
      },
      leatherDef = "Leather_Panthera",
      wildness = 0.80,
      trainability = "Advanced",
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
      gestationPeriodDays = 26,
      lifeExpectancy = 13,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.25,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:Cougar"] = {
    _ = {
      ParentName = "BigCatThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_BigCats.xml",
      DLC = "Core",
    },
    defName = "Cougar",
    label = "cougar",
    description = [[One of the most dangerous big cats, cougars are solitary hunters with long, sharp teeth and claws. They stalk prey from hidden positions before pouncing.\n\nWhile humans are not their normal diet, they won't turn down a meal of vulnerable human meat.]],
    statBases = {
      ComfyTemperatureMin = -25,
    },
  },

  ["ThingDef:Panther"] = {
    _ = {
      ParentName = "BigCatThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_BigCats.xml",
      DLC = "Core",
    },
    defName = "Panther",
    label = "panther",
    description = [[An agile and powerful big cat native to the jungles of old Earth. As solitary ambush predators, panthers are masters of taking down both large and small prey. Onlookers tend to focus on their graceful movements, while those in closer contact usually notice their skull-crushing strength.]],
    statBases = {
      ComfyTemperatureMin = -8,
      ComfyTemperatureMax = 50,
    },
  },

  ["ThingDef:Lynx"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_BigCats.xml",
      DLC = "Core",
    },
    defName = "Lynx",
    label = "lynx",
    description = [[A wildcat larger than a housecat, but smaller than a cougar. Lynxes survive on a diet of small birds and animals. Their very warm fur keeps them safe from the brutally cold temperatures of their frozen territories.]],
    statBases = {
      MoveSpeed = 5.0,
      ComfyTemperatureMin = -50,
      MarketValue = 250,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 9,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 9,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 12,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = false,
      baseBodySize = 0.8,
      foodType = {
        "CarnivoreAnimal",
        "OvivoreAnimal",
      },
      leatherDef = "Leather_Panthera",
      wildness = 0.80,
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
      gestationPeriodDays = 26,
      lifeExpectancy = 9,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:BigBirdThingBase"] = {
    _ = {
      ParentName = "AnimalThingBase",
      Name = "BigBirdThingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Birds.xml",
      DLC = "Core",
    },
    race = {
      leatherDef = "Leather_Bird",
      gestationPeriodDays = 24,
      lifeStageAges = {
        {
          def = "AnimalBabyTiny",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.22,
        },
        {
          def = "AnimalAdult",
          minAge = 0.45,
        },
      },
    },
  },

  ["ThingDef:Cassowary"] = {
    _ = {
      ParentName = "BigBirdThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Birds.xml",
      DLC = "Core",
    },
    defName = "Cassowary",
    label = "cassowary",
    description = [[A large flightless bird with brightly-colored feathers. While it looks beautiful, its kick is vicious. It's known for being quick to aggression when harmed by violence or confronted by incompetent animal tamers.]],
    statBases = {
      MoveSpeed = 4.6,
      MarketValue = 200,
      ComfyTemperatureMin = -8,
      ComfyTemperatureMax = 50,
    },
    race = {
      herdAnimal = false,
      baseBodySize = 0.8,
      foodType = {
        "VegetarianRoughAnimal",
      },
      wildness = 0.80,
      lifeExpectancy = 45,
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
    },
    comps = {
      CompProperties_EggLayer = {
        eggFertilizedDef = "EggCassowaryFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 17,
        eggProgressUnfertilizedMax = 0.5,
        eggCountRange = 1,
      },
    },
    tools = {
      {
        label = "claws",
        capacities = {
          "Scratch",
        },
        power = 7,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "Feet",
      },
      {
        label = "beak",
        capacities = {
          "Bite",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Beak",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Emu"] = {
    _ = {
      ParentName = "BigBirdThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Birds.xml",
      DLC = "Core",
    },
    defName = "Emu",
    label = "emu",
    description = [[A large flightless bird with beady eyes on its ugly face. With its bad attitude, it is the jerk of the natural world. Bother it, and it is guaranteed to seek revenge.]],
    statBases = {
      MoveSpeed = 5.5,
      MarketValue = 200,
      ComfyTemperatureMin = -8,
      ComfyTemperatureMax = 50,
    },
    race = {
      herdAnimal = false,
      baseBodySize = 0.8,
      foodType = {
        "VegetarianRoughAnimal",
      },
      wildness = 0.95,
      lifeExpectancy = 45,
      manhunterOnTameFailChance = 1.00,
      manhunterOnDamageChance = 1.00,
    },
    comps = {
      CompProperties_EggLayer = {
        eggFertilizedDef = "EggEmuFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 17,
        eggProgressUnfertilizedMax = 0.5,
        eggCountRange = 1,
      },
    },
    tools = {
      {
        label = "claws",
        capacities = {
          "Scratch",
        },
        power = 8,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "Feet",
      },
      {
        label = "beak",
        capacities = {
          "Bite",
        },
        power = 9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Beak",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Ostrich"] = {
    _ = {
      ParentName = "BigBirdThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Birds.xml",
      DLC = "Core",
    },
    defName = "Ostrich",
    label = "ostrich",
    description = [[The largest unmodified bird species, ostriches are known for their fast run, huge eggs, and powerful kick. It is easily angered.]],
    statBases = {
      MoveSpeed = 6.0,
      MarketValue = 250,
      ComfyTemperatureMin = -8,
      ComfyTemperatureMax = 50,
    },
    race = {
      herdAnimal = false,
      baseBodySize = 1.0,
      foodType = {
        "VegetarianRoughAnimal",
      },
      wildness = 0.95,
      lifeExpectancy = 45,
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
    },
    comps = {
      CompProperties_EggLayer = {
        eggFertilizedDef = "EggOstrichFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 19,
        eggProgressUnfertilizedMax = 0.5,
        eggCountRange = 1,
      },
    },
    tools = {
      {
        label = "claws",
        capacities = {
          "Scratch",
        },
        power = 11,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "Feet",
      },
      {
        label = "beak",
        capacities = {
          "Bite",
        },
        power = 11,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Beak",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Turkey"] = {
    _ = {
      ParentName = "BigBirdThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Birds.xml",
      DLC = "Core",
    },
    defName = "Turkey",
    label = "turkey",
    description = [[A short, fat, flightless bird known for its hilarious 'gobbling' call. It has been long domesticated, but also lives in the wild.]],
    statBases = {
      MoveSpeed = 3.6,
      MarketValue = 100,
      ComfyTemperatureMin = -8,
    },
    race = {
      herdAnimal = false,
      baseBodySize = 0.6,
      foodType = {
        "VegetarianRoughAnimal",
      },
      wildness = 0.45,
      trainability = "None",
      lifeExpectancy = 9,
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
    },
    comps = {
      CompProperties_EggLayer = {
        eggFertilizedDef = "EggTurkeyFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 11,
        eggProgressUnfertilizedMax = 0.5,
        eggCountRange = { ["<"]=1, [">"]=1 },
      },
    },
    tools = {
      {
        label = "claws",
        capacities = {
          "Scratch",
        },
        power = 5,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "Feet",
      },
      {
        label = "beak",
        capacities = {
          "Bite",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Beak",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Chicken"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Chicken",
    label = "chicken",
    description = [[The most traditional farm bird, the chicken is raised for its eggs and meat. It grows very quickly and lays eggs very often.]],
    statBases = {
      MoveSpeed = 2.1,
      MarketValue = 50,
      LeatherAmount = 0,
      ComfyTemperatureMin = -10,
    },
    tools = {
      {
        label = "claws",
        capacities = {
          "Scratch",
        },
        power = 2,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "Feet",
      },
      {
        label = "beak",
        capacities = {
          "Bite",
        },
        power = 3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Beak",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 1,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    comps = {
      CompProperties_EggLayer = {
        eggUnfertilizedDef = "EggChickenUnfertilized",
        eggFertilizedDef = "EggChickenFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 2,
        eggCountRange = 1,
      },
    },
    race = {
      baseBodySize = 0.18,
      foodType = {
        "VegetarianRoughAnimal",
      },
      trainability = "None",
      wildness = 0,
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      mateMtbHours = 8,
      lifeExpectancy = 6,
      lifeStageAges = {
        {
          def = "AnimalBabyTiny",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.12,
        },
        {
          def = "AnimalAdult",
          minAge = 0.3,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Pig"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Pig",
    label = "pig",
    description = [[The pig was one of the first animals domesticated by humans. It is commonly raised for meat, and is easy to feed because of its omnivorous diet. Though pigs are self-serving by disposition, they can be trained in complex tasks.]],
    statBases = {
      MoveSpeed = 3.9,
      ComfyTemperatureMin = -5,
      MarketValue = 200,
    },
    tools = {
      {
        capacities = {
          "Bite",
        },
        power = 7.3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.75,
      foodType = {
        "OmnivoreRoughAnimal",
      },
      leatherDef = "Leather_Pig",
      wildness = 0.07,
      trainability = "Advanced",
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      gestationPeriodDays = 17,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {1.7, 1},
          {2.0, 0},
        },
      },
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.1,
        },
        {
          def = "AnimalAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Cow"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Cow",
    label = "cow",
    description = [[A large domesticated ungulate, cows have been bred for millennia to produce huge amounts of milk, meat, and leather. They are exceptionally gentle creatures and will never seek revenge, no matter how many times they are harmed. Most of them are so adapted to farm life that they cannot survive in the wild.]],
    statBases = {
      MoveSpeed = 3.2,
      ComfyTemperatureMin = -10,
      MarketValue = 300,
    },
    comps = {
      CompProperties_Milkable = {
        milkDef = "Milk",
        milkIntervalDays = 1,
        milkAmount = 18,
      },
    },
    tools = {
      {
        capacities = {
          "Bite",
        },
        power = 8.8,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 2.0,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      wildness = 0.05,
      trainability = "None",
      gestationPeriodDays = 20,
      lifeExpectancy = 22,
      manhunterOnDamageChance = 0,
      manhunterOnTameFailChance = 0,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.45,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Alpaca"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Alpaca",
    label = "alpaca",
    description = [[A medium-sized ungulate closely related to the llama, the alpaca is usually raised for its remarkably soft and insulating wool. Alpacas have also been used as pack animals since they hauled cargo on the rugged mountain trails of ancient South America]],
    statBases = {
      MoveSpeed = 4.1,
      ComfyTemperatureMin = -18,
      MarketValue = 350,
      ComfyTemperatureMax = 45,
    },
    tools = {
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 7.3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 7.3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    comps = {
      CompProperties_Shearable = {
        woolDef = "WoolAlpaca",
        shearIntervalDays = 15,
        woolAmount = 100,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 1.0,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Camel",
      wildness = 0.25,
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      gestationPeriodDays = 25,
      lifeExpectancy = 15,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.45,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Duck"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Duck",
    label = "duck",
    description = [[A very common type of farm bird, also appearing in the wild, the duck is raised for its delicious meat. It grows quick but lays eggs quite rarely.]],
    statBases = {
      MoveSpeed = 2.1,
      MarketValue = 60,
      LeatherAmount = 0,
      ComfyTemperatureMin = -10,
    },
    tools = {
      {
        label = "claws",
        capacities = {
          "Scratch",
        },
        power = 3,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "Feet",
      },
      {
        label = "beak",
        capacities = {
          "Bite",
        },
        power = 4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Beak",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 2,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    comps = {
      CompProperties_EggLayer = {
        eggUnfertilizedDef = "EggDuckUnfertilized",
        eggFertilizedDef = "EggDuckFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 3.5,
        eggCountRange = 1,
      },
    },
    race = {
      baseBodySize = 0.18,
      foodType = {
        "VegetarianRoughAnimal",
      },
      trainability = "None",
      wildness = 0,
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      mateMtbHours = 8,
      lifeExpectancy = 6,
      lifeStageAges = {
        {
          def = "AnimalBabyTiny",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.12,
        },
        {
          def = "AnimalAdult",
          minAge = 0.3,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Bison"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Bison",
    label = "bison",
    description = [[A large plant eating mammal appearing in the savannah wilderness. Tamed are quite docile, but enraged are fast and dangerous.]],
    statBases = {
      MoveSpeed = 4.7,
      MarketValue = 350,
      ComfyTemperatureMin = -55,
      ComfyTemperatureMax = 45,
    },
    tools = {
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 15,
        cooldownTime = 2.9,
        linkedBodyPartsGroup = "HeadAttackTool",
      },
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
    },
    comps = {
      CompProperties_Shearable = {
        woolDef = "WoolBison",
        shearIntervalDays = 25,
        woolAmount = 100,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 2.1,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      gestationPeriodDays = 28,
      wildness = 0.6,
      trainability = "Simple",
      manhunterOnDamageChance = 0.1,
      lifeExpectancy = 15,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.25,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Goat"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Goat",
    label = "goat",
    description = [[Naturally curious about the world, goats are among the friendliest domesticated creature bred by mankind.]],
    statBases = {
      MoveSpeed = 3.9,
      ComfyTemperatureMin = -20,
      MarketValue = 200,
    },
    comps = {
      CompProperties_Milkable = {
        milkDef = "Milk",
        milkIntervalDays = 2,
        milkAmount = 12,
      },
    },
    tools = {
      {
        capacities = {
          "Bite",
        },
        power = 7.3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.75,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      wildness = 0.07,
      trainability = "None",
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      gestationPeriodDays = 17,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {1.7, 1},
          {2.0, 0},
        },
      },
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.1,
        },
        {
          def = "AnimalAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Goose"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Goose",
    label = "goose",
    description = [[A domesticated bird kept by humans as poultry for it's eggs and meat. Lays eggs very often, however they take a long time to hatch.]],
    statBases = {
      MoveSpeed = 2.3,
      MarketValue = 90,
      LeatherAmount = 36,
      ComfyTemperatureMin = -10,
    },
    tools = {
      {
        label = "claws",
        capacities = {
          "Scratch",
        },
        power = 3,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "Feet",
      },
      {
        label = "beak",
        capacities = {
          "Bite",
        },
        power = 5.6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Beak",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 2,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    comps = {
      CompProperties_EggLayer = {
        eggUnfertilizedDef = "EggGooseUnfertilized",
        eggFertilizedDef = "EggGooseFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 1.6,
        eggCountRange = 1,
      },
    },
    race = {
      baseBodySize = 0.40,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Bird",
      trainability = "None",
      wildness = 0.6,
      manhunterOnTameFailChance = 0.2,
      manhunterOnDamageChance = 0.25,
      mateMtbHours = 8,
      lifeExpectancy = 8,
      lifeStageAges = {
        {
          def = "AnimalBabyTiny",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.12,
        },
        {
          def = "AnimalAdult",
          minAge = 0.3,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Sheep"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Sheep",
    label = "sheep",
    description = [[Sheep husbandry is practised throughout the majority of the inhabited worlds, however only recently it has been introduced to the rimworlds. Domestic sheep are relatively small herbivores, usually with yellowish wool and medium sized horns.]],
    statBases = {
      MoveSpeed = 4.8,
      MarketValue = 210,
      ComfyTemperatureMin = -55,
      ComfyTemperatureMax = 45,
    },
    tools = {
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 14,
        cooldownTime = 2.9,
        linkedBodyPartsGroup = "HeadAttackTool",
      },
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
    },
    comps = {
      CompProperties_Shearable = {
        woolDef = "WoolSheep",
        shearIntervalDays = 10,
        woolAmount = 45,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 0.75,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      gestationPeriodDays = 17,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {1.7, 1},
          {2.0, 0},
        },
      },
      wildness = 0,
      trainability = "None",
      manhunterOnDamageChance = 0.0,
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.25,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Horse"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Horse",
    label = "horse",
    description = [[A large hoofed mammal with a short coat, a long mane, and a long tail. Horses have been domesticated since ancient times.]],
    statBases = {
      MoveSpeed = 5.8,
      MarketValue = 550,
      ComfyTemperatureMin = -35,
      ComfyTemperatureMax = 45,
    },
    tools = {
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 10,
        cooldownTime = 2.9,
        linkedBodyPartsGroup = "HeadAttackTool",
      },
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 2.0,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      gestationPeriodDays = 28,
      wildness = 0.5,
      petness = 0.6,
      trainability = "Advanced",
      manhunterOnDamageChance = 0.1,
      lifeExpectancy = 30,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.25,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Yak"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Yak",
    label = "yak",
    description = [[Yaks are robust cattle with a bulky frame, short but thick legs, and rounded cloven hooves that are splayed to help them walk in snow.]],
    statBases = {
      MoveSpeed = 3.2,
      ComfyTemperatureMin = -45,
      MarketValue = 320,
    },
    comps = {
      CompProperties_Milkable = {
        milkDef = "Milk",
        milkIntervalDays = 2,
        milkAmount = 12,
      },
    },
    tools = {
      {
        capacities = {
          "Bite",
        },
        power = 8.8,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 1.9,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      wildness = 0.11,
      petness = 0.3,
      trainability = "None",
      gestationPeriodDays = 20,
      lifeExpectancy = 22,
      manhunterOnDamageChance = 0.05,
      manhunterOnTameFailChance = 0.02,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.45,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:GuineaPig"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "GuineaPig",
    label = "guinea pig",
    description = [[Neither a pig or a creature from Guinea, these little rodents are bred to be a household pet and a delicious dinner.]],
    statBases = {
      MoveSpeed = 5.0,
      MarketValue = 150,
      ComfyTemperatureMin = -15,
      ComfyTemperatureMax = 55,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 3.6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 3.6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 5.8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.28,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_GuineaPig",
      wildness = 0.60,
      trainability = "None",
      petness = 0.30,
      mateMtbHours = 8,
      nuzzleMtbHours = 24,
      gestationPeriodDays = 14,
      manhunterOnTameFailChance = 0.02,
      manhunterOnDamageChance = 0,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2.5, 1},
          {3, 0},
        },
      },
      lifeExpectancy = 4,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.15,
        },
        {
          def = "AnimalAdult",
          minAge = 0.30,
        },
      },
    },
    tradeTags = {
      "AnimalPet",
      "AnimalUncommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Donkey"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Farm.xml",
      DLC = "Core",
    },
    defName = "Donkey",
    label = "donkey",
    description = [[A small relative of the horse, domesticated in ancient times for farm work. Its goofy call is simultaneously annoying and endearing.]],
    statBases = {
      MoveSpeed = 5.3,
      MarketValue = 320,
      ComfyTemperatureMin = -25,
      ComfyTemperatureMax = 45,
    },
    tools = {
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 12,
        cooldownTime = 2.9,
        linkedBodyPartsGroup = "HeadAttackTool",
      },
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 1.5,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      gestationPeriodDays = 28,
      wildness = 0.03,
      petness = 0.60,
      trainability = "Advanced",
      manhunterOnDamageChance = 0.05,
      lifeExpectancy = 24,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.25,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Rhinoceros"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Giant.xml",
      DLC = "Core",
    },
    defName = "Rhinoceros",
    label = "rhinoceros",
    description = [[Despite being herbivorous, this large mammal is very easy to enrage. Once angered, its massive strength and sharp horn make it a brutal opponent. It has more muscle in one leg than most humans do in their whole body.]],
    statBases = {
      MoveSpeed = 5.0,
      MarketValue = 700,
      ComfyTemperatureMin = -8,
    },
    tools = {
      {
        label = "horn",
        capacities = {
          "Scratch",
        },
        power = 19,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HornAttackTool",
      },
      {
        label = "horn",
        capacities = {
          "Blunt",
        },
        power = 19,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HornAttackTool",
      },
      {
        capacities = {
          "Bite",
        },
        power = 19,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 15,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 3.0,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Rhinoceros",
      wildness = 0.90,
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
      gestationPeriodDays = 43,
      lifeExpectancy = 45,
      herdAnimal = true,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.3,
        },
        {
          def = "AnimalAdult",
          minAge = 1.0,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:Elephant"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Giant.xml",
      DLC = "Core",
    },
    defName = "Elephant",
    label = "elephant",
    description = [[The largest unmodified land animal. Elephants has a long trunk they use to manipulate objects, and sharp tusks they use to gore attackers. A dead elephant's valuable tusks can be recovered by butchering it.\n\nIntelligent creatures with complex social relationships, elephants can be used as pack animals or trained to carry out the most complex of tasks. They live a long time, and are known to remember events and relationships from many decades before.]],
    statBases = {
      MoveSpeed = 4.8,
      MarketValue = 600,
      ComfyTemperatureMin = -12,
      ComfyTemperatureMax = 50,
    },
    tools = {
      {
        label = "tusk",
        capacities = {
          "Scratch",
          "Stab",
        },
        power = 25,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "TuskAttackTool",
      },
      {
        label = "left foot",
        capacities = {
          "Blunt",
        },
        power = 16.9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right foot",
        capacities = {
          "Blunt",
        },
        power = 16.9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 14,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 4.0,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Elephant",
      gestationPeriodDays = 48,
      wildness = 0.75,
      nuzzleMtbHours = 24,
      trainability = "Advanced",
      lifeExpectancy = 50,
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.8,
        },
        {
          def = "AnimalAdult",
          minAge = 2.0,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Megasloth"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Giant.xml",
      DLC = "Core",
    },
    defName = "Megasloth",
    label = "megasloth",
    description = [[A giant, solitary herbivore with two giant claws for warding off threats. Long extinct after being wiped out by the natives of Earth's American continent, the megasloth was later brought back using advanced cloning and artificial gestators. Its thick hide is exceptionally strong and insulating, and makes a great leather for cold-weather clothing. It is peaceful if left alone, but will shred anyone who disturbs it with its giant claws.]],
    statBases = {
      MoveSpeed = 4.8,
      MarketValue = 700,
      ComfyTemperatureMin = -55,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 21,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 21,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 22,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 15,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 4.0,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Heavy",
      gestationPeriodDays = 55,
      wildness = 0.97,
      trainability = "Advanced",
      nuzzleMtbHours = 60,
      lifeExpectancy = 20,
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 1.0,
        },
        {
          def = "AnimalAdult",
          minAge = 3.0,
        },
      },
    },
    comps = {
      CompProperties_Shearable = {
        woolDef = "WoolMegasloth",
        shearIntervalDays = 50,
        woolAmount = 400,
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:Thrumbo"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Giant.xml",
      DLC = "Core",
    },
    defName = "Thrumbo",
    label = "thrumbo",
    description = [[A gigantic, graceful creature of unknown origin. The thrumbo is gentle by nature, but extremely dangerous when enraged. While its long fur is exceptionally beautiful, its hide is also incredibly resistant to damage. Its razor-sharp horn fetches a huge price.\n\nLegends say that an old thrumbo is the wisest creature in the universe - it simply chooses not to speak.]],
    statBases = {
      MoveSpeed = 5.5,
      MarketValue = 4000,
      ComfyTemperatureMin = -65,
      ComfyTemperatureMax = 50,
      ArmorRating_Sharp = 0.60,
      ArmorRating_Blunt = 0.40,
      ArmorRating_Heat = 0.30,
    },
    tools = {
      {
        label = "horn",
        capacities = {
          "Scratch",
          "Stab",
        },
        power = 23,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HornAttackTool",
      },
      {
        capacities = {
          "Bite",
        },
        power = 28,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "left foot",
        capacities = {
          "Blunt",
        },
        power = 19,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right foot",
        capacities = {
          "Blunt",
        },
        power = 19,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 17,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 4,
      foodType = {
        "VegetarianRoughAnimal",
        "DendrovoreAnimal",
      },
      leatherDef = "Leather_Thrumbo",
      trainability = "Advanced",
      gestationPeriodDays = 60,
      manhunterOnDamageChance = 1.00,
      wildness = 0.985,
      lifeExpectancy = 220,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 2.0,
        },
        {
          def = "AnimalAdult",
          minAge = 4.0,
        },
      },
    },
    tradeTags = {
      "AnimalExotic",
    },
  },

  ["ThingDef:BaseHare"] = {
    _ = {
      Abstract = true,
      ParentName = "AnimalThingBase",
      Name = "BaseHare",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Hares.xml",
      DLC = "Core",
    },
    statBases = {
      MoveSpeed = 6.0,
      MarketValue = 50,
      ComfyTemperatureMin = -30,
    },
    tools = {
      {
        capacities = {
          "Bite",
        },
        power = 3.4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 1.5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.2,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Light",
      wildness = 0.75,
      trainability = "None",
      petness = 0.08,
      mateMtbHours = 8,
      nuzzleMtbHours = 36,
      gestationPeriodDays = 13,
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      litterSizeCurve = {
        points = {
          {1.0, 0},
          {1.5, 1},
          {2.0, 1},
          {2.5, 0},
        },
      },
      lifeExpectancy = 8,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.1,
        },
        {
          def = "AnimalAdult",
          minAge = 0.3,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
    },
  },

  ["ThingDef:Hare"] = {
    _ = {
      ParentName = "BaseHare",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Hares.xml",
      DLC = "Core",
    },
    defName = "Hare",
    label = "hare",
    description = [[This small, solitary herbivore can swiftly hop away from danger.]],
  },

  ["ThingDef:Snowhare"] = {
    _ = {
      ParentName = "BaseHare",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Hares.xml",
      DLC = "Core",
    },
    defName = "Snowhare",
    label = "snowhare",
    description = [[This hardy animal survives the brutal winters of its homelands by burrowing through snow to find edible plants.]],
    statBases = {
      ComfyTemperatureMin = -55,
    },
  },

  ["ThingDef:BaseInsect"] = {
    _ = {
      Abstract = true,
      ParentName = "AnimalThingBase",
      Name = "BaseInsect",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Insect.xml",
      DLC = "Core",
    },
    statBases = {
      ToxicSensitivity = 0,
      ComfyTemperatureMax = 60,
    },
    race = {
      foodType = {
        "OmnivoreAnimal",
        "AnimalProduct",
      },
      manhunterOnDamageChance = 0.35,
      manhunterOnTameFailChance = 0.20,
    },
  },

  ["ThingDef:Megascarab"] = {
    _ = {
      ParentName = "BaseInsect",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Insect.xml",
      DLC = "Core",
    },
    defName = "Megascarab",
    label = "megascarab",
    description = [[A large, genetically-engineered beetle. Once the worker caste of an artifical ecosystem of insectoids designed to fight mechanoid invasions, it is now often seen without its deadlier insectoid cousins. Still, its size and hard shell make it dangerous when it attacks. A eusocial creature, it cannot reproduce individually.]],
    statBases = {
      MoveSpeed = 3.75,
      ArmorRating_Blunt = 0.18,
      ArmorRating_Sharp = 0.72,
      ComfyTemperatureMin = 0,
      MarketValue = 100,
      LeatherAmount = 0,
    },
    tools = {
      {
        label = "mandibles",
        capacities = {
          "Bite",
        },
        power = 5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Mouth",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.1,
      },
    },
    race = {
      baseBodySize = 0.2,
      wildness = 0.95,
      lifeExpectancy = 10,
      lifeStageAges = {
        {
          def = "EusocialInsectLarva",
          minAge = 0,
        },
        {
          def = "EusocialInsectJuvenile",
          minAge = 0.03,
        },
        {
          def = "EusocialInsectAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalInsect",
    },
  },

  ["ThingDef:Spelopede"] = {
    _ = {
      ParentName = "BaseInsect",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Insect.xml",
      DLC = "Core",
    },
    defName = "Spelopede",
    label = "spelopede",
    description = [[A medium-sized bioengineered insectoid the size of a sheep. The spelopede is the middle caste of a hive, taking care of most work tasks as well as fighting with its digging claws. It's dangerous in combat, but slow on open ground.]],
    statBases = {
      MoveSpeed = 3.65,
      ComfyTemperatureMin = -25,
      MarketValue = 200,
      LeatherAmount = 0,
      ArmorRating_Blunt = 0.18,
      ArmorRating_Sharp = 0.18,
    },
    tools = {
      {
        label = "head claw",
        capacities = {
          "Cut",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadClaw",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.8,
      gestationPeriodDays = 12,
      wildness = 0.95,
      lifeExpectancy = 6,
      lifeStageAges = {
        {
          def = "EusocialInsectLarva",
          minAge = 0,
        },
        {
          def = "EusocialInsectJuvenile",
          minAge = 0.03,
        },
        {
          def = "EusocialInsectAdult",
          minAge = 0.2,
        },
      },
    },
    tradeTags = {
      "AnimalInsect",
    },
  },

  ["ThingDef:Megaspider"] = {
    _ = {
      ParentName = "BaseInsect",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Insect.xml",
      DLC = "Core",
    },
    defName = "Megaspider",
    label = "megaspider",
    description = [[Not actually a spider, the megaspider is a genetically-engineered giant insectoid the size of a bear. Designed for heavy work and combat, its thick chitinous armor makes it hard to kill, while its long ripper-blades make it deadly at close quarters. It is, however, quite slow in open terrain.]],
    statBases = {
      MoveSpeed = 3.60,
      ComfyTemperatureMin = -40,
      MarketValue = 500,
      LeatherAmount = 0,
      ArmorRating_Blunt = 0.18,
      ArmorRating_Sharp = 0.27,
    },
    tools = {
      {
        label = "head claw",
        capacities = {
          "Cut",
        },
        power = 12,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "HeadClaw",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 1.2,
      gestationPeriodDays = 12,
      wildness = 0.95,
      lifeExpectancy = 6,
      lifeStageAges = {
        {
          def = "EusocialInsectLarva",
          minAge = 0,
        },
        {
          def = "EusocialInsectJuvenile",
          minAge = 0.03,
        },
        {
          def = "EusocialInsectAdult",
          minAge = 0.2,
        },
      },
    },
    tradeTags = {
      "AnimalInsect",
    },
  },

  ["ThingDef:YorkshireTerrier"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Pet.xml",
      DLC = "Core",
    },
    defName = "YorkshireTerrier",
    label = "yorkshire terrier",
    description = [[A small, even-tempered dog. Originally bred to hunt rats, it later became a show and companionship animal. Some consider it useless, but the mood boost it gives by nuzzling can outweight the cost of feeding it.]],
    statBases = {
      MoveSpeed = 3.1,
      MarketValue = 100,
      ComfyTemperatureMin = -15,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 3.6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 3.6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        label = "cute little teeth",
        capacities = {
          "Bite",
        },
        power = 4.8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      petness = 1,
      baseBodySize = 0.3,
      foodType = {
        "OmnivoreAnimal",
        "OvivoreAnimal",
      },
      leatherDef = "Leather_Dog",
      trainability = "Intermediate",
      wildness = 0,
      nuzzleMtbHours = 12,
      gestationPeriodDays = 24,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2, 1.7},
          {3, 0.7},
          {3.5, 0},
        },
      },
      lifeExpectancy = 15,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.1,
        },
        {
          def = "AnimalAdult",
          minAge = 0.3,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalPet",
    },
  },

  ["ThingDef:Husky"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Pet.xml",
      DLC = "Core",
    },
    defName = "Husky",
    label = "husky",
    description = [[A large, energetic dog with a thick fur coat for remaining comfortable in arctic environments.]],
    statBases = {
      MoveSpeed = 5.0,
      MarketValue = 250,
      ComfyTemperatureMin = -50,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 9.7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 9.7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 14.2,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      petness = 1,
      baseBodySize = 0.86,
      foodType = {
        "OmnivoreAnimal",
        "OvivoreAnimal",
      },
      leatherDef = "Leather_Dog",
      trainability = "Advanced",
      wildness = 0,
      nuzzleMtbHours = 12,
      gestationPeriodDays = 25,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2, 1.7},
          {2.5, 0.7},
          {3, 0},
        },
      },
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.25,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalPet",
    },
  },

  ["ThingDef:LabradorRetriever"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Pet.xml",
      DLC = "Core",
    },
    defName = "LabradorRetriever",
    label = "labrador retriever",
    description = [[A very versatile, medium-sized dog. Originally bred to retrieve birds shot on the hunt, the lab is also an excellent guard dog, play pal, and family friend.]],
    statBases = {
      MoveSpeed = 5.0,
      MarketValue = 250,
      ComfyTemperatureMin = -30,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 8.5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 8.5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 14.2,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      petness = 1,
      baseBodySize = 0.75,
      foodType = {
        "OmnivoreAnimal",
        "OvivoreAnimal",
      },
      leatherDef = "Leather_Dog",
      gestationPeriodDays = 26,
      trainability = "Advanced",
      wildness = 0,
      nuzzleMtbHours = 12,
      manhunterOnDamageChance = 0,
      manhunterOnTameFailChance = 0,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2, 1.7},
          {3, 0.7},
          {3.5, 0},
        },
      },
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.25,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalPet",
    },
  },

  ["ThingDef:Cat"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Pet.xml",
      DLC = "Core",
    },
    defName = "Cat",
    label = "cat",
    description = [[One of mankind's first pets, the cat is a small mammal which hunts vermin. Known for their aloofness, cats are nevertheless popular companions because of their independence, calm disposition, and fine, pettable fur.]],
    statBases = {
      MoveSpeed = 4.4,
      MarketValue = 100,
      ComfyTemperatureMin = -25,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.255,
      foodType = {
        "CarnivoreAnimal",
        "OvivoreAnimal",
      },
      leatherDef = "Leather_Light",
      wildness = 0.2,
      petness = 1,
      trainability = "None",
      nuzzleMtbHours = 12,
      gestationPeriodDays = 24,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2, 1.7},
          {3, 0.7},
          {3.5, 0},
        },
      },
      lifeExpectancy = 10,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.15,
        },
        {
          def = "AnimalAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalPet",
    },
  },

  ["ThingDef:Squirrel"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Rodentlike.xml",
      DLC = "Core",
    },
    defName = "Squirrel",
    label = "squirrel",
    description = [[One of the many hardy rodent species that follows humankind everywhere it spreads. Squirrels are distinguished by their bushy tails, which they use as umbrellas in bad weather.]],
    statBases = {
      MoveSpeed = 5.1,
      MarketValue = 35,
      ComfyTemperatureMin = -35,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.15,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Light",
      wildness = 0.75,
      trainability = "None",
      gestationPeriodDays = 13,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {1.8, 1},
          {2.4, 0},
        },
      },
      lifeExpectancy = 8,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.11,
        },
        {
          def = "AnimalAdult",
          minAge = 0.26,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
    },
  },

  ["ThingDef:Alphabeaver"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Rodentlike.xml",
      DLC = "Core",
    },
    defName = "Alphabeaver",
    label = "alphabeaver",
    description = [[A large beaver-like creature genetically engineered to harvest wood with machine-like efficiency. In the absence of specialized feed, these animals will enter a manic state that compels them to eat trees whole, and are likely to attack if disturbed.]],
    statBases = {
      MoveSpeed = 3.7,
      MarketValue = 250,
      ComfyTemperatureMin = -40,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 7.2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 7.2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 8.5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 0.45,
      foodType = {
        "DendrovoreAnimal",
      },
      leatherDef = "Leather_Light",
      wildness = 0.75,
      gestationPeriodDays = 17,
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {3, 1},
          {3.5, 0},
        },
      },
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.15,
        },
        {
          def = "AnimalAdult",
          minAge = 0.35,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Capybara"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Rodentlike.xml",
      DLC = "Core",
    },
    defName = "Capybara",
    label = "capybara",
    description = [[The largest natural rodent, the capybara is well-adapted for steaming jungle environments.]],
    statBases = {
      MoveSpeed = 3.9,
      MarketValue = 150,
      ComfyTemperatureMin = -10,
      ComfyTemperatureMax = 50,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 8.4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 8.4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 8.5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 0.50,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Light",
      wildness = 0.75,
      petness = 0.08,
      nuzzleMtbHours = 60,
      gestationPeriodDays = 20,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {1.5, 1},
          {2, 0},
        },
      },
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Chinchilla"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Rodentlike.xml",
      DLC = "Core",
    },
    defName = "Chinchilla",
    label = "chinchilla",
    description = [[A small, nimble rodent. Its fur is softer than just about anything in the universe, making it very valuable as a trade good.]],
    statBases = {
      MoveSpeed = 5.0,
      MarketValue = 150,
      ComfyTemperatureMin = -15,
      ComfyTemperatureMax = 55,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 3.6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 3.6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 5.8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.21,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Chinchilla",
      wildness = 0.60,
      trainability = "None",
      petness = 0.20,
      mateMtbHours = 8,
      nuzzleMtbHours = 24,
      gestationPeriodDays = 14,
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2.5, 1},
          {3, 0},
        },
      },
      lifeExpectancy = 9,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.15,
        },
        {
          def = "AnimalAdult",
          minAge = 0.30,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Boomrat"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Rodentlike.xml",
      DLC = "Core",
    },
    defName = "Boomrat",
    label = "boomrat",
    description = [[Either by deliberate genetic weaponization, or as an unusual defense mechanism, these rodent-like creatures create a powerful fire-starting explosion when killed.]],
    statBases = {
      MoveSpeed = 4.6,
      MarketValue = 100,
      ComfyTemperatureMin = -15,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 5.4,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 5.4,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 4.9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.2,
      foodType = {
        "OmnivoreRoughAnimal",
      },
      leatherDef = "Leather_Light",
      wildness = 0.75,
      petness = 0.20,
      mateMtbHours = 8,
      nuzzleMtbHours = 60,
      gestationPeriodDays = 14,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2.5, 1},
          {3, 0},
        },
      },
      lifeExpectancy = 8,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.1,
        },
        {
          def = "AnimalAdult",
          minAge = 0.35,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:Raccoon"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Rodentlike.xml",
      DLC = "Core",
    },
    defName = "Raccoon",
    label = "raccoon",
    description = [[A small, hardy animal that ranges wide across forests and shrubland. It is happy to break into your garbage container, or your kitchen, to eat almost anything.]],
    statBases = {
      MoveSpeed = 4.1,
      MarketValue = 100,
      ComfyTemperatureMin = -30,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.3,
      foodType = {
        "OmnivoreRoughAnimal",
      },
      leatherDef = "Leather_Light",
      wildness = 0.75,
      mateMtbHours = 8,
      gestationPeriodDays = 14,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2, 1},
          {2.5, 0},
        },
      },
      lifeExpectancy = 8,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.15,
        },
        {
          def = "AnimalAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
    },
  },

  ["ThingDef:Rat"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Rodentlike.xml",
      DLC = "Core",
    },
    defName = "Rat",
    label = "rat",
    description = [[A widely-hated rodent known for soiling kitchens and spreading disease, rats have a way of following humans everywhere they go. It eats almost anything and lives almost anywhere.]],
    statBases = {
      MoveSpeed = 4.0,
      MarketValue = 35,
      ComfyTemperatureMin = -30,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 3.6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 3.6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      baseBodySize = 0.15,
      foodType = {
        "OmnivoreRoughAnimal",
      },
      leatherDef = "Leather_Light",
      wildness = 0.50,
      trainability = "None",
      petness = 0.15,
      manhunterOnTameFailChance = 0,
      manhunterOnDamageChance = 0,
      mateMtbHours = 8,
      gestationPeriodDays = 12,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2.2, 1},
          {2.8, 0},
        },
      },
      lifeExpectancy = 8,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.07,
        },
        {
          def = "AnimalAdult",
          minAge = 0.3,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
    },
  },

  ["ThingDef:Deer"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Temperate.xml",
      DLC = "Core",
    },
    defName = "Deer",
    label = "deer",
    description = [[A medium-sized herding herbivore which prefers to live in mixed forests and plains. Deer are very quick.]],
    statBases = {
      MoveSpeed = 5.5,
      MarketValue = 250,
      ComfyTemperatureMin = -30,
    },
    tools = {
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        label = "teeth",
        capacities = {
          "Bite",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 0.9,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      wildness = 0.75,
      nuzzleMtbHours = 60,
      gestationPeriodDays = 24,
      lifeExpectancy = 15,
      manhunterOnDamageChance = 0,
      manhunterOnTameFailChance = 0,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
    },
  },

  ["ThingDef:Ibex"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Temperate.xml",
      DLC = "Core",
    },
    defName = "Ibex",
    label = "ibex",
    description = [[The wild ancestor of the domesticated goat. Ibexes live on marginal territory where most antelopes couldn't survive, eating lichens and sparse mountain plants. They're famous for dextrously hopping across bare cliff faces - and for their violent ramming attack.]],
    statBases = {
      MoveSpeed = 4.6,
      MarketValue = 250,
      ComfyTemperatureMin = -30,
    },
    tools = {
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 10,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "HeadAttackTool",
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 0.85,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      wildness = 0.55,
      gestationPeriodDays = 24,
      lifeExpectancy = 15,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
    },
  },

  ["ThingDef:Elk"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Temperate.xml",
      DLC = "Core",
    },
    defName = "Elk",
    label = "elk",
    description = [[A large member of the deer family, well-adapted to life in cold climates. Domesticated elk can be milked, but refuse to carry packs.]],
    statBases = {
      MoveSpeed = 5,
      MarketValue = 300,
      ComfyTemperatureMin = -50,
    },
    comps = {
      CompProperties_Milkable = {
        milkDef = "Milk",
        milkIntervalDays = 2,
        milkAmount = 12,
      },
    },
    tools = {
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 13,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "HeadAttackTool",
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 2.1,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      wildness = 0.75,
      gestationPeriodDays = 25,
      lifeExpectancy = 18,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.6,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:Caribou"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Temperate.xml",
      DLC = "Core",
    },
    defName = "Caribou",
    label = "caribou",
    description = [[A large member of the deer family, well-adapted to life in cold climates. Caribou can be milked, but refuse to carry packs.]],
    statBases = {
      MoveSpeed = 5,
      MarketValue = 300,
      ComfyTemperatureMin = -50,
    },
    comps = {
      CompProperties_Milkable = {
        milkDef = "Milk",
        milkIntervalDays = 2,
        milkAmount = 12,
      },
    },
    tools = {
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 13,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "HeadAttackTool",
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 2.1,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      wildness = 0.75,
      gestationPeriodDays = 25,
      lifeExpectancy = 18,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.45,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
      "AnimalFarm",
    },
  },

  ["ThingDef:WildBoar"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Temperate.xml",
      DLC = "Core",
    },
    defName = "WildBoar",
    label = "wild boar",
    description = [[This hairy omnivore is descended from escaped pigs and evolved for living in the wild.\n\nIts tusks make it a better fighter than its domesticated pig cousins. Unfortunately, it is too unruly to be trained in the most complex tasks.]],
    statBases = {
      MoveSpeed = 4.6,
      MarketValue = 200,
      ComfyTemperatureMin = -23,
    },
    tools = {
      {
        label = "tusk",
        capacities = {
          "Scratch",
          "Stab",
        },
        power = 9.7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "TuskAttackTool",
      },
      {
        capacities = {
          "Bite",
        },
        power = 8.5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.6,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 0.8,
      foodType = {
        "OmnivoreRoughAnimal",
      },
      wildness = 0.50,
      trainability = "Intermediate",
      leatherDef = "Leather_Pig",
      gestationPeriodDays = 18,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {1.5, 1},
          {2.0, 0},
        },
      },
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.1,
        },
        {
          def = "AnimalAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
    },
  },

  ["ThingDef:Tortoise"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Temperate.xml",
      DLC = "Core",
    },
    defName = "Tortoise",
    label = "tortoise",
    description = [[This heavily armored land-dwelling reptile is known for its slow moving speed and surprisingly vicious bite. Because of its natural armor, it is tough to kill and can do serious damage during drawn-out melee fights.]],
    statBases = {
      MoveSpeed = 1.0,
      MarketValue = 200,
      ArmorRating_Blunt = 0.35,
      ArmorRating_Sharp = 0.50,
      ComfyTemperatureMin = 0,
      ComfyTemperatureMax = 50,
    },
    tools = {
      {
        label = "beak",
        capacities = {
          "Bite",
        },
        power = 8,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "TurtleBeakAttackTool",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 3,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    comps = {
      CompProperties_EggLayer = {
        eggFertilizedDef = "EggTortoiseFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 20,
        eggProgressUnfertilizedMax = 0.5,
        eggCountRange = { ["<"]=1, [">"]=3 },
      },
    },
    race = {
      baseBodySize = 0.5,
      foodType = {
        "OmnivoreRoughAnimal",
      },
      leatherDef = "Leather_Lizard",
      wildness = 0.75,
      lifeExpectancy = 180,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.15,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Cobra"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Tropical.xml",
      DLC = "Core",
    },
    defName = "Cobra",
    label = "cobra",
    description = [[A large predatory snake. Cobras can be highly aggressive if provoked, and their bite injects toxic venom into the victim.]],
    statBases = {
      MoveSpeed = 3.5,
      MarketValue = 150,
      ComfyTemperatureMin = 0,
      ComfyTemperatureMax = 60,
    },
    tools = {
      {
        label = "venom-fangs",
        capacities = {
          "ToxicBite",
        },
        power = 12,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Mouth",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 3,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    comps = {
      CompProperties_EggLayer = {
        eggFertilizedDef = "EggCobraFertilized",
        eggFertilizationCountMax = 1,
        eggLayIntervalDays = 20.0,
        eggProgressUnfertilizedMax = 0.5,
        eggCountRange = { ["<"]=1, [">"]=2 },
      },
    },
    race = {
      baseBodySize = 0.25,
      foodType = {
        "CarnivoreAnimal",
        "OvivoreAnimal",
      },
      leatherDef = "Leather_Lizard",
      wildness = 0.75,
      petness = 0.05,
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
      lifeExpectancy = 20,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.15,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:Monkey"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Tropical.xml",
      DLC = "Core",
    },
    defName = "Monkey",
    label = "monkey",
    description = [[A small primate, the monkey can use its curly tail to grab on to branches, leaving its hands free to do other things. Monkeys are selfish but clever, and can be trained to carry out fairly complex tasks.]],
    statBases = {
      MoveSpeed = 4.3,
      MarketValue = 100,
      ComfyTemperatureMin = -5,
      ComfyTemperatureMax = 50,
    },
    tools = {
      {
        label = "left fist",
        capacities = {
          "Blunt",
        },
        power = 3.6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "LeftHand",
      },
      {
        label = "right fist",
        capacities = {
          "Blunt",
        },
        power = 3.6,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "RightHand",
      },
      {
        capacities = {
          "Bite",
        },
        power = 4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.7,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      petness = 0.50,
      herdAnimal = true,
      baseBodySize = 0.35,
      foodType = {
        "OmnivoreRoughAnimal",
      },
      leatherDef = "Leather_Light",
      trainability = "Advanced",
      wildness = 0.60,
      nuzzleMtbHours = 24,
      gestationPeriodDays = 16,
      lifeExpectancy = 30,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.4,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
    },
  },

  ["ThingDef:Boomalope"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_Tropical.xml",
      DLC = "Core",
    },
    defName = "Boomalope",
    label = "boomalope",
    description = [[Engineered for chemicals production, the boomalope grows a large sac of volatile chemicals on its back. Though it is weak and fragile for its size, other animals have learned to avoid it because of the huge explosion it produces when it dies. It can be milked to produce chemfuel - very carefully.]],
    statBases = {
      MoveSpeed = 3.4,
      MarketValue = 350,
      ComfyTemperatureMin = -15,
    },
    comps = {
      CompProperties_Milkable = {
        milkDef = "Chemfuel",
        milkIntervalDays = 2,
        milkAmount = 12,
        milkFemaleOnly = false,
      },
    },
    tools = {
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 7,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
      {
        label = "left hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "right hoof",
        capacities = {
          "Blunt",
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        capacities = {
          "Bite",
        },
        power = 10,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.5,
      },
    },
    race = {
      herdAnimal = true,
      baseBodySize = 1.5,
      foodType = {
        "VegetarianRoughAnimal",
      },
      leatherDef = "Leather_Plain",
      wildness = 0.6,
      gestationPeriodDays = 28,
      lifeExpectancy = 15,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.5,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:Warg"] = {
    _ = {
      ParentName = "AnimalThingBase",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_WildCanines.xml",
      DLC = "Core",
    },
    defName = "Warg",
    label = "warg",
    description = [[Heavily-muscled wolf-like creatures with vicious unnatural claws and an absurdly powerful bite. They will only eat meat or corpses. If disturbed in the wild, they are very likely to attack.\n\nScientists say wargs are the descendants of weaponized military animals created for population suppression. The superstitious see them as the tools of an angry god.]],
    statBases = {
      MoveSpeed = 5.0,
      MarketValue = 450,
      ComfyTemperatureMin = -40,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 13,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 13,
        cooldownTime = 1.5,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        label = "razorfangs",
        capacities = {
          "Bite",
        },
        power = 15,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.9,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      petness = 0.5,
      baseBodySize = 1.0,
      foodType = {
        "CarnivoreAnimalStrict",
      },
      leatherDef = "Leather_Wolf",
      gestationPeriodDays = 26,
      trainability = "Advanced",
      wildness = 0.60,
      manhunterOnTameFailChance = 0.35,
      manhunterOnDamageChance = 0.35,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2, 1.7},
          {2.5, 0.7},
          {3, 0},
        },
      },
      lifeExpectancy = 15,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.45,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:ThingBaseWolf"] = {
    _ = {
      Name = "ThingBaseWolf",
      ParentName = "AnimalThingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Races_Animal_WildCanines.xml",
      DLC = "Core",
    },
    statBases = {
      MoveSpeed = 5.0,
      MarketValue = 350,
      ComfyTemperatureMin = -40,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 10.9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
        chanceFactor = 0.5,
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 10.9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
        chanceFactor = 0.5,
      },
      {
        capacities = {
          "Bite",
        },
        power = 12,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.9,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 6,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      petness = 0.1,
      baseBodySize = 0.85,
      foodType = {
        "CarnivoreAnimal",
      },
      leatherDef = "Leather_Wolf",
      trainability = "Advanced",
      wildness = 0.85,
      nuzzleMtbHours = 120,
      manhunterOnTameFailChance = 0.10,
      manhunterOnDamageChance = 0.10,
      gestationPeriodDays = 26,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2, 1.7},
          {2.5, 0.7},
          {3, 0},
        },
      },
      lifeExpectancy = 12,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.2,
        },
        {
          def = "AnimalAdult",
          minAge = 0.45,
        },
      },
    },
    tradeTags = {
      "AnimalUncommon",
      "AnimalFighter",
    },
  },

  ["ThingDef:Wolf_Timber"] = {
    _ = {
      ParentName = "ThingBaseWolf",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_WildCanines.xml",
      DLC = "Core",
    },
    defName = "Wolf_Timber",
    label = "timber wolf",
    description = [[A rugged predator long feared by many ancient Earth cultures. As pack hunters, wolves have complex social lives and are fiercely intelligent.]],
  },

  ["ThingDef:Wolf_Arctic"] = {
    _ = {
      ParentName = "ThingBaseWolf",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_WildCanines.xml",
      DLC = "Core",
    },
    defName = "Wolf_Arctic",
    label = "arctic wolf",
    description = [[An arctic variant of the old Earth wolf. As pack hunters, wolves have a complex social life and are fiercely intelligent.]],
    statBases = {
      ComfyTemperatureMin = -55,
    },
  },

  ["ThingDef:ThingBaseFox"] = {
    _ = {
      Name = "ThingBaseFox",
      ParentName = "AnimalThingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Races_Animal_WildCanines.xml",
      DLC = "Core",
    },
    statBases = {
      MoveSpeed = 4.6,
      ComfyTemperatureMin = -35,
      MarketValue = 200,
    },
    tools = {
      {
        label = "left claw",
        capacities = {
          "Scratch",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftPaw",
      },
      {
        label = "right claw",
        capacities = {
          "Scratch",
        },
        power = 8,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightPaw",
      },
      {
        capacities = {
          "Bite",
        },
        power = 9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.9,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 4,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      petness = 0.1,
      baseBodySize = 0.55,
      foodType = {
        "CarnivoreAnimal",
      },
      leatherDef = "Leather_Fox",
      trainability = "Advanced",
      wildness = 0.75,
      nuzzleMtbHours = 60,
      gestationPeriodDays = 21,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {2, 1.7},
          {2.5, 0.7},
          {3, 0},
        },
      },
      lifeExpectancy = 9,
      lifeStageAges = {
        {
          def = "AnimalBaby",
          minAge = 0,
        },
        {
          def = "AnimalJuvenile",
          minAge = 0.15,
        },
        {
          def = "AnimalAdult",
          minAge = 0.35,
        },
      },
    },
    tradeTags = {
      "AnimalCommon",
    },
  },

  ["ThingDef:Fox_Fennec"] = {
    _ = {
      ParentName = "ThingBaseFox",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_WildCanines.xml",
      DLC = "Core",
    },
    defName = "Fox_Fennec",
    label = "fennec fox",
    description = [[A small fox originally from the northern part of Earth's Africa continent. It hunts small creatures and has very large ears for cooling itself in the heat.]],
    statBases = {
      ComfyTemperatureMin = -30,
    },
  },

  ["ThingDef:Fox_Red"] = {
    _ = {
      ParentName = "ThingBaseFox",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_WildCanines.xml",
      DLC = "Core",
    },
    defName = "Fox_Red",
    label = "red fox",
    description = [[A small solitary canine evolved for hunting small prey in temperate climates. Chicken farmers hate foxes because of their ability to destroy a whole coop in minutes.]],
  },

  ["ThingDef:Fox_Arctic"] = {
    _ = {
      ParentName = "ThingBaseFox",
      DefCategory = "ThingDef",
      FileName = "Races_Animal_WildCanines.xml",
      DLC = "Core",
    },
    defName = "Fox_Arctic",
    label = "arctic fox",
    description = [[A small predator adapted for cold climates. It usually hunts small game like mice and voles, sometimes burrowing through a meter of snow to reach its prey.]],
    statBases = {
      ComfyTemperatureMin = -50,
    },
  },

  ["ThingDef:Human"] = {
    _ = {
      ParentName = "BasePawn",
      DefCategory = "ThingDef",
      FileName = "Races_Humanlike.xml",
      DLC = "Core",
    },
    defName = "Human",
    label = "human",
    description = [[A baseline human, mostly unmodified by gene engineering and mostly unchanged by evolutionary pressures on non-Earth planets.]],
    statBases = {
      MarketValue = 1750,
      MoveSpeed = 4.6,
      ComfyTemperatureMin = 16,
      ComfyTemperatureMax = 26,
      LeatherAmount = 50,
      RoyalFavorValue = 3,
    },
    tools = {
      {
        label = "left fist",
        capacities = {
          "Blunt",
        },
        power = 8.2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "LeftHand",
      },
      {
        label = "right fist",
        capacities = {
          "Blunt",
        },
        power = 8.2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "RightHand",
      },
      {
        label = "teeth",
        capacities = {
          "Bite",
        },
        power = 8.2,
        cooldownTime = 2,
        linkedBodyPartsGroup = "Teeth",
        chanceFactor = 0.07,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      lifeExpectancy = 80,
      leatherDef = "Leather_Human",
      baseBodySize = 1,
      foodType = {
        "OmnivoreHuman",
      },
      gestationPeriodDays = 45,
      manhunterOnDamageChance = 0.20,
      manhunterOnTameFailChance = 0.02,
      litterSizeCurve = {
        points = {
          {0.5, 0},
          {1, 1},
          {1.01, 0.02},
          {3.5, 0},
        },
      },
      lifeStageAges = {
        {
          def = "HumanlikeBaby",
          minAge = 0,
        },
        {
          def = "HumanlikeToddler",
          minAge = 1.2,
        },
        {
          def = "HumanlikeChild",
          minAge = 4,
        },
        {
          def = "HumanlikeTeenager",
          minAge = 13,
        },
        {
          def = "HumanlikeAdult",
          minAge = 18,
        },
      },
    },
  },

  ["ThingDef:BaseMechanoid"] = {
    _ = {
      ParentName = "BasePawn",
      Name = "BaseMechanoid",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Races_Mechanoid.xml",
      DLC = "Core",
    },
    statBases = {
      PsychicSensitivity = 0.5,
      ToxicSensitivity = 0,
      Flammability = 0,
      ComfyTemperatureMin = -100,
      ComfyTemperatureMax = 250,
      MeatAmount = 0,
      ArmorRating_Heat = 2.00,
    },
    race = {
      foodType = {
        "None",
      },
      lifeExpectancy = 2500,
    },
    comps = {
      CompProperties_CanBeDormant = {},
      CompProperties_WakeUpDormant = {
        wakeUpOnDamage = true,
        anyColonistCloseCheckRadius = 30,
        wakeUpSound = "MechanoidsWakeUp",
      },
    },
  },

  ["ThingDef:Mech_Centipede"] = {
    _ = {
      ParentName = "BaseMechanoid",
      DefCategory = "ThingDef",
      FileName = "Races_Mechanoid.xml",
      DLC = "Core",
    },
    defName = "Mech_Centipede",
    label = "centipede",
    description = [[Heavy combat mechanoids that glide on dozens of tiny legs. Their thick carpace and firepower makes them very effective against bunched-up static defenders. They are somewhat vulnerable to mobile hit-and-run tactics.]],
    statBases = {
      MoveSpeed = 1.9,
      ArmorRating_Blunt = 0.22,
      ArmorRating_Sharp = 0.72,
      PsychicSensitivity = 0.75,
    },
    tools = {
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 17,
        cooldownTime = 2.6,
        linkedBodyPartsGroup = "HeadAttackTool",
      },
    },
    race = {
      baseBodySize = 1.8,
      lifeStageAges = {
        {
          def = "MechanoidFullyFormed",
          minAge = 0,
        },
      },
    },
  },

  ["ThingDef:BaseMechanoidWalker"] = {
    _ = {
      ParentName = "BaseMechanoid",
      Name = "BaseMechanoidWalker",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Races_Mechanoid.xml",
      DLC = "Core",
    },
    statBases = {
      MoveSpeed = 4.7,
      ArmorRating_Blunt = 0.20,
      ArmorRating_Sharp = 0.40,
    },
    race = {
      baseBodySize = 1.0,
      lifeStageAges = {
        {
          def = "MechanoidFullyFormed",
          minAge = 0,
        },
      },
    },
  },

  ["ThingDef:Mech_Lancer"] = {
    _ = {
      ParentName = "BaseMechanoidWalker",
      DefCategory = "ThingDef",
      FileName = "Races_Mechanoid.xml",
      DLC = "Core",
    },
    defName = "Mech_Lancer",
    label = "lancer",
    description = [[Fast human-sized combat mechanoids built for medium and long-range combat. Their bodies are light, making them vulnerable targets at close range - especially in melee combat.]],
    tools = {
      {
        label = "left fist",
        capacities = {
          "Blunt",
        },
        power = 12.0,
        cooldownTime = 2,
        linkedBodyPartsGroup = "LeftHand",
      },
      {
        label = "right fist",
        capacities = {
          "Blunt",
        },
        power = 12.0,
        cooldownTime = 2,
        linkedBodyPartsGroup = "RightHand",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 8.5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
  },

  ["ThingDef:Mech_Scyther"] = {
    _ = {
      ParentName = "BaseMechanoidWalker",
      DefCategory = "ThingDef",
      FileName = "Races_Mechanoid.xml",
      DLC = "Core",
    },
    defName = "Mech_Scyther",
    label = "scyther",
    description = [[Fast, spindly, human-sized combat mechanoids specializing in rapid approach and close-range combat. Their bodies are covered in points and blades, but their mostly use two arm blades to lop off limbs or gut their victims alive.]],
    tools = {
      {
        label = "left blade",
        capacities = {
          "Cut",
          "Stab",
        },
        power = 20,
        cooldownTime = 2,
        linkedBodyPartsGroup = "LeftBlade",
      },
      {
        label = "right blade",
        capacities = {
          "Cut",
          "Stab",
        },
        power = 20,
        cooldownTime = 2,
        linkedBodyPartsGroup = "RightBlade",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 9,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
  },

  ["ThingDef:Mech_Pikeman"] = {
    _ = {
      ParentName = "BaseMechanoidWalker",
      DefCategory = "ThingDef",
      FileName = "Races_Mechanoid.xml",
      DLC = "Core",
    },
    defName = "Mech_Pikeman",
    label = "pikeman",
    description = [[A clunky multi-legged combat mechanoid specialized as a long-range weapons platform. While effective at distance, it is weak in close-range fights and in melee combat.\n\nVeterans of mechanoid wars know that often, the safest place to be around a pikeman is touching it.]],
    statBases = {
      MoveSpeed = 2.5,
    },
    tools = {
      {
        label = "front left leg",
        capacities = {
          "Blunt",
        },
        power = 12.0,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontLeftLeg",
      },
      {
        label = "front right leg",
        capacities = {
          "Blunt",
        },
        power = 12.0,
        cooldownTime = 2,
        linkedBodyPartsGroup = "FrontRightLeg",
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 8.5,
        cooldownTime = 2,
        linkedBodyPartsGroup = "HeadAttackTool",
        chanceFactor = 0.2,
      },
    },
    race = {
      lifeStageAges = {
        _ = {
          Inherit = false,
        },
        {
          def = "MechanoidFullyFormed",
          minAge = 0,
        },
      },
    },
  },

  ["ThingDef:PsychicSensitizer"] = {
    _ = {
      ParentName = "BodyPartRoyalBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Archotech_EmpireRoyal.xml",
      DLC = "Royalty",
    },
    defName = "PsychicSensitizer",
    label = "psychic sensitizer",
    description = [[This brain implant stimulates growth in the regions of the brain related to psychic interaction, thus increasing psychic sensitivity.]],
    statBases = {
      MarketValue = 1000,
    },
  },

  ["ThingDef:PsychicHarmonizer"] = {
    _ = {
      ParentName = "BodyPartRoyalBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Archotech_EmpireRoyal.xml",
      DLC = "Royalty",
    },
    defName = "PsychicHarmonizer",
    label = "psychic harmonizer",
    description = [[This brain implant projects the user's mood in a spherical psychic field, forcing others nearby to feel a blurred, simplified version of their emotions. It can be a powerful tool to keep morale high, but if the user becomes unhappy, it can lead to collective disaster.]],
    statBases = {
      MarketValue = 800,
    },
  },

  ["ThingDef:PsychicReader"] = {
    _ = {
      ParentName = "BodyPartRoyalBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Archotech_EmpireRoyal.xml",
      DLC = "Royalty",
    },
    defName = "PsychicReader",
    label = "psychic reader",
    description = [[Gives limited mind-reading ability, improving the user's ability to get the upper hand in negotiations and social situations. The effect is proportional to the user's psychic sensitivity.]],
    statBases = {
      MarketValue = 1000,
    },
  },

  ["ThingDef:BodyPartProstheticImperialBase"] = {
    _ = {
      Name = "BodyPartProstheticImperialBase",
      ParentName = "BodyPartProstheticMakeableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_BaseEmpire.xml",
      DLC = "Royalty",
    },
    tradeTags = {
      "ImplantEmpireCommon",
    },
  },

  ["ThingDef:BodyPartBionicImperialBase"] = {
    _ = {
      Name = "BodyPartBionicImperialBase",
      ParentName = "BodyPartBionicBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_BaseEmpire.xml",
      DLC = "Royalty",
    },
    tradeTags = {
      "ImplantEmpireCommon",
    },
  },

  ["ThingDef:BodyPartRoyalBase"] = {
    _ = {
      Name = "BodyPartRoyalBase",
      ParentName = "BodyPartArchotechBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_BaseEmpire.xml",
      DLC = "Royalty",
    },
    tradeTags = {
      "ImplantEmpireRoyal",
    },
  },

  ["ThingDef:Neurocalculator"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "Neurocalculator",
    label = "neurocalculator",
    description = [[A non-intelligent microcomputer controlled by a visual/tactile neural interface. It assists with memory and calculation, like a calculator and notepad embedded in the brain.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "NeuralComputation",
    },
  },

  ["ThingDef:LearningAssistant"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "LearningAssistant",
    label = "learning assistant",
    description = [[A sensory recording system that replays important experiences during sleep, strengthening the formation of new memories.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "NeuralComputation",
    },
  },

  ["ThingDef:GastroAnalyzer"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "GastroAnalyzer",
    label = "gastro-analyzer",
    description = [[This bionic nose implant enhances the sense of smell, with a focus towards food-related smells. A multi-layered ultrafine absorption mesh detects compounds in the air. A microprocessor formats the readings into an olfactory nerve signal to send to the brain through a nerve-link interface. The result is that the user can smell foods with a depth, richness, and precision unknown among unenhanced humans, allowing them to cook more effectively. The whole unit is small enough to be installed in the nose without affecting the user's appearance.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 3,
    },
    recipeMaker = {
      researchPrerequisite = "MolecularAnalysis",
    },
  },

  ["ThingDef:Immunoenhancer"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "Immunoenhancer",
    label = "immunoenhancer",
    description = [[An analysis computer inspects the bloodstream, classifies pathogens, and rapidly prompts the body's natural immune system to respond to them faster than it could alone. This speeds immunity gain significantly.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "MolecularAnalysis",
    },
  },

  ["ThingDef:Coagulator"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "Coagulator",
    label = "coagulator",
    description = [[Releases coagulating factors in response to blood loss, reducing bleeding rates significantly.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "HealingFactors",
    },
  },

  ["ThingDef:HealingEnhancer"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "HealingEnhancer",
    label = "healing enhancer",
    description = [[Releases nanomachines and healing factors that speed up wound healing. This implant only helps with physical wounds, and does nothing to combat disease or other health problems.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "HealingFactors",
    },
  },

  ["ThingDef:ToughskinGland"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "ToughskinGland",
    label = "toughskin gland",
    description = [[This bionic gland releases chemicals and nanomachines that toughen the skin, making it somewhat more resistant to damage. While it doesn't add as much protection as some other skin-hardening glands, the toughskin gland has the advantage of not noticeably altering the user's appearance.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "SkinHardening",
    },
  },

  ["ThingDef:ArmorskinGland"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "ArmorskinGland",
    label = "armorskin gland",
    description = [[This bionic gland releases chemicals and nanomachines that toughen the skin and add flexible subdermal keratin plates at strategic points. This makes the user more resistant to damage across their whole body. Unfortunately, these changes make the skin appear leathery, with wrinkles across the whole body and face, which is generally considered ugly.]],
    costList = {
      Plasteel = 20,
      ComponentSpacer = 6,
    },
    recipeMaker = {
      researchPrerequisite = "SkinHardening",
    },
  },

  ["ThingDef:StoneskinGland"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "StoneskinGland",
    label = "stoneskin gland",
    description = [[This bionic gland releases chemical and nanomachines that transform the user's skin into a built-in suit of armor. The whole epidermis thickens and hardens to resist burns, while jointed exterior keratin plates form everywhere they can - including the head and face. While it's very difficult to physically hurt someone using this implant, the plates and hard skin significantly reduces the user's physical attractiveness.]],
    costList = {
      Plasteel = 25,
      ComponentSpacer = 8,
    },
    recipeMaker = {
      researchPrerequisite = "SkinHardening",
    },
  },

  ["ThingDef:AestheticShaper"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "AestheticShaper",
    label = "aesthetic shaper",
    description = [[A sophisticated package of hormonal and mechanite influences shapes the muscles and fat on the body, adding non-functional aesthetic tissue where needed to achieve a desired appearance. This implant can be configured to form various body shapes according to the user's taste - or that of their partner.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 3,
    },
    recipeMaker = {
      researchPrerequisite = "FleshShaping",
    },
  },

  ["ThingDef:AestheticNose"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "AestheticNose",
    label = "aesthetic nose",
    description = [[The nose is shaped to the user's desired form, matching prevalent beauty standards and enhancing physical impressions.]],
    costList = {
      Plasteel = 10,
      ComponentSpacer = 2,
    },
    recipeMaker = {
      researchPrerequisite = "FleshShaping",
    },
  },

  ["ThingDef:LoveEnhancer"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "LoveEnhancer",
    label = "love enhancer",
    description = [[Humans have always tried to use every new technology to enhance sexual satisfaction. Bionics were no exception. This implant makes physical and chemical changes to the body which enhance the experience of lovin' for both partners - both physically and psychologically. The implant unit can adapt to enhance both men and women upon being implanted.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "FleshShaping",
    },
  },

  ["ThingDef:DetoxifierStomach"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "DetoxifierStomach",
    label = "detoxifier stomach",
    description = [[An artificial stomach replacement with a broad-spectrum toxin filter and neutralization system. It allows the user to eat almost anything without ever worrying about food poisoning.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "ArtificialMetabolism",
    },
  },

  ["ThingDef:ReprocessorStomach"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "ReprocessorStomach",
    label = "reprocessor stomach",
    description = [[An advanced chemical processing system breaks down nutrients the body could normally never use, leading to increased efficiency.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "ArtificialMetabolism",
    },
  },

  ["ThingDef:NuclearStomach"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "NuclearStomach",
    label = "nuclear stomach",
    description = [[A micro-nuclear reactor combined with complex chemical synthesis replaces the body's need for food energy. Food is required only to replace matter lost from the body, reducing the user's intake needs significantly. This artifical stomach cannot get food poisoning. However, there is little room to shield the reactor, so the radiation increases the risk of cancer.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "ArtificialMetabolism",
    },
  },

  ["ThingDef:CircadianAssistant"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "CircadianAssistant",
    label = "circadian assistant",
    description = [[An artificial gland. Produces chemicals and nanomachines that clear toxin buildup from the brain.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "CircadianInfluence",
    },
  },

  ["ThingDef:CircadianHalfCycler"] = {
    _ = {
      ParentName = "BodyPartBionicImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Bionic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "CircadianHalfCycler",
    label = "circadian half-cycler",
    description = [[A signal redirector which isolates half of the brain, allowing the other half to sleep while the user remains outwardly awake. By alternating brain halves, the user never needs to sleep. Unfortunately, two hemispheres are better than one - working with half a brain causes a reduction in consciousness.]],
    costList = {
      Plasteel = 15,
      ComponentSpacer = 4,
    },
    recipeMaker = {
      researchPrerequisite = "CircadianInfluence",
    },
  },

  ["ThingDef:Mindscrew"] = {
    _ = {
      ParentName = "BodyPartProstheticImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "Mindscrew",
    label = "mindscrew",
    description = [[Inflicts continuous pain on the user. Mindscrews are used by some authorities as a long-term punishment. Some even install them voluntarily as a demonstration of ideological or religious devotion.]],
    costList = {
      Steel = 15,
      ComponentIndustrial = 4,
    },
    recipeMaker = {
      researchPrerequisite = "BrainWiring",
    },
  },

  ["ThingDef:DrillArm"] = {
    _ = {
      ParentName = "BodyPartProstheticImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "DrillArm",
    label = "drill arm",
    description = [[A mechanical arm replacement for speeding up mining. It has a built-in snake drill, which allows the miner to rapidly find and exploit weak lines in the rock. It also has a general-purpose manipulator. It is somewhat ungainly, which slows down movement slightly.]],
    costList = {
      Steel = 60,
      ComponentIndustrial = 8,
    },
    recipeMaker = {
      researchPrerequisite = "SpecializedLimbs",
    },
  },

  ["ThingDef:FieldHand"] = {
    _ = {
      ParentName = "BodyPartProstheticImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "FieldHand",
    label = "field hand",
    description = [[This mechanical hand replacement is made to speed up the sowing and harvesting tasks of a farmer. Multiple telescoping finger-like protrusions can simultaneously harvest from several points on the same plant, or precisely sow several holes at once. It also has a general-purpose manipulator. It is somewhat ungainly, which slows down movement slightly.]],
    costList = {
      Steel = 60,
      ComponentIndustrial = 8,
    },
    recipeMaker = {
      researchPrerequisite = "SpecializedLimbs",
    },
  },

  ["ThingDef:HandTalon"] = {
    _ = {
      ParentName = "BodyPartProstheticImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "HandTalon",
    label = "hand talon",
    description = [[A razor-sharp talon which extends from a hidden opening between the middle and ring fingers. The talon is longer than the palm, but it becomes flexible upon retracting, allowing the user to curl it up and conceal it inside the hand. It can perform rapid slashing attacks, but is poor at penetrating armor.]],
    costList = {
      Steel = 40,
      ComponentIndustrial = 7,
    },
    recipeMaker = {
      researchPrerequisite = "CompactWeaponry",
    },
  },

  ["ThingDef:ElbowBlade"] = {
    _ = {
      ParentName = "BodyPartProstheticImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "ElbowBlade",
    label = "elbow blade",
    description = [[A razor-sharp blade that extends at will from a hidden opening at the end of the ulna. Appearing without warning, it can be used for devastating slice attacks.]],
    costList = {
      Steel = 40,
      ComponentIndustrial = 7,
    },
    recipeMaker = {
      researchPrerequisite = "CompactWeaponry",
    },
  },

  ["ThingDef:KneeSpike"] = {
    _ = {
      ParentName = "BodyPartProstheticImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "KneeSpike",
    label = "knee spike",
    description = [[A spike that extends at will from a hidden opening on the front of the knee. Appearing without warning, it can be used for devastating stabbing attacks which penetrate even thick armor.]],
    costList = {
      Steel = 40,
      ComponentIndustrial = 7,
    },
    recipeMaker = {
      researchPrerequisite = "CompactWeaponry",
    },
  },

  ["ThingDef:VenomFangs"] = {
    _ = {
      ParentName = "BodyPartProstheticImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "VenomFangs",
    label = "venom fangs",
    description = [[A pair of injectors implanted through the canine teeth, connected to a venom pump. The user can bite an enemy, extend the injectors, and pump venom into the target.]],
    costList = {
      Steel = 40,
      ComponentIndustrial = 7,
    },
    recipeMaker = {
      researchPrerequisite = "VenomSynthesis",
    },
  },

  ["ThingDef:VenomTalon"] = {
    _ = {
      ParentName = "BodyPartProstheticImperialBase",
      DefCategory = "ThingDef",
      FileName = "Hediffs_BodyParts_Prosthetic_Empire.xml",
      DLC = "Royalty",
    },
    defName = "VenomTalon",
    label = "venom talon",
    description = [[A retractable finger talon connected to a venom pump in the lower arm. The user can scratch an enemy while squirting venom into the wound. The talon is designed to be installed in the middle finger. It's fast, but poor at penetrating armor.]],
    costList = {
      Steel = 40,
      ComponentIndustrial = 7,
    },
    recipeMaker = {
      researchPrerequisite = "VenomSynthesis",
    },
  },

  ["ThingDef:PsychicAmplifier"] = {
    _ = {
      DefCategory = "ThingDef",
      FileName = "Hediffs_Psycasts.xml",
      DLC = "Royalty",
    },
    defName = "PsychicAmplifier",
    label = "psylink neuroformer",
    description = [[A consumable archotech-created device that forms or upgrades a psylink in the user's mind.\n\nThe user presses the device over the eyes, where it links to the brain directly and restructures part of it. Afterwards, the device disintegrates into worthless ash.]],
    thingClass = "ThingWithComps",
    category = "Item",
    useHitPoints = true,
    pathCost = 14,
    altitudeLayer = "Item",
    thingCategories = {
      "BodyPartsArchotech",
    },
    statBases = {
      MaxHitPoints = 100,
      Beauty = -4,
      Mass = 1,
      MarketValue = 2600,
      DeteriorationRate = 0,
    },
    tradeTags = {
      "PsylinkNeuroformer",
    },
    comps = {
      CompProperties_Usable = {
        compClass = "CompUsableImplant",
        useJob = "UseItem",
        useLabel = "Use neuroformer to form psylink",
      },
      CompProperties_UseEffectInstallImplant = {
        hediffDef = "PsychicAmplifier",
        bodyPart = "Brain",
        canUpgrade = true,
      },
      CompProperties_UseEffectPlaySound = {
        soundOnUsed = "PsyAmpInstalled",
      },
      CompProperties_UseEffect = {
        compClass = "CompUseEffect_DestroySelf",
      },
      CompProperties_Forbiddable = {},
    },
  },

  ["ThingDef:ConditionCauserBase"] = {
    _ = {
      Name = "ConditionCauserBase",
      Abstract = true,
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_ConditionCausers.xml",
      DLC = "Royalty",
    },
    altitudeLayer = "Building",
    pathCost = 50,
    passability = "Impassable",
    fillPercent = 1.0,
    statBases = {
      MaxHitPoints = 1500,
      Flammability = 0,
    },
    building = {
      combatPower = 750,
      buildingTags = {
        "MechClusterMember",
        "MechClusterProblemCauser",
      },
    },
    comps = {
      CompProperties_WakeUpDormant = {},
      CompProperties_Initiatable = {},
    },
    terrainAffordanceNeeded = "Heavy",
    killedLeavings = {
      Steel = 60,
      ComponentIndustrial = 1,
      Plasteel = 10,
      ChunkSlagSteel = 4,
    },
  },

  ["ThingDef:SunBlocker"] = {
    _ = {
      ParentName = "ConditionCauserBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_ConditionCausers.xml",
      DLC = "Royalty",
    },
    defName = "SunBlocker",
    label = "sun blocker",
    description = [[An ultratech machine that generates a sheet of exotic fields at high altitude, turning the sky opaque and blocking the sun.]],
    size = {6, 4},
    comps = {
      CompProperties_CausesGameCondition = {
        conditionDef = "SunBlocker",
        worldRange = 10,
      },
    },
  },

  ["ThingDef:SmokeSpewer"] = {
    _ = {
      ParentName = "ConditionCauserBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_ConditionCausers.xml",
      DLC = "Royalty",
    },
    defName = "SmokeSpewer",
    label = "smoke spewer",
    description = [[An ultratech weapon of mass destruction designed for area denial. By harvesting available compounds and converting them into self-reproducing opaque molecules, it can spew enough smoke to block the sun in a whole region of the planet.]],
    size = {6, 5},
    comps = {
      CompProperties_CausesGameCondition = {
        conditionDef = "GiantSmokeCloud",
        worldRange = 10,
      },
      CompProperties_ThrownMoteEmitter = {
        mote = "Mote_Smoke",
        offsetMin = {-2, 0, 3},
        offsetMax = {2, 0, 3},
        emissionInterval = 15,
        burstCount = 2,
        scale = { ["<"]=2, [">"]=4 },
        rotationRate = { ["<"]=-30, [">"]=30 },
        velocityX = { ["<"]=-40, [">"]=40 },
        velocityY = { ["<"]=0.5, [">"]=1 },
        colorA = {0.2, 0.2, 0.2, 1},
        colorB = {0.4, 0.4, 0.4, 1},
      },
    },
  },

  ["ThingDef:ToxicSpewer"] = {
    _ = {
      ParentName = "ConditionCauserBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_ConditionCausers.xml",
      DLC = "Royalty",
    },
    defName = "ToxicSpewer",
    label = "toxic spewer",
    description = [[An ultratech weapon of mass destruction designed for area denial. This device harvests available compounds and converts them into self-reproducing poisons. By spewing these into the atmosphere, it can poison a whole region of the planet.]],
    size = {6, 5},
    comps = {
      CompProperties_CausesGameCondition = {
        compClass = "CompCauseGameCondition_ToxicSpewer",
        conditionDef = "ToxicSpewer",
        worldRange = 3,
      },
      CompProperties_ThrownMoteEmitter = {
        mote = "Mote_DustSlow",
        offsetMin = {-2, 0, -1.5},
        offsetMax = {0, 0, -2},
        emissionInterval = 520,
        burstCount = 35,
        scale = { ["<"]=1, [">"]=2.5 },
        rotationRate = { ["<"]=-30, [">"]=30 },
        velocityX = { ["<"]=-50, [">"]=50 },
        velocityY = { ["<"]=0.5, [">"]=1.8 },
        colorA = {0.25, 0.4, 0, 0.9},
        colorB = {0.4, 0.55, 0, 0.6},
      },
    },
  },

  ["ThingDef:WeatherController"] = {
    _ = {
      ParentName = "ConditionCauserBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_ConditionCausers.xml",
      DLC = "Royalty",
    },
    defName = "WeatherController",
    label = "weather controller",
    description = [[An ultratech device for controlling weather. Using chemicals and exotic fields, it forces the weather into a particular configuration.]],
    size = {6, 6},
    comps = {
      CompProperties_CausesGameCondition = {
        conditionDef = "WeatherController",
        compClass = "CompCauseGameCondition_ForceWeather",
        worldRange = 10,
        preventConditionStacking = false,
      },
    },
  },

  ["ThingDef:ClimateAdjuster"] = {
    _ = {
      ParentName = "ConditionCauserBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_ConditionCausers.xml",
      DLC = "Royalty",
    },
    defName = "ClimateAdjuster",
    label = "climate adjuster",
    description = [[An ultratech device for controlling climate. Using chemicals and exotic fields to manipulate the atmosphere, it shifts the temperature in this region of the world.]],
    size = {6, 6},
    comps = {
      CompProperties_CausesGameCondition_ClimateAdjuster = {
        conditionDef = "ClimateAdjustment",
        worldRange = 10,
        preventConditionStacking = false,
      },
    },
  },

  ["ThingDef:PsychicDroner"] = {
    _ = {
      ParentName = "ConditionCauserBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_ConditionCausers.xml",
      DLC = "Royalty",
    },
    defName = "PsychicDroner",
    label = "psychic droner",
    description = [[An archotech device transmitting the thoughts of a mad superintelligence. It generates a massive psychic drone tuned to one gender and affecting a whole region of the planet. People of that gender will be disturbed by the effect, reducing their mood and possibly driving them insane. The effect is modulated by an individual's psychic sensitivity.]],
    size = {6, 6},
    comps = {
      CompProperties_CausesGameCondition_PsychicEmanation = {
        conditionDef = "PsychicDroner",
        preventConditionStacking = false,
        compClass = "CompCauseGameCondition_PsychicEmanation",
        worldRange = 10,
      },
      CompProperties_MoteEmitter = {
        mote = "Mote_PsychicConditionCauserEffect",
        emissionInterval = 150,
      },
    },
  },

  ["ThingDef:PsychicSuppressor"] = {
    _ = {
      ParentName = "ConditionCauserBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_ConditionCausers.xml",
      DLC = "Royalty",
    },
    defName = "PsychicSuppressor",
    label = "psychic suppressor",
    description = [[An archotech device that generates a massive psychic suppression field tuned to a particular gender. People of that gender have their psychic activity suppressed, reducing their consciousness. The effect is modulated by an individual's psychic sensitivity.]],
    size = {6, 6},
    comps = {
      CompProperties_CausesGameCondition = {
        conditionDef = "PsychicSuppression",
        compClass = "CompCauseGameCondition_PsychicSuppression",
        worldRange = 10,
      },
      CompProperties_MoteEmitter = {
        mote = "Mote_PsychicConditionCauserEffect",
        emissionInterval = 150,
      },
    },
  },

  ["ThingDef:EMIDynamo"] = {
    _ = {
      ParentName = "ConditionCauserBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_ConditionCausers.xml",
      DLC = "Royalty",
    },
    defName = "EMIDynamo",
    label = "EMI dynamo",
    description = [[A massive electromagnetic interference generator. It interferes with or shuts down electrical devices in nearby regions.]],
    size = {6, 4},
    comps = {
      CompProperties_CausesGameCondition = {
        conditionDef = "EMIField",
        worldRange = 10,
      },
      CompProperties_Explosive = {
        explosiveRadius = 9.9,
        explosiveDamageType = "EMP",
        explodeOnKilled = true,
      },
    },
  },

  ["ThingDef:Shuttle"] = {
    _ = {
      Name = "ShuttleBase",
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Exotic.xml",
      DLC = "Royalty",
    },
    defName = "Shuttle",
    label = "shuttle",
    description = [[A spacer-tech shuttle designed for transit between surface and orbit, or between moons of a planetary system.]],
    altitudeLayer = "Building",
    pathCost = 50,
    passability = "Impassable",
    fillPercent = 1.0,
    size = {5, 3},
    statBases = {
      MaxHitPoints = 1000,
      Flammability = 1,
    },
    killedLeavings = {
      Steel = 100,
      Plasteel = 35,
      ChunkSlagSteel = 4,
      ComponentIndustrial = 4,
    },
    terrainAffordanceNeeded = "Light",
    comps = {
      CompProperties_Shuttle = {},
      CompProperties_Launchable = {
        requireFuel = false,
        fixedLaunchDistanceMax = 70,
        skyfallerLeaving = "ShuttleLeaving",
      },
      CompProperties_Transporter = {
        massCapacity = 1000,
        max1PerGroup = true,
        canChangeAssignedThingsAfterStarting = true,
        showOverallStats = false,
        pawnLoadedSound = "Shuttle_PawnLoaded",
        pawnExitSound = "Shuttle_PawnExit",
      },
    },
  },

  ["ThingDef:ShuttleCrashed"] = {
    _ = {
      ParentName = "ShuttleBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Exotic.xml",
      DLC = "Royalty",
    },
    defName = "ShuttleCrashed",
    label = "crashed shuttle",
    statBases = {
      MaxHitPoints = 200,
      Flammability = 1,
    },
    comps = {
      _ = {
        Inherit = false,
      },
    },
    killedLeavings = {
      _ = {
        Inherit = false,
      },
      Steel = 4,
      Plasteel = 7,
      ChunkSlagSteel = 1,
      ComponentIndustrial = 1,
    },
    costList = {
      Steel = 40,
      Plasteel = 70,
      ComponentIndustrial = 10,
    },
    leaveResourcesWhenKilled = true,
    building = {
      _ = {
        Inherit = false,
      },
      alwaysDeconstructible = true,
    },
  },

  ["ThingDef:BroadshieldProjector"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Exotic.xml",
      DLC = "Royalty",
    },
    defName = "BroadshieldProjector",
    label = "burnout low-shield",
    description = [[A man-portable low-angle shield projector. Bullets can go out, but not in. Its compact power source burns out after a few seconds of use.]],
    altitudeLayer = "BuildingOnTop",
    pathCost = 0,
    passability = "Standable",
    fillPercent = 0.35,
    statBases = {
      MaxHitPoints = 250,
      Flammability = 0.5,
    },
    killedLeavings = {},
    terrainAffordanceNeeded = "Light",
    building = {
      isEdifice = false,
    },
    comps = {
      CompProperties_ProjectileInterceptor = {
        radius = 4.9,
        interceptGroundProjectiles = true,
        interceptNonHostileProjectiles = true,
        interceptOutgoingProjectiles = false,
        color = "(0.6, 0.6, 0.8)",
        idlePulseSpeed = 3,
        minIdleAlpha = 0.05,
        disarmedByEmpForTicks = 600,
        activeSound = "Broadshield_Ambience",
      },
      CompProperties_DestroyAfterDelay = {
        delayTicks = 1800,
        destroyMode = "KillFinalize",
        countdownLabel = "Burnout in",
      },
    },
  },

  ["ThingDef:Drape"] = {
    _ = {
      ParentName = "FurnitureBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Royalty",
    },
    defName = "Drape",
    label = "drape",
    description = [[A decorative sheet hanging from a vertical wooden frame. Appropriate for royal rooms.]],
    altitudeLayer = "BuildingOnTop",
    passability = "PassThroughOnly",
    fillPercent = 0.40,
    statBases = {
      MaxHitPoints = 100,
      WorkToBuild = 2000,
      Mass = 15,
      Flammability = 1.0,
      Beauty = 7.5,
    },
    costList = {
      WoodLog = 50,
    },
    pathCost = 14,
    size = {2, 1},
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:Brazier"] = {
    _ = {
      ParentName = "FurnitureBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Royalty",
    },
    defName = "Brazier",
    label = "brazier",
    description = [[A bowl-shaped furnishing used to hold a fire. Will light the surroundings and create heat.]],
    category = "Building",
    fillPercent = 0.15,
    statBases = {
      MaxHitPoints = 80,
      WorkToBuild = 100,
      Flammability = 0,
      Mass = 15,
      MeditationFocusStrength = 0.0,
    },
    minifiedDef = "MinifiedThing",
    comps = {
      CompProperties_Refuelable = {
        fuelConsumptionRate = 2.0,
        fuelCapacity = 30.0,
        fuelConsumptionPerTickInRain = 0.0006,
        fuelFilter = {
          thingDefs = {
            "WoodLog",
          },
        },
        initialFuelPercent = 0,
        showAllowAutoRefuelToggle = true,
      },
      CompProperties_Glower = {
        glowRadius = 10,
        glowColor = {252, 187, 113, 0},
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 3.5,
        heatPushMaxTemperature = 23,
      },
      CompProperties_FireOverlay = {
        fireSize = 1,
        offset = {0, 0, 0.18},
      },
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Flame",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_Lit",
            },
            offset = 0.15,
          },
          {
            _ = {
              Class = "FocusStrengthOffset_BuildingDefsLit",
            },
            defs = {
              "Campfire",
              "TorchLamp",
              "Brazier",
            },
            offsetPerBuilding = 0.02,
            radius = 9.9,
            maxBuildings = 8,
            explanationKey = "MeditationFocusPerFlame",
            explanationKeyAbstract = "MeditationFocusPerFlameAbstract",
          },
        },
      },
    },
    altitudeLayer = "Building",
    passability = "PassThroughOnly",
    pathCost = 42,
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:Throne"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Royalty",
    },
    defName = "Throne",
    label = "meditation throne",
    description = [[A large, ornate chair designed for a dignity-focused psycaster to sit and meditate. Reigning on a throne is a form of meditation that builds up psyfocus. For dignity psycasters, more impressive meditation thrones and thronerooms increase the rate of psyfocus gain.]],
    altitudeLayer = "Building",
    category = "Building",
    hasInteractionCell = true,
    statBases = {
      MaxHitPoints = 150,
      WorkToBuild = 10000,
      Mass = 40,
      Flammability = 1.0,
      Beauty = 4,
      Comfort = 0.75,
      MeditationFocusStrength = 0.15,
    },
    thingClass = "Building_Throne",
    pathCost = 30,
    fillPercent = 0.4,
    building = {
      isSittable = true,
    },
    comps = {
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = true,
        compClass = "CompAssignableToPawn_Throne",
      },
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Dignified",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_ThroneSatisfiesRequirements",
            },
            offset = 0.08,
          },
          {
            _ = {
              Class = "FocusStrengthOffset_RoomImpressiveness",
            },
            curve = {
              points = {
                {0, -0.05},
                {30, 0.0},
                {60, 0.04},
                {100, 0.08},
                {170, 0.1},
              },
            },
          },
        },
      },
    },
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:GrandThrone"] = {
    _ = {
      ParentName = "FurnitureWithQualityBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Furniture.xml",
      DLC = "Royalty",
    },
    defName = "GrandThrone",
    label = "grand meditation throne",
    description = [[A massive, ornate chair, designed for a dignity-focused psycaster to sit and meditate. Reigning on a throne is a form of meditation that builds up psyfocus. For dignity psycasters, more impressive meditation thrones and thronerooms increase the rate of psyfocus gain.]],
    altitudeLayer = "Building",
    category = "Building",
    size = {3, 2},
    hasInteractionCell = true,
    statBases = {
      MaxHitPoints = 350,
      WorkToBuild = 40000,
      Mass = 100,
      Flammability = 1.0,
      Beauty = 6,
      Comfort = 0.9,
      MeditationFocusStrength = 0.15,
    },
    thingClass = "Building_Throne",
    costList = {
      Gold = 75,
    },
    pathCost = 30,
    fillPercent = 0.4,
    building = {
      isSittable = true,
      buildingSizeCategory = "Medium",
    },
    comps = {
      CompProperties_AssignableToPawn = {
        drawAssignmentOverlay = true,
        compClass = "CompAssignableToPawn_Throne",
      },
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Dignified",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_ThroneSatisfiesRequirements",
            },
            offset = 0.08,
          },
          {
            _ = {
              Class = "FocusStrengthOffset_RoomImpressiveness",
            },
            curve = {
              points = {
                {0, -0.05},
                {30, 0.00},
                {60, 0.04},
                {100, 0.08},
                {170, 0.10},
              },
            },
          },
        },
      },
    },
    researchPrerequisites = {
      "ComplexFurniture",
    },
  },

  ["ThingDef:MechBuildingBase"] = {
    _ = {
      ParentName = "BuildingBase",
      Name = "MechBuildingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech.xml",
      DLC = "Royalty",
    },
    altitudeLayer = "Building",
    pathCost = 50,
    passability = "PassThroughOnly",
    fillPercent = 1.0,
    terrainAffordanceNeeded = "Light",
    building = {
      buildingTags = {
        "MechClusterMember",
      },
    },
    statBases = {
      Flammability = 0,
      Beauty = -20,
    },
  },

  ["ThingDef:UnstablePowerCell"] = {
    _ = {
      ParentName = "MechBuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech.xml",
      DLC = "Royalty",
    },
    defName = "UnstablePowerCell",
    label = "unstable power cell",
    description = [[A mechanoid power generation unit. The vanometric power core will run forever, extracting energy from quantum foam fluctuations.\n\nAn internal amplifier system makes it unstable. If damaged, the unit will generate a massive explosion.\n\nSome brave humans steal these from mechanoids for their own use as power plants or defensive bombs. However, an unintentional detonation can be devastating.]],
    size = {1, 1},
    passability = "PassThroughOnly",
    fillPercent = 0.35,
    pathCost = 42,
    statBases = {
      MaxHitPoints = 200,
      Flammability = 0,
      Mass = 15,
      MarketValue = 400,
      WorkToBuild = 300,
    },
    building = {
      buildingTags = {
        "MechClusterMemberGood",
      },
    },
    thingCategories = {
      "BuildingsSpecial",
    },
    minifiedDef = "MinifiedThing",
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerPlant",
        basePowerConsumption = -400,
        transmitsPower = true,
      },
      CompProperties_Glower = {
        glowRadius = 4,
        glowColor = {115, 200, 23, 0},
      },
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 9.9,
        explosiveDamageType = "Bomb",
        explodeOnKilled = true,
        startWickHitPointsPercent = 0.5,
        extraInspectStringKey = "ExplosionOnDamageWarning",
      },
    },
    costList = {
      ComponentIndustrial = 2,
    },
  },

  ["ThingDef:Gloomlight"] = {
    _ = {
      ParentName = "MechBuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech.xml",
      DLC = "Royalty",
    },
    defName = "Gloomlight",
    label = "gloomlight",
    description = [[A self-powered mechanoid light. Gloomlights can be deconstructed to yield valuable resources, or used as lights - but only if they are captured intact. The internal micro power cell will flame out and ruin the materials if the unit takes too much damage.]],
    size = {1, 1},
    passability = "PassThroughOnly",
    pathCost = 30,
    statBases = {
      MaxHitPoints = 50,
      Mass = 9,
      MarketValue = 200,
      WorkToBuild = 300,
    },
    building = {
      buildingTags = {
        "MechClusterMemberLamp",
      },
    },
    thingCategories = {
      "BuildingsSpecial",
    },
    minifiedDef = "MinifiedThing",
    comps = {
      CompProperties_Glower = {
        glowRadius = 3,
        glowColor = {216, 219, 67, 0},
      },
    },
    leaveResourcesWhenKilled = false,
    costList = {
      Plasteel = 22,
      ComponentIndustrial = 1,
    },
  },

  ["ThingDef:Defoliator"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech.xml",
      DLC = "Royalty",
    },
    defName = "Defoliator",
    label = "defoliator",
    description = [[An area-denial device which annihilates nearby plants without affecting animals.\n\nIn planetary wars, these weapons are scattered across farmlands or jungles to deny the enemy food or cover. They're usually associated with orbital-drop mechanoid swarms.]],
    size = {3, 3},
    pathCost = 50,
    passability = "PassThroughOnly",
    fillPercent = 0.5,
    leaveResourcesWhenKilled = false,
    killedLeavings = {
      ChunkSlagSteel = 4,
      Steel = 60,
      ComponentIndustrial = 1,
      Plasteel = 10,
    },
    terrainAffordanceNeeded = "Light",
    building = {
      buildingTags = {
        "MechClusterMember",
        "MechClusterProblemCauser",
      },
    },
    statBases = {
      MaxHitPoints = 400,
      Flammability = 0,
      Beauty = -200,
    },
    comps = {
      CompProperties_PlantHarmRadius = {
        radiusPerDayCurve = {
          points = {
            "0  , 5",
            "1.5, 18",
            "6  , 40",
            "20 , 100",
          },
        },
      },
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
      CompProperties_Initiatable = {},
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 9,
        explosiveDamageType = "EMP",
        explodeOnKilled = true,
      },
    },
  },

  ["ThingDef:ActivatorCountdown"] = {
    _ = {
      ParentName = "MechBuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Activators.xml",
      DLC = "Royalty",
    },
    defName = "ActivatorCountdown",
    label = "count-down activator",
    description = [[A timed mechanoid activation unit. After counting down, it will wake nearby dormant mechanoids and structures.]],
    size = {1, 1},
    fillPercent = 0.25,
    pathCost = 30,
    statBases = {
      MaxHitPoints = 100,
      Flammability = 0,
      WorkToBuild = 300,
    },
    building = {
      buildingTags = {
        "MechClusterActivator",
      },
    },
    comps = {
      CompProperties_SendSignalOnCountdown = {
        signalTag = "CompCanBeDormant.WakeUp",
        countdownCurveTicks = {
          points = {
            {599, 0},
            {600, 1},
            {600000, 0.1},
            {1200000, 0},
          },
        },
      },
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
      CompProperties_MoteEmitter = {
        mote = "Mote_ActivatorCountdownFlash",
        emissionInterval = 100,
        soundOnEmission = "ActivatorCountdown_Ambience",
        saveKeysPrefix = "flash",
      },
      CompProperties_MoteEmitter = {
        mote = "Mote_ActivatorCountdownGlow",
        maintain = true,
        saveKeysPrefix = "glow",
      },
      CompProperties_Glower = {
        glowRadius = 2,
        glowColor = {55, 145, 10, 0},
      },
    },
    costList = {
      Plasteel = 7,
    },
  },

  ["ThingDef:ActivatorProximity"] = {
    _ = {
      ParentName = "MechBuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Activators.xml",
      DLC = "Royalty",
    },
    defName = "ActivatorProximity",
    label = "proximity activator",
    description = [[A proximity alarm for dormant mechanoids. If it detects a human-like threat nearby, it will awaken any nearby dormant mechanoids or structures.]],
    size = {1, 1},
    fillPercent = 0.25,
    pathCost = 30,
    statBases = {
      MaxHitPoints = 100,
      Flammability = 0,
      WorkToBuild = 300,
    },
    building = {
      buildingTags = {
        "MechClusterActivator",
      },
    },
    comps = {
      CompProperties_SendSignalOnPawnProximity = {
        onlyHumanlike = true,
        radius = 12.9,
        enableAfterTicks = 1200,
        signalTag = "CompCanBeDormant.WakeUp",
      },
      CompProperties_MoteEmitterProximityScan = {
        mote = "Mote_ProximityScannerRadius",
        emissionInterval = 90,
        maintain = true,
        soundEmitting = "ActivatorProximity_Ambience",
        saveKeysPrefix = "scan",
        warmupPulseFadeInTime = 0.12,
        warmupPulseSolidTime = 0.15,
        warmupPulseFadeOutTime = 0.6,
      },
      CompProperties_MoteEmitter = {
        mote = "Mote_ActivatorProximityGlow",
        maintain = true,
        saveKeysPrefix = "glow",
      },
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
      CompProperties_Glower = {
        glowRadius = 2,
        glowColor = {115, 35, 20, 0},
      },
    },
    costList = {
      Plasteel = 7,
    },
  },

  ["ThingDef:ShieldGeneratorMortar"] = {
    _ = {
      ParentName = "MechBuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_ShieldGenerators.xml",
      DLC = "Royalty",
    },
    defName = "ShieldGeneratorMortar",
    label = "mech high-shield",
    description = [[A shielding device which projects a momentum repulsor field. Shots can go out, but not in.\n\nThis one is tuned to high angles, so it will block mortar rounds.\n\nThe unit can be temporarily disabled by EMP attacks, either by shocking the projector unit itself, or using EMP munitions on the shield.]],
    size = {1, 1},
    statBases = {
      MaxHitPoints = 200,
      Flammability = 0,
      MarketValue = 1000,
      WorkToBuild = 300,
    },
    comps = {
      CompProperties_ProjectileInterceptor = {
        radius = 25,
        interceptAirProjectiles = true,
        color = "(0.6, 0.6, 0.6)",
        reactivateEffect = "MortarShieldGenerator_Reactivate",
        activeSound = "MortarShield_Ambience",
        disarmedByEmpForTicks = 1080,
        chargeIntervalTicks = 600000,
        chargeDurationTicks = 60000,
      },
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
    },
    costList = {
      Plasteel = 7,
      BroadshieldCore = 1,
    },
    leaveResourcesWhenKilled = false,
    killedLeavings = {
      Plasteel = 7,
    },
  },

  ["ThingDef:ShieldGeneratorBullets"] = {
    _ = {
      ParentName = "MechBuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_ShieldGenerators.xml",
      DLC = "Royalty",
    },
    defName = "ShieldGeneratorBullets",
    label = "mech low-shield",
    description = [[A shielding device which projects a momentum repulsor field. Shots can go out, but not in.\n\nThis one is tuned to low angles, so it will block ground-level projectiles like bullets.\n\nThe unit can be temporarily disabled by EMP attacks, either by shocking the projector unit itself, or using EMP munitions on the shield.]],
    size = {1, 1},
    statBases = {
      MaxHitPoints = 200,
      Flammability = 0,
      MarketValue = 1000,
      WorkToBuild = 300,
    },
    comps = {
      CompProperties_ProjectileInterceptor = {
        radius = 20,
        interceptGroundProjectiles = true,
        color = "(0.4, 0.4, 0.4)",
        reactivateEffect = "BulletShieldGenerator_Reactivate",
        activeSound = "BulletShield_Ambience",
        disarmedByEmpForTicks = 1080,
        chargeIntervalTicks = 600000,
        chargeDurationTicks = 60000,
      },
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
    },
    costList = {
      Plasteel = 7,
      BroadshieldCore = 1,
    },
    leaveResourcesWhenKilled = false,
    killedLeavings = {
      Plasteel = 7,
    },
  },

  ["ThingDef:MechCapsule"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Spawners.xml",
      DLC = "Royalty",
    },
    defName = "MechCapsule",
    label = "mech capsule",
    description = [[A mechanoid storage and deployment capsule. It can contain a number of mechanoids, ready to emerge and fight upon being awakened.]],
    altitudeLayer = "Building",
    pathCost = 50,
    passability = "PassThroughOnly",
    fillPercent = 1.0,
    terrainAffordanceNeeded = "Light",
    size = {2, 3},
    statBases = {
      MaxHitPoints = 180,
      Flammability = 0,
      Beauty = -20,
      WorkToBuild = 500,
    },
    building = {
      combatPower = 400,
      buildingTags = {
        "MechClusterMember",
        "MechClusterCombatThreat",
      },
    },
    costList = {
      ComponentIndustrial = 3,
      Plasteel = 20,
    },
    killedLeavings = {
      ChunkSlagSteel = 1,
    },
    comps = {
      CompProperties_CanBeDormant = {
        awakeStateLabelKey = "OpenedDaysAgo",
        dormantStateLabelKey = "DormantCompSealed",
      },
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
      CompProperties_PawnSpawnOnWakeup = {
        points = 410,
        spawnablePawnKinds = {
          "Mech_Scyther",
          "Mech_Lancer",
          "Mech_Centipede",
          "Mech_Pikeman",
        },
        spawnSound = "CryptosleepCasket_Eject",
        lordJob = "LordJob_MechanoidsDefend",
        shouldJoinParentLord = true,
      },
      CompProperties_EmptyStateGraphic = {
        graphicData = {
          texPath = "Things/Building/Mech/MechCapsuleOpen",
          graphicClass = "Graphic_Single",
          drawSize = {2, 3},
        },
      },
    },
  },

  ["ThingDef:MechAssembler"] = {
    _ = {
      ParentName = "MechBuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Spawners.xml",
      DLC = "Royalty",
    },
    defName = "MechAssembler",
    label = "mech assembler",
    description = [[An automated mechanoid factory. It periodically assembles and deploys new mechanoids.]],
    size = {3, 3},
    statBases = {
      MaxHitPoints = 260,
      Flammability = 0,
      WorkToBuild = 500,
    },
    building = {
      combatPower = 250,
      buildingTags = {
        "MechClusterCombatThreat",
      },
    },
    costList = {
      ComponentIndustrial = 3,
      Plasteel = 20,
    },
    killedLeavings = {
      ChunkSlagSteel = 1,
    },
    comps = {
      CompProperties_CanBeDormant = {},
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
      CompProperties_SpawnerPawn = {
        spawnablePawnKinds = {
          "Mech_Scyther",
          "Mech_Lancer",
          "Mech_Centipede",
          "Mech_Pikeman",
        },
        chooseSingleTypeToSpawn = true,
        spawnMessageKey = "MessageMechanoidsAssembled",
        pawnsLeftToSpawnKey = "MessageMechanoidsLeftToAssemble",
        noPawnsLeftToSpawnKey = "ShutDown",
        nextSpawnInspectStringKey = "MechAssemblyCompleteIn",
        nextSpawnInspectStringKeyDormant = "MechAssemblyNextType",
        maxPawnsToSpawn = 4,
        spawnSound = "MechAssembler_Spawn",
        showNextSpawnInInspect = true,
        lordJob = "LordJob_MechanoidsDefend",
        pawnSpawnIntervalDays = 1,
        shouldJoinParentLord = true,
      },
    },
  },

  ["ThingDef:MechDropBeacon"] = {
    _ = {
      ParentName = "MechBuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Spawners.xml",
      DLC = "Royalty",
    },
    defName = "MechDropBeacon",
    label = "mech drop beacon",
    description = [[A mechanoid reinforcement drop beacon. When activated, it calls in a group of mechs to land in drop pods nearby.]],
    size = {1, 1},
    pathCost = 30,
    fillPercent = 0.25,
    statBases = {
      MaxHitPoints = 100,
      Flammability = 0,
    },
    building = {
      combatPower = 400,
      buildingTags = {
        "MechClusterCombatThreat",
      },
    },
    comps = {
      CompProperties_CanBeDormant = {
        awakeStateLabelKey = "DormantCompExpired",
        dormantStateLabelKey = "DormantCompBeacon",
      },
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
      CompProperties_PawnSpawnOnWakeup = {
        points = { ["<"]=350, [">"]=450 },
        dropInPods = true,
        pawnSpawnRadius = { ["<"]=10, [">"]=30 },
        spawnEffecter = "MechDropBeaconActivated",
        activatedMessageKey = "MessageMechanoidsReinforcementsDrop",
        spawnablePawnKinds = {
          "Mech_Scyther",
          "Mech_Lancer",
          "Mech_Centipede",
          "Mech_Pikeman",
        },
        lordJob = "LordJob_MechanoidsDefend",
        shouldJoinParentLord = true,
      },
    },
    costList = {
      Plasteel = 7,
    },
  },

  ["ThingDef:Turret_AutoMiniTurret"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Turrets.xml",
      DLC = "Royalty",
    },
    defName = "Turret_AutoMiniTurret",
    label = "mini-slugger turret",
    description = [[A self-powered defense turret mounted with a weak but long-ranged slug-thrower. May explode when damaged.]],
    thingClass = "Building_TurretGun",
    altitudeLayer = "Building",
    statBases = {
      MaxHitPoints = 100,
      Flammability = 0,
      Mass = 10,
      ShootingAccuracyTurret = 0.96,
      Beauty = -20,
    },
    comps = {
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 3.9,
        explosiveDamageType = "Bomb",
        chanceNeverExplodeFromDamage = 0.5,
      },
      CompProperties_CanBeDormant = {},
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
    },
    killedLeavings = {
      ChunkSlagSteel = 1,
    },
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.4,
    terrainAffordanceNeeded = "Light",
    building = {
      combatPower = 45,
      buildingTags = {
        "MechClusterMember",
        "MechClusterCombatThreat",
      },
      turretGunDef = "Gun_MiniTurretMech",
      turretBurstCooldownTime = 2.5,
    },
  },

  ["ThingDef:Gun_MiniTurretMech"] = {
    _ = {
      ParentName = "BaseWeaponTurret",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Turrets.xml",
      DLC = "Royalty",
    },
    defName = "Gun_MiniTurretMech",
    label = "mini-slugger",
    description = [[An automatic turret-mounted slug-thrower.]],
    statBases = {
      AccuracyTouch = 0.80,
      AccuracyShort = 0.55,
      AccuracyMedium = 0.35,
      AccuracyLong = 0.1,
      RangedWeapon_Cooldown = 5.1,
      DeteriorationRate = 0,
      Mass = 5,
      Flammability = 0,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_MiniSlug",
        range = 45.9,
        burstShotCount = 1,
      },
    },
  },

  ["ThingDef:Bullet_MiniSlug"] = {
    _ = {
      ParentName = "BaseBullet",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Turrets.xml",
      DLC = "Royalty",
    },
    defName = "Bullet_MiniSlug",
    label = "mini-slug",
  },

  ["ThingDef:Turret_AutoChargeBlaster"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Turrets.xml",
      DLC = "Royalty",
    },
    defName = "Turret_AutoChargeBlaster",
    label = "auto charge turret",
    description = [[A self-powered turret mounted with a charge blaster. It cannot sense targets at very short ranges.]],
    thingClass = "Building_TurretGun",
    altitudeLayer = "Building",
    size = {2, 2},
    statBases = {
      MaxHitPoints = 180,
      Flammability = 0,
      Mass = 100,
      ShootingAccuracyTurret = 0.96,
      Beauty = -20,
    },
    comps = {
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 5.9,
        explosiveDamageType = "Bomb",
        chanceNeverExplodeFromDamage = 0.5,
      },
      CompProperties_CanBeDormant = {},
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
    },
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.5,
    killedLeavings = {
      ChunkSlagSteel = 1,
    },
    terrainAffordanceNeeded = "Heavy",
    building = {
      combatPower = 150,
      buildingTags = {
        "MechClusterMember",
        "MechClusterCombatThreat",
      },
      turretGunDef = "Gun_ChargeBlasterHeavyTurret",
      turretBurstCooldownTime = 5.5,
    },
  },

  ["ThingDef:Gun_ChargeBlasterHeavyTurret"] = {
    _ = {
      ParentName = "Gun_ChargeBlasterHeavyBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Turrets.xml",
      DLC = "Royalty",
    },
    defName = "Gun_ChargeBlasterHeavyTurret",
    label = "light charge blaster",
    description = [[A pulse-charged rapid-fire blaster for area fire.]],
    statBases = {
      AccuracyLong = 0.08,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_ChargeBlasterHeavy",
        warmupTime = 1.25,
        minRange = 3.9,
        range = 45.9,
        ticksBetweenBurstShots = 7,
        burstShotCount = 9,
      },
    },
  },

  ["ThingDef:Turret_AutoInferno"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Turrets.xml",
      DLC = "Royalty",
    },
    defName = "Turret_AutoInferno",
    label = "auto inferno turret",
    description = [[A self-powered turret mounted with an inferno cannon. It cannot sense targets at very short ranges.]],
    thingClass = "Building_TurretGun",
    altitudeLayer = "Building",
    size = {2, 2},
    statBases = {
      MaxHitPoints = 180,
      Flammability = 0,
      Mass = 100,
      ShootingAccuracyTurret = 0.96,
      Beauty = -20,
    },
    comps = {
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 5.9,
        explosiveDamageType = "Bomb",
        chanceNeverExplodeFromDamage = 0.5,
      },
      CompProperties_CanBeDormant = {},
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
    },
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.5,
    killedLeavings = {
      ChunkSlagSteel = 1,
    },
    terrainAffordanceNeeded = "Heavy",
    building = {
      buildingTags = {
        "MechClusterMember",
        "MechClusterCombatThreat",
      },
      combatPower = 190,
      turretGunDef = "Gun_InfernoCannonTurret",
      turretBurstCooldownTime = 17.0,
    },
  },

  ["ThingDef:Gun_InfernoCannonTurret"] = {
    _ = {
      ParentName = "Gun_InfernoCannonBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Turrets.xml",
      DLC = "Royalty",
    },
    defName = "Gun_InfernoCannonTurret",
    statBases = {
      AccuracyLong = 0.66,
    },
    verbs = {
      {
        defaultProjectile = "Bullet_InfernoCannon",
        forcedMissRadius = 4.6,
        warmupTime = 1.25,
        minRange = 3.9,
        range = 45.9,
        burstShotCount = 1,
      },
    },
  },

  ["ThingDef:Turret_AutoMortar"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Turrets.xml",
      DLC = "Royalty",
    },
    defName = "Turret_AutoMortar",
    label = "auto mortar",
    description = [[A self-powered, self-loading, automatic mortar. It can hit targets at any distance, over walls, but is quite inaccurate.]],
    thingClass = "Building_TurretGun",
    altitudeLayer = "Building",
    size = {2, 2},
    passability = "PassThroughOnly",
    pathCost = 50,
    fillPercent = 0.4,
    killedLeavings = {
      ChunkSlagSteel = 1,
      Steel = 60,
      Plasteel = 10,
    },
    terrainAffordanceNeeded = "Heavy",
    comps = {
      CompProperties_Forbiddable = {},
      CompProperties_Explosive = {
        wickTicks = 240,
        explosiveRadius = 4.9,
        explosiveDamageType = "Bomb",
      },
      CompProperties_Initiatable = {},
      CompProperties_WakeUpDormant = {
        wakeUpSound = "MechanoidsWakeUp",
      },
    },
    statBases = {
      MaxHitPoints = 260,
      Flammability = 0,
      Mass = 30,
      ShootingAccuracyTurret = 0.9,
      Beauty = -20,
    },
    building = {
      buildingTags = {
        "MechClusterMember",
        "MechClusterProblemCauser",
      },
      combatPower = 220,
      turretGunDef = "Artillery_AutoMortar",
      turretBurstWarmupTime = 4.0,
      turretBurstCooldownTime = 80.0,
      turretInitialCooldownTime = 120,
    },
  },

  ["ThingDef:Artillery_AutoMortar"] = {
    _ = {
      ParentName = "BaseArtilleryWeapon",
      DefCategory = "ThingDef",
      FileName = "Buildings_Mech_Turrets.xml",
      DLC = "Royalty",
    },
    defName = "Artillery_AutoMortar",
    label = "auto-mortar",
    weaponTags = {
      "Artillery_BaseDestroyer",
    },
    verbs = {
      {
        defaultProjectile = "Bullet_Shell_HighExplosive",
        forcedMissRadius = 13,
        warmupTime = 4,
        minRange = 29.9,
        range = 500,
        burstShotCount = 1,
        requireLineOfSight = false,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
  },

  ["ThingDef:ShipLandingBeacon"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Royalty",
    },
    defName = "ShipLandingBeacon",
    label = "ship landing beacon",
    description = [[Marks the corner of a landing area. Four of these placed at the corners of a clear area (minimum 9x9) create a landing pad. Spacecraft usually land on pads if possible.]],
    altitudeLayer = "Building",
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsMisc",
    },
    statBases = {
      MaxHitPoints = 75,
      WorkToBuild = 800,
      Flammability = 0.5,
      Mass = 5,
    },
    fillPercent = 0.15,
    costList = {
      Steel = 40,
      ComponentIndustrial = 1,
    },
    comps = {
      CompProperties_Power = {
        compClass = "CompPowerTrader",
        basePowerConsumption = 50,
      },
      CompProperties_Glower = {
        glowRadius = 2,
        glowColor = "(164, 255, 138, 0)",
      },
      CompProperties_ShipLandingBeacon = {
        edgeLengthRange = { ["<"]=9, [">"]=25 },
      },
      CompProperties_Flickable = {},
      CompProperties_Breakdownable = {},
    },
    leaveResourcesWhenKilled = false,
    pathCost = 14,
    researchPrerequisites = {
      "Electricity",
    },
  },

  ["ThingDef:MeditationSpot"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Royalty",
    },
    defName = "MeditationSpot",
    label = "meditation spot",
    description = [[Designates a spot for meditation. Psycasters can meditate here to gain psyfocus. If a focus object like a sculpture is nearby, the psycaster will be able to focus on it to boost their psyfocus gain. However, different people are able to use different focus objects.]],
    altitudeLayer = "FloorEmplacement",
    statBases = {
      WorkToBuild = 0,
    },
    useHitPoints = false,
    passability = "Standable",
    building = {
      sowTag = "SupportPlantsOnly",
      artificialForMeditationPurposes = false,
    },
    comps = {
      CompProperties_UsesMeditationFocus = {},
      CompProperties_AssignableToPawn = {
        drawUnownedAssignmentOverlay = false,
        compClass = "CompAssignableToPawn_MeditationSpot",
      },
    },
  },

  ["ThingDef:NatureShrineBase"] = {
    _ = {
      Name = "NatureShrineBase",
      ParentName = "BuildingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Royalty",
    },
    altitudeLayer = "Building",
    useHitPoints = true,
    passability = "PassThroughOnly",
    thingCategories = {
      "BuildingsMisc",
    },
    statBases = {
      Flammability = 1.0,
    },
    building = {
      artificialForMeditationPurposes = false,
    },
    minifiedDef = "MinifiedThing",
  },

  ["ThingDef:NatureShrine_Small"] = {
    _ = {
      ParentName = "NatureShrineBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Royalty",
    },
    defName = "NatureShrine_Small",
    label = "small nature shrine",
    description = [[A small shrine for honoring spiritual beings. Tribal psycasters can focus on this shrine while meditating to increase psyfocus gain. Nature shrines lose their power if they are close to artificial structures, so they are always built in nature. Since they look like natural objects to unobservant outsiders, raiders will generally ignore them.]],
    size = {2, 2},
    terrainAffordanceNeeded = "Medium",
    comps = {
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Natural",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_ArtificialBuildings",
            },
            radius = 34.9,
            curve = {
              points = {
                {0, 0.0},
                {5, -0.06},
                {10, -0.12},
                {50, -0.22},
              },
            },
          },
          {
            _ = {
              Class = "FocusStrengthOffset_BuildingDefs",
            },
            defs = {
              AnimusStone = 0.02,
            },
            radius = 9.9,
            maxBuildings = 4,
            explanationKey = "MeditationFocusPerAnimusStone",
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAbstract",
          },
        },
      },
    },
    statBases = {
      MaxHitPoints = 150,
      WorkToBuild = 15000,
      Beauty = 10,
      MeditationFocusStrength = 0.22,
      Mass = 25,
    },
  },

  ["ThingDef:NatureShrine_Large"] = {
    _ = {
      ParentName = "NatureShrineBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Royalty",
    },
    defName = "NatureShrine_Large",
    label = "large nature shrine",
    description = [[A large shrine for honoring spiritual beings. Tribal psycasters can focus on this shrine while meditating to increase psyfocus gain. Nature shrines lose their power if they are close to artificial structures, so they are always built in nature. Since they look like natural objects to unobservant outsiders, raiders will generally ignore them.]],
    size = {3, 3},
    terrainAffordanceNeeded = "Heavy",
    comps = {
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Natural",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_ArtificialBuildings",
            },
            radius = 34.9,
            curve = {
              points = {
                {0, 0.0},
                {5, -0.06},
                {10, -0.13},
                {50, -0.30},
              },
            },
          },
          {
            _ = {
              Class = "FocusStrengthOffset_BuildingDefs",
            },
            defs = {
              AnimusStone = 0.02,
            },
            radius = 9.9,
            maxBuildings = 4,
            explanationKey = "MeditationFocusPerAnimusStone",
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAbstract",
          },
        },
      },
    },
    statBases = {
      MaxHitPoints = 300,
      WorkToBuild = 30000,
      MeditationFocusStrength = 0.30,
      Beauty = 20,
      Mass = 50,
    },
  },

  ["ThingDef:AnimusStone"] = {
    _ = {
      ParentName = "BuildingBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_Misc.xml",
      DLC = "Royalty",
    },
    defName = "AnimusStone",
    label = "animus stone",
    description = [[An ancient jade stone marked with sacred tribal carvings. Tribal psycasters can focus on these stones during meditation to increase their psyfocus gain more than a typical nature shrine.\n\nDifferent tribal cultures tell different stories about these stones, but most agree that they were crafted by an ancient world spirit during a time of great power. Since they look like natural objects to unobservant outsiders, raiders will generally ignore them.]],
    altitudeLayer = "Building",
    minifiedDef = "MinifiedThing",
    thingCategories = {
      "BuildingsMisc",
    },
    fillPercent = 0.35,
    tradeability = "Buyable",
    statBases = {
      MarketValue = 5000,
      MaxHitPoints = 100,
      Mass = 5,
      MeditationFocusStrength = 0.34,
    },
    building = {
      artificialForMeditationPurposes = false,
    },
    comps = {
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Natural",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_ArtificialBuildings",
            },
            radius = 34.9,
            curve = {
              points = {
                {0, 0.0},
                {5, -0.08},
                {10, -0.16},
                {50, -0.34},
              },
            },
          },
          {
            _ = {
              Class = "FocusStrengthOffset_BuildingDefs",
            },
            defs = {
              AnimusStone = 0.02,
            },
            radius = 9.9,
            maxBuildings = 4,
            explanationKey = "MeditationFocusPerAnimusStone",
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAbstract",
          },
        },
      },
    },
  },

  ["ThingDef:UnfinishedMusicalInstrument"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_MusicalInstruments.xml",
      DLC = "Royalty",
    },
    defName = "UnfinishedMusicalInstrument",
    label = "unfinished musical instrument",
    description = [[An unfinished musical instrument.]],
  },

  ["ThingDef:MusicalInstrumentBase"] = {
    _ = {
      Name = "MusicalInstrumentBase",
      ParentName = "BuildingBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Buildings_MusicalInstruments.xml",
      DLC = "Royalty",
    },
    passability = "PassThroughOnly",
    pathCost = 50,
    minifiedDef = "MinifiedThing",
    altitudeLayer = "Building",
    thingClass = "Building_MusicalInstrument",
    hasInteractionCell = true,
    thingCategories = {
      "BuildingsJoy",
    },
    tradeTags = {
      "MusicalInstrument",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Sculpt",
      unfinishedThingDef = "UnfinishedMusicalInstrument",
    },
    building = {
      joyKind = "HighCulture",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
      {
        compClass = "CompGatherSpot",
      },
      CompProperties_ThrownMoteEmitter = {
        mote = "Mote_Music",
        offsetMin = {-0.6, 0, 0.3},
        offsetMax = {0.6, 0, 0.5},
        emissionInterval = 100,
        scale = { ["<"]=0.6, [">"]=0.9 },
        rotationRate = { ["<"]=-15, [">"]=15 },
        velocityX = { ["<"]=0.3, [">"]=0.7 },
        velocityY = { ["<"]=0.7, [">"]=1.0 },
      },
    },
  },

  ["ThingDef:Harp"] = {
    _ = {
      ParentName = "MusicalInstrumentBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_MusicalInstruments.xml",
      DLC = "Royalty",
    },
    defName = "Harp",
    label = "harp",
    description = [[A simple stationary musical instrument. A row of strings are stretched over a frame and plucked directly by a musician's fingers.\n\nIt can be crafted at a crafting spot or smithy.]],
    size = {1, 1},
    pathCost = 30,
    researchPrerequisites = {
      "Harp",
    },
    statBases = {
      MaxHitPoints = 70,
      WorkToMake = 18000,
      Mass = 4,
      JoyGainFactor = 1,
      Beauty = 10,
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 3,
      },
      researchPrerequisite = "Harp",
      recipeUsers = {
        "CraftingSpot",
        "FueledSmithy",
        "ElectricSmithy",
      },
    },
    costList = {
      WoodLog = 150,
    },
  },

  ["ThingDef:Harpsichord"] = {
    _ = {
      ParentName = "MusicalInstrumentBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_MusicalInstruments.xml",
      DLC = "Royalty",
    },
    defName = "Harpsichord",
    label = "harpsichord",
    description = [[A complex stationary musical instrument crafted at a smithy. A musician touches a row of keys on the front of the instrument. Each key is attached to an internal mechanism which plucks one of a row of strings stretched over a wooden frame. While it permits more complex composition than the harp, its wooden construction and plucking mechanism limit its output volume and expressiveness.]],
    size = {2, 3},
    researchPrerequisites = {
      "Harpsichord",
    },
    statBases = {
      MaxHitPoints = 150,
      WorkToMake = 32000,
      Mass = 30,
      JoyGainFactor = 1,
      Beauty = 14,
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 5,
      },
      researchPrerequisite = "Harpsichord",
      recipeUsers = {
        "FueledSmithy",
        "ElectricSmithy",
      },
    },
    costList = {
      WoodLog = 250,
    },
  },

  ["ThingDef:UnfinishedPiano"] = {
    _ = {
      ParentName = "UnfinishedBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_MusicalInstruments.xml",
      DLC = "Royalty",
    },
    defName = "UnfinishedPiano",
    label = "unfinished piano",
    description = [[An unfinished piano.]],
  },

  ["ThingDef:Piano"] = {
    _ = {
      ParentName = "MusicalInstrumentBase",
      DefCategory = "ThingDef",
      FileName = "Buildings_MusicalInstruments.xml",
      DLC = "Royalty",
    },
    defName = "Piano",
    label = "piano",
    description = [[An advanced stationary musical instrument. It is played by pressing a row of keys, which causes hammers to strike internal strings stretched over a steel frame. The hammer mechanism and high-tension strings allow the musician to play both very soft and very loud, making the piano a very expressive instrument.\n\nIt can be crafted at a smithy.]],
    size = {3, 3},
    researchPrerequisites = {
      "Piano",
    },
    statBases = {
      MaxHitPoints = 180,
      WorkToMake = 50000,
      Mass = 60,
      JoyGainFactor = 1,
      Beauty = 18,
    },
    recipeMaker = {
      skillRequirements = {
        Crafting = 6,
      },
      researchPrerequisite = "Piano",
      recipeUsers = {
        "FueledSmithy",
        "ElectricSmithy",
      },
      unfinishedThingDef = "UnfinishedPiano",
    },
    costList = {
      WoodLog = 220,
      Steel = 120,
    },
  },

  ["ThingDef:BroadshieldCore"] = {
    _ = {
      ParentName = "ResourceBase",
      DefCategory = "ThingDef",
      FileName = "Items_Exotic.xml",
      DLC = "Royalty",
    },
    defName = "BroadshieldCore",
    label = "shield core",
    description = [[A piece of ultratechnology that can generate a momentum-repulsor shield. This can't do anything on its own, but it is necessary to craft some other usable shield items.\n\nShield cores can be obtained by deconstructing mechanoid shield generators.]],
    stackLimit = 1,
    useHitPoints = true,
    statBases = {
      MarketValue = 350,
      MaxHitPoints = 100,
      Mass = 2,
      Flammability = 0.2,
    },
    thingCategories = {
      "Items",
    },
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:Apparel_PackJump"] = {
    _ = {
      ParentName = "ApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Packs.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_PackJump",
    label = "jump pack",
    description = [[A single-person burst rocket for short-ranged flight. With its integrated harness and guidance assistant, the jump pack allows anyone to leap long distances at high speed, even over obstacles. It must be recharged after several uses.\n\nSome spacer tech militaries have melee combat specialists who use jump packs to bypass obstacles and rapidly close with the enemy.]],
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 5,
        ammoDef = "Chemfuel",
        ammoCountPerCharge = 20,
        baseReloadTicks = 60,
        soundReload = "Standard_Reload",
        hotKey = "Misc4",
        chargeNoun = "jump",
        displayGizmoWhileUndrafted = false,
      },
    },
    verbs = {
      {
        label = "jump",
        violent = false,
        onlyManualCast = true,
        warmupTime = 0.5,
        requireLineOfSight = true,
        targetParams = {
          canTargetLocations = true,
          canTargetPawns = false,
          canTargetBuildings = false,
        },
      },
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedPack",
      researchPrerequisite = "JumpPack",
      recipeUsers = {
        "TableMachining",
      },
      useIngredientsForColor = false,
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Machining",
      skillRequirements = {
        Crafting = 4,
      },
    },
    costList = {
      Plasteel = 30,
      ComponentIndustrial = 3,
      Chemfuel = 100,
    },
    statBases = {
      WorkToMake = 14000,
      Mass = 3,
      Flammability = 0.4,
      EquipDelay = 2,
      JumpRange = 23.9,
    },
    thingCategories = {
      "ApparelUtility",
    },
    apparel = {
      bodyPartGroups = {
        "Waist",
      },
      layers = {
        "Belt",
      },
      tags = {
        "PackJump",
      },
    },
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:Apparel_PackBroadshield"] = {
    _ = {
      ParentName = "ApparelNoQualityBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Packs.xml",
      DLC = "Royalty",
    },
    thingClass = "BroadshieldPack",
    defName = "Apparel_PackBroadshield",
    label = "low-shield pack",
    description = [[A single-use man-portable low-shield projector. Deployed on the ground, it generates a circular shield that allows bullets out but not in. The unit is designed to last only a short time before burning out.\n\nMany ultratech combat squads owe their lives to a shield pack deployed at just the right time.]],
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 1,
        destroyOnEmpty = true,
        soundReload = "Standard_Reload",
        hotKey = "Misc4",
        chargeNoun = "shield",
        displayGizmoWhileUndrafted = false,
      },
    },
    verbs = {
      {
        label = "deploy low-shield",
        violent = false,
        targetable = false,
        nonInterruptingSelfCast = true,
        onlyManualCast = true,
      },
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedPack",
      researchPrerequisite = "ShieldBelt",
      recipeUsers = {
        "TableMachining",
      },
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Machining",
      skillRequirements = {
        Crafting = 4,
      },
    },
    costList = {
      BroadshieldCore = 1,
      ComponentIndustrial = 1,
    },
    statBases = {
      WorkToMake = 14000,
      Mass = 3,
      Flammability = 0.4,
      EquipDelay = 2,
    },
    thingCategories = {
      "ApparelUtility",
    },
    apparel = {
      bodyPartGroups = {
        "Waist",
      },
      layers = {
        "Belt",
      },
      tags = {
        "BeltDefensePop",
      },
    },
    tradeTags = {
      "ExoticMisc",
    },
  },

  ["ThingDef:PsychicApparelBase"] = {
    _ = {
      ParentName = "ApparelBase",
      Name = "PsychicApparelBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Psychic.xml",
      DLC = "Royalty",
    },
    tradeTags = {
      "PsychicApparel",
    },
    apparel = {
      tags = {
        "Psychic",
      },
    },
  },

  ["ThingDef:Apparel_PsyfocusHelmet"] = {
    _ = {
      ParentName = "PsychicApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Psychic.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_PsyfocusHelmet",
    label = "eltex helmet",
    description = [[A lightweight helmet designed for psychic focusing. While it provides little physical protection, its special materials enhance the wearer's psychic sensitivity and dissipate neural heat.]],
    thingCategories = {
      "Headgear",
    },
    statBases = {
      MarketValue = 500,
      MaxHitPoints = 80,
      Mass = 0.8,
      ArmorRating_Sharp = 0.09,
      ArmorRating_Blunt = 0.09,
      ArmorRating_Heat = 0.27,
      Insulation_Cold = 4,
      Insulation_Heat = 1,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_EltexSkullcap"] = {
    _ = {
      ParentName = "PsychicApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Psychic.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_EltexSkullcap",
    label = "eltex skullcap",
    description = [[A tight skullcap designed for psychic focusing. It provides no physical protection, but its special materials enhance the wearer's psychic sensitivity and dissipate neural heat.]],
    thingCategories = {
      "Headgear",
    },
    statBases = {
      MarketValue = 500,
      MaxHitPoints = 80,
      Mass = 0.8,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_PsyfocusShirt"] = {
    _ = {
      ParentName = "PsychicApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Psychic.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_PsyfocusShirt",
    label = "eltex shirt",
    description = [[A shirt embedded with special psychic focusing materials. These enhance psychic sensitivity and help dissipate neural heat.]],
    thingCategories = {
      "Apparel",
    },
    statBases = {
      MarketValue = 400,
      MaxHitPoints = 100,
      Mass = 0.25,
      ArmorRating_Sharp = 0.07,
      ArmorRating_Blunt = 0,
      ArmorRating_Heat = 0.04,
      Insulation_Cold = 5,
      Insulation_Heat = 1,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Shoulders",
      },
      layers = {
        "OnSkin",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_PsyfocusVest"] = {
    _ = {
      ParentName = "PsychicApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Psychic.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_PsyfocusVest",
    label = "eltex vest",
    description = [[A thin vest embedded with special psychic focusing materials. These enhance psychic sensitivity and help dissipate neural heat.]],
    thingCategories = {
      "Apparel",
    },
    statBases = {
      MarketValue = 500,
      MaxHitPoints = 100,
      Mass = 0.5,
      ArmorRating_Sharp = 0.07,
      ArmorRating_Blunt = 0,
      ArmorRating_Heat = 0.04,
      Insulation_Cold = 6,
      Insulation_Heat = 1,
      EquipDelay = 2,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
      },
      layers = {
        "Middle",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:Apparel_PsyfocusRobe"] = {
    _ = {
      ParentName = "PsychicApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Psychic.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_PsyfocusRobe",
    description = [[A long robe embedded with special psychic focusing materials. These enhance psychic sensitivity and help dissipate neural heat.]],
    label = "eltex robe",
    thingCategories = {
      "Apparel",
    },
    statBases = {
      MarketValue = 600,
      MaxHitPoints = 100,
      Mass = 0.5,
      ArmorRating_Sharp = 0.07,
      ArmorRating_Blunt = 0,
      ArmorRating_Heat = 0.04,
      Insulation_Cold = 15,
      Insulation_Heat = 1,
      EquipDelay = 2,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
        "Legs",
      },
      layers = {
        "Shell",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
  },

  ["ThingDef:ApparelShirtRoyalTier2Base"] = {
    _ = {
      Name = "ApparelShirtRoyalTier2Base",
      ParentName = "ApparelMakeableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    recipeMaker = {
      researchPrerequisite = "NobleApparel",
    },
    thingCategories = {
      "ApparelNoble",
    },
    statBases = {
      MaxHitPoints = 100,
      WorkToMake = 6000,
      Mass = 0.25,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.22,
      StuffEffectMultiplierInsulation_Heat = 0.10,
      EquipDelay = 1.5,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Shoulders",
      },
      layers = {
        "OnSkin",
      },
      tags = {
        "Royal",
        "RoyalTier2",
      },
    },
  },

  ["ThingDef:Apparel_ShirtRuffle"] = {
    _ = {
      ParentName = "ApparelShirtRoyalTier2Base",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ShirtRuffle",
    label = "formal shirt",
    description = [[A decorated formal shirt with buttons.]],
    apparel = {
      bodyPartGroups = {
        "Arms",
        "Neck",
      },
    },
  },

  ["ThingDef:ApparelVestRoyalTier5Base"] = {
    _ = {
      Name = "ApparelVestRoyalTier5Base",
      ParentName = "ApparelMakeableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    recipeMaker = {
      researchPrerequisite = "NobleApparel",
    },
    statBases = {
      MaxHitPoints = 100,
      WorkToMake = 12000,
      Mass = 0.75,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.4,
      StuffEffectMultiplierInsulation_Heat = 0.10,
    },
    thingCategories = {
      "ApparelNoble",
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
      },
      layers = {
        "Middle",
      },
      tags = {
        "Royal",
        "RoyalTier5",
      },
    },
  },

  ["ThingDef:Apparel_Corset"] = {
    _ = {
      ParentName = "ApparelVestRoyalTier5Base",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_Corset",
    label = "corset",
    description = [[An embroidered corset with strong wire support to maintain a ladylike shape.]],
    statBases = {
      EquipDelay = 5,
    },
  },

  ["ThingDef:Apparel_VestRoyal"] = {
    _ = {
      ParentName = "ApparelVestRoyalTier5Base",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_VestRoyal",
    label = "formal vest",
    description = [[A vest embroidered with complex decorative designs.]],
    statBases = {
      EquipDelay = 1.5,
    },
  },

  ["ThingDef:Apparel_RobeRoyal"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_RobeRoyal",
    label = "prestige robe",
    description = [[A long, flowing robe embroidered with complex decorative designs.]],
    recipeMaker = {
      researchPrerequisite = "RoyalApparel",
    },
    statBases = {
      MaxHitPoints = 100,
      WorkToMake = 20000,
      Mass = 0.75,
      StuffEffectMultiplierArmor = 0.2,
      StuffEffectMultiplierInsulation_Cold = 0.80,
      StuffEffectMultiplierInsulation_Heat = 0.25,
      EquipDelay = 2,
    },
    thingCategories = {
      "ApparelNoble",
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
        "Legs",
      },
      layers = {
        "Shell",
      },
      tags = {
        "Royal",
        "RoyalTier6",
        "RoyalRobe",
      },
    },
  },

  ["ThingDef:ApparelHatRoyalTier2"] = {
    _ = {
      Name = "ApparelHatRoyalTier2",
      ParentName = "NobleHatMakeableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    statBases = {
      MaxHitPoints = 80,
      WorkToMake = 6000,
      Mass = 0.1,
      EquipDelay = 0.8,
      StuffEffectMultiplierInsulation_Cold = 0.10,
      StuffEffectMultiplierInsulation_Heat = 0.25,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "Royal",
        "RoyalTier2",
      },
    },
    recipeMaker = {
      researchPrerequisite = "NobleApparel",
    },
  },

  ["ThingDef:Apparel_HatLadies"] = {
    _ = {
      ParentName = "ApparelHatRoyalTier2Fabric",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_HatLadies",
    label = "ladies hat",
    description = [[A decorative traditional hat with complex embroidery.]],
  },

  ["ThingDef:Apparel_HatTop"] = {
    _ = {
      ParentName = "ApparelHatRoyalTier2Fabric",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_HatTop",
    label = "top hat",
    description = [[A tall, stiff, shiny hat.]],
  },

  ["ThingDef:Apparel_HatHood"] = {
    _ = {
      ParentName = "ApparelHatRoyalTier2Fabric",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    recipeMaker = {
      _ = {
        IsNull = true,
        Inherit = false,
      },
    },
    defName = "Apparel_HatHood",
    label = "hood",
    description = [[A draped hood which covers the head and ears.]],
    statBases = {
      WorkToMake = 1200,
    },
    apparel = {
      tags = {
        _ = {
          Inherit = false,
        },
        "BestowerHood",
      },
    },
  },

  ["ThingDef:Apparel_Coronet"] = {
    _ = {
      ParentName = "ApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_Coronet",
    label = "coronet",
    description = [[A small crown-like piece of headwear made of metal.]],
    smeltable = true,
    thingCategories = {
      "HeadgearNoble",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Smith",
      recipeUsers = {
        "ElectricSmithy",
        "FueledSmithy",
      },
      defaultIngredientFilter = {
        categories = {
          "Root",
        },
        disallowedThingDefs = {
          "Jade",
          "Uranium",
        },
      },
      researchPrerequisite = "RoyalApparel",
    },
    statBases = {
      MaxHitPoints = 80,
      WorkToMake = 8000,
      Mass = 0.7,
      EquipDelay = 0.8,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "Royal",
        "RoyalTier5",
      },
    },
  },

  ["ThingDef:Apparel_Crown"] = {
    _ = {
      ParentName = "ApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_Crown",
    label = "crown",
    description = [[A crown of metal with an elaborate design.]],
    smeltable = true,
    thingCategories = {
      "HeadgearNoble",
    },
    recipeMaker = {
      workSpeedStat = "GeneralLaborSpeed",
      workSkill = "Crafting",
      effectWorking = "Smith",
      soundWorking = "Recipe_Smith",
      recipeUsers = {
        "ElectricSmithy",
        "FueledSmithy",
      },
      defaultIngredientFilter = {
        categories = {
          "Root",
        },
        disallowedThingDefs = {
          "Jade",
          "Uranium",
        },
      },
      researchPrerequisite = "RoyalApparel",
    },
    statBases = {
      MaxHitPoints = 80,
      WorkToMake = 12000,
      Mass = 0.9,
      EquipDelay = 0.8,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "Royal",
        "RoyalTier6",
      },
    },
  },

  ["ThingDef:Apparel_CrownStellic"] = {
    _ = {
      ParentName = "ApparelBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_CrownStellic",
    label = "stellic crown",
    description = [[A grand crown of metal with an elaborate, overbearing design.]],
    smeltable = true,
    thingCategories = {
      "HeadgearNoble",
    },
    statBases = {
      MaxHitPoints = 80,
      Mass = 0.9,
      EquipDelay = 0.8,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "Royal",
        "RoyalTier7",
      },
    },
  },

  ["ThingDef:Apparel_Cape"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_Cape",
    label = "cape",
    description = [[A long cape of elegant design. It hangs over one side of the torso.]],
    recipeMaker = {
      researchPrerequisite = "NobleApparel",
    },
    thingCategories = {
      "ApparelNoble",
    },
    statBases = {
      MaxHitPoints = 200,
      WorkToMake = 16000,
      Mass = 2,
      StuffEffectMultiplierArmor = 0.3,
      StuffEffectMultiplierInsulation_Cold = 0.60,
      StuffEffectMultiplierInsulation_Heat = 0.85,
      EquipDelay = 3,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
        "Legs",
      },
      layers = {
        "Shell",
      },
      tags = {
        "Cape",
        "Royal",
        "RoyalTier2",
        "RoyalTier5",
      },
    },
  },

  ["ThingDef:Apparel_Beret"] = {
    _ = {
      ParentName = "ApparelMakeableBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Royal.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_Beret",
    label = "beret",
    description = [[A soft, round, flat-crowned hat.]],
    thingCategories = {
      "HeadgearNoble",
    },
    statBases = {
      MaxHitPoints = 80,
      WorkToMake = 4000,
      Mass = 0.1,
      EquipDelay = 0.8,
      StuffEffectMultiplierInsulation_Cold = 0.07,
      StuffEffectMultiplierInsulation_Heat = 0.15,
    },
    apparel = {
      bodyPartGroups = {
        "UpperHead",
      },
      layers = {
        "Overhead",
      },
      tags = {
        "Royal",
        "RoyalTier2",
        "RoyalTier3",
      },
    },
    recipeMaker = {
      researchPrerequisite = "NobleApparel",
    },
  },

  ["ThingDef:Apparel_ArmorReconPrestige"] = {
    _ = {
      ParentName = "ApparelArmorReconBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorReconPrestige",
    label = "prestige recon armor",
    description = [[A suit of light partially-powered armor, designed to permit quick movement. Plasteel-weave plates block attacks without compromising mobility, and neuro-memetic assistors in the lower body allow a human to wear the armor and still move easily.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    statBases = {
      WorkToMake = 90000,
    },
    costList = {
      Gold = 9,
      Plasteel = 100,
    },
    apparel = {
      tags = {
        "PrestigeCombatGear",
      },
    },
  },

  ["ThingDef:Apparel_ArmorHelmetReconPrestige"] = {
    _ = {
      ParentName = "ApparelArmorHelmetReconBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorHelmetReconPrestige",
    label = "prestige recon helmet",
    description = [[A high-tech armored helmet with a built-in status computer and a protective plasteel-weave plate.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    statBases = {
      WorkToMake = 31500,
    },
    costList = {
      Gold = 4,
      Plasteel = 40,
    },
    apparel = {
      tags = {
        "PrestigeCombatGear",
      },
    },
  },

  ["ThingDef:Apparel_ArmorMarinePrestige"] = {
    _ = {
      ParentName = "ApparelArmorPowerBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorMarinePrestige",
    label = "prestige marine armor",
    description = [[A suit of powered armor. Layered plasteel-weave plates are very effective at stopping attacks, with few vulnerable joint sections. Neuro-memetic assistors allow a human to wear the armor and still move easily.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    statBases = {
      WorkToMake = 120000,
    },
    costList = {
      Gold = 10,
      Plasteel = 120,
    },
    apparel = {
      tags = {
        "PrestigeCombatGear",
      },
    },
  },

  ["ThingDef:Apparel_ArmorMarineHelmetPrestige"] = {
    _ = {
      ParentName = "ApparelArmorHelmetPowerBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorMarineHelmetPrestige",
    label = "prestige marine helmet",
    description = [[A marine armor helmet, with a built-in status computer and layered plasteel-weave plates.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    statBases = {
      WorkToMake = 42000,
    },
    costList = {
      Gold = 5,
      Plasteel = 50,
    },
    apparel = {
      tags = {
        "PrestigeCombatGear",
      },
    },
  },

  ["ThingDef:ApparelArmorCataphractBase"] = {
    _ = {
      Name = "ApparelArmorCataphractBase",
      ParentName = "ArmorMachineableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedTechArmor",
      researchPrerequisite = "CataphractArmor",
      skillRequirements = {
        Crafting = 8,
      },
      recipeUsers = {
        _ = {
          Inherit = false,
        },
        "FabricationBench",
      },
    },
    statBases = {
      WorkToMake = 75000,
      MaxHitPoints = 400,
      Mass = 15,
      Flammability = 0.4,
      ArmorRating_Sharp = 1.2,
      ArmorRating_Blunt = 0.5,
      ArmorRating_Heat = 0.6,
      Insulation_Cold = 36,
      Insulation_Heat = 12,
      EquipDelay = 17,
    },
    tradeTags = {
      "HiTechArmor",
    },
    thingCategories = {
      "ApparelArmor",
    },
    costList = {
      ComponentSpacer = 6,
      Plasteel = 150,
      Uranium = 50,
    },
    apparel = {
      bodyPartGroups = {
        "Torso",
        "Neck",
        "Shoulders",
        "Arms",
        "Legs",
      },
      layers = {
        "Middle",
        "Shell",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
    comps = {
      CompProperties_BiocodableApparel = {},
    },
  },

  ["ThingDef:ApparelArmorHelmetCataphractBase"] = {
    _ = {
      Name = "ApparelArmorHelmetCataphractBase",
      ParentName = "ArmorHelmetMakeableBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    recipeMaker = {
      unfinishedThingDef = "UnfinishedTechArmor",
      researchPrerequisite = "CataphractArmor",
      skillRequirements = {
        Crafting = 8,
      },
      recipeUsers = {
        _ = {
          Inherit = false,
        },
        "FabricationBench",
      },
    },
    tradeTags = {
      "HiTechArmor",
    },
    statBases = {
      WorkToMake = 26250,
      MaxHitPoints = 180,
      Mass = 2,
      Flammability = 0.4,
      ArmorRating_Sharp = 1.2,
      ArmorRating_Blunt = 0.5,
      ArmorRating_Heat = 0.6,
      Insulation_Cold = 4,
      Insulation_Heat = 2,
      EquipDelay = 6,
    },
    costList = {
      ComponentSpacer = 1,
      Plasteel = 50,
    },
    apparel = {
      bodyPartGroups = {
        "FullHead",
      },
      layers = {
        "Overhead",
      },
      defaultOutfitTags = {
        "Soldier",
      },
    },
    comps = {
      CompProperties_BiocodableApparel = {},
    },
  },

  ["ThingDef:Apparel_ArmorCataphract"] = {
    _ = {
      ParentName = "ApparelArmorCataphractBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorCataphract",
    label = "cataphract armor",
    description = [[A suit of heavy powered armor, built for maximum protection at the cost of mobility. Heavy layered plasteel-weave plates with solid ablative coatings stop all but the most well-aimed or powerful attacks. Neuro-memetic assistors prevent the suit's massive weight from immobilizing the wearer entirely, but the suit is still quite cumbersome.\n\nArmor like this is used by imperial cataphracts to break heavily fortified positions in frontal assaults when no other option is available.]],
  },

  ["ThingDef:Apparel_ArmorHelmetCataphract"] = {
    _ = {
      ParentName = "ApparelArmorHelmetCataphractBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorHelmetCataphract",
    label = "cataphract helmet",
    description = [[A heavily-armored high-tech helmet, with a solid plasteel-weave shell and indirect visual system for non-frontal view angles. It protects against all but the most powerful or luckily-aimed shots.\n\nArmor like this is used by imperial cataphracts to break heavily fortified positions in frontal assaults when no other option is available.]],
  },

  ["ThingDef:Apparel_ArmorCataphractPrestige"] = {
    _ = {
      ParentName = "ApparelArmorCataphractBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorCataphractPrestige",
    label = "prestige cataphract armor",
    description = [[A suit of heavy powered armor, built for maximum protection at the cost of mobility. Heavy layered plasteel-weave plates with solid ablative coatings stop all but the most well-aimed or powerful attacks. Neuro-memetic assistors prevent the suit's massive weight from immobilizing the wearer entirely, but the suit is still quite cumbersome.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    statBases = {
      WorkToMake = 150000,
    },
    costList = {
      Gold = 18,
      Plasteel = 190,
    },
    apparel = {
      tags = {
        "PrestigeCombatGear",
      },
    },
  },

  ["ThingDef:Apparel_ArmorHelmetCataphractPrestige"] = {
    _ = {
      ParentName = "ApparelArmorHelmetCataphractBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorHelmetCataphractPrestige",
    label = "prestige cataphract helmet",
    description = [[A heavily-armored high-tech helmet, with a solid plasteel-weave shell and indirect visual system for non-frontal view angles. It protects against all but the most powerful or luckily-aimed shots.\n\nExpensive and beautiful, prestige armor like this is usually made for those of high status. Embedded eltex threads also enhance the wearer's psychic sensitivity.]],
    statBases = {
      WorkToMake = 52500,
    },
    costList = {
      Gold = 9,
      Plasteel = 75,
    },
    apparel = {
      tags = {
        "PrestigeCombatGear",
      },
    },
  },

  ["ThingDef:Apparel_ArmorLocust"] = {
    _ = {
      ParentName = "ApparelArmorReconBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorLocust",
    label = "locust armor",
    description = [[A variant of recon armor with an integrated burst rocket for short-ranged flight. Locust armor is slightly less protective than standard recon armor. Each jump consumes a burst of fuel, so the armor must be reloaded after several uses.\n\nUnlike most ultratech military units, locusts train primarily with melee weapons. They usually avoid static shootouts, preferring to jump straight into enemy fortifications and fight hand-to-hand. They do poorly in static defense or confined quarters, but excel in mixed cover or shipcracking operations.]],
    statBases = {
      ArmorRating_Sharp = 0.87,
      ArmorRating_Blunt = 0.35,
      ArmorRating_Heat = 0.41,
      JumpRange = 23.9,
    },
    recipeMaker = {
      researchPrerequisites = {
        "JumpPack",
        "ReconArmor",
      },
    },
    costList = {
      Plasteel = 120,
      ComponentIndustrial = 3,
      Chemfuel = 100,
    },
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 5,
        ammoDef = "Chemfuel",
        ammoCountPerCharge = 20,
        baseReloadTicks = 60,
        soundReload = "Standard_Reload",
        hotKey = "Misc4",
        chargeNoun = "jump",
        displayGizmoWhileUndrafted = false,
      },
    },
    verbs = {
      {
        label = "jump",
        violent = false,
        onlyManualCast = true,
        warmupTime = 0.5,
        requireLineOfSight = true,
        targetParams = {
          canTargetLocations = true,
          canTargetPawns = false,
          canTargetBuildings = false,
        },
      },
    },
  },

  ["ThingDef:Apparel_ArmorMarineGrenadier"] = {
    _ = {
      ParentName = "ApparelArmorPowerBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorMarineGrenadier",
    label = "grenadier armor",
    description = [[A variant of marine armor with an integrated frag launcher on the shoulder. The armor is slightly less protective than standard marine armor. The launcher can only hold a limited amount of ammo and must be reloaded after use.\n\nGrenadiers usually specialize in breaching buildings or internal ship bulkheads. While not effective at very long range, grenadiers can be surprisingly deadly in confined quarters.]],
    costList = {
      Steel = 75,
      ComponentIndustrial = 4,
    },
    statBases = {
      ArmorRating_Sharp = 1.01,
      ArmorRating_Blunt = 0.40,
      ArmorRating_Heat = 0.49,
    },
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 2,
        ammoDef = "Steel",
        ammoCountPerCharge = 25,
        baseReloadTicks = 60,
        soundReload = "Standard_Reload",
        hotKey = "Misc4",
        chargeNoun = "grenade",
        displayGizmoWhileUndrafted = false,
      },
    },
    verbs = {
      {
        label = "launch frag grenade",
        onlyManualCast = true,
        range = 12.9,
        forcedMissRadius = 1.9,
        warmupTime = 1.5,
        noiseRadius = 4,
        targetParams = {
          canTargetLocations = true,
        },
        defaultProjectile = "Proj_GrenadierGrenade",
      },
    },
  },

  ["ThingDef:Proj_GrenadierGrenade"] = {
    _ = {
      ParentName = "BaseFragGrenadeProjectile",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Proj_GrenadierGrenade",
    label = "frag grenade",
  },

  ["ThingDef:Apparel_ArmorCataphractPhoenix"] = {
    _ = {
      ParentName = "ApparelArmorCataphractBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_ArmorCataphractPhoenix",
    label = "phoenix armor",
    description = [[A variant of cataphract armor with a shoulder-mounted flamebolt launcher. This armor is slightly less protective than standard cataphract armor against normal damage, but is especially flame-resistant. The flamebolt launcher has very limited ammo and must be reloaded after use.\n\nPhoenixes specialize in clearing out very confined spaces full of enemies, as in underground or shipborne operations. They can absorb hits while moving down a corridor, fill rooms with flame, and emerge from the smoke unscathed.]],
    statBases = {
      Flammability = 0.1,
      ArmorRating_Sharp = 1.15,
      ArmorRating_Blunt = 0.45,
      ArmorRating_Heat = 0.75,
      Insulation_Heat = 100,
    },
    costList = {
      Steel = 75,
      ComponentIndustrial = 4,
      Chemfuel = 40,
    },
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 1,
        ammoDef = "Chemfuel",
        ammoCountPerCharge = 40,
        baseReloadTicks = 60,
        soundReload = "Standard_Reload",
        hotKey = "Misc4",
        chargeNoun = "incendiary",
        displayGizmoWhileUndrafted = false,
      },
    },
    verbs = {
      {
        label = "launch incendiary",
        onlyManualCast = true,
        range = 14.9,
        forcedMissRadius = 1.9,
        warmupTime = 1.5,
        noiseRadius = 4,
        targetParams = {
          canTargetLocations = true,
        },
        defaultProjectile = "Proj_GrenadePhoenixFire",
      },
    },
  },

  ["ThingDef:Proj_GrenadePhoenixFire"] = {
    _ = {
      ParentName = "BaseIncendiaryProjectile",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Proj_GrenadePhoenixFire",
    label = "incendiary grenade",
  },

  ["ThingDef:Apparel_Gunlink"] = {
    _ = {
      ParentName = "ApparelArmorHelmetReconBase",
      DefCategory = "ThingDef",
      FileName = "Apparel_Various.xml",
      DLC = "Royalty",
    },
    defName = "Apparel_Gunlink",
    label = "gunlink",
    description = [[A targeting computer that helps the user aim. It detects and analyzes targets using infrared, visible, and millimeter-wave electromagnetic sensors. An onboard targeting computer displays firing solutions on a retinal projection. It offers no protection at all.]],
    statBases = {
      ArmorRating_Sharp = 0,
      ArmorRating_Blunt = 0,
      ArmorRating_Heat = 0,
      Insulation_Cold = 0,
      Insulation_Heat = 0,
    },
    recipeMaker = {
      researchPrerequisite = "Gunlink",
    },
    costList = {
      ComponentSpacer = 1,
      Plasteel = 10,
    },
    apparel = {
      bodyPartGroups = {
        _ = {
          Inherit = false,
        },
        "UpperHead",
      },
      tags = {
        _ = {
          Inherit = false,
        },
        "Gunlink",
      },
    },
  },

  ["ThingDef:ShuttleSkyfallerBase"] = {
    _ = {
      Name = "ShuttleSkyfallerBase",
      ParentName = "SkyfallerBase",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Royalty",
    },
    size = {5, 3},
  },

  ["ThingDef:ShuttleIncoming"] = {
    _ = {
      ParentName = "ShuttleSkyfallerBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Royalty",
    },
    defName = "ShuttleIncoming",
    label = "shuttle (incoming)",
    thingClass = "ShuttleIncoming",
  },

  ["ThingDef:ShuttleLeaving"] = {
    _ = {
      ParentName = "ShuttleSkyfallerBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Royalty",
    },
    defName = "ShuttleLeaving",
    label = "shuttle (leaving)",
    thingClass = "DropPodLeaving",
  },

  ["ThingDef:ShuttleCrashing"] = {
    _ = {
      ParentName = "ShuttleSkyfallerBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Skyfallers.xml",
      DLC = "Royalty",
    },
    defName = "ShuttleCrashing",
    label = "shuttle (crashing)",
    thingClass = "ShuttleIncoming",
    size = {5, 3},
  },

  ["ThingDef:MonumentMarker"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Royalty",
    },
    defName = "MonumentMarker",
    label = "monument marker",
    description = [[Marks the place where you intend to build a monument. Once placed, this cannot be moved.]],
    thingClass = "MonumentMarker",
    thingCategories = {
      "BuildingsSpecial",
    },
    altitudeLayer = "Building",
    statBases = {
      Mass = 0,
    },
    minifiedDef = "MinifiedThing",
  },

  ["ThingDef:BulletShieldPsychic"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Royalty",
    },
    defName = "BulletShieldPsychic",
    label = "skipshield",
    thingClass = "ThingWithComps",
    comps = {
      CompProperties_ProjectileInterceptor = {
        radius = 4.9,
        interceptGroundProjectiles = true,
        interceptNonHostileProjectiles = true,
        interceptOutgoingProjectiles = true,
        color = "(0.4, 0.4, 0.4)",
        minAlpha = 0.2,
        interceptEffect = "Interceptor_BlockedProjectilePsychic",
      },
      CompProperties_DestroyAfterDelay = {
        delayTicks = 900,
      },
    },
  },

  ["ThingDef:Flashstorm"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Royalty",
    },
    defName = "Flashstorm",
    label = "flashstorm",
    thingClass = "ThingWithComps",
    altitudeLayer = "MoteLow",
    comps = {
      CompProperties_DestroyAfterDelay = {
        delayTicks = 10000,
      },
      CompProperties_FadesInOut = {
        fadeInSecs = 2.0,
        fadeOutSecs = 2.0,
        solidTimeSecs = 160,
      },
    },
  },

  ["ThingDef:SolarPinhole"] = {
    _ = {
      ParentName = "EtherealThingBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Royalty",
    },
    defName = "SolarPinhole",
    label = "solar pinhole",
    thingClass = "ThingWithComps",
    category = "PsychicEmitter",
    altitudeLayer = "MoteOverheadLow",
    comps = {
      CompProperties_Glower = {
        glowRadius = 15,
        glowColor = {217, 217, 208, 0},
      },
      CompProperties_HeatPusher = {
        compClass = "CompHeatPusherPowered",
        heatPerSecond = 10,
        heatPushMaxTemperature = 20,
      },
      CompProperties_DestroyAfterDelay = {
        delayTicks = 300000,
      },
    },
  },

  ["ThingDef:PawnJumper"] = {
    _ = {
      ParentName = "PawnFlyerBase",
      DefCategory = "ThingDef",
      FileName = "Ethereal_Various.xml",
      DLC = "Royalty",
    },
    defName = "PawnJumper",
    thingClass = "PawnJumper",
  },

  ["ThingDef:BaseWeapon_Bladelink"] = {
    _ = {
      Name = "BaseWeapon_Bladelink",
      ParentName = "BaseWeapon",
      Abstract = true,
      DefCategory = "ThingDef",
      FileName = "MeleeBladelink.xml",
      DLC = "Royalty",
    },
    weaponTags = {
      "Bladelink",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
      CompProperties_BladelinkWeapon = {},
      CompProperties_GeneratedName = {
        nameMaker = "NamerWeaponBladelink",
      },
    },
    smeltable = true,
    thingCategories = {
      "WeaponsMeleeBladelink",
    },
  },

  ["ThingDef:MeleeWeapon_MonoSwordBladelink"] = {
    _ = {
      ParentName = "BaseWeapon_Bladelink",
      DefCategory = "ThingDef",
      FileName = "MeleeBladelink.xml",
      DLC = "Royalty",
    },
    defName = "MeleeWeapon_MonoSwordBladelink",
    label = "persona monosword",
    description = [[A crystal-metallic longsword infused with mechanites that maintain a mono-molecular cutting edge. It cuts through even thick armor with ease, while its light weight and onboard persona permit extremely fast attacks.
\nThis weapon has an onboard persona that can bond to only a single person. The wielder and intelligent weapon can synchronize their reflexes and attack with frightening speed, accuracy, and creativity. Once bonded to a wielder, the weapon's persona will refuse to be wielded by anyone else.]],
    statBases = {
      MarketValue = 3000,
      Mass = 2,
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Blunt",
        },
        power = 12,
        cooldownTime = 1.6,
      },
      {
        label = "point",
        capacities = {
          "Stab",
        },
        power = 27,
        cooldownTime = 1.6,
      },
      {
        label = "edge",
        capacities = {
          "Cut",
        },
        power = 27,
        cooldownTime = 1.6,
      },
    },
  },

  ["ThingDef:MeleeWeapon_ZeusHammerBladelink"] = {
    _ = {
      ParentName = "BaseWeapon_Bladelink",
      DefCategory = "ThingDef",
      FileName = "MeleeBladelink.xml",
      DLC = "Royalty",
    },
    defName = "MeleeWeapon_ZeusHammerBladelink",
    label = "persona zeushammer",
    description = [[A warhammer with an embedded EMP capacitor. Upon impact, it blasts the target with an EMP burst in addition to the physical damage.
\nThis weapon has an onboard persona that can bond to only a single person. The wielder and intelligent weapon can synchronize their reflexes and attack with frightening speed, accuracy, and creativity. Once bonded to a wielder, the weapon's persona will refuse to be wielded by anyone else.]],
    statBases = {
      MarketValue = 3000,
      Mass = 2,
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Poke",
        },
        power = 15,
        cooldownTime = 1.6,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 31,
        cooldownTime = 2.2,
        extraMeleeDamages = {
          {
            def = "EMP",
            amount = 9,
          },
        },
      },
    },
  },

  ["ThingDef:MeleeWeapon_PlasmaSwordBladelink"] = {
    _ = {
      ParentName = "BaseWeapon_Bladelink",
      DefCategory = "ThingDef",
      FileName = "MeleeBladelink.xml",
      DLC = "Royalty",
    },
    defName = "MeleeWeapon_PlasmaSwordBladelink",
    label = "persona plasmasword",
    description = [[A metal-cored sword with a cutting edge. Plasma is wrapped around the core, held in place by an energy field. Targets are both sliced by the metal core, as well as burned or ignited by the plasma sheath.
\nThis weapon has an onboard persona that can bond to only a single person. The wielder and intelligent weapon can synchronize their reflexes and attack with frightening speed, accuracy, and creativity. Once bonded to a wielder, the weapon's persona will refuse to be wielded by anyone else.]],
    statBases = {
      MarketValue = 3000,
      Mass = 2,
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Blunt",
        },
        power = 12,
        cooldownTime = 1.6,
      },
      {
        label = "point",
        capacities = {
          "Stab",
        },
        power = 23,
        cooldownTime = 2,
        extraMeleeDamages = {
          {
            def = "Flame",
            amount = 10,
            chance = 0.7,
          },
        },
      },
      {
        label = "edge",
        capacities = {
          "Cut",
        },
        power = 23,
        cooldownTime = 2,
        extraMeleeDamages = {
          {
            def = "Flame",
            amount = 10,
            chance = 0.7,
          },
        },
      },
    },
  },

  ["ThingDef:MeleeWeapon_Axe"] = {
    _ = {
      ParentName = "BaseMeleeWeapon_Blunt_Quality",
      DefCategory = "ThingDef",
      FileName = "MeleeMedieval.xml",
      DLC = "Royalty",
    },
    defName = "MeleeWeapon_Axe",
    label = "axe",
    description = [[An advanced form of one of mankind's oldest weapons, the war axe is a short blade attached to a shaft. The simple, ancient design concentrates cutting power generated from strong overhand swings.]],
    statBases = {
      WorkToMake = 7000,
      Mass = 1.5,
    },
    recipeMaker = {
      researchPrerequisite = "Smithing",
      skillRequirements = {
        Crafting = 3,
      },
    },
    weaponTags = {
      "MedievalMeleeDecent",
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Poke",
        },
        power = 9,
        cooldownTime = 2,
      },
      {
        label = "edge",
        capacities = {
          "Cut",
        },
        power = 15,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:MeleeWeapon_Warhammer"] = {
    _ = {
      ParentName = "BaseMeleeWeapon_Blunt_Quality",
      DefCategory = "ThingDef",
      FileName = "MeleeMedieval.xml",
      DLC = "Royalty",
    },
    defName = "MeleeWeapon_Warhammer",
    label = "warhammer",
    description = [[A long polearm topped with a brutal hammer. The powerful blunt impacts can pulverize an enemy's insides, even through armor.]],
    statBases = {
      WorkToMake = 18000,
      Mass = 5,
    },
    recipeMaker = {
      researchPrerequisite = "LongBlades",
      skillRequirements = {
        Crafting = 5,
      },
    },
    weaponTags = {
      "MedievalMeleeDecent",
    },
    tools = {
      {
        label = "handle",
        capacities = {
          "Poke",
        },
        power = 11,
        cooldownTime = 2.6,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 20,
        cooldownTime = 2.6,
      },
    },
  },

  ["ThingDef:MeleeWeaponUltratech"] = {
    _ = {
      Abstract = true,
      Name = "MeleeWeaponUltratech",
      ParentName = "BaseWeapon",
      DefCategory = "ThingDef",
      FileName = "MeleeUltratech.xml",
      DLC = "Royalty",
    },
    statBases = {
      MarketValue = 2000,
      Mass = 2,
    },
    comps = {
      {
        compClass = "CompQuality",
      },
      CompProperties_Art = {
        nameMaker = "NamerArtWeaponMelee",
        descriptionMaker = "ArtDescription_WeaponMelee",
        minQualityForArtistic = "Excellent",
      },
      CompProperties_BiocodableWeapon = {},
    },
    smeltable = true,
    thingCategories = {
      "WeaponsMelee",
    },
    weaponTags = {
      "UltratechMelee",
    },
  },

  ["ThingDef:MeleeWeapon_MonoSword"] = {
    _ = {
      ParentName = "MeleeWeaponUltratech",
      DefCategory = "ThingDef",
      FileName = "MeleeUltratech.xml",
      DLC = "Royalty",
    },
    defName = "MeleeWeapon_MonoSword",
    label = "monosword",
    description = [[A crystal-metallic longsword infused with mechanites that maintain a mono-molecular cutting edge. It cuts through even thick armor with ease, and its light weight permits fast attacks.]],
    tools = {
      {
        label = "handle",
        capacities = {
          "Blunt",
        },
        power = 12,
        cooldownTime = 1.6,
      },
      {
        label = "point",
        capacities = {
          "Stab",
        },
        power = 25,
        cooldownTime = 2,
      },
      {
        label = "edge",
        capacities = {
          "Cut",
        },
        power = 25,
        cooldownTime = 2,
      },
    },
  },

  ["ThingDef:MeleeWeapon_Zeushammer"] = {
    _ = {
      ParentName = "MeleeWeaponUltratech",
      DefCategory = "ThingDef",
      FileName = "MeleeUltratech.xml",
      DLC = "Royalty",
    },
    defName = "MeleeWeapon_Zeushammer",
    label = "zeushammer",
    description = [[A warhammer with an embedded EMP capacitor. Upon impact, it blasts the target with an EMP burst in addition to the physical damage.]],
    tools = {
      {
        label = "handle",
        capacities = {
          "Poke",
        },
        power = 15,
        cooldownTime = 2,
      },
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 31,
        cooldownTime = 3,
        extraMeleeDamages = {
          {
            def = "EMP",
            amount = 9,
          },
        },
      },
    },
  },

  ["ThingDef:MeleeWeapon_PlasmaSword"] = {
    _ = {
      ParentName = "MeleeWeaponUltratech",
      DefCategory = "ThingDef",
      FileName = "MeleeUltratech.xml",
      DLC = "Royalty",
    },
    defName = "MeleeWeapon_PlasmaSword",
    label = "plasmasword",
    description = [[A metal-cored sword with a cutting edge. Plasma is wrapped around the core, held in place by an energy field. Targets are both sliced by the metal core, as well as burned or ignited by the plasma sheath.]],
    tools = {
      {
        label = "handle",
        capacities = {
          "Blunt",
        },
        power = 12,
        cooldownTime = 2,
      },
      {
        label = "point",
        capacities = {
          "Stab",
        },
        power = 21,
        cooldownTime = 2.6,
        extraMeleeDamages = {
          {
            def = "Flame",
            amount = 10,
            chance = 0.5,
          },
        },
      },
      {
        label = "edge",
        capacities = {
          "Cut",
        },
        power = 21,
        cooldownTime = 2.6,
        extraMeleeDamages = {
          {
            def = "Flame",
            amount = 10,
            chance = 0.5,
          },
        },
      },
    },
  },

  ["ThingDef:OrbitalTargeterMechCluster"] = {
    _ = {
      ParentName = "OrbitalUtilityBase",
      DefCategory = "ThingDef",
      FileName = "OrbitalWeapons.xml",
      DLC = "Royalty",
    },
    defName = "OrbitalTargeterMechCluster",
    label = "orbital mech cluster targeter",
    description = [[An ancient military targeting device. It signals an orbital platform to drop a mechanoid combat cluster at the targeted point. The cluster may include any mixture of mechanoids and mech defense structures.
\nThough they may have once had some allegiance to the ancient army that created this unit, any mechs dropped now will indiscriminately attack any human they see - including the one that summoned them.
\nThe unit only contains one usage code, so it can only be used once.]],
    verbs = {
      {
        warmupTime = 3,
        range = 44.9,
        burstShotCount = 1,
        onlyManualCast = true,
        targetParams = {
          canTargetLocations = true,
        },
      },
    },
    comps = {
      CompProperties_Reloadable = {
        maxCharges = 1,
        destroyOnEmpty = true,
        hotKey = "Misc4",
        chargeNoun = "charge",
        displayGizmoWhileUndrafted = false,
      },
    },
  },

  ["ThingDef:BasePsychicWeaponMelee"] = {
    _ = {
      Name = "BasePsychicWeaponMelee",
      Abstract = true,
      ParentName = "BaseWeapon",
      DefCategory = "ThingDef",
      FileName = "PsychicWeapons.xml",
      DLC = "Royalty",
    },
    comps = {
      {
        compClass = "CompQuality",
      },
      CompProperties_BiocodableWeapon = {},
    },
    thingCategories = {
      "WeaponsMelee",
    },
  },

  ["ThingDef:MeleeWeapon_PsyfocusStaff"] = {
    _ = {
      ParentName = "BasePsychicWeaponMelee",
      DefCategory = "ThingDef",
      FileName = "PsychicWeapons.xml",
      DLC = "Royalty",
    },
    defName = "MeleeWeapon_PsyfocusStaff",
    label = "eltex staff",
    description = [[An ultratech staff threaded with psychic focusing materials. While it is a solid melee weapon, its main purpose is to enhance the wielder's psychic sensitivity and neural heat dissipation, allowing more use of psychic powers.]],
    tradeTags = {
      "PsychicWeapon",
    },
    weaponTags = {
      "EltexStaff",
    },
    statBases = {
      MarketValue = 2000,
      Mass = 1.2,
    },
    tools = {
      {
        label = "head",
        capacities = {
          "Blunt",
        },
        power = 12,
        cooldownTime = 2.6,
      },
    },
  },

  ["ThingDef:Plant_TreeAnima"] = {
    _ = {
      ParentName = "TreeBase",
      Name = "TreeAnima",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild.xml",
      DLC = "Royalty",
    },
    defName = "Plant_TreeAnima",
    label = "anima tree",
    description = [[A rare tree with warm, skin-smooth bark and long iridescent leaves. Infused with bioluminescent micro-organisms, anima trees develop a unique form of psychic symbiosis with surrounding lifeforms, allowing them to grow in a wide variety of biomes.\n\nIf a person (psycaster or not) meditates near an anima tree, it will grow anima grass around its base. Once enough grass is grown, it becomes possible to carry out a psychic linking ritual with the tree and upgrade a person's psychic powers. Only tribal peoples know the secret of this ritual. Tribal psycasters are also able to draw psyfocus from anima trees while meditating to them.\n\nAnima trees' psychic properties are weakened if artificial structures are placed nearby. They refuse to be caged or studied, and must remain part of nature.\n\nMost tribes believe that anima trees are not simply trees, but are rather the physical extremities of a single world spirit.]],
    statBases = {
      Beauty = 5,
      MeditationFocusStrength = 0.28,
      Flammability = 0,
      MaxHitPoints = 400,
    },
    plant = {
      growDays = 25,
      sowMinSkill = 0,
      sowTags = {
        _ = {
          Inherit = false,
        },
      },
      dieIfNoSunlight = false,
      dieFromToxicFallout = false,
      lifespanDaysPerGrowDays = 0,
      fertilityMin = 0.02,
      fertilitySensitivity = 0,
      sowResearchPrerequisites = {
        _ = {
          Inherit = false,
        },
      },
    },
    comps = {
      CompProperties_MeditationFocus = {
        statDef = "MeditationFocusStrength",
        focusTypes = {
          "Natural",
        },
        offsets = {
          {
            _ = {
              Class = "FocusStrengthOffset_ArtificialBuildings",
            },
            radius = 34.9,
            curve = {
              points = {
                {0, 0.0},
                {5, -0.08},
                {10, -0.15},
                {50, -0.3},
              },
            },
          },
          {
            _ = {
              Class = "FocusStrengthOffset_BuildingDefs",
            },
            defs = {
              AnimusStone = 0.02,
              NatureShrine_Small = 0.01,
              NatureShrine_Large = 0.01,
            },
            radius = 9.9,
            maxBuildings = 4,
            explanationKey = "MeditationFocusPerAnimusStoneAndShrine",
            explanationKeyAbstract = "MeditationFocusPerAnimusStoneAndShrineAbstract",
          },
        },
      },
      CompProperties_Glower = {
        glowRadius = 3.75,
        glowColor = {110, 116, 125, 0},
      },
      CompProperties_SpawnSubplant = {
        subplant = "Plant_GrassAnima",
        spawnSound = "AnimaTreeProgress",
      },
      CompProperties_Psylinkable = {
        requiredSubplantCountPerPsylinkLevel = {
          "20",
          "20",
          "20",
          "20",
          "20",
          "20",
        },
        requiredFocus = "Natural",
        linkSound = "AnimaTreeLink",
        enoughPlantsLetterLabel = "About: Anima tree linking",
        enoughPlantsLetterText = "The anima tree now has {0} anima grass around it. This is enough for a tribal person to begin their first linking ritual!\n\nThe linking ritual gives a level of psylink and the ability to use psychic powers. Upgrading to a higher level requires more grass at each level.\n\nThe anima grass requirements for linking rituals to upgrade psycasters are:\n\n{1}\n\nNote: Only those with the nature focus type can meditate to or link with anima trees. You can see a person's focus types by looking at their info card with the ‘i' button.",
      },
      CompProperties_GiveThoughtToAllMapPawnsOnDestroy = {
        thought = "AnimaScream",
        message = "The anima tree has died and emitted a disturbing psychic scream.",
      },
      CompProperties_PlaySoundOnDestroy = {
        sound = "AnimaTreeScream",
      },
      CompProperties_SelfhealHitpoints = {
        ticksPerHeal = 2000,
      },
      CompProperties_ToggleDrawAffectedMeditationFoci = {},
    },
  },

  ["ThingDef:Plant_GrassAnima"] = {
    _ = {
      ParentName = "PlantBaseNonEdible",
      DefCategory = "ThingDef",
      FileName = "Plants_Wild.xml",
      DLC = "Royalty",
    },
    defName = "Plant_GrassAnima",
    label = "anima grass",
    description = [[A grass infused with luminous microorganisms. Tribal peoples find that anima grass grows around the base of an anima tree as they meditate. It seems to reflect some kind of strengthening of the tree's psychic power.\n\nOffworld scientists have tried to study the phenomenon, but the grass degenerates into normal plant matter when observed too closely.\n\nAnimals refuse eat anima grass. Tribal stories say this is done out of respect and fear.]],
    statBases = {
      MaxHitPoints = 85,
      Flammability = 1.3,
    },
    plant = {
      fertilityMin = 0.02,
      fertilitySensitivity = 0,
      sowMinSkill = 0,
      growDays = 1,
      lifespanDaysPerGrowDays = 60,
      harvestWork = 40,
      dieFromToxicFallout = false,
    },
  },

}