feat(content): calling + race blurbs, loaded by ContentDB
Hand-written like items/ — no build-tool namespace needed. Blurbs are content; mechanics are code, and a test asserts the blurb files carry no hit dice. The prose is placeholder; swapping it later touches no code, which is what stops the content BOM from blocking the engine. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QYa9u7Kdxv5gX4AnwWexy8
This commit is contained in:
1
content/world/callings/bloodsworn.json
Normal file
1
content/world/callings/bloodsworn.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "bloodsworn", "name": "Bloodsworn", "blurb": "You made a bargain with one of the Seven and it was accepted. The power is real. So is the ledger, and it is not settled." }
|
||||
1
content/world/callings/bonesetter.json
Normal file
1
content/world/callings/bonesetter.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "bonesetter", "name": "Bonesetter", "blurb": "The Warden is distant and does not explain himself. Still — you set the bone, you say the words, and often enough the rot does not take. Often enough." }
|
||||
1
content/world/callings/cutpurse.json
Normal file
1
content/world/callings/cutpurse.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "cutpurse", "name": "Cutpurse", "blurb": "Purses, locks, confidences — you have taken all three. The trick was never the hands. It was knowing which pocket was worth it." }
|
||||
1
content/world/callings/hedge_mage.json
Normal file
1
content/world/callings/hedge_mage.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "hedge_mage", "name": "Hedge-Mage", "blurb": "No tower took you. What you know, you got from a book you should not have had and a teacher who is not alive to confirm it." }
|
||||
1
content/world/callings/reaver.json
Normal file
1
content/world/callings/reaver.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "reaver", "name": "Reaver", "blurb": "They hire you when they want a door opened and do not care about the door. You do not wear plate. You have never needed it." }
|
||||
1
content/world/callings/sellsword.json
Normal file
1
content/world/callings/sellsword.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "sellsword", "name": "Sellsword", "blurb": "You fight for money. You are good at it, and the work has never once run out." }
|
||||
1
content/world/callings/trapper.json
Normal file
1
content/world/callings/trapper.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "trapper", "name": "Trapper", "blurb": "You worked the treelines until the treelines ran out of anything worth taking. A snare does the waiting for you, and you have learned to wait." }
|
||||
1
content/world/races/beastfolk.json
Normal file
1
content/world/races/beastfolk.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "beastfolk", "name": "Beastfolk", "blurb": "Claws you did not ask for and a nose you cannot switch off. Every gate you pass, someone decides what you are before you speak." }
|
||||
1
content/world/races/dwarf.json
Normal file
1
content/world/races/dwarf.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "dwarf", "name": "Dwarf", "blurb": "You have drunk worse and survived worse. The rot that takes other men tends to think better of it." }
|
||||
1
content/world/races/elf.json
Normal file
1
content/world/races/elf.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "elf", "name": "Elf", "blurb": "You see in the dark and you notice things. Neither has made you popular in a town that would rather not be noticed." }
|
||||
1
content/world/races/human.json
Normal file
1
content/world/races/human.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "id": "human", "name": "Human", "blurb": "Short-lived, adaptable, everywhere. The Margreave is mostly yours, for whatever that has been worth." }
|
||||
Reference in New Issue
Block a user