diff options
| author | Caleb <caleb.mabry.15@cnu.edu> | 2022-08-30 18:32:27 -0400 |
|---|---|---|
| committer | Caleb <caleb.mabry.15@cnu.edu> | 2022-08-30 18:32:27 -0400 |
| commit | e66a37a62b06df5b0f48d64f6b9a14b9f81bd15d (patch) | |
| tree | ab39b1eb75f215e4bca85b5fabe60d4c7ebe3c8a /webAO/packets/handlers/handleSI.ts | |
| parent | fbe2a62fd081a60860df4169f6f74425b3ff833e (diff) | |
A buncha more
Diffstat (limited to 'webAO/packets/handlers/handleSI.ts')
| -rw-r--r-- | webAO/packets/handlers/handleSI.ts | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/webAO/packets/handlers/handleSI.ts b/webAO/packets/handlers/handleSI.ts new file mode 100644 index 0000000..e040c83 --- /dev/null +++ b/webAO/packets/handlers/handleSI.ts @@ -0,0 +1,41 @@ +import { client, extrafeatures, oldLoading } from "../../client"; + + +/** + * Received when the server announces its server info, + * but we use it as a cue to begin retrieving characters. + * @param {Array} args packet arguments + */ +export const handleSI = (args: string[]) => { + client.char_list_length = Number(args[1]); + client.char_list_length += 1; // some servers count starting from 0 some from 1... + client.evidence_list_length = Number(args[2]); + client.music_list_length = Number(args[3]); + + (<HTMLProgressElement>document.getElementById("client_loadingbar")).max = + client.char_list_length + + client.evidence_list_length + + client.music_list_length; + + // create the charselect grid, to be filled by the character loader + document.getElementById("client_chartable")!.innerHTML = ""; + + for (let i = 0; i < client.char_list_length; i++) { + const demothing = document.createElement("img"); + + demothing.className = "demothing"; + demothing.id = `demo_${i}`; + const demoonclick = document.createAttribute("onclick"); + demoonclick.value = `pickChar(${i})`; + demothing.setAttributeNode(demoonclick); + + document.getElementById("client_chartable")!.appendChild(demothing); + } + + // this is determined at the top of this file + if (!oldLoading && extrafeatures.includes("fastloading")) { + client.sendServer("RC#%"); + } else { + client.sendServer("askchar2#%"); + } +}
\ No newline at end of file |
