From 48e3be09e0e6f915e8ba95793a5b09f4d2769148 Mon Sep 17 00:00:00 2001
From: "Brian S. Stephan" <bss@incorporeal.org>
Date: Fri, 5 Jul 2024 08:50:57 -0500
Subject: [PATCH] add an Adventuring! story graph for where we are so far

---
 config.py                               |  2 +-
 pages/cypher/adventuring/story-graph.md | 62 +++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 1 deletion(-)
 create mode 100644 pages/cypher/adventuring/story-graph.md

diff --git a/config.py b/config.py
index b3b32cc..5b6645b 100644
--- a/config.py
+++ b/config.py
@@ -11,6 +11,6 @@ PAGE_STYLES = {
 }
 
 MARKDOWN_EXTENSIONS = [
-    'extra', 'incorporealcms.mdx.figures', 'sane_lists', 'smarty', 'toc',
+    'extra', 'incorporealcms.mdx.figures', 'incorporealcms.mdx.pydot', 'sane_lists', 'smarty', 'toc',
     'attr_list', 'tables', 'pymdownx.tilde',
 ]
diff --git a/pages/cypher/adventuring/story-graph.md b/pages/cypher/adventuring/story-graph.md
new file mode 100644
index 0000000..920c576
--- /dev/null
+++ b/pages/cypher/adventuring/story-graph.md
@@ -0,0 +1,62 @@
+Title:          Adventuring! Story Graph
+Description:    A plot of the plot.
+Footer:         Numenera, the Cypher System, No Thank You, Evil!, Invisible Sun, and their respective logos are
+                trademarks of Monte Cook Games, LLC in the U.S.A. and other countries. All Monte Cook Games
+                characters and character names, and the distinctive likenesses thereof, are trademarks of Monte
+                Cook Games, LLC. Content derived from Monte Cook Games publications is © 2013-2022 Monte Cook Games,
+                LLC. <a href="/cypher/fan-use-policy">Full Disclaimer</a>.<br />Adventuring! is unofficial Fan Content
+                permitted under the Fan Content Policy. Not approved/endorsed by Wizards. Portions of the materials used
+                are property of Wizards of the Coast. ©Wizards of the Coast LLC.
+
+# Adventuring! Story Graph
+
+Note: for brevity, for actions/verbs, assume the subject is "The party ..." unless otherwise specified.
+
+~~~{ pydot:adventuring-story }
+digraph PLOT {
+    rankdir=TB
+    fontname="Liberation Sans"
+
+    Reddansyr [label="Assembles in Reddansyr", shape="doubleoctagon"]
+    Giants_Folly [label="Visits Giant's Folly", shape="octagon"]
+    Reddansyr -> Giants_Folly
+
+    Entity_Wants_Relic [label="Overhears moon elf looking for relic", shape="rect"]
+    Giants_Folly -> Entity_Wants_Relic
+
+    Rival_Party [label="Rival party searching for relic", shape="rect"]
+    Entity_Wants_Relic -> Rival_Party
+
+    Robe [label="Robe of fallen Ibrandulin priest", shape="tab"]
+    Entity_Wants_Relic -> Robe
+
+    Thief [label="A thief member/leader?", shape="rect"]
+    Rival_Party -> Thief
+
+    Travel [label="Travels to location ahead of rivals"]
+    Entity_Wants_Relic -> Travel
+
+    Dungeon [label="Discovers Ibrandul temple ruin", shape="octagon"]
+    Dungeon -> Robe
+    Travel -> Dungeon
+
+    Ibrandulin_Ghost [label="A ghost killed by Sharrans", shape="rect"]
+    Dungeon -> Ibrandulin_Ghost
+
+    Shar_Fuckery [label="Shar's influence affects Ghorin"]
+    Dungeon -> Shar_Fuckery
+
+    Shar
+    Shar_Fuckery -> Shar
+    Shar -> Ibrandulin_Ghost
+    Shar -> Robe
+
+    Rival_Fight [label="Fights rival party in the ruin"]
+    Rival_Party -> Rival_Fight
+    Dungeon -> Rival_Fight
+
+    Thief_Escapes [label="Thief escapes w/o robe"]
+    Rival_Fight -> Thief_Escapes
+    Thief -> Thief_Escapes
+}
+~~~