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); }
protected override bool TestRunInt(Slate slate) { if (!targetWorld.GetValue(slate) && GetMap(slate) == null) { return(false); } return(true); }
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); }
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)); }
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); }
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); }
protected override void RunInt() { Slate slate = QuestGen.slate; TryFindRootTile(out int tile); TryFindDestinationTile(tile, out int tile2); slate.Set(storeAs.GetValue(slate), tile2); }
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); }
public void SetAll(Slate otherSlate) { vars.Clear(); foreach (KeyValuePair <string, object> var in otherSlate.vars) { vars.Add(var.Key, var.Value); } }
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); }
protected override void RunInt() { Slate slate = QuestGen.slate; if (TryFindTile(QuestGen.slate, out var tile)) { QuestGen.slate.Set(storeAs.GetValue(slate), tile); } }
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; }
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(); } }
protected override bool TestRunInt(Slate slate) { if (!TryFindTile(slate, out var tile)) { return(false); } slate.Set(storeAs.GetValue(slate), tile); return(true); }
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); }