# OSE Character Generator

This tool uses the Old School Essentials (OSE) ruleset for tabletop RPGs in order to randomly generate a character.

## Overview

### What is Dungeons & Dragons?
Dungeons & Dragons, also known as D&D, is a pen and paper table top game. One player is the story teller, the "dungeon master" and the others interact with the story using their "adventurers." An adventurer is a playable character, who has a mixture of abilities and powers, the details of which are often kept on piece of paper called a "character sheet."

### How does the game work?
Most settings are fantasy based, like game of thrones or lord of the rings. Players often pick up a quest in one of these fantasy worlds, guided by the "Dungeon Master" who narrates the world. The players will make decisions, take actions, and ultimate help write the story as it unfolds.</p>

### Why would I need a character generator?
It takes time and effort to create a new character; there are many rules, phrases, and terminology you'll need to know to create a character. Most rule books provide an easy to follow guide on making player characters or "adventurers." However, if you are short on time, a generator such as this will get you in the game right away!

### About This App
This app accomplishes a few things, but mainly it creates a character for you.

- It follows the rules precisely from the books to generate a legal character
- All stats are randomly rolled, but a class is chosen per your best stats
- Character equipment and spells are also randomly selected, within that character-class rules
- You can generate a whole party of characters
- Within that party, you can adjust their level, and the number of characters
- You can create a single character to edit


## Instructions

### Install
This is a flask web application, to install:

1. Clone this repo
2. Install requirements, `python3 pip install -r requirements.txt`
3. To run the webserver execute `flask run` while in your cloned repository's top folder.

### To Use
There are two main generators, one for a single character and another for a group, or a "party" of characters.
1. Character Generator
    - You may select a class and a level
    - The re-roll button always starts the character back to level 1
2. Party Generator
    - You may also select the level for this group
    - You may select the count, between 2 and 5.
    - If you want to have the party persist across refreshes, level and size changes, keep "cached" on
        - Otherwise, "not cached" will always generate a new party
    - If you find a single character interesting, you may "select" them and it will load **this** character in the "charater generator."

