protected override bool TestRunInt(Slate slate)
 {
     if (slate.Get <Pawn>("rewardGiver") != null && slate.TryGet <FloatRange>("marketValueRange", out var _))
     {
         return(slate.Get <Faction>("faction") != null);
     }
     return(false);
 }
 protected override bool TestRunInt(Slate slate)
 {
     if (incidentDef.GetValue(slate) == null || points.GetValue(slate) < incidentDef.GetValue(slate).minThreatPoints)
     {
         return(false);
     }
     return(true);
 }
 protected override bool TestRunInt(Slate slate)
 {
     if (!slate.Exists("map"))
     {
         return(false);
     }
     return(true);
 }
 protected override bool TestRunInt(Slate slate)
 {
     if (nodeIfChosenPawnSignalUsed != null)
     {
         return(nodeIfChosenPawnSignalUsed.TestRun(slate));
     }
     return(true);
 }
        protected override bool TestRunInt(Slate slate)
        {
            Map map = slate.Get <Map>("map");

            slate.Set(storeAs.GetValue(slate), RandomOfferDurationTicks(map.Tile, settlement.GetValue(slate).Tile, out int travelTicks));
            slate.Set(storeEstimatedTravelTimeAs.GetValue(slate), travelTicks);
            return(true);
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            Map   map   = slate.Get <Map>("map");

            slate.Set(storeAs.GetValue(slate), RandomOfferDurationTicks(map.Tile, settlement.GetValue(slate).Tile, out int travelTicks));
            slate.Set(storeEstimatedTravelTimeAs.GetValue(slate), travelTicks);
        }
Esempio n. 7
0
 protected override bool TestRunInt(Slate slate)
 {
     if (!targetWorld.GetValue(slate) && GetMap(slate) == null)
     {
         return(false);
     }
     return(true);
 }
Esempio n. 8
0
 private static Map GetMap(Slate slate)
 {
     if (!slate.TryGet <Map>("map", out var var))
     {
         return(Find.RandomPlayerHomeMap);
     }
     return(var);
 }
        protected override void RunInt()
        {
            Slate          slate          = QuestGen.slate;
            MonumentMarker monumentMarker = (MonumentMarker)ThingMaker.MakeThing(ThingDefOf.MonumentMarker);

            monumentMarker.sketch = sketch.GetValue(slate);
            slate.Set(storeAs.GetValue(slate), monumentMarker);
        }
Esempio n. 10
0
        private void SetVars(Slate slate)
        {
            string value = storeAs.GetValue(slate);
            int    num   = PawnsFinder.AllMaps_FreeColonistsSpawned.Count((Pawn c) => !c.IsQuestLodger());
            int    var   = Mathf.Clamp((int)((float)num * colonyPercentage.GetValue(slate)), 1, num - 1);

            slate.Set(value, var);
        }
 protected override bool TestRunInt(Slate slate)
 {
     if (slate.Get <Map>("map") == null)
     {
         return(false);
     }
     return(DoWork(slate));
 }
Esempio n. 12
0
 private ResearchProjectDef FindTargetProject(Slate slate)
 {
     if (fixedProject.GetValue(slate) != null)
     {
         return(fixedProject.GetValue(slate));
     }
     return(DefDatabase <ResearchProjectDef> .AllDefsListForReading.Where((ResearchProjectDef p) => !p.IsFinished && !p.TechprintRequirementMet).RandomElement());
 }
 public static bool IsInList(Slate slate, string name, object obj)
 {
     if (!slate.TryGet <List <object> >(name, out var var) || var == null)
     {
         return(false);
     }
     return(var.Contains(obj));
 }
 private bool IsFreeWorldPawn(Slate slate)
 {
     if (pawn.GetValue(slate) != null)
     {
         return(Find.WorldPawns.GetSituation(pawn.GetValue(slate)) == WorldPawnSituation.Free);
     }
     return(false);
 }
Esempio n. 15
0
 protected override bool TestRunInt(Slate slate)
 {
     if (node != null)
     {
         return(node.TestRun(slate));
     }
     return(true);
 }
 protected override bool TestRunInt(Slate slate)
 {
     if (!Find.Storyteller.difficultyValues.allowViolentQuests)
     {
         return(false);
     }
     return(slate.Get <Map>("map") != null);
 }
Esempio n. 17
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;

            TryFindRootTile(out int tile);
            TryFindDestinationTile(tile, out int tile2);
            slate.Set(storeAs.GetValue(slate), tile2);
        }
Esempio n. 18
0
 private bool IsFactionLeader(Slate slate)
 {
     if (pawn.GetValue(slate) != null && pawn.GetValue(slate).Faction != null)
     {
         return(pawn.GetValue(slate).Faction.leader == pawn.GetValue(slate));
     }
     return(false);
 }
