Giter VIP home page Giter VIP logo

dnd-char-sheet's Introduction

dnd-char-sheet

D&D 5e virtual character sheet application.

dnd-char-sheet's People

Contributors

tyoung-99 avatar dependabot[bot] avatar harrisonyoung02 avatar

Stargazers

 avatar

Watchers

 avatar

dnd-char-sheet's Issues

Xp NaN error

If you press the plus to add to the Xp and click OK without writing a value in the box, the XP changes to NaN and won't change back

Make adjustments for #32

Adjustments needed for #32:

  • Move name/classes to new line if too long on char list
  • Fix calculation for attack/damage - calculating w/ decimals currently
  • Add empty note for equipped weapons/consumables, inventory items/treasure if none equipped
  • Adjust profs display to combine grouped profs (simple/martial weapons, light/med/heavy armor)
  • Allow no current concentration (errors currently if none)
  • Add support for bullets/other formatting in text areas, not just paragraphs
  • Make skills reach page end

Dynamic character sheet

Complete #7 first.
Make elements of sheet affect each other.

  • Dynamic skill/save/attack/damage mods
  • Dynamic prof bonus
  • Dynamic passive perception
  • Dynamic initiative
  • Dynamic hit dice
  • Make armor/natural armor change AC
    • Override 1 w/ the other if higher, if allowed
  • Make class/racial/item/spell bonuses change numbers
    • AC
    • HP
    • Hit mod
    • Damage
  • Spellcasting
    • Dynamically determine casting ability/numbers based on casting class
    • Determine/display total spells to prepare/prepared
  • Add popup w/ info when clicking spells

Switch to using character objects

Instead of parsing the JSON in the moment, create a character object initially that parses JSON and performs necessary calculations. Then just access that object to get values for display.

User accounts

Add support for user accounts. Record user when creating characters, only show characters from user on homepage.

More detailed character sheet

Complete #6 first.
Add to/modify sheet to include more information.

  • Update layout to give more room, separate into distinctly themed pages (stats, equipment, spellcasting, etc.)
  • Equipment
    • In backpack vs equipped
    • Consumables
    • Classify equipment for sorting
  • Features/traits
    • Separate into class, racial, feats
  • Spellcasting
    • Support multiple classes w/ different mods, mark spells based on which they're from (or if they're from feats/race)
    • Active concentration
    • Note spells that don't require preparation
    • Label spells with components/ritual/concentration

Interactive character sheet

Complete #9 first.
Add features allowing user interaction w/ buttons/functions, instead of manually changing values.

  • Spellcasting
    • Add round counter to active concentration
    • Add button to cast spell of each level (or 1 to cast spell, pick level?)
  • Short/long rest buttons
  • Add support for counters in abilities
  • Add overall dice roller, as well as automatic dice rolling when clicking any modifier
  • Make sure all counters have ability to increase/decrease, not just decrease

Migrate to database

Move all locally-stored data to database, update functionality for updating/retrieving local data to update/query database instead.

Modify header usage in tabs

Either adjust background headers to be in line w/ others, or adjust most headers w/in tabs down a level, so h1 can be used alone for large headers instead of overriding format.

Adjust coins on inventory tab similarly.

Add support for multiple pictures

Currently only allows 1 picture Allies/Organizations section, none in Appearance. Add support for multiple pictures in Appearance and Allies/Organizations.

Use dropdowns/catalogue of data for choices

Replace text boxes with dropdowns where appropriate. Keep catalogue of reference data.
Allow admin editing catalogue as material is added.
Future: Allow user custom catalogues for homebrew.

Additional dynamic elements needed

Running list of additional necessary dynamic elements noticed during other work.
Depending on how much info ends up on the Features/Traits or Buffs pages, maybe add a shown/hidden flag to only display what's really necessary.

  • Add buffs page for general buffs/debuffs, add flag to note buff vs debuff
  • Max HP - base chosen by user + CON + other buffs
  • Current HP - base is static number, to be set to max minus buffs to current on long rest (#10) + other buffs (this is already implemented as much as it can be here, just noting b/c of the future implementation necessary)
  • Ability scores - base chosen by user + other buffs (including ASIs)
  • Saving throw profs - base from 1st class + other buffs
  • Other profs - class + race + background + other buffs (can't be totally dynamic, as no calculation is done, just implement class/race/background identifiers for future use)
  • Speeds - base from race + other buffs
  • Skills - base from class/race/background chosen by user + other buffs
  • Passive perception - base from perception mod + other buffs

Add TCE origin customization

Add options to customize ability score increases, languages, and proficiencies from races according to TCE optional rules.

Host site

Get site hosted somewhere so it's usable.

Major user customization

Complete #15 first.
Allow users to edit any ability's text and move/resize sections on the sheet. Remember default text/position and allow resetting to default.

Basic character sheet

Display read-only data about character, using only what's on official character/spell sheets.

Character sheet

  • Character name
  • Classes/levels
  • Background
    • Name
    • Personality traits
    • Ideals
    • Bonds
    • Flaws
  • Player name
  • Race
  • Alignment
  • XP
  • Ability scores/modifiers
  • Inspiration
  • Proficiencies
    • Prof bonus
    • Saving throws
    • Skills
    • Passive perception
    • Armor
    • Weapons
    • Tools
    • Languages
  • AC
  • Initiative
  • Speeds
  • HP
    • Max
    • Current
    • Temp
  • Hit dice
    • Total
    • Current
  • Death saves
    • Successes
    • Failures
  • Attack mods/damage per weapon
  • Equipment
    • Money
    • Other equipment
  • Features/traits
  • Appearance
    • Age
    • Height
    • Weight
    • Eyes
    • Skin
    • Hair
    • Description
    • Picture
  • Backstory
  • Allies/organizations
  • Symbol
  • Treasure

Spell sheet

  • Spellcasting class
  • Spellcasting ability
  • Spell save DC
  • Spell attack bonus
  • Spells known of each level
  • Spell preparation marks
  • Spell slots of each level
    • Total
    • Expended

Minor user customization

  • Allow users to add custom calculation/numeric bonuses, as well as custom counters, to a sheet.
  • Add color coding for spells sheet, 1 per source, let user change color on each source
  • Allow users to add prof/expertise to skills, saves, other profs

Editable character sheet

Complete #7 first.
Make elements of sheet editable fields. Add support for sheet fields being edited/changes being saved. Add support for bullets/other formatting in text areas, not just paragraphs (use react-draft-wysiwyg to convert to JSON for easy storage).

Update column width calculations

High priority b/c the longer it goes w/out changing, the more there is to change.

Update column width calculations to not always depend on 12ths, for more flexibility. Instead, divide total width by number, so col-1 is 1/1 of the screen, col-2 is 1/2, etc.

Update everywhere they appear.

Clean up repo

Clean up repo and implement tools I learned from my capstone, like issues, a project board, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.