protected override void RunInt()
        {
            Slate                   slate                   = QuestGen.slate;
            float                   points                  = QuestGen.slate.Get("points", 0f);
            GameCondition           gameCondition           = GameConditionMaker.MakeCondition(this.gameCondition.GetValue(slate), duration.GetValue(slate));
            QuestPart_GameCondition questPart_GameCondition = new QuestPart_GameCondition();

            questPart_GameCondition.gameCondition = gameCondition;
            List <Rule> list = new List <Rule>();
            Dictionary <string, string> dictionary = new Dictionary <string, string>();

            if (targetWorld.GetValue(slate))
            {
                questPart_GameCondition.targetWorld = true;
                gameCondition.RandomizeSettings(points, null, list, dictionary);
            }
            else
            {
                Map map = GetMap(QuestGen.slate);
                questPart_GameCondition.mapParent = map.Parent;
                gameCondition.RandomizeSettings(points, map, list, dictionary);
            }
            questPart_GameCondition.inSignal = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            QuestGen.quest.AddPart(questPart_GameCondition);
            if (!storeGameConditionDescriptionFutureAs.GetValue(slate).NullOrEmpty())
            {
                slate.Set(storeGameConditionDescriptionFutureAs.GetValue(slate), gameCondition.def.descriptionFuture);
            }
            QuestGen.AddQuestNameRules(list);
            QuestGen.AddQuestDescriptionRules(list);
            QuestGen.AddQuestDescriptionConstants(dictionary);
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            int   value = duration.GetValue(slate);

            _ = QuestGen.quest;
            int         value2        = startOffsetTicks.GetValue(slate);
            IncidentDef value3        = incidentDef.GetValue(slate);
            Map         map           = slate.Get <Map>("map");
            float       value4        = points.GetValue(slate);
            Faction     value5        = faction.GetValue(slate);
            string      delayInSignal = slate.Get <string>("inSignal");
            string      disableSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignalDisable.GetValue(slate));
            int?        value6        = randomIncidents.GetValue(slate);

            if (value6.HasValue)
            {
                for (int i = 0; i < value6; i++)
                {
                    CreateDelayedIncident(Rand.Range(value2, value), delayInSignal, disableSignal, value3, map, value4, value5);
                }
            }
            int?value7 = intervalTicks.GetValue(slate);

            if (value7.HasValue)
            {
                int num = Mathf.FloorToInt((float)value / (float)value7.Value);
                for (int j = 0; j < num; j++)
                {
                    int delayTicks = Mathf.Max(j * value7.Value, value2);
                    CreateDelayedIncident(delayTicks, delayInSignal, disableSignal, value3, map, value4, value5);
                }
            }
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_GiveRoyalFavor questPart_GiveRoyalFavor = new QuestPart_GiveRoyalFavor();

            questPart_GiveRoyalFavor.giveTo         = giveTo.GetValue(slate);
            questPart_GiveRoyalFavor.giveToAccepter = giveToAccepter.GetValue(slate);
            questPart_GiveRoyalFavor.faction        = faction.GetValue(slate) ?? factionOf.GetValue(slate).Faction;
            questPart_GiveRoyalFavor.amount         = amount.GetValue(slate);
            questPart_GiveRoyalFavor.inSignal       = QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal");
            QuestGen.quest.AddPart(questPart_GiveRoyalFavor);
            if (isSingleReward.GetValue(slate))
            {
                QuestPart_Choice questPart_Choice = new QuestPart_Choice();
                questPart_Choice.inSignalChoiceUsed = questPart_GiveRoyalFavor.inSignal;
                QuestPart_Choice.Choice choice = new QuestPart_Choice.Choice();
                choice.questParts.Add(questPart_GiveRoyalFavor);
                choice.rewards.Add(new Reward_RoyalFavor
                {
                    faction = questPart_GiveRoyalFavor.faction,
                    amount  = questPart_GiveRoyalFavor.amount
                });
                questPart_Choice.choices.Add(choice);
                QuestGen.quest.AddPart(questPart_Choice);
            }
        }