Esempio n. 19
0
 public void SetAll(Slate otherSlate)
 {
     vars.Clear();
     foreach (KeyValuePair <string, object> var in otherSlate.vars)
     {
         vars.Add(var.Key, var.Value);
     }
 }
Esempio n. 20
0
 protected override bool TestRunInt(Slate slate)
 {
     if (faction.GetValue(slate) == null)
     {
         return(false);
     }
     return(true);
 }
        private bool DoWork(Slate slate)
        {
            float num           = slate.Get("points", 0f);
            float value         = pointsPerArea.GetValue(slate);
            float num2          = Mathf.Min(num / value, 2500f);
            float randomInRange = RandomAspectRatioRange.RandomInRange;
            float f             = Mathf.Sqrt(randomInRange * num2);
            float f2            = Mathf.Sqrt(num2 / randomInRange);
            int   num3          = GenMath.RoundRandom(f);
            int   num4          = GenMath.RoundRandom(f2);

            if (Rand.Bool)
            {
                int num5 = num3;
                num3 = num4;
                num4 = num5;
            }
            int?value2 = maxSize.GetValue(slate);

            if (value2.HasValue)
            {
                num3 = Mathf.Min(num3, value2.Value);
                num4 = Mathf.Min(num4, value2.Value);
            }
            num3 = Mathf.Max(num3, 3);
            num4 = Mathf.Max(num4, 3);
            IntVec2       value3 = new IntVec2(num3, num4);
            ResolveParams parms  = default(ResolveParams);

            parms.sketch       = new Sketch();
            parms.monumentSize = value3;
            parms.useOnlyStonesAvailableOnMap = useOnlyResourcesAvailableOnMap.GetValue(slate);
            parms.onlyBuildableByPlayer       = true;
            if (useOnlyResourcesAvailableOnMap.GetValue(slate) != null)
            {
                parms.allowWood = (useOnlyResourcesAvailableOnMap.GetValue(slate).Biome.TreeDensity >= BiomeDefOf.BorealForest.TreeDensity);
            }
            parms.allowedMonumentThings = new ThingFilter();
            parms.allowedMonumentThings.SetAllowAll(null, includeNonStorable: true);
            parms.allowedMonumentThings.SetAllow(ThingDefOf.Urn, allow: false);
            Sketch sketch = RimWorld.SketchGen.SketchGen.Generate(SketchResolverDefOf.Monument, parms);

            if (clearStuff.GetValue(slate) ?? true)
            {
                List <SketchThing> things = sketch.Things;
                for (int i = 0; i < things.Count; i++)
                {
                    things[i].stuff = null;
                }
                List <SketchTerrain> terrain = sketch.Terrain;
                for (int j = 0; j < terrain.Count; j++)
                {
                    terrain[j].treatSimilarAsSame = true;
                }
            }
            slate.Set(storeAs.GetValue(slate), sketch);
            return(true);
        }
        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);
        }
Esempio n. 23
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;

            if (TryFindTile(QuestGen.slate, out var tile))
            {
                QuestGen.slate.Set(storeAs.GetValue(slate), tile);
            }
        }
Esempio n. 24
0
 public static void AddToOrMakeList(Slate slate, string name, object obj)
 {
     if (!slate.TryGet(name, out List <object> var))
     {
         var = new List <object>();
     }
     var.Add(obj);
     slate.Set(name, var);
 }
		private bool IsPermanentEnemy(Slate slate)
		{
			Thing value = thing.GetValue(slate);
			if (value != null && value.Faction != null)
			{
				return value.Faction.def.permanentEnemy;
			}
			return false;
		}
Esempio n. 26
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;

            if ((!QuestGen.slate.TryGet <Map>(storeAs.GetValue(slate), out var var) || !IsAcceptableMap(var, slate)) && TryFindMap(slate, out var))
            {
                QuestGen.slate.Set(storeAs.GetValue(slate), var);
            }
        }
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;

            if (QuestNodeEqualUtility.Equal(value1.GetValue(slate), value2.GetValue(slate), compareAs.GetValue(slate)) && node != null)
            {
                node.Run();
            }
        }
Esempio n. 28
0
 protected override bool TestRunInt(Slate slate)
 {
     if (!TryFindTile(slate, out var tile))
     {
         return(false);
     }
     slate.Set(storeAs.GetValue(slate), tile);
     return(true);
 }
Esempio n. 29
0
        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);
        }
        private void SetVars(Slate slate)
        {
            float num = curve.GetValue(slate).Evaluate(value.GetValue(slate));

            if (roundRandom.GetValue(slate))
            {
                num = GenMath.RoundRandom(num);
            }
            slate.Set(storeAs.GetValue(slate), num);
        }