From 993875f8ef404388be26eff62c62756fb5d098ab Mon Sep 17 00:00:00 2001 From: Aaron Wood Date: Fri, 10 Apr 2026 19:32:14 -0400 Subject: [PATCH] feat: update atmosphere:update socket type for full effect state --- server/src/socket.ts | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) 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