public static bool CanAcceptQuest(Quest quest) { for (int i = 0; i < quest.PartsListForReading.Count; i++) { QuestPart_RequirementsToAccept questPart_RequirementsToAccept = quest.PartsListForReading[i] as QuestPart_RequirementsToAccept; if (questPart_RequirementsToAccept != null && !questPart_RequirementsToAccept.CanAccept().Accepted) { return(false); } } return(true); }
public static bool CanPawnAcceptQuest(Pawn p, Quest quest) { for (int i = 0; i < quest.PartsListForReading.Count; i++) { QuestPart_RequirementsToAccept questPart_RequirementsToAccept = quest.PartsListForReading[i] as QuestPart_RequirementsToAccept; if (questPart_RequirementsToAccept != null && !questPart_RequirementsToAccept.CanPawnAccept(p)) { return(false); } } if (!p.Destroyed && p.IsFreeColonist && !p.Downed && !p.Suspended) { return(!p.IsQuestLodger()); } return(false); }