diff --git a/js/client-chat.js b/js/client-chat.js index 5dc459160..e5dcbc405 100644 --- a/js/client-chat.js +++ b/js/client-chat.js @@ -1448,7 +1448,7 @@ break; case 'error': - this.$chat.append('
' + BattleLog.escapeHTML(row.slice(1).join('|')) + '
'); + this.$chat.append('
' + BattleLog.parseMessage(row.slice(1).join('|'), true) + '
'); break; case 'uhtml': diff --git a/src/battle-log.ts b/src/battle-log.ts index 2b521c828..5a2c52f52 100644 --- a/src/battle-log.ts +++ b/src/battle-log.ts @@ -614,7 +614,7 @@ class BattleLog { case 'text': return ['chat', BattleLog.parseMessage(target)]; case 'error': - return ['chat message-error', BattleLog.escapeHTML(target)]; + return ['chat message-error', formatText(target, true)]; case 'html': return [ 'chat chatmessage-' + toID(name) + hlClass + mineClass, @@ -645,12 +645,12 @@ class BattleLog { } } - static parseMessage(str: string) { + static parseMessage(str: string, isTrusted = false) { // Don't format console commands (>>). if (str.substr(0, 3) === '>> ' || str.substr(0, 4) === '>>> ') return this.escapeHTML(str); // Don't format console results (<<). if (str.substr(0, 3) === '<< ') return this.escapeHTML(str); - str = formatText(str); + str = formatText(str, isTrusted); let options = BattleLog.prefs('chatformatting') || {}; diff --git a/src/globals.d.ts b/src/globals.d.ts index f5b1b04c2..67c82497e 100644 --- a/src/globals.d.ts +++ b/src/globals.d.ts @@ -29,7 +29,7 @@ declare var BattlePokemonSpritesBW: any; // defined in battle-log-misc declare function MD5(input: string): string; -declare function formatText(input: string): string; +declare function formatText(input: string, isTrusted?: boolean): string; // PS globals /////////////