#161: Set default value for createdAt field, store zone chats into database
This commit is contained in:
@ -45,7 +45,7 @@ export default class CharacterConnectEvent {
|
||||
|
||||
private async hasActiveCharacter(): Promise<boolean> {
|
||||
const characters = await CharacterRepository.getByUserId(this.socket.userId!)
|
||||
return characters?.some(char => ZoneManager.getCharacter(char.id)) ?? false
|
||||
return characters?.some((char) => ZoneManager.getCharacter(char.id)) ?? false
|
||||
}
|
||||
|
||||
private async connectCharacter(characterId: number) {
|
||||
@ -53,7 +53,7 @@ export default class CharacterConnectEvent {
|
||||
}
|
||||
|
||||
private emitError(message: string): void {
|
||||
this.socket.emit('notification', { title: 'Server message', message})
|
||||
this.socket.emit('notification', { title: 'Server message', message })
|
||||
gameLogger.error('character:connect error', `Player ${this.socket.userId}: ${message}`)
|
||||
}
|
||||
|
||||
@ -62,4 +62,4 @@ export default class CharacterConnectEvent {
|
||||
this.emitError(`${context}: ${errorMessage}`)
|
||||
gameLogger.error('character:connect error', errorMessage)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,30 +17,27 @@ export default class ChatMessageEvent {
|
||||
) {}
|
||||
|
||||
public listen(): void {
|
||||
this.socket.on('chat:send_message', this.handleChatMessage.bind(this))
|
||||
this.socket.on('chat:message', this.handleEvent.bind(this))
|
||||
}
|
||||
|
||||
private async handleChatMessage(data: TypePayload, callback: (response: boolean) => void): Promise<void> {
|
||||
private async handleEvent(data: TypePayload, callback: (response: boolean) => void): Promise<void> {
|
||||
try {
|
||||
if (!data.message || isCommand(data.message)) {
|
||||
callback(false)
|
||||
return
|
||||
return callback(false)
|
||||
}
|
||||
|
||||
const zoneCharacter = ZoneManager.getCharacter(this.socket.characterId!)
|
||||
if (!zoneCharacter) {
|
||||
gameLogger.error('chat:send_message error', 'Character not found')
|
||||
callback(false)
|
||||
return
|
||||
gameLogger.error('chat:message error', 'Character not found')
|
||||
return callback(false)
|
||||
}
|
||||
|
||||
const character = zoneCharacter.character
|
||||
|
||||
const zone = await ZoneRepository.getById(character.zoneId)
|
||||
if (!zone) {
|
||||
gameLogger.error('chat:send_message error', 'Zone not found')
|
||||
callback(false)
|
||||
return
|
||||
gameLogger.error('chat:message error', 'Zone not found')
|
||||
return callback(false)
|
||||
}
|
||||
|
||||
const chatService = new ChatService()
|
||||
@ -50,7 +47,7 @@ export default class ChatMessageEvent {
|
||||
|
||||
callback(false)
|
||||
} catch (error: any) {
|
||||
gameLogger.error('chat:send_message error', error.message)
|
||||
gameLogger.error('chat:message error', error.message)
|
||||
callback(false)
|
||||
}
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ export default class ObjectRemoveEvent {
|
||||
const finalFilePath = getPublicPath('objects', data.object + '.png')
|
||||
fs.unlink(finalFilePath, (err) => {
|
||||
if (err) {
|
||||
gameMasterLogger.error(`Error deleting object ${data.object}: ${(err.message)}`)
|
||||
gameMasterLogger.error(`Error deleting object ${data.object}: ${err.message}`)
|
||||
callback(false)
|
||||
return
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ export default class ObjectRemoveEvent {
|
||||
const finalFilePath = getPublicPath('objects', data.object + '.png')
|
||||
fs.unlink(finalFilePath, (err) => {
|
||||
if (err) {
|
||||
gameMasterLogger.error(`Error deleting object ${data.object}: ${(err.message)}`)
|
||||
gameMasterLogger.error(`Error deleting object ${data.object}: ${err.message}`)
|
||||
callback(false)
|
||||
return
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ export default class CharacterMove {
|
||||
// If already moving, cancel current movement and wait for it to fully stop
|
||||
if (zoneCharacter.isMoving) {
|
||||
zoneCharacter.isMoving = false
|
||||
await new Promise(resolve => setTimeout(resolve, 100))
|
||||
await new Promise((resolve) => setTimeout(resolve, 100))
|
||||
}
|
||||
|
||||
const path = await this.characterMoveService.calculatePath(zoneCharacter.character, positionX, positionY)
|
||||
|
Reference in New Issue
Block a user