internal static bool CanHaveFaction(this ThingDef _this) { return(true); bool IsBlueprint = _this.GetPawn(); bool IsFrame = _this.GetPawn2(); ThingCategory category = _this.GetPawn3(); if (IsBlueprint || IsFrame) { return(true); } switch (category) { case ThingCategory.Pawn: return(true); case ThingCategory.Building: return(true); } return(false); }