aboutsummaryrefslogtreecommitdiff
path: root/webAO
diff options
context:
space:
mode:
Diffstat (limited to 'webAO')
-rw-r--r--webAO/packets/handlers/handlePV.ts24
1 files changed, 11 insertions, 13 deletions
diff --git a/webAO/packets/handlers/handlePV.ts b/webAO/packets/handlers/handlePV.ts
index 4ac747f..a39a4dd 100644
--- a/webAO/packets/handlers/handlePV.ts
+++ b/webAO/packets/handlers/handlePV.ts
@@ -43,6 +43,16 @@ export const handlePV = async (args: string[]) => {
alt="unavailable"
class="emote_button">No emotes available</span>`;
} else {
+ // Probe extensions once using button1_off, then reuse for all emotes
+ const charPath = `${AO_HOST}characters/${encodeURI(me.name.toLowerCase())}/emotions/`;
+ let emoteExtension = client.emotions_extensions[0];
+ for (const extension of client.emotions_extensions) {
+ if (await fileExists(`${charPath}button1_off${extension}`)) {
+ emoteExtension = extension;
+ break;
+ }
+ }
+
for (let i = 1; i <= ini.emotions.number; i++) {
try {
const emoteinfo = ini.emotions[i].split("#");
@@ -56,20 +66,8 @@ export const handlePV = async (args: string[]) => {
esfx = "0";
esfxd = 0;
}
- // Make sure the asset server is case insensitive, or that everything on it is lowercase
- let url;
- for (const extension of client.emotions_extensions) {
- url = `${AO_HOST}characters/${encodeURI(
- me.name.toLowerCase(),
- )}/emotions/button${i}_off${extension}`;
-
- const exists = await fileExists(url);
-
- if (exists) {
- break;
- }
- }
+ const url = `${charPath}button${i}_off${emoteExtension}`;
emotes[i] = {
desc: emoteinfo[0].toLowerCase(),