aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets/handlers/handleID.ts
blob: 17f43f9af384d4fd444da278dfccc9f93f9c6187 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { client, setOldLoading } from "../../client";
import pkg from "../../../package.json";

const version = pkg.version;

/**
 * Identifies the server and issues a playerID
 * @param {Array} args packet arguments
 */
export const handleID = (args: string[]) => {
  client.playerID = Number(args[1]);
  const serverSoftware = args[2].split("&")[0];
  let serverVersion;
  if (serverSoftware === "serverD") {
    serverVersion = args[2].split("&")[1];
  } else if (serverSoftware === "webAO") {
    setOldLoading(false);
    client.sender.sendSelf("PN#0#1#%");
  } else {
    serverVersion = args[3];
  }

  if (serverSoftware === "serverD" && serverVersion === "1377.152") {
    setOldLoading(true);
  } // bugged version

  if (serverSoftware !== "webAO") {
    client.sender.sendServer(`ID#webAO#${version}#%`);
  }
};