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,