Reorganized the tables into hierarchy

And removed the plurals.
This commit is contained in:
Howard Abrams 2022-02-21 22:29:17 -08:00
parent 1854cc5f43
commit bea1a2a6b8
95 changed files with 517 additions and 56 deletions

View file

@ -31,7 +31,7 @@ Or better yet, use something like [[https://github.com/raxod502/straight.el][str
'(el-patch :type git :host gitlab :repo "howardabrams/emacs-rpgdm")) '(el-patch :type git :host gitlab :repo "howardabrams/emacs-rpgdm"))
(straight-use-package (straight-use-package
'(el-patch :type git :host gitlab :repo "howardabrams/emacs-ironsworn")) '(el-patch :type git :host gitlab :repo "howardabrams/rpgdm-ironsworn"))
#+END_SRC #+END_SRC
Next, create an org file, and either turn on the =rpgdm-mode= (minor mode), or simply define a globally accessible shortcut: Next, create an org file, and either turn on the =rpgdm-mode= (minor mode), or simply define a globally accessible shortcut:
@ -146,7 +146,7 @@ We also need the name of the directory for this project, so that we can load tab
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defvar rpgdm-ironsworn-project (file-name-directory load-file-name) (defvar rpgdm-ironsworn-project (file-name-directory load-file-name)
"The root directory to the emacs-ironsworn project") "The root directory to the rpgdm-ironsworn project")
#+END_SRC #+END_SRC
** Dice Roller ** Dice Roller
In *Ironsworn*, all dice rolls follow a pattern where you set the challenge level for a check by rolling /challenge dice/ (two d10s) and compare that against rolling an /action die/ (a single d6 ... adding all modifiers to that six-sided die). You always three possible values: In *Ironsworn*, all dice rolls follow a pattern where you set the challenge level for a check by rolling /challenge dice/ (two d10s) and compare that against rolling an /action die/ (a single d6 ... adding all modifiers to that six-sided die). You always three possible values:
@ -954,8 +954,8 @@ This function displays an entry from both the [[file:tables/actions.org][actions
(defun rpgdm-ironsworn-oracle-action-theme () (defun rpgdm-ironsworn-oracle-action-theme ()
"Rolls on two tables at one time." "Rolls on two tables at one time."
(interactive) (interactive)
(let ((action (rpgdm-tables-choose "actions")) (let ((action (rpgdm-tables-choose "action"))
(theme (rpgdm-tables-choose "themes"))) (theme (rpgdm-tables-choose "theme")))
(rpgdm-message "%s / %s" action theme))) (rpgdm-message "%s / %s" action theme)))
(puthash "action-and-theme :: Roll on both tables" (puthash "action-and-theme :: Roll on both tables"
@ -970,12 +970,12 @@ This function display a single entry of all the character-specific tables, inclu
"Roll on all the character-related tables and show them together. "Roll on all the character-related tables and show them together.
You'll need to pick and choose what works and discard what doesn't." You'll need to pick and choose what works and discard what doesn't."
(interactive) (interactive)
(let ((name (rpgdm-tables-choose "names-ironlander")) (let ((name (rpgdm-tables-choose "name/ironlander"))
(goal (rpgdm-tables-choose "character-goal")) (goal (rpgdm-tables-choose "character/goal"))
(role (rpgdm-tables-choose "character-role")) (role (rpgdm-tables-choose "character/role"))
(activity (rpgdm-tables-choose "character-activity")) (activity (rpgdm-tables-choose "character/activity"))
(description (rpgdm-tables-choose "character-descriptor")) (description (rpgdm-tables-choose "character/descriptor"))
(disposition (rpgdm-tables-choose "character-disposition"))) (disposition (rpgdm-tables-choose "character/disposition")))
(rpgdm-message "%s, %s %s (Activity: %s Disposition: %s Goal: %s)" (rpgdm-message "%s, %s %s (Activity: %s Disposition: %s Goal: %s)"
name description role activity disposition goal))) name description role activity disposition goal)))
@ -1010,8 +1010,8 @@ This function combines the [[file:tables/feature-aspect.org][aspect]] and [[file
(defun rpgdm-ironsworn-oracle-feature () (defun rpgdm-ironsworn-oracle-feature ()
"Rolls on two tables at one time for a Site's feature." "Rolls on two tables at one time for a Site's feature."
(interactive) (interactive)
(let ((aspect (rpgdm-tables-choose "feature-aspect")) (let ((aspect (rpgdm-tables-choose "feature/aspect"))
(focus (rpgdm-tables-choose "feature-focus"))) (focus (rpgdm-tables-choose "feature/focus")))
(rpgdm-message "%s / %s" aspect focus))) (rpgdm-message "%s / %s" aspect focus)))
(puthash "feature-aspect-and-focus :: Roll on both feature tables" (puthash "feature-aspect-and-focus :: Roll on both feature tables"
@ -1024,7 +1024,7 @@ And a Waypoint is similar:
(defun rpgdm-ironsworn-oracle-waypoint () (defun rpgdm-ironsworn-oracle-waypoint ()
"Rolls on two tables at one time for a Site's feature." "Rolls on two tables at one time for a Site's feature."
(interactive) (interactive)
(let ((location (rpgdm-tables-choose "locations")) (let ((location (rpgdm-tables-choose "location"))
(description (rpgdm-tables-choose "location-descriptors"))) (description (rpgdm-tables-choose "location-descriptors")))
(rpgdm-message "%s %s" description (downcase location)))) (rpgdm-message "%s %s" description (downcase location))))
@ -1042,8 +1042,8 @@ Notice we also generate a name for the place.
(defun rpgdm-ironsworn-oracle-site-nature () (defun rpgdm-ironsworn-oracle-site-nature ()
"Rolls on two tables at one time for a random Site." "Rolls on two tables at one time for a random Site."
(interactive) (interactive)
(let* ((theme (rpgdm-tables-choose "site-theme")) (let* ((theme (rpgdm-tables-choose "site/theme"))
(domain (rpgdm-tables-choose "site-domain")) (domain (rpgdm-tables-choose "site/domain"))
(place (downcase domain)) (place (downcase domain))
(name (rpgdm-ironsworn-oracle-site-name place))) (name (rpgdm-ironsworn-oracle-site-name place)))
(rpgdm-message "%s %s :: %s" theme domain name))) (rpgdm-message "%s %s :: %s" theme domain name)))
@ -1060,14 +1060,14 @@ Requires a =place-type= to help limit the values that can be in /place/ and then
"Rolling on multiple tables to return a random site name." "Rolling on multiple tables to return a random site name."
(interactive (list (completing-read "Place type: " (interactive (list (completing-read "Place type: "
'(barrow cavern icereach mine pass ruin '(barrow cavern icereach mine pass ruin
sea-cave shadowfen stronghold sea-cave shadowfen stronghold
tanglewood underkeep)))) tanglewood underkeep))))
(unless place-type (unless place-type
(setq place-type "unknown")) (setq place-type "unknown"))
(let ((description (rpgdm-tables-choose "site-name-description")) (let ((description (rpgdm-tables-choose "site/name/description"))
(detail (rpgdm-tables-choose "site-name-detail")) (detail (rpgdm-tables-choose "site/name/detail"))
(namesake (rpgdm-tables-choose "site-name-namesake")) (namesake (rpgdm-tables-choose "site/name/namesake"))
(place (rpgdm-tables-choose (format "site-name-place-%s" place-type))) (place (rpgdm-tables-choose (format "site/name/place/%s" place-type)))
(roll (rpgdm--roll-die 100))) (roll (rpgdm--roll-die 100)))
(rpgdm-message (rpgdm-message
(cond (cond
@ -1114,7 +1114,7 @@ Generate a random threat and its motivations by coding the threat, but using the
(interactive (list (completing-read "Threat: " rpgdm-ironsworn-oracle-threats))) (interactive (list (completing-read "Threat: " rpgdm-ironsworn-oracle-threats)))
(unless category (unless category
(setq category (seq-random-elt rpgdm-ironsworn-oracle-threats))) (setq category (seq-random-elt rpgdm-ironsworn-oracle-threats)))
(let ((table-name (format "threat-%s" (downcase (string-replace " " "-" category))))) (let ((table-name (format "threat/%s" (downcase (string-replace " " "-" category)))))
(rpgdm-message "%s: %s" category (rpgdm-tables-choose table-name)))) (rpgdm-message "%s: %s" category (rpgdm-tables-choose table-name))))
(puthash "threat-goal :: Generate a goal for a particular threat" (puthash "threat-goal :: Generate a goal for a particular threat"

View file

@ -5,7 +5,7 @@
#+TAGS: rpg ironsworn #+TAGS: rpg ironsworn
# Local Variables: # Local Variables:
# eval: (progn (require 'rpgdm-ironsworn) (rpgdm-mode) (rpgdm-tables-load (concat rpgdm-ironsworn-project "tables"))) # eval: (progn (require 'rpgdm-ironsworn) (rpgdm-mode) (rpgdm-tables-load (concat rpgdm-ironsworn-project "tables"))
# End: # End:
* Travels of Kannan * Travels of Kannan
:PROPERTIES: :PROPERTIES:

View file

@ -4,7 +4,7 @@
(require 'rpgdm) (require 'rpgdm)
(defvar rpgdm-ironsworn-project (file-name-directory load-file-name) (defvar rpgdm-ironsworn-project (file-name-directory load-file-name)
"The root directory to the emacs-ironsworn project") "The root directory to the rpgdm-ironsworn project")
(defun rpgdm-ironsworn--results (action modifier one-challenge two-challenge (defun rpgdm-ironsworn--results (action modifier one-challenge two-challenge
&optional momentum) &optional momentum)
@ -528,8 +528,8 @@ to rolling two d10 challenge dice."
(defun rpgdm-ironsworn-oracle-action-theme () (defun rpgdm-ironsworn-oracle-action-theme ()
"Rolls on two tables at one time." "Rolls on two tables at one time."
(interactive) (interactive)
(let ((action (rpgdm-tables-choose "actions")) (let ((action (rpgdm-tables-choose "action"))
(theme (rpgdm-tables-choose "themes"))) (theme (rpgdm-tables-choose "theme")))
(rpgdm-message "%s / %s" action theme))) (rpgdm-message "%s / %s" action theme)))
(puthash "action-and-theme :: Roll on both tables" (puthash "action-and-theme :: Roll on both tables"
@ -540,12 +540,12 @@ to rolling two d10 challenge dice."
"Roll on all the character-related tables and show them together. "Roll on all the character-related tables and show them together.
You'll need to pick and choose what works and discard what doesn't." You'll need to pick and choose what works and discard what doesn't."
(interactive) (interactive)
(let ((name (rpgdm-tables-choose "names-ironlander")) (let ((name (rpgdm-tables-choose "name/ironlander"))
(goal (rpgdm-tables-choose "character-goal")) (goal (rpgdm-tables-choose "character/goal"))
(role (rpgdm-tables-choose "character-role")) (role (rpgdm-tables-choose "character/role"))
(activity (rpgdm-tables-choose "character-activity")) (activity (rpgdm-tables-choose "character/activity"))
(description (rpgdm-tables-choose "character-descriptor")) (description (rpgdm-tables-choose "character/descriptor"))
(disposition (rpgdm-tables-choose "character-disposition"))) (disposition (rpgdm-tables-choose "character/disposition")))
(rpgdm-message "%s, %s %s (Activity: %s Disposition: %s Goal: %s)" (rpgdm-message "%s, %s %s (Activity: %s Disposition: %s Goal: %s)"
name description role activity disposition goal))) name description role activity disposition goal)))
@ -565,18 +565,28 @@ You'll need to pick and choose what works and discard what doesn't."
(defun rpgdm-ironsworn-oracle-feature () (defun rpgdm-ironsworn-oracle-feature ()
"Rolls on two tables at one time for a Site's feature." "Rolls on two tables at one time for a Site's feature."
(interactive) (interactive)
(let ((aspect (rpgdm-tables-choose "feature-aspect")) (let ((aspect (rpgdm-tables-choose "feature/aspect"))
(focus (rpgdm-tables-choose "feature-focus"))) (focus (rpgdm-tables-choose "feature/focus")))
(rpgdm-message "%s / %s" aspect focus))) (rpgdm-message "%s / %s" aspect focus)))
(puthash "feature-aspect-and-focus :: Roll on both feature tables for a waypoint" (puthash "feature-aspect-and-focus :: Roll on both feature tables"
'rpgdm-ironsworn-oracle-feature rpgdm-tables) 'rpgdm-ironsworn-oracle-feature rpgdm-tables)
(defun rpgdm-ironsworn-oracle-waypoint ()
"Rolls on two tables at one time for a Site's feature."
(interactive)
(let ((location (rpgdm-tables-choose "location"))
(description (rpgdm-tables-choose "location-descriptors")))
(rpgdm-message "%s %s" description (downcase location))))
(puthash "location-and-descriptor :: Roll on two tables for a waypoint"
'rpgdm-ironsworn-oracle-waypoint rpgdm-tables)
(defun rpgdm-ironsworn-oracle-site-nature () (defun rpgdm-ironsworn-oracle-site-nature ()
"Rolls on two tables at one time for a random Site." "Rolls on two tables at one time for a random Site."
(interactive) (interactive)
(let* ((theme (rpgdm-tables-choose "site-theme")) (let* ((theme (rpgdm-tables-choose "site/theme"))
(domain (rpgdm-tables-choose "site-domain")) (domain (rpgdm-tables-choose "site/domain"))
(place (downcase domain)) (place (downcase domain))
(name (rpgdm-ironsworn-oracle-site-name place))) (name (rpgdm-ironsworn-oracle-site-name place)))
(rpgdm-message "%s %s :: %s" theme domain name))) (rpgdm-message "%s %s :: %s" theme domain name)))
@ -588,14 +598,14 @@ You'll need to pick and choose what works and discard what doesn't."
"Rolling on multiple tables to return a random site name." "Rolling on multiple tables to return a random site name."
(interactive (list (completing-read "Place type: " (interactive (list (completing-read "Place type: "
'(barrow cavern icereach mine pass ruin '(barrow cavern icereach mine pass ruin
sea-cave shadowfen stronghold sea-cave shadowfen stronghold
tanglewood underkeep)))) tanglewood underkeep))))
(unless place-type (unless place-type
(setq place-type "unknown")) (setq place-type "unknown"))
(let ((description (rpgdm-tables-choose "site-name-description")) (let ((description (rpgdm-tables-choose "site/name/description"))
(detail (rpgdm-tables-choose "site-name-detail")) (detail (rpgdm-tables-choose "site/name/detail"))
(namesake (rpgdm-tables-choose "site-name-namesake")) (namesake (rpgdm-tables-choose "site/name/namesake"))
(place (rpgdm-tables-choose (format "site-name-place-%s" place-type))) (place (rpgdm-tables-choose (format "site/name/place/%s" place-type)))
(roll (rpgdm--roll-die 100))) (roll (rpgdm--roll-die 100)))
(rpgdm-message (rpgdm-message
(cond (cond
@ -622,7 +632,7 @@ You'll need to pick and choose what works and discard what doesn't."
(interactive (list (completing-read "Threat: " rpgdm-ironsworn-oracle-threats))) (interactive (list (completing-read "Threat: " rpgdm-ironsworn-oracle-threats)))
(unless category (unless category
(setq category (seq-random-elt rpgdm-ironsworn-oracle-threats))) (setq category (seq-random-elt rpgdm-ironsworn-oracle-threats)))
(let ((table-name (format "threat-%s" (downcase (string-replace " " "-" category))))) (let ((table-name (format "threat/%s" (downcase (string-replace " " "-" category)))))
(rpgdm-message "%s: %s" category (rpgdm-tables-choose table-name)))) (rpgdm-message "%s: %s" category (rpgdm-tables-choose table-name))))
(puthash "threat-goal :: Generate a goal for a particular threat" (puthash "threat-goal :: Generate a goal for a particular threat"

BIN
tables/.DS_Store vendored Normal file

Binary file not shown.

View file

@ -5,15 +5,15 @@
#+TAGS: rpg table ironsworn #+TAGS: rpg table ironsworn
Roll on Table: d100 Roll on Table: d100
| 1-30 | Check the theme card. | | 1-30 | Check the theme card. |
| 31-45 | Check the domain card. | | 31-45 | Check the domain card. |
| 46-57 | You encounter a hostile denizen. | | 46-57 | You encounter a hostile denizen. |
| 58-68 | You face an environmental or architectural hazard. | | 58-68 | You face an environmental or architectural hazard. |
| 69-76 | A discovery undermines or complicates your quest. | | 69-76 | A discovery undermines or complicates your quest. |
| 77-79 | You confront a harrowing situation or sensation. | | 77-79 | You confront a harrowing situation or sensation. |
| 80-82 | You face the consequences of an earlier choice or approach. | | 80-82 | You face the consequences of an earlier choice or approach. |
| 83-85 | Your way is blocked or trapped. | | 83-85 | Your way is blocked or trapped. |
| 86-88 | A resource is diminished, broken, or lost. | | 86-88 | A resource is diminished, broken, or lost. |
| 89-91 | You face a perplexing mystery or tough choice. | | 89-91 | You face a perplexing mystery or tough choice. |
| 92-94 | You lose your way or are delayed. | | 92-94 | You lose your way or are delayed. |
| 95-00 | Roll twice more on this table. Both results occur. If they are the same result, make it worse. | | 95-00 | Roll twice more on this table. Both results occur. |

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers in a Barrow
- Denizen guards this area
- Trap
- Death makes its presence known
- Crumbling architecture
- Grave goods with hidden dangers

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers in a Barrow
- Denizen lairs here
- Cave-in
- Flooding
- Perilous climb or descent
- Fissure or sinkhole

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers in a Frozen Cavern
- Denizen lairs here
- Fracturing ice
- Crumbling chasm
- Bitter chill
- Disorienting reflections

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers on an Icereach
- Denizen hunts
- Fragile ice above watery depths
- Perilous climb or descent
- Avalanche or icefall
- Foul weather

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers in a Mine
- Cave-in
- Flooding
- Unstable platforms or architecture
- Hazardous gas pocket
- Weakened terrain

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers of a Pass
- Denizen lairs here
- Denizen hunts
- Perilous climb or descent
- Avalanche or rockslide
- Foul weather

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers found in Ruins
- Ancient mechanism or trap
- Collapsing wall or ceiling
- Blocked or broken passage
- Unstable floor above a new danger
- Ancient secrets best left buried

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers of a Sea Cave
- Denizen strikes without warning
- Denizen lurks below
- Flooding
- Rushing current
- Claustrophobic squeeze

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers in a Shadowfen
- Denizen hunts
- Deep water blocks the path
- Toxic environment
- Concealing or disorienting mist
- Hidden quagmire

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers in a Stronghold
- Blocked or guarded path
- Caught in the open
- Chokepoint
- Trap
- Alarm trigger

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers in a Tangled Wood
- Denizen hunts
- Denizen lairs here
- Trap or snare
- Path leads you astray
- Entangling plant life

View file

@ -0,0 +1,7 @@
#+TITLE: Dangers of an Underkeep
- Ancient mechanism or trap
- Crumbling architecture
- Blocked or broken passage
- Artifact with a hidden danger
- Denizen lurks in darkness

View file

@ -0,0 +1,16 @@
#+TITLE: Dangers in an Ancient Location
Roll on Table: d30
| 1-5 | Ancient trap |
| 6-10 | Hazardous architecture or terrain |
| 11-12 | Blocked or broken path |
| 13-14 | Denizen protects an ancient secret |
| 15-16 | Denizen reveres an ancient power |
| 17-18 | Living relics of a lost age |
| 19-20 | Ancient evil resurgent |
| 21-22 | Dire warnings of a long-buried danger |
| 23-24 | Ancient disease or contamination |
| 25-26 | Artifact of terrible meaning or power |
| 27-28 | Disturbing evidence of ancient wrongs |
| 29-30 | Others seek power or knowledge |

View file

@ -0,0 +1,16 @@
#+TITLE: Dangers in a Corrupted Location
Roll on Table: d30
| 1-5 | Denizen spawned from dark magic |
| 6-10 | Denizen controls dark magic |
| 11-12 | Denizen corrupted by dark magic |
| 13-14 | Corruption marks you |
| 15-16 | Innocents held in thrall |
| 17-18 | Revelations of a terrible truth |
| 19-20 | Mystic trap or trigger |
| 21-22 | Mystic barrier or ward |
| 23-24 | Illusions lead you astray |
| 25-26 | Dark ritual in progress |
| 27-28 | Lingering effects of a dark ritual |
| 29-30 | Dread harbingers of a greater magic |

View file

@ -0,0 +1,15 @@
#+TITLE: Dangers in a Fortified Location
Roll on Table: d30
| 1-5 | Denizen patrols the area |
| 6-10 | Denizen on guard |
| 11-12 | Denizen ready to sound the alarm |
| 13-14 | Denizen sets an ambush |
| 15-16 | Denizen lures you into a trap |
| 17-18 | Denizens converge on this area |
| 19-20 | Pets or underlings |
| 21-22 | Unexpected alliance revealed |
| 23-24 | Nefarious plans revealed |
| 25-26 | Unexpected leader revealed |
| 27-28 | Trap |
| 29-30 | Alarm trigger |

View file

@ -0,0 +1,15 @@
#+TITLE: Dangers in a Hallowed Location
Roll on Table: d30
| 1-5 | Denizen defends their sanctum |
| 6-10 | Denizen enacts the will of their god |
| 11-12 | Denizen seeks martyrdom |
| 13-14 | Secret of the faith is revealed |
| 15-16 | Greater purpose is revealed |
| 17-18 | Unexpected disciples are revealed |
| 19-20 | Divine manifestations |
| 21-22 | Aspect of the faith beguiles you |
| 23-24 | Unexpected leader is revealed |
| 25-26 | Embodiment of a god or myth |
| 27-28 | Protective ward or barrier |
| 29-30 | Prophecies reveal a dark fate |

View file

@ -0,0 +1,15 @@
#+TITLE: Dangers in a Haunted Place
Roll on Table: d30
| 1-5 | Denizen haunts this area |
| 6-10 | Unsettling sounds or foreboding signs |
| 11-12 | Denizen attacks without warning |
| 13-14 | Denizen makes a costly demand |
| 15-16 | Denizen seizes your body or mind |
| 17-18 | Denizen taunts or lures you |
| 19-20 | A disturbing truth is revealed |
| 21-22 | Frightening visions |
| 23-24 | The environment is used against you |
| 25-26 | Trickery leads you astray |
| 27-28 | True nature of this place is revealed |
| 29-30 | Sudden, shocking manifestation |

View file

@ -0,0 +1,15 @@
#+TITLE: Dangers in an Infested Location
Roll on Table: d30
| 1-5 | Denizens swarm and attack |
| 6-10 | Toxic or sickening environment |
| 11-12 | Denizen stalks you |
| 13-14 | Denizen takes or destroys something |
| 15-16 | Denizen reveals surprising cleverness |
| 17-18 | Denizen guided by a greater threat |
| 19-20 | Denizen blocks the path |
| 21-22 | Denizen funnels you down a new path |
| 23-24 | Denizen undermines the path |
| 25-26 | Denizen lays in wait |
| 27-28 | Trap or snare |
| 29-30 | Victims horrible fate is revealed |

View file

@ -0,0 +1,15 @@
#+TITLE: Dangers of a Ravaged Land
Roll on Table: d30
| 1-5 | Precarious architecture or terrain |
| 6-10 | Imminent collapse or destruction |
| 11-12 | Path undermined |
| 13-14 | Blocked or broken path |
| 15-16 | Vestiges of a destructive force |
| 17-18 | Unexpected environmental threat |
| 19-20 | Echoes of a troubling past |
| 21-22 | Signs of a horrible fate |
| 23-24 | Denizen seeks retribution |
| 25-26 | Denizen leverages the environment |
| 27-28 | Denizen restores what was lost |
| 29-30 | Ravages return anew |

View file

@ -0,0 +1,15 @@
#+TITLE: Dangers of a Wild Place
Roll on Table: d30
| 1-5 | Denizen hunts |
| 6-10 | Denizen strikes without warning |
| 11-12 | Denizen leverages the environment |
| 13-14 | Denizen wields unexpected abilities |
| 15-16 | Denizen guided by a greater threat |
| 17-18 | Denizen protects something |
| 19-20 | Hazardous terrain |
| 21-22 | Weather or environmental threat |
| 23-24 | Benign aspect becomes a threat |
| 25-26 | Overzealous hunter |
| 27-28 | Disturbing evidence of a victims fate |
| 29-30 | Ill-fated victim in danger |

View file

@ -0,0 +1,15 @@
#+TITLE: Features of a Barrow
Roll on Table: d80 + 20
| 21-43 | Burial chambers |
| 44-56 | Maze of narrow passages |
| 57-64 | Shrine |
| 65-68 | Stately vault |
| 69-72 | Offerings to the dead |
| 73-76 | Statuary or tapestries |
| 77-80 | Remains of a grave robber |
| 81-84 | Mass grave |
| 85-88 | Exhumed corpses |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features in a Cavern
Roll on Table: d80 + 20
| 21-43 | Twisting passages |
| 44-56 | Cramped caves |
| 57-64 | Vast chamber |
| 65-68 | Subterranean waterway |
| 69-72 | Cave pool |
| 73-76 | Natural bridge |
| 77-80 | Towering stone formations |
| 81-84 | Natural illumination |
| 85-88 | Dark pit |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features in a Frozen Cavern
Roll on Table: d80 + 20
| 21-43 | Maze of icy tunnels |
| 44-56 | Glistening cave |
| 57-64 | Vast chamber |
| 65-68 | Frigid waterway |
| 69-72 | Icy pools |
| 73-76 | Magnificent ice formations |
| 77-80 | Frozen waterfall |
| 81-84 | Deep crevasses |
| 85-88 | Discovery locked in the ice |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features on an Icereach
Roll on Table: d80 + 20
| 21-43 | Plains of ice and snow |
| 44-56 | Seawater channel |
| 57-64 | Icy highlands |
| 65-68 | Crevasse |
| 69-72 | Ice floes |
| 73-76 | Ship trapped in ice |
| 77-80 | Animal herd or habitat |
| 81-84 | Frozen carcass |
| 85-88 | Camp or outpost |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features in a Mine
Roll on Table: d80 + 20
| 21-43 | Cramped tunnels |
| 44-56 | Mine works |
| 57-64 | Excavated chamber |
| 65-68 | Mineshaft |
| 69-72 | Collapsed tunnel |
| 73-76 | Cluttered storage |
| 77-80 | Housing or common areas |
| 81-84 | Flooded chamber |
| 85-88 | Unearthed secret |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features of a Pass
Roll on Table: d80 + 20
| 21-43 | Winding mountain path |
| 44-56 | Snowfield or glacial rocks |
| 57-64 | River gorge |
| 65-68 | Crashing waterfall |
| 69-72 | Highland lake |
| 73-76 | Forgotten cairn |
| 77-80 | Bridge |
| 81-84 | Overlook |
| 85-88 | Camp or outpost |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features found in Ruins
Roll on Table: d80 + 20
| 21-43 | Crumbling corridors and chambers |
| 44-56 | Collapsed architecture |
| 57-64 | Rubble-choked hall |
| 65-68 | Courtyard |
| 69-72 | Archive or library |
| 73-76 | Broken statuary or fading murals |
| 77-80 | Preserved vault |
| 81-84 | Temple to forgotten gods |
| 85-88 | Mausoleum |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features of a Sea Cave
Roll on Table: d80 + 20
| 21-43 | Watery tunnels |
| 44-56 | Eroded chamber |
| 57-64 | Flooded chamber |
| 65-68 | Vast chamber |
| 69-72 | Dry passages |
| 73-76 | Freshwater inlet |
| 77-80 | Rocky island |
| 81-84 | Waterborne debris |
| 85-88 | Shipwreck or boat |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features in a Shadowfen
Roll on Table: d80 + 20
| 21-43 | Narrow path through a fetid bog |
| 44-56 | Stagnant waterway |
| 57-64 | Flooded thicket |
| 65-68 | Island of dry land |
| 69-72 | Submerged discovery |
| 73-76 | Preserved corpses |
| 77-80 | Overgrown structure |
| 81-84 | Tall reeds |
| 85-88 | Camp or outpost |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features in a Stronghold
Roll on Table: d80 + 20
| 21-43 | Connecting passageways |
| 44-56 | Barracks or common quarters |
| 57-64 | Large hall |
| 65-68 | Workshop or library |
| 69-72 | Command center or leadership |
| 73-76 | Ladder or stairwell |
| 77-80 | Storage |
| 81-84 | Kitchen or larder |
| 85-88 | Courtyard |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features in a Tangled Wood
Roll on Table: d80 + 20
| 21-43 | Dense thicket |
| 44-56 | Overgrown path |
| 57-64 | Waterway |
| 65-68 | Clearing |
| 69-72 | Elder tree |
| 73-76 | Brambles |
| 77-80 | Overgrown structure |
| 81-84 | Rocky outcrop |
| 85-88 | Camp or outpost |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,15 @@
#+TITLE: Features of an Underkeep
Roll on Table: d80 + 20
| 21-43 | Carved passages |
| 44-56 | Hall or chamber |
| 57-64 | Stairs into the depths |
| 65-68 | Grand doorway or entrance |
| 69-72 | Tomb or catacombs |
| 73-76 | Rough-hewn cave |
| 77-80 | Foundry or workshop |
| 81-84 | Shrine or temple |
| 85-88 | Imposing architecture or artistry |
| 89-98 | Something unusual or unexpected |
| 99 | You transition into a new theme |
| 100 | You transition into a new domain |

View file

@ -0,0 +1,9 @@
#+TITLE: Features in an Ancient Location
Roll on Table: d20
| 1-4 | Evidence of lost knowledge |
| 5-8 | Inscrutable relics |
| 9-12 | Ancient artistry or craft |
| 13-16 | Preserved corpses or fossils |
| 17-20 | Visions of this place in another time |

View file

@ -0,0 +1,8 @@
#+TITLE: Features in a Corrupted Location
Roll on Table: d20
| 1-4 | Mystic focus or conduit |
| 5-8 | Strange environmental disturbances |
| 9-12 | Mystic runes or markings |
| 13-16 | Blight or decay |
| 17-20 | Evidence of a foul ritual |

View file

@ -0,0 +1,8 @@
#+TITLE: Features in a Fortified Location
Roll on Table: d20
| 1-4 | Camp or quarters |
| 5-8 | Guarded location |
| 9-12 | Storage or repository |
| 13-16 | Work or training area |
| 17-20 | Command center or leadership |

View file

@ -0,0 +1,8 @@
#+TITLE: Features in a Hallowed Location
Roll on Table: d20
| 1-4 | Temple or altar |
| 5-8 | Offerings or atonements |
| 9-12 | Religious relic or idol |
| 13-16 | Consecrated ground |
| 17-20 | Dwellings or gathering place |

View file

@ -0,0 +1,8 @@
#+TITLE: Features in a Haunted Place
Roll on Table: d20
| 1-4 | Tomb or burial site |
| 5-8 | Blood was spilled here |
| 9-12 | Unnatural mists or darkness |
| 13-16 | Messages from beyond the grave |
| 17-20 | Apparitions of a person or event |

View file

@ -0,0 +1,8 @@
#+TITLE: Features in an Infested Location
Roll on Table: d20
| 1-4 | Inhabited nest |
| 5-8 | Abandoned nest |
| 9-12 | Ravaged terrain or architecture |
| 13-16 | Remains or carrion |
| 17-20 | Hoarded food |

View file

@ -0,0 +1,8 @@
#+TITLE: Features of a Ravaged Land
Roll on Table: d20
| 1-4 | Path of destruction |
| 5-8 | Abandoned or ruined dwelling |
| 9-12 | Untouched or preserved area |
| 13-16 | Traces of what was lost |
| 17-20 | Ill-fated victims |

View file

@ -0,0 +1,8 @@
#+TITLE: Features of a Wild Place
Roll on Table: d20
| 1-4 | Denizens lair |
| 5-8 | Territorial markings |
| 9-12 | Impressive flora or fauna |
| 13-16 | Hunting ground or watering hole |
| 17-20 | Remains or carrion |