protected bool IsValidCellToWander(IntVec3 cell)
{
if (cell.Standable() == false)
{
return false;
}
if (this.pawn.CanReach(new TargetInfo(cell), PathEndMode.OnCell, Danger.None) == false)
{
return false;
}
foreach (Thing thing in cell.GetThingList())
{
if (thing is Fire)
{
return false;
}
}
if (cell.GetRoom() != this.TargetLocA.GetRoom())
{
return false;
}
if (Find.PawnDestinationManager.DestinationIsReserved(cell))
{
return false;
}
return true;
}