From 06a5e5139b5a4525247489cec817f213e771b58e Mon Sep 17 00:00:00 2001 From: Vytor Calixto Date: Mon, 9 Dec 2024 19:23:07 -0300 Subject: [PATCH] docs: update README --- README.md | 61 +++++++++++++++-------------------------------- docs/combatant.md | 50 -------------------------------------- docs/condition.md | 10 -------- docs/encounter.md | 11 --------- 4 files changed, 19 insertions(+), 113 deletions(-) delete mode 100644 docs/combatant.md delete mode 100644 docs/condition.md delete mode 100644 docs/encounter.md diff --git a/README.md b/README.md index 351e992..f95b918 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,33 @@ # Battlemaster +Battlemaster is a combat management tool for tabletop RPGs, supporting systems such as D&D 5e, Pathfinder 2e, and custom game engines. It focuses on assisting the game master in tracking combatants, managing initiative, and applying game-specific rules during combat encounters. -## Features - -Combat has a game engine selected: 5e, pf2e or custom. The game engine defines the rules for combat, including the attributes of combatants and the conditions that can be applied. - -### Combats +See it in action at [app.battlemaster.com.br](https://app.battlemaster.com.br) or download and install the app from the releases page. -- User can create combats with a name and a game engine -- User can create custom groups of combatants - -### Initiative tracker +## Features +### Combat Management +**Combat Creation**: Easily create and name combats, and organize custom groups of combatants. -- Users can add combatants: add custom combatants or select from a list of pre-defined monsters -- Users can manage combatant HP -- Display basic combatant attributes on the tracker -- Display combatant sheet on a panel/window -- Roll initiative - - Users can toggle to auto-roll for enemies - - Users can insert initiative -- Users can check off monster abilities that have been used -- Users can check off if a combatant has spent their reaction -- User can toggle reminders for combatants abilities (fast-healing, etc) +### Initiative Tracker +**Combatants**: Add combatants either manually or by selecting from predefined monsters. +**HP Management**: Keep track of combatant health. +**Attributes**: Display basic combatant stats in the tracker and detailed sheets in a separate panel. +**Initiative Rolling**: Roll initiative manually or toggle auto-rolling. ### Conditions +**Apply Conditions**: Manage conditions (5e, pf2e, or custom); +**Custom Conditions**: Add your own conditions to tailor the combat experience. -- Add conditions to combatants (5e, pf2e, custom) -- Users can add temporary conditions that expire after X turns - - The app shows a dialog when a condition expires -- Users can ddd custom conditions - -### Monsters - -- Choose data source: 5e SRD, pf2e bestiaries - - 5e SRD monsters - - pf2e bestiaries from foundry data -- Import from CSV file - -### Player features - -- Player facing view of the combat (requires a server?) -- Player can add their initiative to the tracker -- Monster health displayed with words like "wounded" or "uninjured" - -## Technologies - -- flutter flavors for different versions: https://docs.flutter.dev/deployment/flavors#setting-up-launch-configurations -- drift: https://pub.dev/packages/drift +### Monster Management +**Monster Sources**: Select from 5e SRD monsters or Pathfinder 2e bestiaries. +**Custom Import**: Import monsters via CSV or JSON files. +### Player Features +**Player View**: Show a simplified combat view for players, including health statuses like "wounded" or "uninjured" for monsters. ## Development +### Build Instructions +To build the project, use the following commands: -### Build ```bash flutter gen-l10n dart run build_runner build diff --git a/docs/combatant.md b/docs/combatant.md deleted file mode 100644 index 6a3a532..0000000 --- a/docs/combatant.md +++ /dev/null @@ -1,50 +0,0 @@ -# Combatant class - -The `Combatant` class represents a combatant in the combat tracker. It holds the basic attributes of a combatant, such as name, hit points, armor class, and initiative. It also has a reference to the game engine, which defines the rules for combat. - -**Basic attributes** -- name: String -- current_hp: int -- max_hp: int -- ac: int -- initiative: int? -- initiative_modifier: int -- conditions: List -- type: String(player, monster, hazard, lair) -- engine: String(5e, pf2e, custom) -- monsterData: MonsterData? - -**Derived attributes** -- wounded: bool -- dead: bool -- initiative_roll: int - -## MonsterData - -An abstract class that represents the data of a monster. For each game engine, there will be a subclass of MonsterData that will define the attributes of the monster. - -### 5eMonsterData - -**Attributes** - -- size: String -- type: String -- alignment: String -- cr: int -- str: int -- dex: int -- con: int -- int: int -- wis: int -- cha: int - -### Pf2eMonsterData - -**Attributes** -- str: int -- dex: int -- con: int -- int: int -- wis: int -- cha: int -- traits: List \ No newline at end of file diff --git a/docs/condition.md b/docs/condition.md deleted file mode 100644 index 96ece1c..0000000 --- a/docs/condition.md +++ /dev/null @@ -1,10 +0,0 @@ -# Condition class -The `Condition` class represents a condition that can be applied to a monster. It has the following attributes: - -**Attributes** -- name: String -- description: String -- duration: int? -- value: int? -- engine: String(5e, pf2e, custom) -- data: Dict \ No newline at end of file diff --git a/docs/encounter.md b/docs/encounter.md deleted file mode 100644 index d854567..0000000 --- a/docs/encounter.md +++ /dev/null @@ -1,11 +0,0 @@ -# Encounter class - -The `Encounter` class is the main class for the combat tracker. It holds the list of combatants and the current round. -It also has a reference to the game engine, which defines the rules for combat. - -**Attributes** - -- name: String -- round: int -- combatants: List -- engine: String(5e, pf2e, custom) \ No newline at end of file