diff options
Diffstat (limited to 'webAO/client/sender')
| -rw-r--r-- | webAO/client/sender/index.ts | 33 | ||||
| -rw-r--r-- | webAO/client/sender/sendCharacter.ts | 11 | ||||
| -rw-r--r-- | webAO/client/sender/sendCheck.ts | 8 | ||||
| -rw-r--r-- | webAO/client/sender/sendDE.ts | 9 | ||||
| -rw-r--r-- | webAO/client/sender/sendEE.ts | 16 | ||||
| -rw-r--r-- | webAO/client/sender/sendHP.ts | 10 | ||||
| -rw-r--r-- | webAO/client/sender/sendMusic.ts | 10 | ||||
| -rw-r--r-- | webAO/client/sender/sendMusicChange.ts | 10 | ||||
| -rw-r--r-- | webAO/client/sender/sendOOC.ts | 33 | ||||
| -rw-r--r-- | webAO/client/sender/sendPE.ts | 14 | ||||
| -rw-r--r-- | webAO/client/sender/sendRT.ts | 9 | ||||
| -rw-r--r-- | webAO/client/sender/sendZZ.ts | 13 |
12 files changed, 174 insertions, 2 deletions
diff --git a/webAO/client/sender/index.ts b/webAO/client/sender/index.ts index ce5b488..41a6bd5 100644 --- a/webAO/client/sender/index.ts +++ b/webAO/client/sender/index.ts @@ -1,6 +1,16 @@ import { sendIC } from "./sendIC"; import { sendSelf } from './sendSelf' import { sendServer } from './sendServer' +import { sendCheck } from './sendCheck' +import {sendHP} from './sendHP' +import {sendOOC} from './sendOOC' +import {sendCharacter} from './sendCharacter' +import {sendRT} from './sendRT' +import {sendMusicChange} from './sendMusicChange' +import {sendZZ} from './sendZZ' +import {sendEE} from './sendEE' +import {sendDE} from './sendDE' +import {sendPE} from './sendPE' export interface ISender { sendIC: (deskmod: number, preanim: string, @@ -30,10 +40,29 @@ export interface ISender { effect: string) => void sendSelf: (message: string) => void sendServer: (message: string) => void + sendCheck: () => void + sendHP: (side: number, hp: number) => void + sendOOC: (message: string) => void + sendCharacter: (character: number) => void + sendRT: (testimony: string) => void + sendMusicChange: (track: string) => void + sendZZ: (msg: string) => void + sendEE: (id: number, name: string, desc: string, img: string) => void + sendDE: (id: number) => void + sendPE: (name: string, desc: string, img: string) => void } export const sender = { sendIC, sendSelf, - sendServer - + sendServer, + sendCheck, + sendHP, + sendOOC, + sendCharacter, + sendRT, + sendMusicChange, + sendZZ, + sendEE, + sendDE, + sendPE }
\ No newline at end of file diff --git a/webAO/client/sender/sendCharacter.ts b/webAO/client/sender/sendCharacter.ts new file mode 100644 index 0000000..5e81727 --- /dev/null +++ b/webAO/client/sender/sendCharacter.ts @@ -0,0 +1,11 @@ +import { client } from "../../client"; + +/** + * Requests to play as a specified character. + * @param {number} character the character ID + */ +export const sendCharacter = (character: number) => { + if (character === -1 || client.chars[character].name) { + client.sender.sendServer(`CC#${client.playerID}#${character}#web#%`); + } +}
\ No newline at end of file diff --git a/webAO/client/sender/sendCheck.ts b/webAO/client/sender/sendCheck.ts new file mode 100644 index 0000000..91b3a02 --- /dev/null +++ b/webAO/client/sender/sendCheck.ts @@ -0,0 +1,8 @@ +import { client } from "../../client"; + +/** + * Sends a keepalive packet. + */ +export const sendCheck = () => { + client.sender.sendServer(`CH#${client.charID}#%`); +} diff --git a/webAO/client/sender/sendDE.ts b/webAO/client/sender/sendDE.ts new file mode 100644 index 0000000..4d94d65 --- /dev/null +++ b/webAO/client/sender/sendDE.ts @@ -0,0 +1,9 @@ +import { client } from "../../client"; + +/** + * Sends delete evidence command. + * @param {number} evidence id + */ +export const sendDE = (id: number) => { + client.sender.sendServer(`DE#${id}#%`); +}
\ No newline at end of file diff --git a/webAO/client/sender/sendEE.ts b/webAO/client/sender/sendEE.ts new file mode 100644 index 0000000..7c5bfe3 --- /dev/null +++ b/webAO/client/sender/sendEE.ts @@ -0,0 +1,16 @@ +import { client } from "../../client"; +import { escapeChat } from "../../encoding"; + + +/** + * Sends edit evidence command. + * @param {number} evidence id + * @param {string} evidence name + * @param {string} evidence description + * @param {string} evidence image filename + */ +export const sendEE = (id: number, name: string, desc: string, img: string) => { + client.sender.sendServer( + `EE#${id}#${escapeChat(name)}#${escapeChat(desc)}#${escapeChat(img)}#%` + ); +}
\ No newline at end of file diff --git a/webAO/client/sender/sendHP.ts b/webAO/client/sender/sendHP.ts new file mode 100644 index 0000000..d007094 --- /dev/null +++ b/webAO/client/sender/sendHP.ts @@ -0,0 +1,10 @@ +import { client } from "../../client"; + +/** + * Sends health point command. + * @param {number} side the position + * @param {number} hp the health point + */ +export const sendHP = (side: number, hp: number) => { + client.sender.sendServer(`HP#${side}#${hp}#%`); +}
\ No newline at end of file diff --git a/webAO/client/sender/sendMusic.ts b/webAO/client/sender/sendMusic.ts new file mode 100644 index 0000000..eceba08 --- /dev/null +++ b/webAO/client/sender/sendMusic.ts @@ -0,0 +1,10 @@ +import { client } from "../../client"; + + +/** + * Requests to select a music track. + * @param {number?} song the song to be played + */ +export const sendMusic = (song: string) => { + client.sender.sendServer(`MC#${song}#${client.charID}#%`); +}
\ No newline at end of file diff --git a/webAO/client/sender/sendMusicChange.ts b/webAO/client/sender/sendMusicChange.ts new file mode 100644 index 0000000..50c6306 --- /dev/null +++ b/webAO/client/sender/sendMusicChange.ts @@ -0,0 +1,10 @@ +import { client } from "../../client"; + + +/** + * Requests to change the music to the specified track. + * @param {string} track the track ID + */ +export const sendMusicChange = (track: string) => { + client.sender.sendServer(`MC#${track}#${client.charID}#%`); +} diff --git a/webAO/client/sender/sendOOC.ts b/webAO/client/sender/sendOOC.ts new file mode 100644 index 0000000..a410b5f --- /dev/null +++ b/webAO/client/sender/sendOOC.ts @@ -0,0 +1,33 @@ +import { client } from '../../client' +import { escapeChat } from '../../encoding'; +import setCookie from '../../utils/setCookie'; + +/** + * Sends an out-of-character chat message. + * @param {string} message the message to send + */ +export const sendOOC = (message: string) => { + setCookie( + "OOC_name", + (<HTMLInputElement>document.getElementById("OOC_name")).value + ); + const oocName = `${escapeChat( + (<HTMLInputElement>document.getElementById("OOC_name")).value + )}`; + const oocMessage = `${escapeChat(message)}`; + + const commands = { + "/save_chatlog": client.saveChatlogHandle, + }; + const commandsMap = new Map(Object.entries(commands)); + + if (oocMessage && commandsMap.has(oocMessage.toLowerCase())) { + try { + commandsMap.get(oocMessage.toLowerCase())(); + } catch (e) { + // Command Not Recognized + } + } else { + client.sender.sendServer(`CT#${oocName}#${oocMessage}#%`); + } +}
\ No newline at end of file diff --git a/webAO/client/sender/sendPE.ts b/webAO/client/sender/sendPE.ts new file mode 100644 index 0000000..984fc4d --- /dev/null +++ b/webAO/client/sender/sendPE.ts @@ -0,0 +1,14 @@ +import { client } from "../../client"; +import { escapeChat } from "../../encoding"; + +/** + * Sends add evidence command. + * @param {string} evidence name + * @param {string} evidence description + * @param {string} evidence image filename + */ +export const sendPE = (name: string, desc: string, img: string) => { + client.sender.sendServer( + `PE#${escapeChat(name)}#${escapeChat(desc)}#${escapeChat(img)}#%` + ); +}
\ No newline at end of file diff --git a/webAO/client/sender/sendRT.ts b/webAO/client/sender/sendRT.ts new file mode 100644 index 0000000..2d6c60a --- /dev/null +++ b/webAO/client/sender/sendRT.ts @@ -0,0 +1,9 @@ +import { client } from "../../client"; + +/** + * Sends testimony command. + * @param {string} testimony type + */ +export const sendRT = (testimony: string) => { + client.sender.sendServer(`RT#${testimony}#%`); +}
\ No newline at end of file diff --git a/webAO/client/sender/sendZZ.ts b/webAO/client/sender/sendZZ.ts new file mode 100644 index 0000000..237ab37 --- /dev/null +++ b/webAO/client/sender/sendZZ.ts @@ -0,0 +1,13 @@ +import { client, extrafeatures } from "../../client"; + +/** + * Sends call mod command. + * @param {string} message to mod + */ +export const sendZZ = (msg: string) => { + if (extrafeatures.includes("modcall_reason")) { + client.sender.sendServer(`ZZ#${msg}#%`); + } else { + client.sender.sendServer("ZZ#%"); + } +}
\ No newline at end of file |
