diff options
Diffstat (limited to 'webAO/packets')
| -rw-r--r-- | webAO/packets/handlers/handlePR.ts | 23 | ||||
| -rw-r--r-- | webAO/packets/handlers/handlePU.ts | 9 | ||||
| -rw-r--r-- | webAO/packets/handlers/handlePV.ts | 25 |
3 files changed, 48 insertions, 9 deletions
diff --git a/webAO/packets/handlers/handlePR.ts b/webAO/packets/handlers/handlePR.ts new file mode 100644 index 0000000..1908077 --- /dev/null +++ b/webAO/packets/handlers/handlePR.ts @@ -0,0 +1,23 @@ +import { client } from "../../client"; + +function addPlayer(playerID) { +const list = <HTMLTableElement>document.getElementById("client_playerlist"); + +} + +function removePlayer(playerID) { + const list = <HTMLTableElement>document.getElementById("client_playerlist"); + +} + +/** + * Handles a player joining or leaving + * @param {Array} args packet arguments + */ +export const handlePR = (args: string[]) => { + const playerID = Number(args[1]); + if (Number(args[2]) === 0) + addPlayer(playerID); + else if (Number(args[2]) === 1) + removePlayer(playerID); +}
\ No newline at end of file diff --git a/webAO/packets/handlers/handlePU.ts b/webAO/packets/handlers/handlePU.ts new file mode 100644 index 0000000..0bc1201 --- /dev/null +++ b/webAO/packets/handlers/handlePU.ts @@ -0,0 +1,9 @@ +import { getCharIcon } from "../../client/handleCharacterInfo"; + +/** + * Handles a playerlist update + * @param {Array} args packet arguments + */ +export const handlePU = (args: string[]) => { + const playerID = Number(args[1]); +}
\ No newline at end of file diff --git a/webAO/packets/handlers/handlePV.ts b/webAO/packets/handlers/handlePV.ts index 879d004..38657be 100644 --- a/webAO/packets/handlers/handlePV.ts +++ b/webAO/packets/handlers/handlePV.ts @@ -4,6 +4,19 @@ import { updateActionCommands } from '../../dom/updateActionCommands' import { pickEmotion } from '../../dom/pickEmotion' import { AO_HOST } from "../../client/aoHost"; +function addEmoteButton(i: Number, imgurl: string, desc: string) { + const emotesList = document.getElementById("client_emo"); + const emote_item = new Image(); + emote_item.id = "emo_" + i; + emote_item.className = "emote_button"; + emote_item.src = imgurl; + emote_item.alt = desc; + emote_item.title = desc; + emote_item.onclick = () => { window.pickEmotion(i) } + emotesList.appendChild(emote_item); +} + + /** * Handles the server's assignment of a character for the player to use. * PV # playerID (unused) # CID # character ID @@ -17,7 +30,7 @@ export const handlePV = async (args: string[]) => { const me = client.chars[client.charID]; client.selectedEmote = -1; const { emotes } = client; - const emotesList = document.getElementById("client_emo")!; + const emotesList = document.getElementById("client_emo"); emotesList.style.display = ""; emotesList.innerHTML = ""; // Clear emote box const ini = me.inifile; @@ -72,14 +85,8 @@ export const handlePV = async (args: string[]) => { button: url, }; - const emote_item = new Image(); - emote_item.id = "emo_" + i; - emote_item.className = "emote_button"; - emote_item.src = emotes[i].button; - emote_item.alt = emotes[i].desc; - emote_item.title = emotes[i].desc; - emote_item.onclick = () => { window.pickEmotion(i) } - emotesList.appendChild(emote_item); + addEmoteButton(i, url, emotes[i].desc); + if (i === 1) pickEmotion(1); } catch (e) { console.error(`missing emote ${i}`); |
