Skip to content

Commit 2e99ae8

Browse files
committed
Add initial YAML data models for campaigns, characters, items, quests, and spells
1 parent 34cb1f9 commit 2e99ae8

5 files changed

Lines changed: 114 additions & 0 deletions

File tree

game/campaigns.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# DnD-style Campaign Data Model
2+
campaigns:
3+
- title: "Ruins of Eldoria"
4+
description: "Explore the ancient ruins and uncover their secrets."
5+
scenes:
6+
- "Eldoria Entrance"
7+
- "Forgotten Library"
8+
npcs:
9+
- "Arin"
10+
- "Borin"
11+
quests:
12+
- "Find the Lost Tome"
13+
- title: "Goblin Wars"
14+
description: "Defend the realm from goblin invasions."
15+
scenes:
16+
- "Bridge Outpost"
17+
- "Goblin Camp"
18+
npcs:
19+
- "Borin"
20+
quests:
21+
- "Defend the Bridge"

game/characters.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# DnD-style Character Data Model
2+
characters:
3+
- name: "Arin"
4+
race: "Elf"
5+
class: "Wizard"
6+
level: 3
7+
stats:
8+
STR: 8
9+
DEX: 14
10+
CON: 12
11+
INT: 18
12+
WIS: 13
13+
CHA: 10
14+
inventory:
15+
- "Wand of Fire"
16+
- "Spellbook"
17+
spells:
18+
- "Magic Missile"
19+
- "Shield"
20+
quests:
21+
- "Find the Lost Tome"
22+
status_effects:
23+
- "Blessed"
24+
- name: "Borin"
25+
race: "Dwarf"
26+
class: "Fighter"
27+
level: 2
28+
stats:
29+
STR: 16
30+
DEX: 10
31+
CON: 15
32+
INT: 9
33+
WIS: 11
34+
CHA: 8
35+
inventory:
36+
- "Battle Axe"
37+
- "Chainmail"
38+
spells: []
39+
quests:
40+
- "Defend the Bridge"
41+
status_effects: []

game/items.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# DnD-style Item Data Model
2+
items:
3+
- name: "Wand of Fire"
4+
type: "Weapon"
5+
description: "Casts fire spells."
6+
properties:
7+
damage: "1d6 fire"
8+
rarity: "Rare"
9+
- name: "Spellbook"
10+
type: "Tool"
11+
description: "Contains wizard spells."
12+
properties:
13+
pages: 100
14+
owner: "Arin"
15+
- name: "Battle Axe"
16+
type: "Weapon"
17+
description: "Heavy axe for melee combat."
18+
properties:
19+
damage: "1d8 slashing"
20+
rarity: "Common"
21+
- name: "Chainmail"
22+
type: "Armor"
23+
description: "Protective metal armor."
24+
properties:
25+
ac_bonus: 5
26+
weight: 40

game/quests.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# DnD-style Quest Data Model
2+
quests:
3+
- title: "Find the Lost Tome"
4+
description: "Recover the ancient tome from the ruins."
5+
status: "active"
6+
rewards:
7+
- "Spellbook"
8+
- title: "Defend the Bridge"
9+
description: "Protect the bridge from goblin raiders."
10+
status: "active"
11+
rewards:
12+
- "Battle Axe"

game/spells.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# DnD-style Spell Data Model
2+
spells:
3+
- name: "Magic Missile"
4+
level: 1
5+
school: "Evocation"
6+
description: "Shoots magical darts."
7+
effect:
8+
damage: "1d4+1 force"
9+
- name: "Shield"
10+
level: 1
11+
school: "Abjuration"
12+
description: "Creates a magical barrier."
13+
effect:
14+
ac_bonus: 5

0 commit comments

Comments
 (0)