diff --git a/server/src/socket.ts b/server/src/socket.ts index 39827ce..bd03fec 100644 --- a/server/src/socket.ts +++ b/server/src/socket.ts @@ -90,14 +90,23 @@ export function setupSocket(io: Server) { }, ); - socket.on( - "atmosphere:update", - (data: { campaignId: number; fog: boolean }) => { - io.to(`campaign:${data.campaignId}`).emit("atmosphere:update", { - fog: data.fog, - }); - }, - ); + interface EffectState { + active: boolean; + intensity: number; + } + + interface AtmosphereUpdateData { + campaignId: number; + fog: EffectState; + fire: EffectState; + rain: EffectState; + embers: EffectState; + } + + socket.on("atmosphere:update", (data: AtmosphereUpdateData) => { + const { campaignId, ...atmosphere } = data; + io.to(`campaign:${campaignId}`).emit("atmosphere:update", atmosphere); + }); socket.on("disconnect", () => { // Rooms are cleaned up automatically by Socket.IO