Example #4
0
        protected override void RunInt()
        {
            Slate            slate            = QuestGen.slate;
            QuestPart_Letter questPart_Letter = new QuestPart_Letter();

            questPart_Letter.inSignal = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? slate.Get <string>("inSignal"));
            LetterDef letterDef = this.letterDef.GetValue(slate) ?? LetterDefOf.NeutralEvent;

            if (typeof(ChoiceLetter).IsAssignableFrom(letterDef.letterClass))
            {
                ChoiceLetter choiceLetter = LetterMaker.MakeLetter("error", "error", letterDef, QuestGenUtility.ToLookTargets(lookTargets, slate), relatedFaction.GetValue(slate), QuestGen.quest);
                questPart_Letter.letter = choiceLetter;
                QuestGen.AddTextRequest("root", delegate(string x)
                {
                    choiceLetter.label = x;
                }, QuestGenUtility.MergeRules(labelRules.GetValue(slate), label.GetValue(slate), "root"));
                QuestGen.AddTextRequest("root", delegate(string x)
                {
                    choiceLetter.text = x;
                }, QuestGenUtility.MergeRules(textRules.GetValue(slate), text.GetValue(slate), "root"));
            }
            else
            {
                questPart_Letter.letter                = LetterMaker.MakeLetter(letterDef);
                questPart_Letter.letter.lookTargets    = QuestGenUtility.ToLookTargets(lookTargets, slate);
                questPart_Letter.letter.relatedFaction = relatedFaction.GetValue(slate);
            }
            questPart_Letter.chosenPawnSignal               = QuestGenUtility.HardcodedSignalWithQuestID(chosenPawnSignal.GetValue(slate));
            questPart_Letter.useColonistsOnMap              = useColonistsOnMap.GetValue(slate);
            questPart_Letter.useColonistsFromCaravanArg     = useColonistsFromCaravanArg.GetValue(slate);
            questPart_Letter.signalListenMode               = (signalListenMode.GetValue(slate) ?? QuestPart.SignalListenMode.OngoingOnly);
            questPart_Letter.filterDeadPawnsFromLookTargets = filterDeadPawnsFromLookTargets.GetValue(slate);
            QuestGen.quest.AddPart(questPart_Letter);
        }
