Example #1
0
        private static void KillRandomLentColonist()
        {
            if (QuestUtility.TotalBorrowedColonistCount() <= 0)
            {
                return;
            }
            tmpLentColonists.Clear();
            List <Quest> questsListForReading = Find.QuestManager.QuestsListForReading;

            for (int i = 0; i < questsListForReading.Count; i++)
            {
                if (questsListForReading[i].State != QuestState.Ongoing)
                {
                    continue;
                }
                List <QuestPart> partsListForReading = questsListForReading[i].PartsListForReading;
                for (int j = 0; j < partsListForReading.Count; j++)
                {
                    QuestPart_LendColonistsToFaction questPart_LendColonistsToFaction;
                    if ((questPart_LendColonistsToFaction = partsListForReading[j] as QuestPart_LendColonistsToFaction) == null)
                    {
                        continue;
                    }
                    List <Thing> lentColonistsListForReading = questPart_LendColonistsToFaction.LentColonistsListForReading;
                    for (int k = 0; k < lentColonistsListForReading.Count; k++)
                    {
                        Pawn pawn;
                        if ((pawn = lentColonistsListForReading[k] as Pawn) != null && !pawn.Dead)
                        {
                            tmpLentColonists.Add(pawn);
                        }
                    }
                }
            }
            Pawn pawn2 = tmpLentColonists.RandomElement();
            bool flag  = pawn2.health.hediffSet.hediffs.Any((Hediff x) => x.def.isBad);

            pawn2.Kill(null, flag ? pawn2.health.hediffSet.hediffs.RandomElement() : null);
        }