famous last words: fuck (changing ORM)
This commit is contained in:
parent
ac4cefa902
commit
241cfb3eb2
@ -151,10 +151,9 @@ CREATE TABLE `CharacterItem` (
|
|||||||
-- CreateTable
|
-- CreateTable
|
||||||
CREATE TABLE `CharacterEquipment` (
|
CREATE TABLE `CharacterEquipment` (
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
||||||
`characterId` INTEGER NOT NULL,
|
|
||||||
`itemId` VARCHAR(191) NOT NULL,
|
|
||||||
`quantity` INTEGER NOT NULL,
|
|
||||||
`slot` ENUM('HEAD', 'BODY', 'ARMS', 'LEGS', 'NECK', 'RING') NOT NULL,
|
`slot` ENUM('HEAD', 'BODY', 'ARMS', 'LEGS', 'NECK', 'RING') NOT NULL,
|
||||||
|
`characterId` INTEGER NOT NULL,
|
||||||
|
`characterItemId` INTEGER NOT NULL,
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||||
@ -291,7 +290,7 @@ ALTER TABLE `CharacterItem` ADD CONSTRAINT `CharacterItem_itemId_fkey` FOREIGN K
|
|||||||
ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_characterId_fkey` FOREIGN KEY (`characterId`) REFERENCES `Character`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
-- AddForeignKey
|
-- AddForeignKey
|
||||||
ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_itemId_fkey` FOREIGN KEY (`itemId`) REFERENCES `Item`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
ALTER TABLE `CharacterEquipment` ADD CONSTRAINT `CharacterEquipment_characterItemId_fkey` FOREIGN KEY (`characterItemId`) REFERENCES `CharacterItem`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
-- AddForeignKey
|
-- AddForeignKey
|
||||||
ALTER TABLE `ZoneEffect` ADD CONSTRAINT `ZoneEffect_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
ALTER TABLE `ZoneEffect` ADD CONSTRAINT `ZoneEffect_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
@ -43,18 +43,17 @@ model SpriteAction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Item {
|
model Item {
|
||||||
id String @id @default(uuid())
|
id String @id @default(uuid())
|
||||||
name String
|
name String
|
||||||
description String?
|
description String?
|
||||||
itemType ItemType
|
itemType ItemType
|
||||||
stackable Boolean @default(false)
|
stackable Boolean @default(false)
|
||||||
rarity ItemRarity @default(COMMON)
|
rarity ItemRarity @default(COMMON)
|
||||||
spriteId String?
|
spriteId String?
|
||||||
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
|
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
updatedAt DateTime @updatedAt
|
updatedAt DateTime @updatedAt
|
||||||
characters CharacterItem[]
|
characters CharacterItem[]
|
||||||
equipment CharacterEquipment[]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ItemType {
|
enum ItemType {
|
||||||
|
@ -30,26 +30,26 @@ model PasswordResetToken {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model CharacterType {
|
model CharacterType {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
name String
|
name String
|
||||||
gender CharacterGender
|
gender CharacterGender
|
||||||
race CharacterRace
|
race CharacterRace
|
||||||
isSelectable Boolean @default(false)
|
isSelectable Boolean @default(false)
|
||||||
characters Character[]
|
characters Character[]
|
||||||
spriteId String?
|
spriteId String?
|
||||||
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
|
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
updatedAt DateTime @updatedAt
|
updatedAt DateTime @updatedAt
|
||||||
}
|
}
|
||||||
|
|
||||||
model CharacterHair {
|
model CharacterHair {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
name String
|
name String
|
||||||
gender CharacterGender @default(MALE)
|
gender CharacterGender @default(MALE)
|
||||||
isSelectable Boolean @default(false)
|
isSelectable Boolean @default(false)
|
||||||
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
|
sprite Sprite? @relation(fields: [spriteId], references: [id], onDelete: Cascade)
|
||||||
spriteId String?
|
spriteId String?
|
||||||
characters Character[]
|
characters Character[]
|
||||||
}
|
}
|
||||||
|
|
||||||
model Character {
|
model Character {
|
||||||
@ -91,22 +91,22 @@ model Character {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model CharacterItem {
|
model CharacterItem {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
characterId Int
|
characterId Int
|
||||||
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
|
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
|
||||||
itemId String
|
itemId String
|
||||||
item Item @relation(fields: [itemId], references: [id], onDelete: Cascade)
|
item Item @relation(fields: [itemId], references: [id], onDelete: Cascade)
|
||||||
quantity Int
|
quantity Int
|
||||||
|
CharacterEquipment CharacterEquipment[]
|
||||||
}
|
}
|
||||||
|
|
||||||
model CharacterEquipment {
|
model CharacterEquipment {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
characterId Int
|
slot CharacterEquipmentSlotType
|
||||||
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
|
characterId Int
|
||||||
itemId String
|
character Character @relation(fields: [characterId], references: [id], onDelete: Cascade)
|
||||||
item Item @relation(fields: [itemId], references: [id], onDelete: Cascade)
|
characterItemId Int
|
||||||
quantity Int
|
characterItem CharacterItem @relation(fields: [characterItemId], references: [id], onDelete: Cascade)
|
||||||
slot CharacterEquipmentSlotType
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum CharacterEquipmentSlotType {
|
enum CharacterEquipmentSlotType {
|
||||||
|
File diff suppressed because one or more lines are too long
@ -23,6 +23,11 @@ class CharacterRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
equipment: {
|
||||||
|
include: {
|
||||||
|
item: true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -55,6 +60,11 @@ class CharacterRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
equipment: {
|
||||||
|
include: {
|
||||||
|
item: true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -86,6 +96,11 @@ class CharacterRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
equipment: {
|
||||||
|
include: {
|
||||||
|
item: true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -117,6 +132,11 @@ class CharacterRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
equipment: {
|
||||||
|
include: {
|
||||||
|
item: true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -158,9 +158,12 @@ export default class SpriteUpdateEvent {
|
|||||||
const processedInput = await sharp(buffer)
|
const processedInput = await sharp(buffer)
|
||||||
.ensureAlpha()
|
.ensureAlpha()
|
||||||
.resize({
|
.resize({
|
||||||
|
width: frameWidth, // Set maximum width
|
||||||
|
height: frameHeight, // Set maximum height
|
||||||
|
fit: 'inside', // Ensure image fits within dimensions
|
||||||
kernel: sharp.kernel.nearest,
|
kernel: sharp.kernel.nearest,
|
||||||
fit: 'contain',
|
position: 'center',
|
||||||
position: 'center'
|
withoutEnlargement: true // Don't enlarge smaller images
|
||||||
})
|
})
|
||||||
.png({
|
.png({
|
||||||
compressionLevel: 9,
|
compressionLevel: 9,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user