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);
            }));
        }