public override string GetExplanation()
        {
            List <Pawn>[] cliques   = new List <Pawn> [CliqueLeaders.Count()];
            int           leaderNum = 0;

            foreach (Pawn leader in CliqueLeaders)
            {
                List <Pawn> members = (from c in PawnsFinder.AllMaps_FreeColonistsSpawned
                                       where c != leader && c.Map == leader.Map && c.relations.OpinionOf(leader) > 20
                                       select c).ToList();
                members.Insert(0, leader);
                cliques[leaderNum] = members;
                leaderNum++;
            }
            StringBuilder cliqueList = new StringBuilder();

            foreach (List <Pawn> clique in cliques)
            {
                leaderNum = 0;
                foreach (Pawn member in clique)
                {
                    cliqueList.AppendLine(leaderNum == 0 ? "Leader: " + member.LabelShort : member.LabelShort);
                    leaderNum++;
                }
                cliqueList.AppendLine();
            }
            return("CliqueMembersDesc".Translate(cliqueList));
        }
 public override AlertReport GetReport()
 {
     if (CliqueLeaders.Count() < 2)
     {
         return(AlertReport.Inactive);
     }
     return(AlertReport.Active);
 }