Themes + Saves system

This commit is contained in:
Dejvino
2026-07-05 12:50:22 +02:00
parent bd0582c78b
commit a32fa9ef5c
29 changed files with 413 additions and 43 deletions
+82
View File
@@ -0,0 +1,82 @@
# Ambience Options
Set the current ambience by writing its name into `session/ambience.md`.
The TUI polls this file and crossfades to the matching track.
Music files go in `session/audio/`. Supported formats: `.mp3`, `.ogg`, `.wav`.
When multiple files are listed, one is chosen at random each time the ambience activates.
## Requirements
```bash
pip install miniaudio yt-dlp
```
`ffmpeg` must also be installed on your system.
## Fetching New Tracks
Use the music-fetch tool to search YouTube and download tracks:
```bash
# Auto-search for a tavern track
python3 tools/music-fetch.py tavern
# Custom query
python3 tools/music-fetch.py "deep fen" "swamp ambience D&D"
# Specific video
python3 tools/music-fetch.py tavern --url "https://youtu.be/..."
# Replace all tracks for an ambience
python3 tools/music-fetch.py tavern --replace
# Preview without downloading
python3 tools/music-fetch.py tavern --dry-run
# Allow tracks longer than 10 minutes
python3 tools/music-fetch.py tavern --allow-long-songs
```
Sources are recorded in `session/ambience_sources.md` so tracks can be
re-downloaded without keeping audio files in git.
## Available Ambiences
| Ambience | Files |
|----------|-------|
| silence | (stops all music) |
| calm | calm_01.ogg |
| combat | combat_01.ogg |
| dungeon | dungeon_01.ogg, dungeon_02.ogg |
| forest | forest_01.ogg |
| tavern | tavern_01.ogg |
| tension | tension_01.ogg |
| town | town_01.ogg |
| wilds | wilds_01.ogg |
## Usage (DM)
```bash
# Switch to forest ambience
echo "forest" > session/ambience.md
# Stop music
echo "silence" > session/ambience.md
```
Or use the companion CLI shortcut:
```bash
python3 tools/ambience.py forest
python3 tools/ambience.py silence
```
## Status Display
The TUI status bar shows the current ambience:
```
Dillion ❤ 10 │ 42 entries │ 3 todo │ 2026-06-24 │ ♫ tavern
```
If miniaudio is not installed, the status bar shows a hint and no audio plays.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+28
View File
@@ -0,0 +1,28 @@
# Character
**Name:**
**Thing:**
**Failed Career:**
**What's Gone Wrong:**
## Traits
- **STR:** 10
- **DEX:** 10
- **WIL:** 10
## Vitals
- **Max Health:** 10
- **Current Health:** 10
- **Armour:** None
- **Weapon:** Unarmed (1d4)
- **Cash:** 0
## Chains
## Discords
## Gear
## Notes & Scribbles
+157
View File
@@ -0,0 +1,157 @@
# Character Creation
## Step 1 — Traits
Roll **3d6** for each trait (STR, DEX, WIL). **Lower is better.**
| Trait | Range |
|-------|-------|
| STR | 3d6 |
| DEX | 3d6 |
| WIL | 3d6 |
## Step 2 — Choose Your Thing
Your "Thing" is your archetype. It determines your **max health modifier**.
| Thing | Health Mod | Hint |
|-------|-----------|------|
| The Brute | +2 | Strong, tough, direct |
| The Cunning | +0 | Sly, quick, resourceful |
| The Guardian | +2 | Protective, sturdy, watchful |
| The Shadow | +0 | Stealthy, elusive, silent |
| The Weaver | -1 | Arcane, perceptive, strange |
| The Zealot | +1 | Driven, faithful, relentless |
## Step 3 — Max Health
Roll **2d6 + Thing modifier**. Minimum 2.
## Step 4 — Starting Cash
Roll **3d6 × 5** silver.
## Step 5 — Failed Career
What you did before adventuring (and failed at). Roll 1d12 or choose.
| d12 | Failed Career |
|-----|--------------|
| 1 | Alchemist's assistant — your master's lab exploded |
| 2 | Barber-surgeon — you lost more patients than you saved |
| 3 | City watch — fired for taking bribes or sleeping on duty |
| 4 | Coin counter — you embezzled and fled |
| 5 | Ditch digger — hit a sewer main, flooded the street |
| 6 | Farmhand — the farm was cursed / burned / eaten by beasts |
| 7 | Grave keeper — the dead started walking, you walked faster |
| 8 | Hedge knight — your employer died under your protection |
| 9 | Inn keep — the inn was repossessed or burned down |
| 10 | Jester — your jokes landed you in a dungeon |
| 11 | Letter carrier — you lost the mail (all of it) |
| 12 | Mercenary — your company was routed, sole survivor |
## Step 6 — Gear
### Weapons
| Weapon | Damage Mod | Cost | Note |
|--------|-----------|------|------|
| Dagger | +0 | 3 | Small, concealable |
| Short sword | +0 | 5 | Reliable |
| Long sword | +1 | 8 | Versatile |
| Axe | +1 | 7 | Can be thrown |
| Mace | +1 | 6 | Bypasses some armour |
| Spear | +0 | 4 | Reach, can be thrown |
| Bow | +0 | 7 | Two-handed, ranged |
| Crossbow | +1 | 10 | Two-handed, slow to reload |
| Staff | -1 | 1 | Two-handed, can be focus |
| Flail | +1 | 8 | Ignores shield bonus |
| Hatchet | +0 | 4 | Light, off-hand |
| Improvised | -1 | 0 | Bottle, chair leg, etc. |
### Armour
| Armour | Reduction | Cost | Note |
|--------|----------|------|------|
| Padded | -1 | 5 | Quiet |
| Leather | -1 | 8 | Flexible |
| Studded leather | -2 | 15 | Light |
| Chain shirt | -2 | 25 | Covers torso |
| Scale mail | -3 | 35 | Noisy |
| Plate | -4 | 50 | Heavy, noisy |
| Shield | -1 | 10 | Can be used to shove |
| Helmet | -1 | 8 | Only vs head shots |
### Equipment
| Item | Cost |
|------|------|
| Rope (30ft) | 1 |
| Torches (3) | 1 |
| Rations (3 days) | 1 |
| Waterskin | 1 |
| Chalk (10 pieces) | 1 |
| Candle | 1 |
| Flint & steel | 1 |
| Small sack | 1 |
| Bedroll | 2 |
| Crowbar | 2 |
| Grappling hook | 3 |
| Lantern | 3 |
| Oil (flask) | 1 |
| Tent | 3 |
| Healing salve (restores 1 HP) | 5 |
| Antitoxin | 5 |
| Fine clothes | 10 |
| Jewellery | 15 |
| Musical instrument | 10 |
| Writing kit | 8 |
| Spyglass | 20 |
## Step 7 — Chains (Ties to the World)
Who or what ties you to this world? Roll 1d12 or choose.
| d12 | Chain |
|-----|-------|
| 1 | A sibling who depends on you |
| 2 | An oath you swore and cannot break |
| 3 | A child you're protecting |
| 4 | A mentor who taught you everything |
| 5 | A pet or companion that follows you |
| 6 | A debt of honour to a family |
| 7 | A sacred duty to a forgotten god |
| 8 | A bloodline you're the last of |
| 9 | A promise to a dying friend |
| 10 | A community that raised you |
| 11 | A lover you're searching for |
| 12 | A kingdom you're trying to restore |
## Step 8 — Discords (Complications)
Who or what makes your life harder? Roll 1d12 or choose.
| d12 | Discord |
|-----|---------|
| 1 | A rival who wants what you have |
| 2 | A faction that hunts your kind |
| 3 | An ex-partner full of spite |
| 4 | A religious order that condemns you |
| 5 | A gang you crossed |
| 6 | A noble whose name you sullied |
| 7 | A monster that remembers you |
| 8 | A liar who spreads rumours about you |
| 9 | A creditor who never forgets |
| 10 | A family feud that reignites |
| 11 | A thief who stole your identity |
| 12 | A corrupt official with a grudge |
## Optional — Arcane Weaving (Weaver only)
If you play a Weaver, roll 1d6 for your arcane flavour.
| d6 | Arcane Flavour | Description |
|----|---------------|-------------|
| 1 | Wild magicks | Unpredictable, surges happen |
| 2 | Blood magicks | Costs health to cast |
| 3 | Bone magicks | Requires remains or tokens |
| 4 | Storm magicks | Tied to weather and sky |
| 5 | Veil magicks | Deals with spirits and the dead |
| 6 | Rune magicks | Inscribed, prepared in advance |
## Damage Formula
**Weapon damage**: 1d6 + weapon damage mod + other mods - target armour reduction.
## Final Steps
- Choose a name
- Write a brief description
- Record starting gear on your character sheet
+63
View File
@@ -0,0 +1,63 @@
## Core Mechanics
### Dice
- **d6**: All rolls use d6.
- **Odds**: 1d6, 4+ favourable, 3- trouble.
- **Traits**: 3d6, roll UNDER trait score.
### Character
- **Traits (STR/DEX/WIL)**: Roll 3d6 each. Lower is better.
- **Max HP**: 2d6 + Thing modifier (min 2).
- **Starting Cash**: 3d6 × 5 silver.
- **Damage**: 1d6 ± weapon mod ± armour reduction.
### Combat (per round ≈10s)
1. State intentions
2. Grit (creatures): 2d6 — higher = more determined
3. Initiative: both 1d6, winner acts first
4. Turn: 1d6 ± mods, 4+ success, 3- take a hit
5. Damage: 1d6 ± mods
#### Encounter Start
- Distance: 2d6 × 10
- Surprise: 1d6 — 1-2 PC, 3-4 creature, 5 both, 6 neither
- Grit: 2d6
#### Alternatives to Fighting
- Run off, Dodge & Parry (+1, 4+ move without hit), Parley, Innovate
### Exploration
- 6 × 10-min watches per hour
- Each action → roll (odds/traits) → outcome → mark watch
- After 6 watches: scene shifts
### Wounds (0 HP)
- 1d6: 1-2 die, 3-4 -1 max HP, 5-6 -1 all rolls until healed
### Grit (Creatures/NPCs)
- 2d6, higher = more determined
- > grit score → seek exit; ≤ grit score → press attack
### Modifiers
| Situation | Mod |
|---|---|
| Favourable / Well-prepared | +1 |
| Risky / Rushed / Poor visibility | -1 |
| Desperate | -2 |
### Darkness
- Most creatures see fine in dark
- PCs without light: -1 actions, increased surprise, slower exploration
### Complications ("yes, but...")
- Success costs (gear/time/HP), noise, secondary problem, escalation
### Rest & Healing
- Short rest (few hours): 1d6 HP
- Long rest (safe haven): full HP
- Healing salve: +1 HP | Antitoxin: cures poison
### End Game Conditions
The story ends when: the character dies, the main quest reaches a definitive conclusion, the player chooses to retire, or all party members have fallen.
When the story ends, the LLM outputs `### THE END` in the narrative, followed by a reason, what happened, and an epilogue describing how the world evolved.
Call `read_rules` with `category: "end_game"` for full details on ending the game.
+107
View File
@@ -0,0 +1,107 @@
# Cook the Chaos — Session & Scenario Generation Cards
# Draw from these tables to build a session on the fly.
rumours:
description: "Rumours heard at The Keep. Roll 1d6 or choose."
table:
1: "The old mill has been taken over by something that clicks in the dark."
2: "A merchant caravan went missing on the Eastern road — cargo intact, people gone."
3: "Witchlights have been seen in the marsh. Those who follow them don't come back."
4: "The baron is offering a reward for a 'beast' — but no one who's hunted it has returned."
5: "A tomb was uncovered by the recent rains. Strange symbols glow at night."
6: "Someone in the Keep is paying good silver for old bones — no questions asked."
jobs:
description: "Jobs posted at The Keep. Roll 1d6 or choose."
table:
1: "Escort a nervous scholar to the ruins. Pay: 20 silver."
2: "Clear vermin from the cellar of the Splintered Tankard. Pay: 5 silver."
3: "Deliver a sealed box to a hermit in the hills. Do NOT open it. Pay: 10 silver."
4: "Hunt a wolf pack that's been taking livestock. Pay: 8 silver + pelts."
5: "Investigate why the north well ran red last week. Pay: 12 silver."
6: "Collect a debt from a deadbeat in a dangerous part of town. Pay: 15 silver."
terrain:
description: "What does the Realm look like here? Roll 1d6."
table:
1: { name: "Forest", hint: "Dense trees, poor visibility, lots of cover" }
2: { name: "Marsh", hint: "Slow movement, sinking hazards, biting insects" }
3: { name: "Hills", hint: "Good vantage points, but exhausting climbs" }
4: { name: "Plains", hint: "Exposed, fast travel, little cover" }
5: { name: "Ruins", hint: "Partial cover, unstable floors, hidden chambers" }
6: { name: "Mountains", hint: "Slow travel, avalanches, thin air, caves" }
weather:
description: "What's the weather? Roll 1d6."
table:
1: "Clear and bright — visibility good, travel normal."
2: "Overcast — dim light, muffled sounds."
3: "Heavy rain — reduced visibility, fires hard to light, tracks wash away."
4: "Fog — everything is obscured beyond 20ft."
5: "Wind storm — ranged attacks at disadvantage, noise hides ambushes."
6: "Sweltering heat — exhaustion risk, water consumption doubles."
mishaps:
description: "Something goes wrong. Roll 1d6 when the party travels."
table:
1: "A character twists an ankle. -1 on all rolls until they rest."
2: "Supplies are damaged or lost. Ruined rations, broken gear."
3: "Wrong turn. Add 1 extra watch to travel time."
4: "Loud noise attracts unwanted attention."
5: "A minor injury. Roll 1d6: 1-2 take 1 damage."
6: "Something valuable slips from a pocket or pack unnoticed."
points_of_interest:
description: "Something notable in the area. Roll 2d6."
table:
2: "A forgotten battlefield — bones, broken weapons, a lingering curse."
3: "A hermits hut — the hermit may or may not be friendly."
4: "A collapsed tunnel — may be clearable, or may contain something."
5: "A standing stone circle — hums faintly, odd dreams if slept in."
6: "A corpse with a half-readable map clutched in its hand."
7: "A small shrine to a forgotten god — offerings might be rewarded."
8: "An abandoned campsite — still warm, signs of hasty departure."
9: "A strange tree — its bark looks like faces, its leaves don't move."
10: "A fissure in the ground — warm air rises from it, faint glow below."
11: "A gallows with three cages — one of the occupants is still alive."
12: "A glowing pool — healing? cursed? the water burns going down."
random_encounters:
description: "Who or what crosses the party's path? Roll 2d6."
table:
2: "A powerful creature — dragon, wyrm, or greater fiend."
3: "A patrol of hostile humanoids (bandits, cultists, soldiers)."
4: "A lone traveller — wounded, desperate, or not what they seem."
5: "A pack of small creatures — aggressive but easily routed."
6: "A merchant with a guarded cart — open to trade."
7: "Odd natural phenomenon — lights, sounds, strange smells."
8: "A lost child or animal — needs help getting home."
9: "A scout or spy — watching the party, will report back."
10: "A burial party or funeral procession."
11: "A patrol of friendly soldiers or rangers — can share info."
12: "A wandering NPC with crucial information or a warning."
wild_magicks:
description: "The Realm bleeds chaos. Roll 1d6 when wild magicks surge."
table:
1: "A character briefly swaps places with their reflection."
2: "Gravity inverts in a 50ft radius — hold on."
3: "All flames turn blue and cold — still burns."
4: "Vegetation rapidly grows, entangling everyone."
5: "A character speaks only in reverse for the next hour."
6: "Time loops for 10 seconds — everyone repeats their last action."
the_destination:
description: "What's at the end of this road? Roll 2d6."
table:
2: "A dungeon entrance — sealed, needs a key or ritual to open."
3: "A ruined tower — partially collapsed, something lives in the basement."
4: "A cave system — dark, winding, filled with echoes."
5: "A hidden glade — peaceful, but not uninhabited."
6: "An active quarry — slaves, monsters, or both."
7: "A small hamlet — suspicious of outsiders, but has a problem."
8: "A bridge — guarded or collapsed, must cross or find another way."
9: "A fishing village — paying for someone to deal with a river beast."
10: "A bandit camp — well-defended, with hostages or loot."
11: "A temple — overgrown, partially submerged, still consecrated."
12: "A floating island — accessible only by rope, magic, or luck."
+189
View File
@@ -0,0 +1,189 @@
# Creatures of the Chaos — Monster Creation Cards
# Roll 2d6 on each table to build a creature from scratch.
type:
description: "It's kind of a..."
table:
2: "Construct or golem"
3: "Demon or devil"
4: "Elemental"
5: "Fiend or beast"
6: "Flyer or serpent"
7: "Humanoid"
8: "Insect"
9: "Monstrosity"
10: "Ooze"
11: "Plant"
12: "Spirit or undead"
appearance:
description: "It looks like it's..."
table:
2: "A ragbag of body or item parts"
3: "About to pop or burst or dissolve"
4: "Been dragged through a meatgrinder"
5: "Glowing in white light, sickly or divine"
6: "Got red eyes, grey/sickly skin or scaly"
7: "Had too many dinners, but still hungry"
8: "Inside out or created by a distracted kid"
9: "Not been fed for a long, long time"
10: "Smeared in — what IS that?"
11: "The result of an experiment gone wrong"
12: "Wounded, scarred, protruding weapon"
size:
description: "How big is it?"
table:
2: "Hand or kitten sized"
3: "Hand or kitten sized"
4: "Seven large bananas, tip to tip"
5: "Seven large bananas, tip to tip"
6: "Seven large bananas, tip to tip"
7: "A Christmas tree"
8: "A Christmas tree"
9: "A Christmas tree"
10: "Basketball hoop height, filled out"
11: "Basketball hoop height, filled out"
12: "Largest thing you've ever seen — and then some"
difficulty:
description: "How dangerous is it?"
options:
easy: { health_formula: "1 + party_total_max_health", to_hit: 0, damage: "1d6-1 (or 3)", grit: "2d6 (or 7)" }
hard: { health_formula: "6 + party_total_max_health", to_hit: 1, damage: "1d6+1 (or 5)", grit: "2d6+2 (or 9)" }
oh_boy: { health_formula: "12 + party_total_max_health", to_hit: 2, damage: "1d6+6 (or 10)", grit: "2d6+3 (or 10)" }
numbers:
description: "How many are there?"
table:
easy: "3d6"
hard: "2d6"
oh_boy: "1d6"
attack:
description: "How does it attack?"
table:
2: "Animates the inanimate — by mind or magnetism"
3: "Bludgeoning, head-butting, or barrelling"
4: "Consuming, sucking, scraping, or deafening"
5: "Drills into the mind — strangles or influences"
6: "Freezes, burns, or radiates inside or out"
7: "Fuses with elements and bends them"
8: "Natural spikes, darts, spores, splashes, or spills"
9: "Pierces or possesses the soul"
10: "Poisons, infects, or corrodes inside or out"
11: "Teeth, claws, or natural weapons"
12: "Wields or projects a weapon of choice"
defence:
description: "How does it protect itself?"
table:
2: { name: "Nothing", reduction: 0 }
3: { name: "Armour scraps", reduction: -1 }
4: { name: "Armour scraps", reduction: -1 }
5: { name: "Another's flesh or bone", reduction: -2 }
6: { name: "Another's flesh or bone", reduction: -2 }
7: { name: "Natural organics", reduction: -3 }
8: { name: "Natural organics", reduction: -3 }
9: { name: "Natural organics", reduction: -3 }
10: { name: "Arcane magicks", reduction: -4 }
11: { name: "Arcane magicks", reduction: -4 }
12: { name: "Incorporeal shifts", reduction: -5 }
feature:
description: "Aside from attack or defend, it can also..."
table:
2: "Be real tricky to catch, find, hear, or see"
3: "Cast arcane magicks it's marked or infused with"
4: "Give the strange feeling you're actually elsewhere"
5: "Glue together with others and harvest their energy"
6: "Grab you in its thrall if you're not careful"
7: "Grapple, restrain, suffocate, engulf, or turn you mad"
8: "Look entirely like something else — until..."
9: "Nullify, minimise, deflect, or mimic arcane effects"
10: "Regenerate its health — even if it's fallen"
11: "Seem to know in advance what you'll do or say"
12: "Spread fear, stress, blindness, paralysis, or exhaustion"
need:
description: "Right now, it needs to..."
table:
2: "Complete its unfinished business"
3: "Defend its territory, kin, or something unknown"
4: "Destroy or control all in its path"
5: "Escape imprisonment, shackles, tethers, or commands"
6: "Escape or distract a threat yet to present itself"
7: "Find a new purpose, victim, master, friend, soul, or host"
8: "Find what it's looking to hoard, eat, or drink"
9: "Follow the command of its master (who may be en route)"
10: "Learn, adapt, or survive this new environment"
11: "Mate, assimilate, or implant"
12: "Trade or swap something the party has or can find"
# Pre-baked creatures
ready_to_bake:
boneplasm_totem:
description: "One of many in the realm. Harvested from bones of the fallen. May sense movement, cracking open, letting veins, viscera, and eyeballs sluice out."
number: 1
max_health: 9
armour: -3
to_hit: 2
damage: "1d6+1 (acidic)"
grit: null
feature: "Spray boiling blood, reform and suck contents back in"
need: "Guard something of import nearby"
frother:
description: "Disfigured monstrosity, human-sized, mouth of yellowed froth, putrid grey flesh, patches of blood-darkened fur, twisted limbs."
number: "2d6"
max_health: 6
armour: -2
to_hit: 1
damage: "1d6+2 (teeth & claws)"
grit: 9
feature: "Grapple & teleport nearby, infect victims with mutation"
need: "Spread its plague, divide and weaken its prey"
karrion_drone:
description: "Hideous, partially inside-out, child-sized insect, undead, feasting on fresh corpses, leaving behind healing nectar."
number: "1d6"
max_health: 3
armour: -1
to_hit: 0
damage: "1d6 (sting, poison)"
grit: 5
feature: "Pollinate healing nectar, phase into ethereal plane"
need: "Carry rotten nectar to the hive, its gyne & brood"
screebies:
description: "Tiny mechanical construct hive mind insectoids. Seek to burrow under skin to lay eggs."
number: "3d6"
max_health: 2
armour: -1
to_hit: -1
damage: "1d6-2 (bite)"
grit: 7
feature: "Connect host to hive for symbiotic control"
need: "Find a host before internal circuitry fails"
shift_mimic:
description: "Takes any form. Glare at it and you might trade places, trapped, watching it walk off in your body."
number: 1
max_health: "per host"
armour: "per host"
to_hit: "per host"
damage: "per host"
grit: 10
feature: "Automate host to protect itself"
need: "Survive, persuade others it is the host"
volcartek:
description: "Large earthen elemental, volcanic ash coating, molten lava spilling from cracked black rock. Guardian of subterranean tunnels."
number: 1
max_health: 15
armour: -4
to_hit: 2
damage: "1d6+4 (slam or burn)"
grit: 11
feature: "Expand, glide over lava, sense & generate tremors"
need: "Guard against passage through tunnels"
+222
View File
@@ -0,0 +1,222 @@
# Curiosities of the Chaos — Spark & Inspiration Tables
# Use these to add flavour, twists, and colour to any scene.
player_absent:
description: "A player is missing this session. Their character..."
table:
2: "Fell into a deep sleep — needs carted around or used as a prop"
3: "Got waylaid or knackered — behind the party trying to catch up"
4: "Had a wild idea and scarpered off on a solo mission"
5: "Been replaced by a shapeshifter with their own goal"
6: "Suffering crippling bowel movements — needs to rest up"
7: "Phases in and out ethereally — wild magicks lacing this place"
8: "Sneezed into a rift — temporarily lost in a pocket realm"
9: "Vanishes without reason — when they return: 'I'll explain later'"
10: "Eaten then regurgitated safely by a large worm... back soon"
11: "Sent for firewood / to take a leak, hasn't returned"
12: "Summoned by a devil to complete contracted jury duty"
entrance:
description: "The way in, or the next entrance, seems to be..."
table:
2: "Bolted on both sides, numerous locks, maybe arcane"
3: "Coated in sprawling, animated vegetation — snaps and bites"
4: "Err... looking at us?"
5: "Formed from bones of fallen souls — torment those nearby"
6: "Guarded or created by insects or tiny creatures"
7: "Illusory — opaque when disturbed, observed remotely"
8: "Not an entrance at all... painted on the wall maybe?"
9: "Partially submerged within foul, putrid sewage water"
10: "Peppered with traps — some operational, some dormant"
11: "The way into somewhere entirely unexpected... or the way out?"
12: "Warped through age and elements, hard to breach"
small_animal:
description: "That small animal is..."
animal_table:
1: "Covered in coloured boils"
2: "Gazing up in fear at the sky"
3: "Like a furry sponge on legs"
4: "Rolling at speed like a ball"
5: "Screaming wildly but smiling"
6: "Vanishing now and again"
has_table:
1: "A glow that trails after it"
2: "A wound or a fractured limb"
3: "Gnawed at the tip of your boot"
4: "Lots of pals — too many to count"
5: "Snuggled into your clothes"
6: "Torn wings that flutter sadly"
drink_or_drug:
description: "This drink/drug is [colour], smells like [scent], and..."
table:
2: "Burns the throat — taker breathes fire or ice"
3: "Conveys temporary foresight into the near future"
4: "Heals 1 HP, but increases stress by 2"
5: "If consumed daily, enhances something but gives permanent stress"
6: "Long-expired — leaves taker with virulent stomach upset"
7: "Mutates cells — taker transforms in appearance"
8: "Phases the consumer into another realm or place"
9: "Releases eggs into the blood — hatch corrosive insects"
10: "Shrinks or grows the taker considerably"
11: "Taps the consumer into the mind of someone nearby"
12: "Temporarily enhances or inhibits something (GM's discretion)"
trinket:
description: "This little trinket is..."
trinket_table:
1: "Like a spyglass with horns"
2: "Malfunctioning but fixable"
3: "Putty soft but can harden"
4: "Spinning and lit in green"
5: "Stuck halfway into a crack"
6: "Too heavy to lift"
has_table:
1: "A button too tiny for a finger"
2: "A map scroll inside it"
3: "A ticking sound from within"
4: "A unique way of unlocking"
5: "A way of being forgotten quickly"
6: "An identical one elsewhere"
training:
description: "This training/research will take [time + cost], and will..."
table:
2: "Anger your mentor — they wash their hands of you"
3: "Burn you out — reduce a trait or max health by 1"
4: "Connect you with a new pal — invites you to join a guild"
5: "End — but your mentor seeks help from you and the party"
6: "Enhance a trait by 1"
7: "Fail — leave you with a lasting wound or permanent stress"
8: "Increase your max health by 1"
9: "Not enhance anything — marks you with random arcane power"
10: "Open up a quest when your mentor disappears"
11: "Reveal your mentor is a wanted criminal... but innocent?"
12: "Succeed — attract unwanted repute, rumours, or hassle"
realm_happenings:
description: "What's happening in the Realm right now?"
table_1_3:
factions:
- "The Empire plans to invade & plunder The Realm."
- "The Reaper, serving The Emperor, seeks lichdom in The Realm."
- "The Wilds terrorise The Realm from The Wilderness."
- "The Huntswoman hunts weavers for The Reaper."
table_4_6:
factions:
- "The Darkmal uses The Realm to spawn a beast army."
- "The Ghast (daughter of The Darkmal) works against him."
- "The Ancients cult foretold The Darkmal's coming."
- "The Paragon, if unearthed, may kill The Darkmal."
dodgy_directions:
description: "How did you say we get there?"
table:
2: "Crest the hill, align this doo-dah to the shape of the hills, follow that"
3: "Look for a windmill, abandoned it is — well, apart from..."
4: "Just past that whopping big tree that looks like it's lookin' back"
5: "Take a left when you see the gallows... don't look at the skeletons"
6: "There are old beacons from here to there, but some are cursed"
7: "There's water, it doesn't move, go around it, don't glare at the light"
8: "Remember there are two entrances — take the left, more scary one"
9: "Rumour has it the arrow only appears at dark... go the other way"
10: "There's a trail of bones that'll take you all the way there"
11: "When you start hearin' whispers, you're on the right track"
12: "You'll see little Banckit sitting on a wall — he'll direct you... if you sing"
watch_out:
description: "Watch out for that..."
table:
2: "Air current — once it shifts, you could lose your head"
3: "Bandit gang... and small rabbits that follow you everywhere"
4: "Bunch of blackened rocks — they don't belong in this world"
5: "Bunch of wildlings out there — hunt in packs, never give up"
6: "Dancing light thing — if you follow it, you're in trouble"
7: "Ground — in some patches, not as firm as it looks"
8: "Grove of flowers — if one of you sees a yellow one, you're doomed"
9: "Howling at night — once it starts, they've smelled you"
10: "Krenva — his gear prices are great, but if your rations start talkin'..."
11: "Red mist — makes your eyes bleed if you ain't careful"
12: "Tower that looks... weird — always seems to be on the move"
creepy_vibe:
description: "This place is creepy — it's like..."
table:
2: "Alive. The entire place is pulsing, breathing."
3: "Closing in around you, suffocating you step by step."
4: "Every sound echoes back, delayed and whispered."
5: "Every step creaks, but the floor is stone."
6: "Illuminated in dim light without a source — turning yellow."
7: "Abandoned, but it feels like something's here."
8: "Someone's watching... is that ticking?"
9: "Burning smell tinged with strawberries."
10: "That flickering orb wants us to follow it."
11: "Shuffling feet getting nearer... or not."
12: "The air is acrid — blood, decay, mint."
13: "Water nearby, but arid dryness in the mouth."
14: "Fog curls and shifts to let you through."
15: "Way warmer than expected, but cold within."
16: "You've been transported elsewhere."
17: "Tapping now and again on your shoulder or the walls."
18: "A sense of falling, though you stand still."
npc_knows:
description: "This NPC knows something about a character's..."
table:
1: "Ex-lover"
2: "Family member"
3: "Hidden birth mark or feature"
4: "Mentor or arch nemesis"
5: "Previous career or home"
6: "Weakness or fear"
chalk_circle:
description: "This chalk circle might..."
table:
3: "Be drawn by an invisible hand as the party arrives"
4: "Be nothing more than a chalk circle"
5: "Rub out in a breeze and become inoperable"
6: "Contain a small bunny — scared or teased out, it evaporates"
7: "Contain a trap concealed by illusion"
8: "Contain something that tries to bargain to escape"
9: "Echo — another circle elsewhere to talk back and forth"
10: "Emit a beautiful scent — inside the circle, poison gas"
11: "Have one treasure within — too heavy to move"
12: "Make those within it dance beyond exhaustion"
13: "Mutate the floor into a mouth — swallows all upon it"
14: "Protect those within it from what's approaching"
15: "Shift colours — devious pixie work"
16: "Summon a presence from another plane"
17: "Teleport you to a random circle elsewhere in The Realm"
18: "Transform the appearance of those within it — permanently?"
only_way_in:
description: "Wait, so the only way in is..."
table:
1: "Also the only way to escape what's behind us?"
2: "Closing fast — and we can see what's waiting inside?"
3: "Doing a job badly, taking the blame, ruining our reputation?"
4: "Sacrificing someone or something we can't live without?"
5: "Past that gang — one of whom has four arms?"
6: "Through the mouth of a huge dead worm — that might not be dead?"
ask_players:
description: "Questions to ask the players during a scene."
table:
3: "As you move, what are you looking for, and how, and why?"
4: "Do you carry an item that means something to you? What is it?"
5: "Didn't you dream about this last night? What happened?"
6: "If not for this, what would you be doing? What do you share?"
7: "In moments like this, what's your likely catch phrase?"
8: "Someone let one rip... own up, who was it?"
9: "Something about your chains, discords, or what's gone wrong?"
10: "Something strikes against your morals here — what is it?"
11: "This rumour or job — what's worrying you about it?"
12: "Something catches your attention? What do you see or hear?"
13: "What's your biggest fear or hope right now? How do you show it?"
14: "What's your plan for after all this? What do you tell the others?"
15: "What's your routine here? What keeps you sane and ready?"
16: "You heard a rumour about something here... what was it?"
17: "You hear something faint — what did it sound like?"
18: "You've got a bad habit — don't we all? What's yours?"
+155
View File
@@ -0,0 +1,155 @@
# Souls of the Chaos — Character Creation Cards
# Draw from these tables to create or modify a character.
traits:
description: "Roll 3d6 for each trait (STR, DEX, WIL). Lower is better."
sides: 6
count: 3
per_trait: true
thing:
description: "Your character's 'class' or archetype. Determines max health modifier."
table:
1: { name: "The Brute", health_mod: 2, hint: "Strong, tough, direct." }
2: { name: "The Cunning", health_mod: 0, hint: "Sly, quick, resourceful." }
3: { name: "The Guardian", health_mod: 2, hint: "Protective, sturdy, watchful." }
4: { name: "The Shadow", health_mod: 0, hint: "Stealthy, elusive, silent." }
5: { name: "The Weaver", health_mod: -1, hint: "Arcane, perceptive, strange." }
6: { name: "The zealot", health_mod: 1, hint: "Driven, faithful, relentless." }
max_health:
description: "Roll 2d6 + thing modifier. Minimum 2."
formula: "2d6 + thing_mod"
starting_cash:
description: "Roll 3d6 × 5 for starting silver."
formula: "3d6 * 5"
failed_career:
description: "What you did before adventuring (and failed at)."
table:
1: "Alchemist's assistant — your master's lab exploded."
2: "Barber-surgeon — you lost more patients than you saved."
3: "City watch — you were fired for taking bribes / sleeping on duty."
4: "Coin counter — you embezzled and fled."
5: "Ditch digger — you hit a sewer main and flooded the street."
6: "Farmhand — the farm was cursed / burned / eaten by beasts."
7: "Grave keeper — the dead started walking, and you walked faster."
8: "Hedge knight — your employer died under your 'protection'."
9: "Inn keep — the inn was repossessed / burned down."
10: "Jester — your jokes landed you in a dungeon."
11: "Letter carrier — you lost the mail (all of it, somehow)."
12: "Mercenary — your company was routed, you were the sole survivor."
whats_gone_wrong:
description: "Something that's haunting you right now."
table:
1: "A debt you cannot pay is coming due."
2: "A powerful person wants you dead or captured."
3: "You're cursed — minor but annoying."
4: "You lost something irreplaceable."
5: "Someone you love is in danger."
6: "You're being blackmailed."
7: "You have a secret that would destroy your reputation."
8: "An old ally now considers you a betrayer."
9: "You're addicted to something dangerous."
10: "You witnessed something you were never meant to see."
11: "A rival frames you for crimes you didn't commit."
12: "Something from your failed career catches up with you."
chains:
description: "Who or what ties you to this world? Roll or choose."
table:
1: "A sibling who depends on you."
2: "An oath you swore and cannot break."
3: "A child you're protecting."
4: "A mentor who taught you everything."
5: "A pet or companion that follows you."
6: "A debt of honour to a family."
7: "A sacred duty to a forgotten god."
8: "A bloodline you're the last of."
9: "A promise to a dying friend."
10: "A community that raised you."
11: "A lover you're searching for."
12: "A kingdom you're trying to restore."
discords:
description: "Who or what makes your life harder?"
table:
1: "A rival who wants what you have."
2: "A faction that hunts your kind."
3: "An ex-partner full of spite."
4: "A religious order that condemns you."
5: "A gang you crossed."
6: "A noble whose name you sullied."
7: "A monster that remembers you."
8: "A liar who spreads rumours about you."
9: "A creditor who never forgets."
10: "A family feud that reignites."
11: "A thief who stole your identity."
12: "A corrupt official with a grudge."
gear:
description: "Starting equipment. Spend cash on this."
table:
cheap:
- { item: "Rope (30ft)", cost: 1 }
- { item: "Torches (3)", cost: 1 }
- { item: "Rations (3 days)", cost: 1 }
- { item: "Waterskin", cost: 1 }
- { item: "Chalk (10 pieces)", cost: 1 }
- { item: "Candle", cost: 1 }
- { item: "Flint & steel", cost: 1 }
- { item: "Small sack", cost: 1 }
- { item: "Bedroll", cost: 2 }
- { item: "Crowbar", cost: 2 }
- { item: "Grappling hook", cost: 3 }
- { item: "Lantern", cost: 3 }
- { item: "Oil (flask)", cost: 1 }
- { item: "Tent", cost: 3 }
- { item: "Healing salve (restores 1 HP)", cost: 5 }
- { item: "Antitoxin", cost: 5 }
luxury:
- { item: "Fine clothes", cost: 10 }
- { item: "Jewellery", cost: 15 }
- { item: "Musical instrument", cost: 10 }
- { item: "Writing kit", cost: 8 }
- { item: "Spyglass", cost: 20 }
hittin_tools:
description: "Weapons. Each has a damage modifier."
table:
1: { name: "Dagger", damage_mod: 0, cost: 3, note: "Small, concealable" }
2: { name: "Short sword", damage_mod: 0, cost: 5, note: "Reliable" }
3: { name: "Long sword", damage_mod: 1, cost: 8, note: "Versatile" }
4: { name: "Axe", damage_mod: 1, cost: 7, note: "Can be thrown" }
5: { name: "Mace", damage_mod: 1, cost: 6, note: "Bypasses some armour" }
6: { name: "Spear", damage_mod: 0, cost: 4, note: "Reach, can be thrown" }
7: { name: "Bow", damage_mod: 0, cost: 7, note: "Two-handed, ranged" }
8: { name: "Crossbow", damage_mod: 1, cost: 10, note: "Two-handed, slow to reload" }
9: { name: "Staff", damage_mod: -1, cost: 1, note: "Two-handed, can be focus" }
10: { name: "Flail", damage_mod: 1, cost: 8, note: "Ignores shield bonus" }
11: { name: "Hatchet", damage_mod: 0, cost: 4, note: "Light, off-hand" }
12: { name: "Improvised", damage_mod: -1, cost: 0, note: "Bottle, chair leg, etc." }
whack_blunters:
description: "Armour reduces incoming damage."
table:
1: { name: "Padded", reduction: -1, cost: 5, note: "Quiet" }
2: { name: "Leather", reduction: -1, cost: 8, note: "Flexible" }
3: { name: "Studded leather", reduction: -2, cost: 15, note: "Light" }
4: { name: "Chain shirt", reduction: -2, cost: 25, note: "Covers torso" }
5: { name: "Scale mail", reduction: -3, cost: 35, note: "Noisy" }
6: { name: "Plate", reduction: -4, cost: 50, note: "Heavy, noisy" }
7: { name: "Shield", reduction: -1, cost: 10, note: "Can be used to shove" }
8: { name: "Helmet", reduction: -1, cost: 8, note: "Only vs head shots" }
arcane_weavin:
description: "Optional. If you play a Weaver, roll to see your arcane flavour."
table:
1: "Wild magicks — unpredictable, surges happen."
2: "Blood magicks — costs health to cast."
3: "Bone magicks — requires remains or tokens."
4: "Storm magicks — tied to weather and sky."
5: "Veil magicks — deals with spirits and the dead."
6: "Rune magicks — inscribed, prepared in advance."
+56
View File
@@ -0,0 +1,56 @@
# End Game — Closure & Epilogue
## When the Story Ends
The game ends when one of these conditions is reached:
1. **Death** — The character dies and is not revived. The story ends with their final moments.
2. **Quest Complete** — The main story arc reaches a definitive conclusion (the Darkmal is defeated, the Realm is saved or lost, etc.).
3. **Player Retires** — The player decides their character's journey is over and invokes the end.
4. **Mutual TPK** — All party members (if any) have fallen. The Realm's fate is sealed.
## The End Marker
When the story ends, the LLM must include this exact string as a level-3 heading in the narrative:
```
### THE END
```
Everything after this marker is the **epilogue**, which contains:
1. **Why** — A brief statement of why the story ended (death, quest completion, retirement, etc.).
2. **What Happened** — A summary of the final events.
3. **The World After** — At least 2-3 paragraphs describing how the world and its key characters evolved and moved on after the event. This is the closing of the book.
## Example Epilogue Structure
```
### THE END
**Why:** Dillion fell in the final battle against the Darkmal.
**What Happened:** Dillion faced the Darkmal in the heart of the Spire. The battle was fierce — Dillion's blade found its mark, but the Darkmal's final curse was fatal. Both fell.
**The World After:**
The Realm mourned. In the years that followed, the scars of the Darkmal's reign slowly healed. The villages rebuilt, and the wilds grew quiet once more...
Rina took up Dillion's cause, traveling the Realm to protect those who could not protect themselves. She spoke often of the weaver who stood against the darkness...
The Reaper, denied his prize, vanished into the eastern wastes. Some say he still searches for a path to lichdom, but without the Darkmal's power, his reach is broken...
```
## After the End
Once the marker is detected, the TUI shows a "Close the Book and Start a New One" button. Clicking it:
1. Archives the current session folder into `archive/<hero-name>/` with a timestamp.
2. Clears all session state for a fresh start.
3. Presents the character creation flow again.
## Technical Notes
- The LLM must output `### THE END` exactly as shown — case-sensitive, with a space before "THE".
- Only the narrative tool block should contain the marker. No other tool blocks are needed for ending.
- The LLM should **not** call any state-changing tools after the marker — the epilogue is narrative-only.
+284
View File
@@ -0,0 +1,284 @@
# The Chaos — Full Mechanics Reference
## Core Dice
- **d6**: Standard six-sided die. All rolls use d6.
- **Odds (Rapid Rulin')**: Roll 1d6. 4+ favours the character(s). 3- is trouble.
- **Traits**: Roll 3d6. If result is **lower than** the relevant trait score, you succeed.
## Character Stats
- **Traits** (STR, DEX, WIL): Roll 3d6 for each. Lower is better.
- **Max Health**: 2d6 + Thing modifier (min 2).
- **Starting Cash**: 3d6 × 5 silver.
- **Damage**: 1d6 + weapon damage mod + other mods - target armour reduction.
## Equipment
### Weapons
| Weapon | Damage Mod | Cost | Note |
|--------|-----------|------|------|
| Dagger | +0 | 3 | Small, concealable |
| Short sword | +0 | 5 | Reliable |
| Long sword | +1 | 8 | Versatile |
| Axe | +1 | 7 | Can be thrown |
| Mace | +1 | 6 | Bypasses some armour |
| Spear | +0 | 4 | Reach, can be thrown |
| Bow | +0 | 7 | Two-handed, ranged |
| Crossbow | +1 | 10 | Two-handed, slow to reload |
| Staff | -1 | 1 | Two-handed, can be focus |
| Flail | +1 | 8 | Ignores shield bonus |
| Hatchet | +0 | 4 | Light, off-hand |
| Improvised | -1 | 0 | Bottle, chair leg, etc. |
### Armour
| Armour | Reduction | Cost | Note |
|--------|----------|------|------|
| Padded | -1 | 5 | Quiet |
| Leather | -1 | 8 | Flexible |
| Studded leather | -2 | 15 | Light |
| Chain shirt | -2 | 25 | Covers torso |
| Scale mail | -3 | 35 | Noisy |
| Plate | -4 | 50 | Heavy, noisy |
| Shield | -1 | 10 | Can be used to shove |
| Helmet | -1 | 8 | Only vs head shots |
### Equipment Costs
| Item | Cost | | Item | Cost |
|------|------|---|------|------|
| Rope (30ft) | 1 | | Healing salve | 5 |
| Torches (3) | 1 | | Antitoxin | 5 |
| Rations (3 days) | 1 | | Fine clothes | 10 |
| Waterskin | 1 | | Jewellery | 15 |
| Bedroll | 2 | | Musical instrument | 10 |
| Crowbar | 2 | | Writing kit | 8 |
| Grappling hook | 3 | | Spyglass | 20 |
| Lantern | 3 | | Tent | 3 |
## Conflict (Combat)
### Before Conflict (Encounter Start)
1. **Distance**: 2d6 × 10 (metres/feet) — how far threat is from character(s).
2. **Surprise**: 1d6 — 1-2 characters surprised, 3-4 creatures surprised, 5 both, 6 neither.
3. **Grit**: 2d6 — check against grit score or grit tables.
### During Conflict (Each Round ≈ 10 seconds)
1. **State Intentions** — What does each side want to do?
2. **Grit** (creatures/NPCs) — Roll 2d6, check grit score/tables.
3. **Initiative** — Both sides roll 1d6. Winner acts first. Same = simultaneous.
4. **Turns** — Roll 1d6 ± modifiers. 4+ = success. 3- = take a hit.
5. **Damage** — 1d6 + weapon mod - target armour.
### New Paths (Alternatives to Fighting)
- **Run off** — Check conditions and surprise.
- **Dodge & Parry** — Roll 1d6 + 1. 4+ move without hit. If lost initiative, enemy gets -1 to hit.
- **Parley** — Check grit, use relevant traits. Resolve organically.
- **Innovate** — Check complications and grit. Resolve naturally.
## Exploration Loop
When exploring perilous areas, time narrows into **6 ten-minute watches** (total = 1 hour).
Each meaningful action (search, make noise, deal with trap, etc.):
1. Player states intent
2. GM calls for roll (odds or traits)
3. Result determines outcome
4. Mark a watch box
After 6 watches, the situation usually changes (random encounter, scene shift, etc.).
## Travel & Hazards
### Terrain Effects
| Terrain | Effect |
|---------|--------|
| Forest | Dense trees, poor visibility, lots of cover |
| Marsh | Slow movement, sinking hazards, biting insects |
| Hills | Good vantage points, exhausting climbs |
| Plains | Exposed, fast travel, little cover |
| Ruins | Partial cover, unstable floors, hidden chambers |
| Mountains | Slow travel, avalanches, thin air, caves |
### Weather Effects
| Weather | Effect |
|---------|--------|
| Clear | Good visibility, normal travel |
| Overcast | Dim light, muffled sounds |
| Heavy rain | Reduced visibility, fires hard to light, tracks wash away |
| Fog | Everything obscured beyond 20ft |
| Wind storm | Ranged attacks at disadvantage, noise hides ambushes |
| Sweltering heat | Exhaustion risk, water consumption doubles |
### Travel Mishaps (1d6 when travelling)
| d6 | Mishap |
|----|--------|
| 1 | Character twists an ankle. -1 on all rolls until rest |
| 2 | Supplies damaged or lost. Ruined rations, broken gear |
| 3 | Wrong turn. Add 1 extra watch to travel time |
| 4 | Loud noise attracts unwanted attention |
| 5 | Minor injury. 1d6: 1-2 take 1 damage |
| 6 | Something valuable slips from a pocket or pack unnoticed |
## Wounds & Death
When reduced to 0 HP, roll 1d6:
- **1-2**: Die immediately.
- **3-4**: Lasting wound — reduce max health by 1.
- **5-6**: -1 modifier on all rolls until healed.
## Grit Mechanic
Creatures and NPCs roll 2d6 for grit. Higher = more determined. Check against grit score or:
- Result > grit score → they look for the exit.
- Result ≤ grit score → they press the attack.
## Roll Modifiers
| Situation | Modifier |
|-----------|----------|
| Favourable position | +1 |
| Risky or rushed | -1 |
| Desperate | -2 |
| Well-prepared | +1 |
| Poor visibility | -1 |
| Using a relevant trait | +1 |
## Darkness
Most creatures see fine in the dark. Characters without a light source:
- Roll at -1 on actions
- Surprise chance increases
- Exploration loop takes longer
## Complications
When the dice say "yes, but...":
- Success costs something (gear, time, health)
- Unexpected noise attracts attention
- A secondary problem emerges
- The situation escalates
## Stress
Stress builds from traumatic events, supernatural exposure, and sustained hardship.
### Stress Triggers
- Witnessing death or horror
- Supernatural exposure (wild magicks, curses, possession)
- Prolonged deprivation (no rest, no food, extreme environments)
- Failed grit checks in dire situations
### Stress Effects
- Each point of accumulated stress applies -1 to all rolls
- At stress > WIL score: disadvantage on all actions until stress is reduced
- At stress > 2× WIL: character breaks (flee, freeze, frenzy — GM's call)
### Stress Recovery
- Short rest in safety: reduce stress by 1
- Long rest in safe haven: reduce stress by 1d6
- Healing salve does NOT reduce stress
- Strong drink or drugs may temporarily suppress stress but risk addiction
## Wild Magicks
The Realm bleeds chaos. Wild magicks surge when:
- A Weaver fails a casting roll
- A magical artefact is used carelessly
- The veil between realms is thin (GM's call)
- The dice say "yes, but..." involving magic
### Surge Effects (1d6)
| d6 | Effect |
|----|--------|
| 1 | Character briefly swaps places with their reflection |
| 2 | Gravity inverts in a 50ft radius |
| 3 | All flames turn blue and cold — still burns |
| 4 | Vegetation rapidly grows, entangling everyone |
| 5 | Character speaks only in reverse for the next hour |
| 6 | Time loops for 10 seconds — everyone repeats their last action |
## Arcane Weaving
Weavers channel magic through their chosen flavour. Each flavour has a narrative cost:
| Flavour | Cost |
|---------|------|
| Wild magicks | Unpredictable — each casting risks a surge |
| Blood magicks | Costs 1 HP per spell |
| Bone magicks | Requires remains or a token of the dead |
| Storm magicks | Tied to weather — stronger in storms, weaker in calm |
| Veil magicks | Deals with spirits — may attract unwanted attention |
| Rune magicks | Requires preparation — inscribed in advance |
Weaving a spell: roll **Odds** (1d6, 4+). On 3- the magic fizzles or backfires (GM's discretion).
## Monster Creation
### Difficulty Tiers
| Tier | Health Formula | To-Hit | Damage | Grit |
|------|---------------|--------|--------|------|
| Easy | 1 + party total max HP | 0 | 1d6-1 (or 3) | 2d6 (or 7) |
| Hard | 6 + party total max HP | +1 | 1d6+1 (or 5) | 2d6+2 (or 9) |
| Oh Boy | 12 + party total max HP | +2 | 1d6+6 (or 10) | 2d6+3 (or 10) |
### Number Appearing
| Tier | Count |
|------|-------|
| Easy | 3d6 |
| Hard | 2d6 |
| Oh Boy | 1d6 |
### Creature Anatomy
Creatures have: type, appearance, size, difficulty, attack method, defence/reduction, special features, and a current need/motivation.
### Pre-Baked Creatures
| Creature | HP | Armour | To-Hit | Damage | Grit | Feature |
|----------|----|--------|--------|--------|------|---------|
| Boneplasm Totem | 9 | -3 | +2 | 1d6+1 (acidic) | — | Spray boiling blood, reform |
| Frother | 6 | -2 | +1 | 1d6+2 (teeth & claws) | 9 | Grapple & teleport, mutation |
| Karrion Drone | 3 | -1 | 0 | 1d6 (sting, poison) | 5 | Pollinate nectar, phase ethereal |
| Screebies (swarm) | 2 each | -1 | -1 | 1d6-2 (bite) | 7 | Burrow under skin, hive control |
| Shift Mimic | per host | per host | per host | per host | 10 | Body swap, automate host |
| Volcartek | 15 | -4 | +2 | 1d6+4 (slam/burn) | 11 | Expand, glide over lava |
## Factions of the Realm
The Realm is torn between several powers:
| Faction | Description |
|---------|-------------|
| The Empire | Plans to invade and plunder the Realm |
| The Reaper | Serves the Emperor, seeks lichdom |
| The Wilds | Terrorise the Realm from the Wilderness |
| The Huntswoman | Hunts weavers for the Reaper |
| The Darkmal | Uses the Realm to spawn a beast army |
| The Ghast | Daughter of the Darkmal, works against him |
| The Ancients | Cult that foretold the Darkmal's coming |
| The Paragon | If unearthed, may kill the Darkmal |
## Downtime Activities
### Training & Research
Cost: time (days) + silver (GM's discretion). Roll 2d6 for outcome.
| 2d6 | Outcome |
|-----|---------|
| 2 | Anger your mentor — they wash their hands of you |
| 3 | Burn you out — reduce a trait or max health by 1 |
| 4 | Connect you with a new ally — invites you to join a guild |
| 5 | End — but your mentor seeks help from you and the party |
| 6 | Enhance a trait by 1 |
| 7 | Fail — lasting wound or permanent stress |
| 8 | Increase max health by 1 |
| 9 | Not enhance — marks you with random arcane power |
| 10 | Open a quest when your mentor disappears |
| 11 | Reveal your mentor is a wanted criminal... but innocent? |
| 12 | Succeed — attract unwanted repute, rumours, or hassle |
## Rest & Healing
- **Short rest** (few hours in relative safety): Recover 1d6 HP, reduce stress by 1.
- **Long rest** (full night in safe haven): Recover all HP, reduce stress by 1d6.
- **Healing salve**: Restores 1 HP when applied.
- **Antitoxin**: Cures one poisoning.
+6
View File
@@ -0,0 +1,6 @@
{
"id": "default",
"name": "The Chaos — Default",
"version": "1.0.0",
"description": "The base game: a dark fantasy realm of wild magic, ancient ruins, and fragile hope."
}