Example #5
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_ShuttleLeaveDelay questPart_ShuttleLeaveDelay = new QuestPart_ShuttleLeaveDelay();

            questPart_ShuttleLeaveDelay.inSignalEnable    = (QuestGenUtility.HardcodedSignalWithQuestID(inSignalEnable.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            questPart_ShuttleLeaveDelay.delayTicks        = delayTicks.GetValue(slate);
            questPart_ShuttleLeaveDelay.shuttle           = shuttle.GetValue(slate);
            questPart_ShuttleLeaveDelay.expiryInfoPart    = "ShuttleDepartsIn".Translate();
            questPart_ShuttleLeaveDelay.expiryInfoPartTip = "ShuttleDepartsOn".Translate();
            if (inSignalsDisable.GetValue(slate) != null)
            {
                foreach (string item in inSignalsDisable.GetValue(slate))
                {
                    questPart_ShuttleLeaveDelay.inSignalsDisable.Add(QuestGenUtility.HardcodedSignalWithQuestID(item));
                }
            }
            if (node != null)
            {
                QuestGenUtility.RunInnerNode(node, questPart_ShuttleLeaveDelay);
            }
            if (!outSignalComplete.GetValue(slate).NullOrEmpty())
            {
                questPart_ShuttleLeaveDelay.outSignalsCompleted.Add(QuestGenUtility.HardcodedSignalWithQuestID(outSignalComplete.GetValue(slate)));
            }
            QuestGen.quest.AddPart(questPart_ShuttleLeaveDelay);
        }
Example #6
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            Map   map   = slate.Get <Map>("map");
            QuestPart_ThreatsGenerator questPart_ThreatsGenerator = new QuestPart_ThreatsGenerator();

            questPart_ThreatsGenerator.threatStartTicks = threatStartTicks.GetValue(slate);
            questPart_ThreatsGenerator.inSignalEnable   = (QuestGenUtility.HardcodedSignalWithQuestID(inSignalEnable.GetValue(slate)) ?? slate.Get <string>("inSignal"));
            questPart_ThreatsGenerator.inSignalDisable  = QuestGenUtility.HardcodedSignalWithQuestID(inSignalDisable.GetValue(slate));
            ThreatsGeneratorParams value = parms.GetValue(slate);

            value.faction = (faction.GetValue(slate) ?? value.faction);
            questPart_ThreatsGenerator.parms     = value;
            questPart_ThreatsGenerator.mapParent = map.Parent;
            QuestGen.quest.AddPart(questPart_ThreatsGenerator);
            if (!storeThreatExampleAs.GetValue(slate).NullOrEmpty())
            {
                PawnGroupMakerParms pawnGroupMakerParms = new PawnGroupMakerParms();
                pawnGroupMakerParms.groupKind    = PawnGroupKindDefOf.Combat;
                pawnGroupMakerParms.raidStrategy = RaidStrategyDefOf.ImmediateAttack;
                pawnGroupMakerParms.faction      = (value.faction ?? (from x in Find.FactionManager.GetFactions(allowHidden: false, allowDefeated: false, allowNonHumanlike: true, TechLevel.Industrial)
                                                                      where x.HostileTo(Faction.OfPlayer)
                                                                      select x).RandomElement());
                float num = value.threatPoints ?? (StorytellerUtility.DefaultThreatPointsNow(map) * value.currentThreatPointsFactor);
                if (value.minThreatPoints.HasValue)
                {
                    num = Mathf.Max(num, value.minThreatPoints.Value);
                }
                pawnGroupMakerParms.points = IncidentWorker_Raid.AdjustedRaidPoints(num, PawnsArrivalModeDefOf.EdgeWalkIn, RaidStrategyDefOf.ImmediateAttack, pawnGroupMakerParms.faction, PawnGroupKindDefOf.Combat);
                IEnumerable <PawnKindDef> pawnKinds = PawnGroupMakerUtility.GeneratePawnKindsExample(pawnGroupMakerParms);
                slate.Set(storeThreatExampleAs.GetValue(slate), PawnUtility.PawnKindsToLineList(pawnKinds, "  - "));
            }
        }
Example #7
0
        protected override void RunInt()
        {
            Slate slate  = QuestGen.slate;
            Map   target = QuestGen.slate.Get <Map>("map");
            float points = QuestGen.slate.Get("points", 0f);
            QuestPart_Incident questPart_Incident = new QuestPart_Incident();

            questPart_Incident.incident = incidentDef.GetValue(slate);
            IncidentParms incidentParms = new IncidentParms();

            incidentParms.forced = true;
            incidentParms.target = target;
            incidentParms.points = points;
            if (!customLetterLabel.GetValue(slate).NullOrEmpty() || customLetterLabelRules.GetValue(slate) != null)
            {
                QuestGen.AddTextRequest("root", delegate(string x)
                {
                    incidentParms.customLetterLabel = x;
                }, QuestGenUtility.MergeRules(customLetterLabelRules.GetValue(slate), customLetterLabel.GetValue(slate), "root"));
            }
            if (!customLetterText.GetValue(slate).NullOrEmpty() || customLetterTextRules.GetValue(slate) != null)
            {
                QuestGen.AddTextRequest("root", delegate(string x)
                {
                    incidentParms.customLetterText = x;
                }, QuestGenUtility.MergeRules(customLetterTextRules.GetValue(slate), customLetterText.GetValue(slate), "root"));
            }
            questPart_Incident.SetIncidentParmsAndRemoveTarget(incidentParms);
            questPart_Incident.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal");
            QuestGen.quest.AddPart(questPart_Incident);
        }
