1
0
forked from noxious/server

More TP work

This commit is contained in:
2024-08-26 21:22:03 +02:00
parent e8d100e063
commit 1aa3d1a208
5 changed files with 68 additions and 49 deletions

View File

@ -0,0 +1,26 @@
import { ExtendedCharacter, TSocket } from '../utilities/types'
import prisma from '../utilities/prisma'
import ZoneRepository from '../repositories/zoneRepository'
import ZoneManager from '../managers/zoneManager'
import { ZoneEventTile, ZoneEventTileTeleport } from '@prisma/client'
export class ZoneEventTileService {
public async handleTeleport(socket: TSocket, character: ExtendedCharacter, teleport: ZoneEventTileTeleport): Promise<void> {
if (teleport.toZoneId === character.zoneId) return
const zone = await ZoneRepository.getById(teleport.toZoneId)
if (!zone) return
character.zoneId = teleport.toZoneId
character.positionX = teleport.toPositionX
character.positionY = teleport.toPositionY
socket.leave(character.zoneId.toString())
socket.join(teleport.toZoneId.toString())
socket.emit('zone:teleport', {
zone,
characters: ZoneManager.getCharactersInZone(zone.id)
})
}
}