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); }