Example #8
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            Map   map   = QuestGen.slate.Get <Map>("map");

            if (map != null)
            {
                QuestPart_Infestation questPart = new QuestPart_Infestation();
                questPart.mapParent  = map.Parent;
                questPart.hivesCount = hivesCount.GetValue(slate);
                questPart.tag        = QuestGenUtility.HardcodedTargetQuestTagWithQuestID(tag.GetValue(slate));
                if (!customLetterLabel.GetValue(slate).NullOrEmpty() || customLetterLabelRules.GetValue(slate) != null)
                {
                    QuestGen.AddTextRequest("root", delegate(string x)
                    {
                        questPart.customLetterLabel = x;
                    }, QuestGenUtility.MergeRules(customLetterLabelRules.GetValue(slate), customLetterLabel.GetValue(slate), "root"));
                }
                if (!customLetterText.GetValue(slate).NullOrEmpty() || customLetterTextRules.GetValue(slate) != null)
                {
                    QuestGen.AddTextRequest("root", delegate(string x)
                    {
                        questPart.customLetterText = x;
                    }, QuestGenUtility.MergeRules(customLetterTextRules.GetValue(slate), customLetterText.GetValue(slate), "root"));
                }
                questPart.inSignal = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
                QuestGen.quest.AddPart(questPart);
            }
        }
