From 2dfc7e9192d0c0076ba61c022d8f753469086fe0 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 18 Sep 2024 12:51:07 +0200 Subject: make effect its own packet --- test-client/main.ts | 3 ++- test-client/protocol.ts | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'test-client') diff --git a/test-client/main.ts b/test-client/main.ts index 4313ab96..de1424d3 100644 --- a/test-client/main.ts +++ b/test-client/main.ts @@ -257,6 +257,8 @@ function packet(p: PacketC) { break; case "environment": break + case "effect": + break; case "menu": switch (p.menu) { case "book": open("https://s.metamuffin.org/static/hurrycurry/book.pdf"); break @@ -363,7 +365,6 @@ function frame_update(dt: number) { if (player.item !== undefined && player.item !== null) update_item(player.item) if (player.message && tick_message(player.message, dt)) delete player.message if (player.message_persist && tick_message(player.message_persist, dt)) delete player.message_persist - } for (const [_, tile] of tiles) { if (tile.item !== undefined && tile.item !== null) update_item(tile.item) diff --git a/test-client/protocol.ts b/test-client/protocol.ts index 6d7bf464..0d2183dd 100644 --- a/test-client/protocol.ts +++ b/test-client/protocol.ts @@ -40,7 +40,8 @@ export type PacketS = | { type: "leave", player: PlayerID } // Despawns a character | { type: "movement", player: PlayerID, pos: Vec2, dir: Vec2, boost: boolean } | { type: "interact", player: PlayerID, pos?: Vec2 } // Interact with some tile. pos is a position when pressing and null when releasing interact button - | { type: "communicate", player: PlayerID, message?: Message, timeout?: number } // Send a message + | { type: "communicate", player: PlayerID, message?: Message, timeout?: number } // Sends a message + | { type: "effect", player: PlayerID, name: string } // Sends an effect | { type: "replay_tick", dt: number } // Steps forward in replay. export type PacketC = @@ -57,6 +58,7 @@ export type PacketC = | { type: "clear_progress", item: ItemLocation } | { type: "update_map", tile: Vec2, kind: TileIndex | null, neighbors: [TileIndex | null] } // A map tile was changed | { type: "communicate", player: PlayerID, message?: Message, timeout?: MessageTimeout } // A player wants to communicate something, message is null when cleared + | { type: "effect", player: PlayerID, name: string } // Player sent an effect | { type: "server_message", text: string } // Text message from the server | { type: "server_hint", message?: Message, position?: Vec2 } // Hint message from server with optional position. Message is unset to clear previous message | { type: "score" } & Score // Supplies information for score OSD @@ -90,7 +92,6 @@ export type Message = { item: number } | { tile: number } | { text: string } - | { effect: string } | { translation: { id: string, params: Message[] } } export type ItemLocation = -- cgit v1.2.3-70-g09d2