123
This commit is contained in:
29
server.js
29
server.js
@ -390,6 +390,7 @@ function broadcastGameState(room) {
|
||||
...room.gameState,
|
||||
yourIndex: i,
|
||||
yourHand: [...p.hand],
|
||||
yourDeck: [...p.deck], // Передаем колоду для кузницы
|
||||
yourDeckCount: p.deck.length,
|
||||
yourManualDrawUsed: !!p.manualDrawUsed,
|
||||
yourHeroAbilityUsed: !!p.heroAbilityUsed,
|
||||
@ -1879,6 +1880,34 @@ io.on('connection', (socket) => {
|
||||
stealCardsFromDeck(room, socket.id, data.handIndex, data.targetPlayerIndex, data.cardIndices);
|
||||
});
|
||||
|
||||
socket.on('chatMessage', (data) => {
|
||||
const room = getRoomBySocket(socket.id);
|
||||
if (!room) return;
|
||||
|
||||
const message = (data?.message || '').trim();
|
||||
if (message.length === 0 || message.length > 200) return;
|
||||
|
||||
// Находим имя игрока
|
||||
let playerName = 'Игрок';
|
||||
if (room.gameState && room.gameState.players) {
|
||||
const player = room.gameState.players.find(p => p.id === socket.id);
|
||||
if (player) {
|
||||
playerName = player.name || 'Игрок';
|
||||
}
|
||||
} else if (room.lobby) {
|
||||
const lobbyPlayer = room.lobby.find(p => p.id === socket.id);
|
||||
if (lobbyPlayer) {
|
||||
playerName = lobbyPlayer.name || 'Игрок';
|
||||
}
|
||||
}
|
||||
|
||||
// Отправляем сообщение всем в комнате
|
||||
io.to(room.code).emit('chatMessage', {
|
||||
playerName: playerName,
|
||||
message: message
|
||||
});
|
||||
});
|
||||
|
||||
socket.on('battlecryTarget', (data) => {
|
||||
const room = getRoomBySocket(socket.id);
|
||||
if (!room || !room.gameState || room.gameState.phase !== 'playing') return;
|
||||
|
||||
Reference in New Issue
Block a user