public static bool PawnsKnowEachOther(Pawn p1, Pawn p2) { if (p1.Faction != null && p1.Faction == p2.Faction) { return(true); } if (p1.RaceProps.IsFlesh && p1.relations.DirectRelations.Find((DirectPawnRelation x) => x.otherPawn == p2) != null) { return(true); } if (p2.RaceProps.IsFlesh && p2.relations.DirectRelations.Find((DirectPawnRelation x) => x.otherPawn == p1) != null) { return(true); } if (RelationsUtility.HasAnySocialMemoryWith(p1, p2)) { return(true); } if (RelationsUtility.HasAnySocialMemoryWith(p2, p1)) { return(true); } return(false); }