A FoundryVTT module for playing at an in-person table.
1declare var socketlib: SocketLib;
2export let socket: Socket | null = null;
3
4export function registerSocket(): void {
5 socket = socketlib.registerModule("pf2e-table-mode");
6 socket.register("tokenMove", tokenMove);
7}
8
9async function tokenMove(data: { tokenId: string, direction: string}): Promise<void> {
10 const token = canvas.tokens.get(data.tokenId);
11 const size = canvas.grid.size;
12 const dx = (data.direction === "left" ? -1 : (data.direction === "right" ? 1 : 0));
13 const dy = (data.direction === "up" ? -1 : (data.direction === "down" ? 1 : 0));
14
15 await token.document.update({
16 x: token.document.x + dx * size,
17 y: token.document.y + dy * size
18 });
19}