Initial vault setup

This commit is contained in:
Tolaria
2026-07-08 13:52:27 -04:00
commit 9b0a3bbb12
18 changed files with 769 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
# Tolaria app files (machine-specific, never commit)
.laputa/settings.json
# macOS
.DS_Store
.AppleDouble
.LSOverride
# Thumbnails
._*
# Editors
.vscode/
.idea/
*.swp
*.swo
+1
View File
@@ -0,0 +1 @@
{}
+1
View File
@@ -0,0 +1 @@
{}
+33
View File
@@ -0,0 +1,33 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"footnotes": false,
"properties": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": true,
"bases": true,
"webviewer": false
}
+193
View File
@@ -0,0 +1,193 @@
{
"main": {
"id": "0b6bb39131597e32",
"type": "split",
"children": [
{
"id": "6fd78110f96fdba7",
"type": "tabs",
"children": [
{
"id": "f3e46eff94992846",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Arcs/The Omened.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "The Omened"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "47de89a1640d208d",
"type": "split",
"children": [
{
"id": "0266902ba88f2e84",
"type": "tabs",
"children": [
{
"id": "6d0bca43dc3a52fe",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "Files"
}
},
{
"id": "69a192d74adff73b",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "eef0204de017d844",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "236d3908fd1bb9bf",
"type": "split",
"children": [
{
"id": "a48c1140865bee75",
"type": "tabs",
"children": [
{
"id": "71e7c697aa0a5840",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "Arcs/The Omened.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks for The Omened"
}
},
{
"id": "703f91c4641f6f3a",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "Arcs/The Omened.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from The Omened"
}
},
{
"id": "26a0c55f9d291eed",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "Tags"
}
},
{
"id": "c4c2788d0d2a053c",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "All properties"
}
},
{
"id": "e8ea2d9784301827",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "Arcs/The Omened.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline of The Omened"
}
}
]
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"bases:Create new base": false
}
},
"active": "f3e46eff94992846",
"lastOpenFiles": [
"Arcs/The Gathering Storm.md",
"Arcs/The Awakening.md",
"Arcs/Ascension.md",
"Campaign Overview.md"
]
}
+421
View File
@@ -0,0 +1,421 @@
{:meta/version 1
;; Set the preferred format.
;; Available options:
;; - Markdown (default)
;; - Org
;; :preferred-format "Markdown"
;; Set the preferred workflow style.
;; Available options:
;; - :now for NOW/LATER style (default)
;; - :todo for TODO/DOING style
:preferred-workflow :now
;; Exclude directories/files.
;; Example usage:
;; :hidden ["/archived" "/test.md" "../assets/archived"]
:hidden []
;; Define the default journal page template.
;; Enter the template name between the quotes.
:default-templates
{:journals ""}
;; Set a custom date format for the journal page title.
;; Default value: "MMM do, yyyy"
;; e.g., "Jan 19th, 2038"
;; Example usage e.g., "Tue 19th, Jan 2038"
;; :journal/page-title-format "EEE do, MMM yyyy"
;; Specify the journal filename format using a valid date format string.
;; !Warning:
;; This configuration is not retroactive and affects only new journals.
;; To show old journal files in the app, manually rename the files in the
;; journal directory to match the new format.
;; Default value: "yyyy_MM_dd"
;; :journal/file-name-format "yyyy_MM_dd"
;; Enable tooltip preview on hover.
;; Default value: true
:ui/enable-tooltip? true
;; Display brackets [[]] around page references.
;; Default value: true
;; :ui/show-brackets? true
;; Display all lines of a block when referencing ((block)).
;; Default value: false
:ui/show-full-blocks? false
;; Automatically expand block references when zooming in.
;; Default value: true
:ui/auto-expand-block-refs? true
;; Enable Block timestamps.
;; Default value: false
:feature/enable-block-timestamps? false
;; Disable accent marks when searching.
;; After changing this setting, rebuild the search index by pressing (^C ^S).
;; Default value: true
:feature/enable-search-remove-accents? true
;; Enable journals.
;; Default value: true
;; :feature/enable-journals? true
;; Enable flashcards.
;; Default value: true
;; :feature/enable-flashcards? true
;; Enable whiteboards.
;; Default value: true
;; :feature/enable-whiteboards? true
;; Disable the journal's built-in 'Scheduled tasks and deadlines' query.
;; Default value: false
;; :feature/disable-scheduled-and-deadline-query? false
;; Specify the number of days displayed in the future for
;; the 'scheduled tasks and deadlines' query.
;; Example usage:
;; Display all scheduled and deadline blocks for the next 14 days:
;; :scheduled/future-days 14
;; Default value: 7
;; :scheduled/future-days 7
;; Specify the first day of the week.
;; Available options:
;; - integer from 0 to 6 (Monday to Sunday)
;; Default value: 6 (Sunday)
:start-of-week 6
;; Specify a custom CSS import.
;; This option takes precedence over the local `logseq/custom.css` file.
;; Example usage:
;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');"
;; Specify a custom JS import.
;; This option takes precedence over the local `logseq/custom.js` file.
;; Example usage:
;; :custom-js-url "https://cdn.logseq.com/custom.js"
;; Set a custom Arweave gateway
;; Default gateway: https://arweave.net
;; :arweave/gateway "https://arweave.net"
;; Set bullet indentation when exporting
;; Available options:
;; - `:eight-spaces` as eight spaces
;; - `:four-spaces` as four spaces
;; - `:two-spaces` as two spaces
;; - `:tab` as a tab character (default)
;; :export/bullet-indentation :tab
;; Publish all pages within the Graph
;; Regardless of whether individual pages have been marked as public.
;; Default value: false
;; :publishing/all-pages-public? false
;; Define the default home page and sidebar status.
;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden.
;; The `:page` value represents the name of the page displayed at startup.
;; Available options for `:sidebar` are:
;; - "Contents" to display the Contents page in the right sidebar.
;; - A specific page name to display in the right sidebar.
;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"].
;; If `:sidebar` remains unset, the right sidebar will stay hidden.
;; Examples:
;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar:
;; :default-home {:page "Changelog", :sidebar "Contents"}
;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar:
;; :default-home {:page "Jun 3rd, 2021"}
;; 3. Set "home" as the home page and display multiple pages in the right sidebar:
;; :default-home {:page "home", :sidebar ["Page A" "Page B"]}
;; Set the default location for storing notes.
;; Default value: "pages"
;; :pages-directory "pages"
;; Set the default location for storing journals.
;; Default value: "journals"
;; :journals-directory "journals"
;; Set the default location for storing whiteboards.
;; Default value: "whiteboards"
;; :whiteboards-directory "whiteboards"
;; Enabling this option converts
;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode.
;; For more information, visit https://github.com/logseq/logseq/issues/672
;; :org-mode/insert-file-link? false
;; Configure custom shortcuts.
;; Syntax:
;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`.
;; 2. A space between keys represents key chords, e.g., `t s` means
;; pressing `t` followed by `s`.
;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac.
;; 4. Use false to disable a specific shortcut.
;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"].
;; The full list of configurable shortcuts is available at:
;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs
;; Example:
;; :shortcuts
;; {:editor/new-block "enter"
;; :editor/new-line "shift+enter"
;; :editor/insert-link "mod+shift+k"
;; :editor/highlight false
;; :ui/toggle-settings "t s"
;; :editor/up ["ctrl+k" "up"]
;; :editor/down ["ctrl+j" "down"]
;; :editor/left ["ctrl+h" "left"]
;; :editor/right ["ctrl+l" "right"]}
:shortcuts {}
;; Configure the behavior of pressing Enter in document mode.
;; if set to true, pressing Enter will create a new block.
;; Default value: false
:shortcut/doc-mode-enter-for-new-block? false
;; Block content larger than `block/content-max-length` will not be searchable
;; or editable for performance.
;; Default value: 10000
:block/content-max-length 10000
;; Display command documentation on hover.
;; Default value: true
:ui/show-command-doc? true
;; Display empty bullet points.
;; Default value: false
:ui/show-empty-bullets? false
;; Pre-defined :view function to use with advanced queries.
:query/views
{:pprint
(fn [r] [:pre.code (pprint r)])}
;; Advanced queries `:result-transform` function.
;; Transform the query result before displaying it.
:query/result-transforms
{:sort-by-priority
(fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))}
;; The following queries will be displayed at the bottom of today's journal page.
;; The "NOW" query returns tasks with "NOW" or "DOING" status.
;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status.
:default-queries
{:journals
[{:title "🔨 NOW"
:query [:find (pull ?h [*])
:in $ ?start ?today
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "DOING"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(>= ?d ?start)]
[(<= ?d ?today)]]
:inputs [:14d :today]
:result-transform (fn [result]
(sort-by (fn [h]
(get h :block/priority "Z")) result))
:group-by-page? false
:collapsed? false}
{:title "📅 NEXT"
:query [:find (pull ?h [*])
:in $ ?start ?next
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "LATER" "TODO"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(> ?d ?start)]
[(< ?d ?next)]]
:inputs [:today :7d-after]
:group-by-page? false
:collapsed? false}]}
;; Add custom commands to the command palette
;; Example usage:
;; :commands
;; [
;; ["js" "Javascript"]
;; ["md" "Markdown"]
;; ]
:commands []
;; Enable collapsing blocks with titles but no children.
;; By default, only blocks with children can be collapsed.
;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing
;; blocks with titles (multiple lines) and content. For example:
;; - block title
;; block content
;; Default value: false
:outliner/block-title-collapse-enabled? false
;; Macros replace texts and will make you more productive.
;; Example usage:
;; Change the :macros value below to:
;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."}
;; input "{{poem red,blue}}"
;; becomes
;; Rose is red, violet's blue. Life's ordered: Org assists you.
:macros {}
;; Configure the default expansion level for linked references.
;; For example, consider the following block hierarchy:
;; - a [[page]] (level 1)
;; - b (level 2)
;; - c (level 3)
;; - d (level 4)
;;
;; With the default value of level 2, block b will be collapsed.
;; If the level's value is set to 3, block c will be collapsed.
;; Default value: 2
:ref/default-open-blocks-level 2
;; Configure the threshold for linked references before collapsing.
;; Default value: 100
:ref/linked-references-collapsed-threshold 50
;; Graph view configuration.
;; Example usage:
;; :graph/settings
;; {:orphan-pages? true ; Default value: true
;; :builtin-pages? false ; Default value: false
;; :excluded-pages? false ; Default value: false
;; :journal? false} ; Default value: false
;; Graph view configuration.
;; Example usage:
;; :graph/forcesettings
;; {:link-dist 180 ; Default value: 180
;; :charge-strength -600 ; Default value: -600
;; :charge-range 600} ; Default value: 600
;; Favorites to list on the left sidebar
:favorites []
;; Set flashcards interval.
;; Expected value:
;; - Float between 0 and 1
;; higher values result in faster changes to the next review interval.
;; Default value: 0.5
;; :srs/learning-fraction 0.5
;; Set the initial interval after the first successful review of a card.
;; Default value: 4
;; :srs/initial-interval 4
;; Hide specific block properties.
;; Example usage:
;; :block-hidden-properties #{:public :icon}
;; Create a page for all properties.
;; Default value: true
:property-pages/enabled? true
;; Properties to exclude from having property pages
;; Example usage:
;; :property-pages/excludelist #{:duration :author}
;; By default, property value separated by commas will not be treated as
;; page references. You can add properties to enable it.
;; Example usage:
;; :property/separated-by-commas #{:alias :tags}
;; Properties that are ignored when parsing property values for references
;; Example usage:
;; :ignored-page-references-keywords #{:author :website}
;; logbook configuration.
;; :logbook/settings
;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated
;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking
;; :enabled-in-timestamped-blocks false ;don't display logbook at all
;; }
;; Mobile photo upload configuration.
;; :mobile/photo
;; {:allow-editing? true
;; :quality 80}
;; Mobile features options
;; Gestures
;; Example usage:
;; :mobile
;; {:gestures/disabled-in-block-with-tags ["kanban"]}
;; Extra CodeMirror options
;; See https://codemirror.net/5/doc/manual.html#config for possible options
;; Example usage:
;; :editor/extra-codemirror-options
;; {:lineWrapping false ; Default value: false
;; :lineNumbers true ; Default value: true
;; :readOnly false} ; Default value: false
;; Enable logical outdenting
;; Default value: false
;; :editor/logical-outdenting? false
;; Prefer pasting the file when text and a file are in the clipboard.
;; Default value: false
;; :editor/preferred-pasting-file? false
;; Quick capture templates for receiving content from other apps.
;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded
;; by receiving content from other apps. Note: the {} cannot be omitted.
;; - {time}: capture time
;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference
;; - {text}: text that users selected before sharing.
;; - {url}: URL or assets path for media files stored in Logseq.
;; You can also reorder them or use only one or two of them in the template.
;; You can also insert or format any text in the template, as shown in the following examples.
;; :quick-capture-templates
;; {:text "[[quick capture]] **{time}**: {text} from {url}"
;; :media "[[quick capture]] **{time}**: {url}"}
;; Quick capture options.
;; - insert-today? Insert the capture at the end of today's journal page (boolean).
;; - redirect-page? Redirect to the quick capture page after capturing (boolean).
;; - default-page The default page to capture to if insert-today? is false (string).
;; :quick-capture-options
;; {:insert-today? false ;; Default value: true
;; :redirect-page? false ;; Default value: false
;; :default-page "quick capture"} ;; Default page: "quick capture"
;; File sync options
;; Ignore these files when syncing, regexp is supported.
;; :file-sync/ignore-files []
;; Configure the Enter key behavior for
;; context-aware editing with DWIM (Do What I Mean).
;; context-aware Enter key behavior implies that pressing Enter will
;; have different outcomes based on the context.
;; For instance, pressing Enter within a list generates a new list item,
;; whereas pressing Enter in a block reference opens the referenced block.
;; :dwim/settings
;; {:admonition&src? true ;; Default value: true
;; :markup? false ;; Default value: false
;; :block-ref? true ;; Default value: true
;; :page-ref? true ;; Default value: true
;; :properties? true ;; Default value: true
;; :list? false} ;; Default value: false
;; Configure the escaping method for special characters in page titles.
;; Warning:
;; This is a dangerous operation. To modify the setting,
;; access the 'Filename format' setting and follow the instructions.
;; Otherwise, You may need to manually rename all affected files and
;; re-index them on all clients after synchronization.
;; Incorrect handling may result in messy page titles.
;; Available options:
;; - :triple-lowbar (default)
;; ;use triple underscore `___` for slash `/` in page title
;; ;use Percent-encoding for other invalid characters
:file/name-format :triple-lowbar}
View File
+12
View File
@@ -0,0 +1,12 @@
- **Campaign Name:** Ashes of the Hollow Crown
- **System:** D&D 5e
- **Party Size:** 4-6 characters
- **Starting Level:** 5
- **Ending Level:** 20
- **Tone:** dark, gritty heroic fantasy
- **Setting:** homebrew
- **Core Hook:** A dead kings crown still commands broken oaths, and the land is collapsing under a century-old curse that feeds on war, sacrifice, and forgotten gods.
- **Premise:** The characters begin as capable regional heroes hired to stop a spreading blight of ash, plague, and undead. Their investigations reveal a buried empire, a shattered divine covenant, and a living crown that can either remade the world or end it.
- **Campaign Goal:** Unite rival powers, uncover the truth of the Hollow Crown, and confront the entity using it to harvest souls across the realm.
- **Primary Themes:** survival, sacrifice, corruption, legitimacy, redemption, the cost of power
- **Endgame Choice:** destroy the crown, seize it, or bind its power to restore the world at a terrible price
+8
View File
@@ -0,0 +1,8 @@
- **Arc 1:** The Ash Begins
- **Arc 2:** The Broken Roads
- **Arc 3:** The Fen of Whispers
- **Arc 4:** War of the Houses
- **Arc 5:** The Sunken Archive
- **Arc 6:** The Ember Ascendant
- **Arc 7:** Siege of the Capital Below
- **Arc 8:** The Hollow Crown
+6
View File
@@ -0,0 +1,6 @@
- **Road Encounter:** ash storm plus corpse-haunted caravan wreck
- **Social Encounter:** negotiate with a toll lord offering protection for loyalty
- **Combat Encounter:** oathbound dead that only stop when their banner is broken
- **Exploration Encounter:** flooded chapel with air pockets, relic clues, and restless spirits
- **Dungeon Structure:** each major dungeon should have one environmental hazard, one faction conflict, one lore reveal, and one boss with a moral choice
- **Recurring Enemy Types:** ash zombies, oath knights, bone hounds, cult pyromancers, crown-touched nobles
+6
View File
@@ -0,0 +1,6 @@
- **The Ashen Synod:** priest-exorcists and relic hunters trying to contain the curse
- **House Veyr:** noble survivalists seeking to claim the crown and legalize their rule
- **The Black Lantern Compact:** smugglers and mercenaries moving people, relics, and forbidden goods
- **The Ember Court:** infernal-aligned cultists who believe the world must burn before it can be remade
- **The Broken Saints:** penitent warriors and undead-scarred survivors who oppose all crowns
- **The Quiet Root:** druidic network preserving what remains of the land and sabotaging corrupt harvest magic
+6
View File
@@ -0,0 +1,6 @@
- **Lady Seris Veyr:** ambitious noble mediator with a private army
- **High Inquisitor Thalen:** Ashen Synod leader, severe but genuinely protective
- **Morrin Bale:** Black Lantern broker who knows every road and secret
- **Sister Ova:** Broken Saint veteran with undead scars and unshakable faith
- **Rootspeaker Neme:** druid envoy trying to keep the land alive
- **The Pale Regent:** the campaigns hidden sovereign-antagonist, speaking through dreams and crowns
+31
View File
@@ -0,0 +1,31 @@
- **Level 5-6: The Ash Begins**
- Investigate blight, undead outbreaks, and missing caravans
- Defend Grayhold Bastion and expose the first cult cell
- Boss: Ash Warden, a cursed knight who cannot die until his oath is broken
- **Level 7-8: The Broken Roads**
- Travel through raided villages and contested passes
- Choose allies among the Synod, House Veyr, or the Compact
- Dungeon: Saint's Trench, where the dead repeat the last siege
- **Level 9-10: The Fen of Whispers**
- Recover a relic map and learn the crowns prison mechanism
- Confront plague alchemists and spirit bargains
- Boss: Fen-Hag Matron bound to a drowned chapel
- **Level 11-12: War of the Houses**
- Navigate civil war, assassination, and siege diplomacy
- Prevent a crown claimant from becoming puppet ruler
- Dungeon: Furnace Pass fortress assault
- **Level 13-14: The Sunken Archive**
- Discover the buried history of the Sun Throne and the Pale Regent
- Retrieve the true binding rite and decide who can know it
- **Level 15-16: The Ember Ascendant**
- The cult launches open apocalypse rituals
- Stop a ritual that would tear open the Pale March permanently
- Boss: Ember Hierophant and their bound fiend
- **Level 17-18: Siege of the Capital Below**
- The capitals hidden undercity awakens beneath the ash
- Rally factions for a final march on Crownbreak Spire
- Dungeon: living catacombs, oath engines, and crown-forges
- **Level 19-20: The Hollow Crown**
- Enter the sealed throne chamber and face the Pale Regent
- Final choice determines the realms future
- Endings: destroy, claim, or rebind the crown
+7
View File
@@ -0,0 +1,7 @@
- **Grayhold Bastion:** fortress-city at the edge of the ashlands; first hub
- **Saint's Trench:** mass grave turned battlefield shrine haunted by oathbound dead
- **The Glass Fen:** poisoned wetlands where spirits and alchemists compete
- **Furnace Pass:** mountain route controlled by toll-lords and raiders
- **The Sunken Archive:** buried imperial library holding the crowns origin
- **Crownbreak Spire:** final ruin beneath the capital where the Hollow Crown is sealed
- **The Pale March:** a nightmare borderland appearing where the curse spreads
+6
View File
@@ -0,0 +1,6 @@
- Discuss lines, veils, and horror level
- Decide whether the endgame allows crown destruction, redemption, or rule
- Ask players what each character wants to protect, and what they fear losing
- Build at least one bond to a faction and one secret between party members
- Start characters with a reason to be in Grayhold Bastion
- Encourage morally gray choices and consequences
+5
View File
@@ -0,0 +1,5 @@
- **Common Rewards:** relic coins, oath seals, sanctuary charms, survival gear
- **Signature Magic Items:** crown-splinter talismans, sun-forged weapons, ash-resisting cloaks, lanterns that reveal spirits
- **Milestone Rewards:** faction renown, safehouses, armies, political leverage, ritual knowledge
- **Legendary Artifacts:** the Hollow Crown, the Sun Throne Seal, the Lantern of Last Judgment
- **Reward Style:** favors and consequences should matter as much as gold
+7
View File
@@ -0,0 +1,7 @@
- **Region:** The Cinderwake Dominion
- **History:** Once a fertile kingdom unified by the Sun Throne, the realm fractured after the last monarch used a forbidden crown to end a civil war. The crown demanded a soul-tithe to maintain peace, and when the tithe was refused, the crown was buried beneath a sacred fortress. Centuries later, the seal is failing.
- **Current State:** volcanic ash falls in distant provinces, crops fail, the dead do not stay buried, and noble houses secretly arm for succession.
- **Religion:** the old solar faith has weakened; roadside shrines and militant penitents fill the vacuum.
- **Magic:** respected but feared; blood rites, burial charms, and oath-binding are common.
- **Key Truth:** the crown is a prison and a key, binding an exiled sovereign-spirit called the Pale Regent.
- **Major Problems:** famine, border raids, plague villages, demon-pact nobility, and a hidden war over relic sites
+10
View File
@@ -0,0 +1,10 @@
- [[Campaign Overview]]
- [[World of Ash and Cinders]]
- [[Factions]]
- [[Major Locations]]
- [[Level 5-20 Progression]]
- [[Key NPCs]]
- [[Encounters and Dungeons]]
- [[Treasure and Rewards]]
- [[Session Zero]]
- [[Campaign Timeline]]