1
0
forked from noxious/server

Added equipment tables and columns in game & user schema

This commit is contained in:
2024-12-17 16:59:52 +01:00
parent 3b0138130b
commit 4748044ab3
3 changed files with 87 additions and 98 deletions

View File

@ -50,32 +50,44 @@ model CharacterHair {
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
spriteId String?
characters Character[]
// @TODO: Do we need addedAt and updatedAt?
}
model Character {
id Int @id @default(autoincrement())
userId Int
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
name String @unique
online Boolean @default(false)
hitpoints Int @default(100)
mana Int @default(100)
level Int @default(1)
experience Int @default(0)
alignment Int @default(50)
role String @default("player")
positionX Int @default(0)
positionY Int @default(0)
rotation Int @default(0)
id Int @id @default(autoincrement())
userId Int
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
name String @unique
online Boolean @default(false)
role String @default("player")
chats Chat[]
// Position
zoneId Int @default(1)
zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade)
positionX Int @default(0)
positionY Int @default(0)
rotation Int @default(0)
// Customization
characterTypeId Int?
characterType CharacterType? @relation(fields: [characterTypeId], references: [id], onDelete: Cascade)
characterType CharacterType? @relation(fields: [characterTypeId], references: [id], onDelete: Cascade)
characterHairId Int?
characterHair CharacterHair? @relation(fields: [characterHairId], references: [id], onDelete: Cascade)
zoneId Int @default(1)
zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade)
chats Chat[]
items CharacterItem[]
characterHair CharacterHair? @relation(fields: [characterHairId], references: [id], onDelete: Cascade)
// Inventory
items CharacterItem[]
equipment EquippedCharacterItem[]
// Stats
alignment Int @default(50)
hitpoints Int @default(100)
mana Int @default(100)
level Int @default(1)
experience Int @default(0)
strength Int @default(10)
dexterity Int @default(10)
intelligence Int @default(10)
wisdom Int @default(10)
}
model CharacterItem {
@ -86,3 +98,22 @@ model CharacterItem {
item Item @relation(fields: [itemId], references: [id], onDelete: Cascade)
quantity Int
}
model EquippedCharacterItem {
id Int @id @default(autoincrement())
characterId Int
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
itemId String
item Item @relation(fields: [itemId], references: [id], onDelete: Cascade)
quantity Int
slot EquippedCharacterItemSlotType
}
enum EquippedCharacterItemSlotType {
HEAD
BODY
ARMS
LEGS
NECK
RING
}