public static bool PawnCanAutomaticallyHaul(Pawn p, Thing t, bool forced)
 {
     if (!t.def.EverHaulable)
     {
         return(false);
     }
     if (t.IsForbidden(p))
     {
         if (!t.Position.InAllowedArea(p))
         {
             JobFailReason.Is(HaulAIUtility.ForbiddenOutsideAllowedAreaLowerTrans);
         }
         else
         {
             JobFailReason.Is(HaulAIUtility.ForbiddenLowerTrans);
         }
         return(false);
     }
     if (!t.def.alwaysHaulable && t.Map.designationManager.DesignationOn(t, DesignationDefOf.Haul) == null && !t.IsInValidStorage())
     {
         return(false);
     }
     if (!HaulAIUtility.PawnCanAutomaticallyHaulBasicChecks(p, t, forced))
     {
         return(false);
     }
     return(true);
 }
 public static bool PawnCanAutomaticallyHaulFast(Pawn p, Thing t, bool forced)
 {
     return(HaulAIUtility.PawnCanAutomaticallyHaulBasicChecks(p, t, forced));
 }