#137 : ZoneEffects

This commit is contained in:
Dennis Postma 2024-10-18 23:08:50 +02:00
parent 780cac9644
commit 8abf5acef3
4 changed files with 18 additions and 6 deletions

6
package-lock.json generated
View File

@ -926,9 +926,9 @@
"license": "BSD-3-Clause" "license": "BSD-3-Clause"
}, },
"node_modules/bullmq": { "node_modules/bullmq": {
"version": "5.20.0", "version": "5.21.1",
"resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.20.0.tgz", "resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.21.1.tgz",
"integrity": "sha512-eCJyYJqNUl9swC39x2fVm1BUv5BuO/nv2eAcAsz58znue0ZCYgSG+yWXZeauRG98Jl0UIBcPgJtbF+c9Wd+Odg==", "integrity": "sha512-+yvsd5LkbWkTW2K5C/1s8h1+gGK4F9wVfKM6AJUBSWGsbfWHXnni0Se7xHj1dieVkx6XEsfCzFtO6kZnD+mtHQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cron-parser": "^4.6.0", "cron-parser": "^4.6.0",

View File

@ -38,7 +38,7 @@ model Zone {
height Int @default(10) height Int @default(10)
tiles Json? tiles Json?
pvp Boolean @default(false) pvp Boolean @default(false)
effects ZoneEffect[] zoneEffects ZoneEffect[]
zoneEventTiles ZoneEventTile[] zoneEventTiles ZoneEventTile[]
zoneEventTileTeleports ZoneEventTileTeleport[] zoneEventTileTeleports ZoneEventTileTeleport[]
zoneObjects ZoneObject[] zoneObjects ZoneObject[]

View File

@ -39,7 +39,8 @@ class ZoneRepository {
include: { include: {
object: true object: true
} }
} },
zoneEffects: true
} }
}) })
} catch (error: any) { } catch (error: any) {

View File

@ -1,7 +1,7 @@
import { Server } from 'socket.io' import { Server } from 'socket.io'
import { TSocket } from '../../../utilities/types' import { TSocket } from '../../../utilities/types'
import ZoneRepository from '../../../repositories/zoneRepository' import ZoneRepository from '../../../repositories/zoneRepository'
import { Zone, ZoneEventTileType, ZoneObject } from '@prisma/client' import { Zone, ZoneEffect, ZoneEventTileType, ZoneObject } from '@prisma/client'
import prisma from '../../../utilities/prisma' import prisma from '../../../utilities/prisma'
import zoneManager from '../../../managers/zoneManager' import zoneManager from '../../../managers/zoneManager'
import CharacterRepository from '../../../repositories/characterRepository' import CharacterRepository from '../../../repositories/characterRepository'
@ -25,6 +25,10 @@ interface IPayload {
toRotation: number toRotation: number
} }
}[] }[]
zoneEffects: {
effect: string
strength: number
}[]
zoneObjects: ZoneObject[] zoneObjects: ZoneObject[]
} }
@ -107,6 +111,13 @@ export default class ZoneUpdateEvent {
positionY: zoneObject.positionY positionY: zoneObject.positionY
})) }))
}, },
zoneEffects: {
deleteMany: { zoneId: data.zoneId },
create: data.zoneEffects.map((zoneEffect) => ({
effect: zoneEffect.effect,
strength: zoneEffect.strength
}))
},
updatedAt: new Date() updatedAt: new Date()
} }
}) })