2.7 KiB
all database files and backend code/api will be accessed in these files The idea is that the api is set up in such a way that you can have only the backend run on the server or the webapp can also be ran.
most cases both will be ran
Character Attrinutes (dnd5e)
Base Attributes
base attributes area attr that are not derived at run time. In most if not all cases these will remain the same through the runtime process
- @name
- @level
- @race (package of feats)
- @class (package of feats)
Derived Attributes
- @strength::base
- @dexterity::base
- @constitution::base
- @wisdom::base
- @intelligence::base
- @charisma::base
- @armor::base
(Priority 1, needs to calculate these before all other attribtues)
-
@strength
-
@dexterity
-
@constitution
-
@wisdom
-
@intelligence
-
@charisma
-
@strength::modifier
-
@dexterity::modifier
-
@constitution::modifier
-
@wisdom::modifier
-
@intelligence::modifier
-
@charisma::modifier
-
@proficiency
(Priority 2, child derived attributes)
-
@strength_save
-
@dexterity_save
-
@constitution_save
-
@wisdom_save
-
@intelligence_save
-
@charisma_save
-
@hp
-
@hp_max
-
@hp_temp
-
@hit_die
-
@initative
-
@armor
-
@fire_resistance
-
@poison_resistance
-
@psychic_resistance
-
@cold_resistance
-
@thunder_resistance
-
@acid_resistance
-
@force_resistance
-
@radiant_resistance
-
@necortic_resistance
-
@bludgeoning_resistance
-
@piercing_resistance
-
@slashing_resistance
str skills
- @athletics
dex skills
- @acrobatics
- @sleight_of_hand
- @stealth
intelligence Skills
- @arcana
- @history
- @investigation
- @nature
- @religion
wisdom skills
- @animal_handling
- @insight
- @medicine
- @perception
- @survival
charisma skills
- @deception
- @intimidation
- @performance
- @persuasion
post derived attributes (Priority 3, grandchild derivatives)
str skills
- @athletics#passive
dex skills
- @acrobatics#passive
- @sleight_of_hand#passive
- @stealth#passive
intelligence Skills
- @arcana#passive
- @history#passive
- @investigation#passive
- @nature#passive
- @religion#passive
wisdom skills
- @animal_handling#passive
- @insight#passive
- @medicine#passive
- @perception#passive
- @survival#passive
charisma skills
- @deception#passive
- @intimidation#passive
- @performance#passive
- @persuasion#passive
Databases
USERS: this database will store profile info associated with users
- user_uuid: Unique user ID (UUID)
- username: Username/display name
- password: Password (should be securely stored)
- type: User type (for future SSO integration)
- profile picture: Profile image (e.g. file path or URL)
- flags: Settings/status flags (for basic settings; future use)
CHARACTERS: this table will store basic character data but also link the characters to the user_id