Example #9
0
        protected override void RunInt()
        {
            Slate                 slate  = QuestGen.slate;
            MapParent             parent = slate.Get <Map>("map").Parent;
            string                text   = QuestGen.GenerateNewSignal("PawnOfRaceKilled");
            QuestPart_PawnsKilled questPart_PawnsKilled = new QuestPart_PawnsKilled();

            questPart_PawnsKilled.inSignalEnable            = (QuestGenUtility.HardcodedSignalWithQuestID(inSignalEnable.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            questPart_PawnsKilled.race                      = race.GetValue(slate);
            questPart_PawnsKilled.requiredInstigatorFaction = Faction.OfPlayer;
            questPart_PawnsKilled.count                     = count.GetValue(slate);
            questPart_PawnsKilled.mapParent                 = parent;
            questPart_PawnsKilled.outSignalPawnKilled       = text;
            if (node != null)
            {
                QuestGenUtility.RunInnerNode(node, questPart_PawnsKilled);
            }
            if (!outSignalComplete.GetValue(slate).NullOrEmpty())
            {
                questPart_PawnsKilled.outSignalsCompleted.Add(QuestGenUtility.HardcodedSignalWithQuestID(outSignalComplete.GetValue(slate)));
            }
            QuestGen.quest.AddPart(questPart_PawnsKilled);
            QuestPart_PawnsAvailable questPart_PawnsAvailable = new QuestPart_PawnsAvailable();

            questPart_PawnsAvailable.inSignalEnable = (QuestGenUtility.HardcodedSignalWithQuestID(inSignalEnable.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            if (!outSignalPawnsNotAvailable.GetValue(slate).NullOrEmpty())
            {
                questPart_PawnsAvailable.outSignalPawnsNotAvailable = QuestGenUtility.HardcodedSignalWithQuestID(outSignalPawnsNotAvailable.GetValue(slate));
            }
            questPart_PawnsAvailable.race              = race.GetValue(slate);
            questPart_PawnsAvailable.requiredCount     = count.GetValue(slate);
            questPart_PawnsAvailable.mapParent         = parent;
            questPart_PawnsAvailable.inSignalDecrement = text;
            QuestGen.quest.AddPart(questPart_PawnsAvailable);
        }
Example #10
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;

            if (((outSignals.GetValue(slate) != null) ? outSignals.GetValue(slate).Count() : 0) + ((node != null) ? 1 : 0) == 0)
            {
                return;
            }
            QuestPart_PassActivable questPart_PassActivable = new QuestPart_PassActivable();

            QuestGen.quest.AddPart(questPart_PassActivable);
            questPart_PassActivable.inSignalEnable  = QuestGenUtility.HardcodedSignalWithQuestID(inSignalEnable.GetValue(slate)) ?? slate.Get <string>("inSignal");
            questPart_PassActivable.inSignalDisable = QuestGenUtility.HardcodedSignalWithQuestID(inSignalDisable.GetValue(slate));
            questPart_PassActivable.inSignal        = QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate));
            if (node != null)
            {
                QuestGenUtility.RunInnerNode(node, questPart_PassActivable.OutSignalCompleted);
            }
            IEnumerable <string> value = outSignals.GetValue(slate);

            if (value != null)
            {
                foreach (string item in value)
                {
                    questPart_PassActivable.outSignalsCompleted.Add(QuestGenUtility.HardcodedSignalWithQuestID(item));
                }
            }
            questPart_PassActivable.signalListenMode = signalListenMode.GetValue(slate) ?? QuestPart.SignalListenMode.OngoingOnly;
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_DestroyWorldObject questPart_DestroyWorldObject = new QuestPart_DestroyWorldObject();

            questPart_DestroyWorldObject.worldObject = worldObject.GetValue(slate);
            questPart_DestroyWorldObject.inSignal    = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            QuestGen.quest.AddPart(questPart_DestroyWorldObject);
        }
        protected override void RunInt()
        {
            Slate         slate         = QuestGen.slate;
            QuestPart_Log questPart_Log = new QuestPart_Log();

            questPart_Log.inSignal = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            questPart_Log.message  = message.GetValue(slate);
            QuestGen.quest.AddPart(questPart_Log);
        }
Example #13
0
        public static QuestPart_FeedPawns FeedPawns(this Quest quest, IEnumerable <Pawn> pawns = null, Thing pawnsInTransporter = null, string inSignal = null)
        {
            QuestPart_FeedPawns questPart_FeedPawns = new QuestPart_FeedPawns();

            questPart_FeedPawns.pawnsInTransporter = pawnsInTransporter;
            questPart_FeedPawns.pawns    = pawns?.ToList();
            questPart_FeedPawns.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal) ?? QuestGen.slate.Get <string>("inSignal");
            quest.AddPart(questPart_FeedPawns);
            return(questPart_FeedPawns);
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_DropMonumentMarkerCopy questPart_DropMonumentMarkerCopy = new QuestPart_DropMonumentMarkerCopy();

            questPart_DropMonumentMarkerCopy.mapParent       = slate.Get <Map>("map").Parent;
            questPart_DropMonumentMarkerCopy.inSignal        = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? slate.Get <string>("inSignal"));
            questPart_DropMonumentMarkerCopy.outSignalResult = QuestGenUtility.HardcodedSignalWithQuestID(outSignalResult.GetValue(slate));
            QuestGen.quest.AddPart(questPart_DropMonumentMarkerCopy);
        }
Example #15
0
        public static QuestPart_SpawnWorldObject SpawnWorldObject(this Quest quest, WorldObject worldObject, List <ThingDef> defsToExcludeFromHyperlinks = null, string inSignal = null)
        {
            QuestPart_SpawnWorldObject questPart_SpawnWorldObject = new QuestPart_SpawnWorldObject();

            questPart_SpawnWorldObject.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal) ?? QuestGen.slate.Get <string>("inSignal");
            questPart_SpawnWorldObject.defsToExcludeFromHyperlinks = defsToExcludeFromHyperlinks;
            questPart_SpawnWorldObject.worldObject = worldObject;
            quest.AddPart(questPart_SpawnWorldObject);
            return(questPart_SpawnWorldObject);
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_FactionGoodwillChange questPart_FactionGoodwillChange = new QuestPart_FactionGoodwillChange();

            questPart_FactionGoodwillChange.change   = change.GetValue(slate);
            questPart_FactionGoodwillChange.faction  = (faction.GetValue(slate) ?? factionOf.GetValue(slate).Faction);
            questPart_FactionGoodwillChange.inSignal = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            QuestGen.quest.AddPart(questPart_FactionGoodwillChange);
        }
