public override void Cleanup() { base.Cleanup(); if (leaveOnCleanup) { LeaveQuestPartUtility.MakePawnsLeave(pawns, sendStandardLetter, quest); } }
public override void Notify_QuestSignalReceived(Signal signal) { base.Notify_QuestSignalReceived(signal); if (signal.tag == inSignal) { LeaveQuestPartUtility.MakePawnsLeave(pawns, sendStandardLetter, quest); } }
private void LeavePlayer() { for (int i = 0; i < pawns.Count; i++) { pawns[i].SetFaction(faction); } LeaveQuestPartUtility.MakePawnsLeave(pawns, sendLetter: false, quest); Complete(); }
public override void Notify_QuestSignalReceived(Signal signal) { base.Notify_QuestSignalReceived(signal); if (signal.tag == inSignalRemovePawn && signal.args.TryGetArg("SUBJECT", out Pawn arg) && pawns.Contains(arg)) { pawns.Remove(arg); } if (signal.tag == inSignal) { LeaveQuestPartUtility.MakePawnsLeave(pawns, sendStandardLetter, quest); } }