public static void QuestDefs() { Slate slate = new Slate(); slate.Set("points", StorytellerUtility.DefaultThreatPointsNow(Find.World)); DebugTables.MakeTablesDialog(from x in DefDatabase <QuestScriptDef> .AllDefs orderby x.IsRootRandomSelected descending, x.IsRootDecree descending select x, new TableDataGetter <QuestScriptDef>("defName", (QuestScriptDef d) => d.defName), new TableDataGetter <QuestScriptDef>("points\nmin", (QuestScriptDef d) => (!(d.rootMinPoints > 0f)) ? "" : d.rootMinPoints.ToString()), new TableDataGetter <QuestScriptDef>("progress\nmin", (QuestScriptDef d) => (!(d.rootMinProgressScore > 0f)) ? "" : d.rootMinProgressScore.ToString()), new TableDataGetter <QuestScriptDef>("increases\npop", (QuestScriptDef d) => d.rootIncreasesPopulation.ToStringCheckBlank()), new TableDataGetter <QuestScriptDef>("root\nweight", (QuestScriptDef d) => (!(d.rootSelectionWeight > 0f)) ? "" : d.rootSelectionWeight.ToString()), new TableDataGetter <QuestScriptDef>("decree\nweight", (QuestScriptDef d) => (!(d.decreeSelectionWeight > 0f)) ? "" : d.decreeSelectionWeight.ToString()), new TableDataGetter <QuestScriptDef>("decree\ntags", (QuestScriptDef d) => d.decreeTags.ToCommaList()), new TableDataGetter <QuestScriptDef>("auto\naccept", (QuestScriptDef d) => d.autoAccept.ToStringCheckBlank()), new TableDataGetter <QuestScriptDef>("expiry\ndays", (QuestScriptDef d) => (!(d.expireDaysRange.TrueMax > 0f)) ? "" : d.expireDaysRange.ToString()), new TableDataGetter <QuestScriptDef>("CanRun\nnow", (QuestScriptDef d) => d.CanRun(slate).ToStringCheckBlank()), new TableDataGetter <QuestScriptDef>("canGiveRoyalFavor", (QuestScriptDef d) => d.canGiveRoyalFavor.ToStringCheckBlank()), new TableDataGetter <QuestScriptDef>("possible rewards", delegate(QuestScriptDef d) { RewardsGeneratorParams?rewardsParams = null; bool multiple = false; slate.Set <Action <QuestNode, Slate> >("testRunCallback", delegate(QuestNode node, Slate curSlate) { QuestNode_GiveRewards questNode_GiveRewards = node as QuestNode_GiveRewards; if (questNode_GiveRewards != null) { if (rewardsParams.HasValue) { multiple = true; } else { rewardsParams = questNode_GiveRewards.parms.GetValue(curSlate); } } }); bool flag = d.CanRun(slate); slate.Remove("testRunCallback"); if (multiple) { return("complex"); } if (rewardsParams.HasValue) { StringBuilder stringBuilder = new StringBuilder(); if (rewardsParams.Value.allowGoodwill) { stringBuilder.AppendWithComma("goodwill"); } if (rewardsParams.Value.allowRoyalFavor) { stringBuilder.AppendWithComma("favor"); } return(stringBuilder.ToString()); } return((!flag) ? "unknown" : ""); }), new TableDataGetter <QuestScriptDef>("weight histogram", delegate(QuestScriptDef d) { string text = ""; for (float num = 0f; num < d.rootSelectionWeight; num += 0.05f) { text += "*"; if (num > 3f) { text += "*"; break; } } return(text); })); }