Example #17
0
        protected override void RunInt()
        {
            Slate              slate              = QuestGen.slate;
            Map                target             = QuestGen.slate.Get <Map>("map");
            float              a                  = QuestGen.slate.Get("points", 0f);
            Faction            faction            = QuestGen.slate.Get <Faction>("enemyFaction");
            QuestPart_Incident questPart_Incident = new QuestPart_Incident();

            questPart_Incident.debugLabel = "raid";
            questPart_Incident.incident   = IncidentDefOf.RaidEnemy;
            IncidentParms incidentParms = new IncidentParms();

            incidentParms.forced             = true;
            incidentParms.target             = target;
            incidentParms.points             = Mathf.Max(a, faction.def.MinPointsToGeneratePawnGroup(PawnGroupKindDefOf.Combat));
            incidentParms.faction            = faction;
            incidentParms.pawnGroupMakerSeed = Rand.Int;
            incidentParms.inSignalEnd        = QuestGenUtility.HardcodedSignalWithQuestID(inSignalLeave.GetValue(slate));
            incidentParms.questTag           = QuestGenUtility.HardcodedTargetQuestTagWithQuestID(tag.GetValue(slate));
            if (!customLetterLabel.GetValue(slate).NullOrEmpty() || customLetterLabelRules.GetValue(slate) != null)
            {
                QuestGen.AddTextRequest("root", delegate(string x)
                {
                    incidentParms.customLetterLabel = x;
                }, QuestGenUtility.MergeRules(customLetterLabelRules.GetValue(slate), customLetterLabel.GetValue(slate), "root"));
            }
            if (!customLetterText.GetValue(slate).NullOrEmpty() || customLetterTextRules.GetValue(slate) != null)
            {
                QuestGen.AddTextRequest("root", delegate(string x)
                {
                    incidentParms.customLetterText = x;
                }, QuestGenUtility.MergeRules(customLetterTextRules.GetValue(slate), customLetterText.GetValue(slate), "root"));
            }
            IncidentWorker_Raid obj = (IncidentWorker_Raid)questPart_Incident.incident.Worker;

            obj.ResolveRaidStrategy(incidentParms, PawnGroupKindDefOf.Combat);
            obj.ResolveRaidArriveMode(incidentParms);
            if (incidentParms.raidArrivalMode.walkIn)
            {
                incidentParms.spawnCenter = walkInSpot.GetValue(slate) ?? QuestGen.slate.Get <IntVec3?>("walkInSpot") ?? IntVec3.Invalid;
            }
            PawnGroupMakerParms defaultPawnGroupMakerParms = IncidentParmsUtility.GetDefaultPawnGroupMakerParms(PawnGroupKindDefOf.Combat, incidentParms);

            defaultPawnGroupMakerParms.points = IncidentWorker_Raid.AdjustedRaidPoints(defaultPawnGroupMakerParms.points, incidentParms.raidArrivalMode, incidentParms.raidStrategy, defaultPawnGroupMakerParms.faction, PawnGroupKindDefOf.Combat);
            IEnumerable <PawnKindDef> pawnKinds = PawnGroupMakerUtility.GeneratePawnKindsExample(defaultPawnGroupMakerParms);

            questPart_Incident.SetIncidentParmsAndRemoveTarget(incidentParms);
            questPart_Incident.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal");
            QuestGen.quest.AddPart(questPart_Incident);
            QuestGen.AddQuestDescriptionRules(new List <Rule>
            {
                new Rule_String("raidPawnKinds", PawnUtility.PawnKindsToLineList(pawnKinds, "  - ", ColoredText.ThreatColor)),
                new Rule_String("raidArrivalModeInfo", incidentParms.raidArrivalMode.textWillArrive.Formatted(faction))
            });
        }
        protected override void RunInt()
        {
            Slate            slate            = QuestGen.slate;
            QuestPart_Choice questPart_Choice = new QuestPart_Choice();

            questPart_Choice.inSignalChoiceUsed = QuestGenUtility.HardcodedSignalWithQuestID(inSignalChoiceUsed.GetValue(slate));
            QuestPart_Choice.Choice choice = new QuestPart_Choice.Choice();
            choice.rewards.Add(new Reward_PassageOffworld());
            questPart_Choice.choices.Add(choice);
            QuestGen.quest.AddPart(questPart_Choice);
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_ChangeHeir questPart_ChangeHeir = new QuestPart_ChangeHeir();

            questPart_ChangeHeir.inSignal = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            questPart_ChangeHeir.faction  = (faction.GetValue(slate) ?? factionOf.GetValue(slate).Faction);
            questPart_ChangeHeir.holder   = holder.GetValue(slate);
            questPart_ChangeHeir.heir     = heir.GetValue(slate);
            QuestGen.quest.AddPart(questPart_ChangeHeir);
        }
