aboutsummaryrefslogtreecommitdiff
path: root/webAO/client/setEmote.js
diff options
context:
space:
mode:
authorstonedDiscord <Tukz@gmx.de>2022-03-11 12:46:07 +0100
committerGitHub <noreply@github.com>2022-03-11 12:46:07 +0100
commit4b918084e413933cfc819bd1a1246c6a1ac13e31 (patch)
treed01a1ef9c4818336fd82330855e09a74824a5fa7 /webAO/client/setEmote.js
parent6dd1b296c2dd1d7462dd8514dff43db59ac8dd19 (diff)
parent20424a76b00b303a94921a1b3c5fec6495471f0c (diff)
Merge pull request #101 from caleb-mabry/remove-unused-code
Magnum Opus Pt1
Diffstat (limited to 'webAO/client/setEmote.js')
-rw-r--r--webAO/client/setEmote.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/webAO/client/setEmote.js b/webAO/client/setEmote.js
new file mode 100644
index 0000000..16c95be
--- /dev/null
+++ b/webAO/client/setEmote.js
@@ -0,0 +1,43 @@
+import fileExistsSync from '../utils/fileExistsSync';
+
+/**
+ * Sets all the img tags to the right sources
+ * @param {*} chatmsg
+ */
+
+const setEmote = (AO_HOST, client, charactername, emotename, prefix, pair, side) => {
+ const pairID = pair ? 'pair' : 'char';
+ const characterFolder = `${AO_HOST}characters/`;
+ const acceptedPositions = ['def', 'pro', 'wit'];
+ const position = acceptedPositions.includes(side) ? `${side}_` : '';
+
+ const gif_s = document.getElementById(`client_${position}${pairID}_gif`);
+ const png_s = document.getElementById(`client_${position}${pairID}_png`);
+ const apng_s = document.getElementById(`client_${position}${pairID}_apng`);
+ const webp_s = document.getElementById(`client_${position}${pairID}_webp`);
+ const extensionsMap = {
+ '.gif': gif_s,
+ '.png': png_s,
+ '.apng': apng_s,
+ '.webp': webp_s,
+ };
+
+ for (const [extension, htmlElement] of Object.entries(extensionsMap)) {
+ // Hides all sprites before creating a new sprite
+ if (client.lastChar !== client.chatmsg.name) {
+ htmlElement.src = transparentPNG;
+ }
+ let url;
+ if (extension === '.png') {
+ url = `${characterFolder}${encodeURI(charactername)}/${encodeURI(emotename)}${extension}`;
+ } else {
+ url = `${characterFolder}${encodeURI(charactername)}/${encodeURI(prefix)}${encodeURI(emotename)}${extension}`;
+ }
+ const exists = fileExistsSync(url);
+ if (exists) {
+ htmlElement.src = url;
+ return;
+ }
+ }
+};
+export default setEmote;