Inspired By: https://github.com/guyroyse/evercraft-kata
As a player, I want to create a character sheet that contains the basic information of my character:
- Name
- Alignment
- Physical description (gender, age, size, hair color, skin color)
Once my sheet is created this information must be locked for changes.
As a player, I want to have an indicator of Armor Class
and Health Points
on my sheet. As default, I want my Armor Class
to be set to 10 and my Health Points
to be 20.
As a player, I want to use my character to attack another character.
- To perform an attack I shall roll a 20 sided die.
- If roll meets or beats my target's AC the strike is successful.
- Upon a successful attack my target loses 1 HP.
As a player when I roll a natural 20 on the die during an attack, I want my damage to be doubled. If I roll a natural 1 the attack is unsuccessful.
- A natural 20 is a successful attack even if AC wasn't met.
- A natural 1 is an unsuccessful attack even if AC was met.
- If original damage was 1 a critical strike damage is 2.
As a player I want any character to die when it reaches 0 health points.
- Once a character's HP is zero that character is dead.
- A character can have negative HP.
- A character with less then 0 HP cannot be targeted.
As a player, I want my character to have the following ability scores:
- Strength
- Dexterity
- Constitution
- Wisdom
- Intelligence
- Charisma
They all have a default value of 10 and range from 1-20.
Each has a modifier value, that ranges according to the following table:
Scores | Modifiers |
---|---|
1 | -5 |
2-3 | -4 |
4-5 | -3 |
6-7 | -2 |
8-9 | -1 |
10-11 | 0 |
12-13 | +1 |
14-15 | +2 |
16-17 | +3 |
18-19 | +4 |
20 | +5 |
As a player I want the strength modifier of my character to be applied on combat.
- Apply strength modifier to attack rolls
- Apply strength modifier to damage rolls
As a player I want the dexterity modifier of my character to be applied in my Armor Class Rating.
- Armor Class rating is now 10 (default) + Dexterity modifier
- Modifier is applied even if dexterity is negative
As a player I want the constitution modifier of my character to be applied in my Health Points.
- Total Health point are 20 (default) + Constitution modifier
- Modifier is applied even if constitution is negative
As a player I want to start a combat with another character.
- One character attacks each time
- The combat ends when the first character dies
As a player I want to roll an initiative check at the beginning of a combat to determine which character should make the first attack.
- Each player rolls as 20 sided die
- Dexterity modifier is applied to result
- Highest initiative starts the combat
As a player I want to gain experience upon winning a combat.
- A character wins 100 experience points after winning a combat.
- A character gets an extra 5 points of experience for each critical hit during the combat.
As a player I want increase my character's level with experience and get better bonuses each level.
- Characters can range from level 1-20
- Each level takes:
current_level * 1000
experience points to increase. - Each level gives a
1 + constitution modifier
health points to the character - Each level gives
+1
to character damage
Level table:
Level | Total Experience |
---|---|
1 | 0 |
2 | 1000 |
3 | 3000 |
4 | 6000 |
... | ... |
As a player, during the creation of my character, I want to have a class assigned to it.
Each class will change the capabilities of my character in the following:
- Initial Health points is determined by a die roll of class
Health Die
- Class specific attack and damage modifiers
The default class is called Peasant
, this class has the following attributes:
- Health die is:
1d4
-1
in all Attack Rolls
As a player, during character creation, I want to be able to choose between Fighter
, Rogue
and Paladin
as my character's class.
- Health die is:
1d10
+1
in all Attack Rolls
- Health die is:
1d8
+1
in all Damage Rolls
- Health die is:
1d12
+2
in Armor Class
As a player, when I choose a class, I want to have special abilities from that class.
+1
damage when targetingEvil Aligned Creatures
.
- Once per combat, the fighter can attack twice.
- A rogue critical hit is multiplied by
3
other than2
.
As a player, during character creation, I want to choose a race for my character. Race choice is permanent. Races define the core capabilities of my character changing it's abilities, giving advantages and disadvantages.
The default race for all characters is Human
.
Humans get no bonuses nor penalities.
As a player, during character creation, I want to be able to choose between Human
, Elf
and Dwarf
as a race for my character.
+2
Dexterity-2
Constitution
+2
Constitution-2
Charisma