Example #20
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_SetFactionRelations questPart_SetFactionRelations = new QuestPart_SetFactionRelations();

            questPart_SetFactionRelations.inSignal      = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            questPart_SetFactionRelations.faction       = faction.GetValue(slate);
            questPart_SetFactionRelations.relationKind  = relationKind.GetValue(slate);
            questPart_SetFactionRelations.canSendLetter = (sendLetter.GetValue(slate) ?? true);
            QuestGen.quest.AddPart(questPart_SetFactionRelations);
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_ChangeNeed questPart_ChangeNeed = new QuestPart_ChangeNeed();

            questPart_ChangeNeed.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal");
            questPart_ChangeNeed.pawn     = pawn.GetValue(slate);
            questPart_ChangeNeed.need     = need.GetValue(slate);
            questPart_ChangeNeed.offset   = offset.GetValue(slate);
            QuestGen.quest.AddPart(questPart_ChangeNeed);
        }
        public static QuestPart_SetFactionRelations SetFactionRelations(this Quest quest, Faction faction, FactionRelationKind relationKind, string inSignal = null, bool?canSendLetter = null)
        {
            QuestPart_SetFactionRelations questPart_SetFactionRelations = new QuestPart_SetFactionRelations();

            questPart_SetFactionRelations.inSignal      = QuestGenUtility.HardcodedSignalWithQuestID(inSignal) ?? QuestGen.slate.Get <string>("inSignal");
            questPart_SetFactionRelations.faction       = faction;
            questPart_SetFactionRelations.relationKind  = relationKind;
            questPart_SetFactionRelations.canSendLetter = canSendLetter ?? true;
            quest.AddPart(questPart_SetFactionRelations);
            return(questPart_SetFactionRelations);
        }
Example #23
0
        public static QuestPart_LeavePlayer LeavePlayer(this Quest quest, IEnumerable <Pawn> pawns, string inSignal = null, Faction replacementFaction = null, string inSignalRemovePawn = null)
        {
            QuestPart_LeavePlayer questPart_LeavePlayer = new QuestPart_LeavePlayer();

            questPart_LeavePlayer.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal) ?? QuestGen.slate.Get <string>("inSignal");
            questPart_LeavePlayer.pawns.AddRange(pawns);
            questPart_LeavePlayer.replacementFaction = replacementFaction;
            questPart_LeavePlayer.inSignalRemovePawn = inSignalRemovePawn;
            quest.AddPart(questPart_LeavePlayer);
            return(questPart_LeavePlayer);
        }
