From 0f017cfe10753b9d99c79a3eabbebe2024d9b751 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Sun, 29 Dec 2024 13:05:56 +0100 Subject: [PATCH] Removed Prisma related files --- prisma/.gitignore | 0 .../20241224142532_init/migration.sql | 311 ------------------ prisma/migrations/migration_lock.toml | 3 - prisma/schema/game.prisma | 76 ----- prisma/schema/schema.prisma | 21 -- prisma/schema/user.prisma | 119 ------- prisma/schema/zone.prisma | 87 ----- 7 files changed, 617 deletions(-) delete mode 100644 prisma/.gitignore delete mode 100644 prisma/migrations/20241224142532_init/migration.sql delete mode 100644 prisma/migrations/migration_lock.toml delete mode 100644 prisma/schema/game.prisma delete mode 100644 prisma/schema/schema.prisma delete mode 100644 prisma/schema/user.prisma delete mode 100644 prisma/schema/zone.prisma diff --git a/prisma/.gitignore b/prisma/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/prisma/migrations/20241224142532_init/migration.sql b/prisma/migrations/20241224142532_init/migration.sql deleted file mode 100644 index b5bae20..0000000 --- a/prisma/migrations/20241224142532_init/migration.sql +++ /dev/null @@ -1,311 +0,0 @@ --- CreateTable -CREATE TABLE `World` ( - `date` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - `isRainEnabled` BOOLEAN NOT NULL DEFAULT false, - `rainPercentage` INTEGER NOT NULL DEFAULT 0, - `isFogEnabled` BOOLEAN NOT NULL DEFAULT false, - `fogDensity` INTEGER NOT NULL DEFAULT 0, - - UNIQUE INDEX `World_date_key`(`date`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `Chat` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `characterId` INTEGER NOT NULL, - `zoneId` INTEGER NOT NULL, - `message` VARCHAR(191) NOT NULL, - `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `Sprite` ( - `id` VARCHAR(191) NOT NULL, - `name` VARCHAR(191) NOT NULL, - `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - `updatedAt` DATETIME(3) NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `SpriteAction` ( - `id` VARCHAR(191) NOT NULL, - `spriteId` VARCHAR(191) NOT NULL, - `action` VARCHAR(191) NOT NULL, - `sprites` JSON NULL, - `originX` DECIMAL(65, 30) NOT NULL DEFAULT 0, - `originY` DECIMAL(65, 30) NOT NULL DEFAULT 0, - `isAnimated` BOOLEAN NOT NULL DEFAULT false, - `isLooping` BOOLEAN NOT NULL DEFAULT false, - `frameWidth` INTEGER NOT NULL DEFAULT 0, - `frameHeight` INTEGER NOT NULL DEFAULT 0, - `frameRate` INTEGER NOT NULL DEFAULT 0, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `Item` ( - `id` VARCHAR(191) NOT NULL, - `name` VARCHAR(191) NOT NULL, - `description` VARCHAR(191) NULL, - `itemType` ENUM('WEAPON', 'HELMET', 'CHEST', 'LEGS', 'BOOTS', 'GLOVES', 'RING', 'NECKLACE') NOT NULL, - `stackable` BOOLEAN NOT NULL DEFAULT false, - `rarity` ENUM('COMMON', 'UNCOMMON', 'RARE', 'EPIC', 'LEGENDARY') NOT NULL DEFAULT 'COMMON', - `spriteId` VARCHAR(191) NULL, - `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - `updatedAt` DATETIME(3) NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `User` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `username` VARCHAR(191) NOT NULL, - `email` VARCHAR(191) NOT NULL, - `password` VARCHAR(191) NOT NULL, - `online` BOOLEAN NOT NULL DEFAULT false, - - UNIQUE INDEX `User_username_key`(`username`), - UNIQUE INDEX `User_email_key`(`email`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `PasswordResetToken` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `userId` INTEGER NOT NULL, - `token` VARCHAR(191) NOT NULL, - `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - - UNIQUE INDEX `PasswordResetToken_token_key`(`token`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `CharacterType` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `name` VARCHAR(191) NOT NULL, - `gender` ENUM('MALE', 'FEMALE') NOT NULL, - `race` ENUM('HUMAN', 'ELF', 'DWARF', 'ORC', 'GOBLIN') NOT NULL, - `isSelectable` BOOLEAN NOT NULL DEFAULT false, - `spriteId` VARCHAR(191) NULL, - `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - `updatedAt` DATETIME(3) NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `CharacterHair` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `name` VARCHAR(191) NOT NULL, - `gender` ENUM('MALE', 'FEMALE') NOT NULL DEFAULT 'MALE', - `isSelectable` BOOLEAN NOT NULL DEFAULT false, - `spriteId` VARCHAR(191) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `Character` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `userId` INTEGER NOT NULL, - `name` VARCHAR(191) NOT NULL, - `online` BOOLEAN NOT NULL DEFAULT false, - `role` VARCHAR(191) NOT NULL DEFAULT 'player', - `zoneId` INTEGER NOT NULL DEFAULT 1, - `positionX` INTEGER NOT NULL DEFAULT 0, - `positionY` INTEGER NOT NULL DEFAULT 0, - `rotation` INTEGER NOT NULL DEFAULT 0, - `characterTypeId` INTEGER NULL, - `characterHairId` INTEGER NULL, - `alignment` INTEGER NOT NULL DEFAULT 50, - `hitpoints` INTEGER NOT NULL DEFAULT 100, - `mana` INTEGER NOT NULL DEFAULT 100, - `level` INTEGER NOT NULL DEFAULT 1, - `experience` INTEGER NOT NULL DEFAULT 0, - `strength` INTEGER NOT NULL DEFAULT 10, - `dexterity` INTEGER NOT NULL DEFAULT 10, - `intelligence` INTEGER NOT NULL DEFAULT 10, - `wisdom` INTEGER NOT NULL DEFAULT 10, - - UNIQUE INDEX `Character_name_key`(`name`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `CharacterItem` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `characterId` INTEGER NOT NULL, - `itemId` VARCHAR(191) NOT NULL, - `quantity` INTEGER NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `CharacterEquipment` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `slot` ENUM('HEAD', 'BODY', 'ARMS', 'LEGS', 'NECK', 'RING') NOT NULL, - `characterId` INTEGER NOT NULL, - `characterItemId` INTEGER NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `Tile` ( - `id` VARCHAR(191) NOT NULL, - `name` VARCHAR(191) NOT NULL, - `tags` JSON NULL, - `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - `updatedAt` DATETIME(3) NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `Object` ( - `id` VARCHAR(191) NOT NULL, - `name` VARCHAR(191) NOT NULL, - `tags` JSON NULL, - `originX` DECIMAL(65, 30) NOT NULL DEFAULT 0, - `originY` DECIMAL(65, 30) NOT NULL DEFAULT 0, - `isAnimated` BOOLEAN NOT NULL DEFAULT false, - `frameRate` INTEGER NOT NULL DEFAULT 0, - `frameWidth` INTEGER NOT NULL DEFAULT 0, - `frameHeight` INTEGER NOT NULL DEFAULT 0, - `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - `updatedAt` DATETIME(3) NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `Zone` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `name` VARCHAR(191) NOT NULL, - `width` INTEGER NOT NULL DEFAULT 10, - `height` INTEGER NOT NULL DEFAULT 10, - `tiles` JSON NULL, - `pvp` BOOLEAN NOT NULL DEFAULT false, - `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - `updatedAt` DATETIME(3) NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `ZoneEffect` ( - `id` VARCHAR(191) NOT NULL, - `zoneId` INTEGER NOT NULL, - `effect` VARCHAR(191) NOT NULL, - `strength` INTEGER NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `ZoneObject` ( - `id` VARCHAR(191) NOT NULL, - `zoneId` INTEGER NOT NULL, - `objectId` VARCHAR(191) NOT NULL, - `depth` INTEGER NOT NULL DEFAULT 0, - `isRotated` BOOLEAN NOT NULL DEFAULT false, - `positionX` INTEGER NOT NULL DEFAULT 0, - `positionY` INTEGER NOT NULL DEFAULT 0, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `ZoneEventTile` ( - `id` VARCHAR(191) NOT NULL, - `zoneId` INTEGER NOT NULL, - `type` ENUM('BLOCK', 'TELEPORT', 'NPC', 'ITEM') NOT NULL, - `positionX` INTEGER NOT NULL, - `positionY` INTEGER NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `ZoneEventTileTeleport` ( - `id` VARCHAR(191) NOT NULL, - `zoneEventTileId` VARCHAR(191) NOT NULL, - `toZoneId` INTEGER NOT NULL, - `toRotation` INTEGER NOT NULL, - `toPositionX` INTEGER NOT NULL, - `toPositionY` INTEGER NOT NULL, - - UNIQUE INDEX `ZoneEventTileTeleport_zoneEventTileId_key`(`zoneEventTileId`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- AddForeignKey -ALTER TABLE `Chat` ADD CONSTRAINT `Chat_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `Chat` ADD CONSTRAINT `Chat_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `SpriteAction` ADD CONSTRAINT `SpriteAction_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `Item` ADD CONSTRAINT `Item_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `PasswordResetToken` ADD CONSTRAINT `PasswordResetToken_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `CharacterType` ADD CONSTRAINT `CharacterType_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `CharacterHair` ADD CONSTRAINT `CharacterHair_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `Character` ADD CONSTRAINT `Character_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `Character` ADD CONSTRAINT `Character_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `Character` ADD CONSTRAINT `Character_characterTypeId_fkey` FOREIGN KEY (`characterTypeId`) REFERENCES `CharacterType`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `Character` ADD CONSTRAINT `Character_characterHairId_fkey` FOREIGN KEY (`characterHairId`) REFERENCES `CharacterHair`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_characterItemId_fkey` FOREIGN KEY (`characterItemId`) REFERENCES `CharacterItem`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `ZoneEffect` ADD CONSTRAINT `ZoneEffect_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `ZoneObject` ADD CONSTRAINT `ZoneObject_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `ZoneObject` ADD CONSTRAINT `ZoneObject_objectId_fkey` FOREIGN KEY (`objectId`) REFERENCES `Object`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `ZoneEventTile` ADD CONSTRAINT `ZoneEventTile_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `ZoneEventTileTeleport` ADD CONSTRAINT `ZoneEventTileTeleport_zoneEventTileId_fkey` FOREIGN KEY (`zoneEventTileId`) REFERENCES `ZoneEventTile`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE `ZoneEventTileTeleport` ADD CONSTRAINT `ZoneEventTileTeleport_toZoneId_fkey` FOREIGN KEY (`toZoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml deleted file mode 100644 index 8a21669..0000000 --- a/prisma/migrations/migration_lock.toml +++ /dev/null @@ -1,3 +0,0 @@ -# Please do not edit this file manually -# It should be added in your version-control system (e.g., Git) -provider = "mysql" \ No newline at end of file diff --git a/prisma/schema/game.prisma b/prisma/schema/game.prisma deleted file mode 100644 index 6501bbc..0000000 --- a/prisma/schema/game.prisma +++ /dev/null @@ -1,76 +0,0 @@ -model World { - date DateTime @unique @default(now()) - isRainEnabled Boolean @default(false) - rainPercentage Int @default(0) - isFogEnabled Boolean @default(false) - fogDensity Int @default(0) -} - -model Chat { - id Int @id @default(autoincrement()) - characterId Int - character Character @relation(fields: [characterId], references: [id], onDelete: Cascade) - zoneId Int - zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade) - message String - createdAt DateTime @default(now()) -} - -model Sprite { - id String @id @default(uuid()) - name String - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - spriteActions SpriteAction[] - characterTypes CharacterType[] - characterHairs CharacterHair[] - Item Item[] -} - -model SpriteAction { - id String @id @default(uuid()) - spriteId String - sprite Sprite @relation(fields: [spriteId], references: [id], onDelete: Cascade) - action String - sprites Json? - originX Decimal @default(0) - originY Decimal @default(0) - isAnimated Boolean @default(false) - isLooping Boolean @default(false) - frameWidth Int @default(0) - frameHeight Int @default(0) - frameRate Int @default(0) -} - -model Item { - id String @id @default(uuid()) - name String - description String? - itemType ItemType - stackable Boolean @default(false) - rarity ItemRarity @default(COMMON) - spriteId String? - sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - characters CharacterItem[] -} - -enum ItemType { - WEAPON - HELMET - CHEST - LEGS - BOOTS - GLOVES - RING - NECKLACE -} - -enum ItemRarity { - COMMON - UNCOMMON - RARE - EPIC - LEGENDARY -} diff --git a/prisma/schema/schema.prisma b/prisma/schema/schema.prisma deleted file mode 100644 index 13d488b..0000000 --- a/prisma/schema/schema.prisma +++ /dev/null @@ -1,21 +0,0 @@ -// CHEAT SHEET -// 1. Create a new Prisma project -// npx prisma init -// 2. Create a new database schema -// npx prisma db push -// 3. Generate Prisma Client and type-safe models based on schema -// npx prisma generate -// 4. Create a new migration -// npx prisma migrate dev --name [migration-name] -// 5. Apply the migration -// npx prisma migrate deploy - -generator client { - provider = "prisma-client-js" - previewFeatures = ["prismaSchemaFolder"] -} - -datasource db { - provider = "mysql" - url = env("DATABASE_URL") -} diff --git a/prisma/schema/user.prisma b/prisma/schema/user.prisma deleted file mode 100644 index edfafd8..0000000 --- a/prisma/schema/user.prisma +++ /dev/null @@ -1,119 +0,0 @@ -enum CharacterGender { - MALE - FEMALE -} - -enum CharacterRace { - HUMAN - ELF - DWARF - ORC - GOBLIN -} - -model User { - id Int @id @default(autoincrement()) - username String @unique - email String @unique - password String - online Boolean @default(false) - characters Character[] - passwordResetTokens PasswordResetToken[] -} - -model PasswordResetToken { - id Int @id @default(autoincrement()) - userId Int - user User @relation(fields: [userId], references: [id], onDelete: Cascade) - token String @unique - createdAt DateTime @default(now()) -} - -model CharacterType { - id Int @id @default(autoincrement()) - name String - gender CharacterGender - race CharacterRace - isSelectable Boolean @default(false) - characters Character[] - spriteId String? - sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt -} - -model CharacterHair { - id Int @id @default(autoincrement()) - name String - gender CharacterGender @default(MALE) - isSelectable Boolean @default(false) - sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade) - spriteId String? - characters Character[] -} - -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) - 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) - characterHairId Int? - characterHair CharacterHair? @relation(fields: [characterHairId], references: [id], onDelete: Cascade) - - // Inventory - items CharacterItem[] - equipment CharacterEquipment[] - - // 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 { - 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 - CharacterEquipment CharacterEquipment[] -} - -model CharacterEquipment { - id Int @id @default(autoincrement()) - slot CharacterEquipmentSlotType - characterId Int - character Character @relation(fields: [characterId], references: [id], onDelete: Cascade) - characterItemId Int - characterItem CharacterItem @relation(fields: [characterItemId], references: [id], onDelete: Cascade) -} - -enum CharacterEquipmentSlotType { - HEAD - BODY - ARMS - LEGS - NECK - RING -} diff --git a/prisma/schema/zone.prisma b/prisma/schema/zone.prisma deleted file mode 100644 index 8a426e7..0000000 --- a/prisma/schema/zone.prisma +++ /dev/null @@ -1,87 +0,0 @@ -model Tile { - id String @id @default(uuid()) - name String - tags Json? - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt -} - -model Object { - id String @id @default(uuid()) - name String - tags Json? - originX Decimal @default(0) - originY Decimal @default(0) - isAnimated Boolean @default(false) - frameRate Int @default(0) - frameWidth Int @default(0) - frameHeight Int @default(0) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - ZoneObject ZoneObject[] -} - -model Zone { - id Int @id @default(autoincrement()) - name String - width Int @default(10) - height Int @default(10) - tiles Json? - pvp Boolean @default(false) - zoneEffects ZoneEffect[] - zoneEventTiles ZoneEventTile[] - zoneEventTileTeleports ZoneEventTileTeleport[] - zoneObjects ZoneObject[] - characters Character[] - chats Chat[] - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt -} - -model ZoneEffect { - id String @id @default(uuid()) - zoneId Int - zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade) - effect String - strength Int -} - -model ZoneObject { - id String @id @default(uuid()) - zoneId Int - zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade) - objectId String - object Object @relation(fields: [objectId], references: [id], onDelete: Cascade) - depth Int @default(0) - isRotated Boolean @default(false) - positionX Int @default(0) - positionY Int @default(0) -} - -enum ZoneEventTileType { - BLOCK - TELEPORT - NPC - ITEM -} - -model ZoneEventTile { - id String @id @default(uuid()) - zoneId Int - zone Zone @relation(fields: [zoneId], references: [id], onDelete: Cascade) - type ZoneEventTileType - positionX Int - positionY Int - teleport ZoneEventTileTeleport? -} - -model ZoneEventTileTeleport { - id String @id @default(uuid()) - zoneEventTileId String @unique - zoneEventTile ZoneEventTile @relation(fields: [zoneEventTileId], references: [id], onDelete: Cascade) - toZoneId Int - toZone Zone @relation(fields: [toZoneId], references: [id], onDelete: Cascade) - toRotation Int - toPositionX Int - toPositionY Int -}