public static bool DeploysFromEscapePod(this ThingDef def) { return(def.apparel != null || (def.weaponTags != null && def.weaponTags.Count > 0) || def.BelongsToCategory("FoodMeals") || (def == ThingDefOf.Medicine || def.defName.Equals("GlitterworldMedicine"))); }
protected InventoryType CategorizeDefinition(ThingDef def) { if (def.category == ThingCategory.Projectile) { return(InventoryType.UNKNOWN); } if (def.thingCategories != null) { if (def.thingCategories.FirstOrDefault((ThingCategoryDef d) => d.defName.StartsWith("Corpses")) != null) { return(InventoryType.UNKNOWN); } } if (def.IsFrame) { return(InventoryType.UNKNOWN); } if (def.building != null) { if ("Furniture".Equals(def.designationCategory)) { return(InventoryType.BUILDING_FURNITURE); } if ("Structure".Equals(def.designationCategory)) { return(InventoryType.BUILDING_STRUCTURE); } if ("Power".Equals(def.designationCategory)) { return(InventoryType.BUILDING_POWER); } if ("Production".Equals(def.designationCategory)) { return(InventoryType.BUILDING_PRODUCTION); } if ("Security".Equals(def.designationCategory)) { return(InventoryType.BUILDING_SECURITY); } if ("Ship".Equals(def.designationCategory)) { return(InventoryType.BUILDING_SHIP); } if ("Joy".Equals(def.designationCategory)) { return(InventoryType.BUILDING_JOY); } if ("Temperature".Equals(def.designationCategory)) { return(InventoryType.BUILDING_TEMPERATURE); } if ("FoodUtilities".Equals(def.designationCategory)) { return(InventoryType.BUILDING_FOOD_UTILITIES); } if (def.BelongsToCategory("Joy") || (def.graphic.path != null && def.graphic.path.IndexOf("/Joy/") != -1)) { return(InventoryType.BUILDING_JOY); } return(InventoryType.BUILDING_OTHER); } else { if (def.apparel != null) { return(InventoryType.ITEM_APPAREL); } if (def.weaponTags != null && def.weaponTags.Count > 0) { return(InventoryType.ITEM_EQUIPMENT); } if (def.ingestible != null) { return(InventoryType.ITEM_FOOD); } if (!def.CountAsResource) { return(InventoryType.ITEM_OTHER); } if (this.schematicDef != null && def.thingCategories != null && def.thingCategories.Contains(this.schematicDef)) { return(InventoryType.ITEM_SCHEMATIC); } if (def.CountAsResource) { return(InventoryType.ITEM_RESOURCE); } return(InventoryType.UNKNOWN); } }