forked from noxious/server
Added equipment tables and columns in game & user schema
This commit is contained in:
@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user