public static QuestPart_QuestEnd End(this Quest quest, QuestEndOutcome outcome, int goodwillChangeAmount = 0, Faction goodwillChangeFactionOf = null, string inSignal = null, QuestPart.SignalListenMode signalListenMode = QuestPart.SignalListenMode.OngoingOnly, bool sendStandardLetter = false) { Slate slate = QuestGen.slate; if (goodwillChangeAmount != 0 && goodwillChangeFactionOf != null && goodwillChangeFactionOf != null) { QuestPart_FactionGoodwillChange questPart_FactionGoodwillChange = new QuestPart_FactionGoodwillChange(); questPart_FactionGoodwillChange.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal) ?? QuestGen.slate.Get <string>("inSignal"); questPart_FactionGoodwillChange.faction = goodwillChangeFactionOf; questPart_FactionGoodwillChange.change = goodwillChangeAmount; slate.Set("goodwillPenalty", Mathf.Abs(goodwillChangeAmount).ToString()); QuestGen.quest.AddPart(questPart_FactionGoodwillChange); } QuestPart_QuestEnd questPart_QuestEnd = new QuestPart_QuestEnd(); questPart_QuestEnd.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal) ?? QuestGen.slate.Get <string>("inSignal"); questPart_QuestEnd.outcome = outcome; questPart_QuestEnd.signalListenMode = signalListenMode; questPart_QuestEnd.sendLetter = sendStandardLetter; QuestGen.quest.AddPart(questPart_QuestEnd); return(questPart_QuestEnd); }
protected override void RunInt() { Slate slate = QuestGen.slate; int value = goodwillChangeAmount.GetValue(slate); Thing value2 = goodwillChangeFactionOf.GetValue(slate); if (value != 0 && value2 != null && value2.Faction != null) { QuestPart_FactionGoodwillChange questPart_FactionGoodwillChange = new QuestPart_FactionGoodwillChange(); questPart_FactionGoodwillChange.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"); questPart_FactionGoodwillChange.faction = value2.Faction; questPart_FactionGoodwillChange.change = value; slate.Set("goodwillPenalty", Mathf.Abs(value).ToString()); QuestGen.quest.AddPart(questPart_FactionGoodwillChange); } QuestPart_QuestEnd questPart_QuestEnd = new QuestPart_QuestEnd(); questPart_QuestEnd.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"); questPart_QuestEnd.outcome = outcome.GetValue(slate); questPart_QuestEnd.signalListenMode = signalListenMode.GetValue(slate) ?? QuestPart.SignalListenMode.OngoingOnly; questPart_QuestEnd.sendLetter = sendStandardLetter.GetValue(slate) ?? false; QuestGen.quest.AddPart(questPart_QuestEnd); }