1.5 KiB
1.5 KiB
Server
UserAccount
- userAccountID primary key
- username unique
- password --stored in the database (hashed)?
- blacklisted {false, true}
- whitelisted {true, false}
Items
Notes
- These are static; they're immutable during runtime
ItemList
- itemListID primary key
- itemName unique
- itemImage
- type {mundane, consumable, equipment, etc.}
- stackable {1-max; -1 for false}
- maxUniqueCopies {1-max; -1 for unlimited}
MundaneItemList
- itemListID foreign key -> ItemList.itemListID
- TODO: attributes
ConsumableItemList
- itemListID foreign key -> ItemList.itemListID
- TODO: attributes
EquipmentItemList
- itemListID foreign key -> ItemList.itemListID
- TODO: attributes
Player
Notes
- These change as the character progresses and grows
PlayerCharacter
- playerCharacterID primary key
- characterName unique
- TODO: customizable sprite
PlayerStatistics
- playerCharacterID foreign key -> PlayerCharacter.playerCharacterID
- currentLevel
- currentExperience
- maxHealth
- maxMana
- currentHealth
- currentMana
- attack
- defence
- TODO: etc.
PlayerEquipment
- playerCharacterID foreign key -> PlayerCharacter.playerCharacterID
- head foreign key -> ItemList.itemListID
- weapon foreign key -> ItemList.itemListID
- armour foreign key -> ItemList.itemListID
- TODO: etc.
PlayerInventoryItem
- playerCharacterID foreign key -> PlayerCharacter.playerCharacterID
- itemListID foreign key -> ItemList.itemListID