1
0
forked from noxious/server

Fix for creating new characters, added teleport function to zone character model

This commit is contained in:
2025-01-01 03:00:03 +01:00
parent 9d6a8730a9
commit 30b2028bd8
4 changed files with 71 additions and 4 deletions

View File

@ -5,6 +5,7 @@ import { ZCharacterCreate } from '#application/zodTypes'
import { Character } from '#entities/character'
import CharacterRepository from '#repositories/characterRepository'
import UserRepository from '#repositories/userRepository'
import ZoneRepository from '#repositories/zoneRepository'
export default class CharacterCreateEvent extends BaseEvent {
public listen(): void {
@ -35,10 +36,19 @@ export default class CharacterCreateEvent extends BaseEvent {
return this.socket.emit('notification', { message: 'You can only have 4 characters' })
}
const newCharacter = new Character()
await newCharacter.setName(data.name).setUser(user).save()
// @TODO: Change to default location
const zone = await ZoneRepository.getFirst()
if (!newCharacter) return this.socket.emit('notification', { message: 'Failed to create character. Please try again (later).' })
const newCharacter = new Character()
await newCharacter
.setName(data.name)
.setUser(user)
.setZone(zone!)
.save()
if (!newCharacter) {
return this.socket.emit('notification', { message: 'Failed to create character. Please try again (later).' })
}
characters = [...characters, newCharacter]