Example #24
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_SituationalThought questPart_SituationalThought = new QuestPart_SituationalThought();

            questPart_SituationalThought.inSignalEnable  = (QuestGenUtility.HardcodedSignalWithQuestID(inSignalEnable.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
            questPart_SituationalThought.inSignalDisable = QuestGenUtility.HardcodedSignalWithQuestID(inSignalDisable.GetValue(slate));
            questPart_SituationalThought.def             = def.GetValue(slate);
            questPart_SituationalThought.pawn            = pawn.GetValue(slate);
            questPart_SituationalThought.delayTicks      = delayTicks.GetValue(slate);
            QuestGen.quest.AddPart(questPart_SituationalThought);
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;

            if (pawns.GetValue(slate) != null)
            {
                QuestPart_BiocodeWeapons questPart_BiocodeWeapons = new QuestPart_BiocodeWeapons();
                questPart_BiocodeWeapons.inSignal = QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? slate.Get <string>("inSignal");
                questPart_BiocodeWeapons.pawns.AddRange(pawns.GetValue(slate));
                QuestGen.quest.AddPart(questPart_BiocodeWeapons);
            }
        }
Example #26
0
        public static QuestPart_JoinPlayer JoinPlayer(this Quest quest, MapParent mapParent, IEnumerable <Pawn> pawns, bool joinPlayer = false, bool makePrisoners = false, string inSignal = null)
        {
            QuestPart_JoinPlayer questPart_JoinPlayer = new QuestPart_JoinPlayer();

            questPart_JoinPlayer.inSignal      = QuestGenUtility.HardcodedSignalWithQuestID(inSignal) ?? QuestGen.slate.Get <string>("inSignal");
            questPart_JoinPlayer.joinPlayer    = joinPlayer;
            questPart_JoinPlayer.makePrisoners = makePrisoners;
            questPart_JoinPlayer.mapParent     = mapParent;
            questPart_JoinPlayer.pawns.AddRange(pawns);
            quest.AddPart(questPart_JoinPlayer);
            return(questPart_JoinPlayer);
        }
Example #27
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;

            if (!things.GetValue(slate).EnumerableNullOrEmpty())
            {
                QuestPart_DestroyThingsOrPassToWorld questPart_DestroyThingsOrPassToWorld = new QuestPart_DestroyThingsOrPassToWorld();
                questPart_DestroyThingsOrPassToWorld.inSignal = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal"));
                questPart_DestroyThingsOrPassToWorld.things.AddRange(things.GetValue(slate));
                QuestGen.quest.AddPart(questPart_DestroyThingsOrPassToWorld);
            }
        }
Example #28
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;

            if (pawns.GetValue(slate) != null)
            {
                QuestPart_SetAllApparelLocked questPart_SetAllApparelLocked = new QuestPart_SetAllApparelLocked();
                questPart_SetAllApparelLocked.inSignal = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? slate.Get <string>("inSignal"));
                questPart_SetAllApparelLocked.pawns.AddRange(pawns.GetValue(slate));
                QuestGen.quest.AddPart(questPart_SetAllApparelLocked);
            }
        }
        public static QuestPart_AssaultColony AssaultColony(this Quest quest, Faction faction, MapParent mapParent, IEnumerable <Pawn> pawns, string inSignal = null, string inSignalRemovePawn = null)
        {
            QuestPart_AssaultColony questPart_AssaultColony = new QuestPart_AssaultColony();

            questPart_AssaultColony.inSignal  = QuestGenUtility.HardcodedSignalWithQuestID(inSignal) ?? QuestGen.slate.Get <string>("inSignal");
            questPart_AssaultColony.faction   = faction;
            questPart_AssaultColony.mapParent = mapParent;
            questPart_AssaultColony.pawns.AddRange(pawns);
            questPart_AssaultColony.inSignalRemovePawn = inSignalRemovePawn;
            quest.AddPart(questPart_AssaultColony);
            return(questPart_AssaultColony);
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;

            if (!targets.GetValue(slate).EnumerableNullOrEmpty())
            {
                QuestPart_InspectString questPart_InspectString = new QuestPart_InspectString();
                questPart_InspectString.targets.AddRange(targets.GetValue(slate));
                questPart_InspectString.inspectString  = inspectString.GetValue(slate);
                questPart_InspectString.inSignalEnable = QuestGenUtility.HardcodedSignalWithQuestID(inSignalEnable.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal");
                QuestGen.quest.AddPart(questPart_InspectString);
            }
        }