public override void EndQuest(Caravan caravan = null, EndCondition condition = EndCondition.None) { base.EndQuest(caravan, condition); if (condition == EndCondition.Success) { ScoutingComp.GiveScoutingComp(Faction, 2, 15, 5, 5); } }
public override void DoWindowContents(Rect inRect) { Listing_Standard listing = new Listing_Standard(); listing.Begin(inRect); if (listing.ButtonText("Try add GetHelp option")) { List <FloatMenuOption> list = new List <FloatMenuOption>(); foreach (var faction in QuestsManager.Communications.FactionManager.Factions) { list.Add(new FloatMenuOption(faction.Faction.Name, delegate { CommOption_GetHelp.AddComponentWithStack(faction.Faction, 1); })); } Find.WindowStack.Add(new FloatMenu(list)); } if (listing.ButtonText("Create test message")) { EmailMessage message = new EmailMessage(); Find.WindowStack.Add(new CreateMessageWindow(message)); } if (listing.ButtonText("End quest...")) { List <FloatMenuOption> list = new List <FloatMenuOption>(); foreach (EndCondition condition in Enum.GetValues(typeof(EndCondition))) { list.Add(new FloatMenuOption(condition.ToString(), delegate { List <FloatMenuOption> list2 = new List <FloatMenuOption>(); foreach (var quest in QuestsManager.Communications.Quests) { list2.Add(new FloatMenuOption(quest.CardLabel, delegate { if (quest.Site != null) { quest.Site.EndQuest(null, condition); } else { quest.EndQuest(null, condition); } })); } Find.WindowStack.Add(new FloatMenu(list2)); })); } Find.WindowStack.Add(new FloatMenu(list)); } if (listing.ButtonText("Add scout component")) { List <FloatMenuOption> list = new List <FloatMenuOption>(); foreach (var faction in QuestsManager.Communications.FactionManager.Factions) { list.Add(new FloatMenuOption(faction.Faction.Name, delegate { if (!ScoutingComp.ScoutAlready(faction.Faction, out ScoutingComp outComp)) { ScoutingComp comp = new ScoutingComp(faction.Faction, 4000, 200000, 5); comp.id = QuestsManager.Communications.UniqueIdManager.GetNextComponentID(); QuestsManager.Communications.RegisterComponent(comp); } else { Messages.Message("Already has", MessageTypeDefOf.PositiveEvent, false); } }));