diff --git a/js/battle.js b/js/battle.js
index aac7ef018..d0d8594d1 100644
--- a/js/battle.js
+++ b/js/battle.js
@@ -5154,7 +5154,7 @@ function Battle(frame, logFrame, noPreload) {
case 'debug':
args.shift();
name = args.join(' ');
- self.log('
[DEBUG] ' + Tools.escapeHTML(name) + '.
', preempt);
+ self.log('[DEBUG] ' + Tools.escapeHTML(name) + '.
', preempt);
break;
case 'unlink':
break;
diff --git a/js/client-chat.js b/js/client-chat.js
index 3ea064cf8..3ad352d9e 100644
--- a/js/client-chat.js
+++ b/js/client-chat.js
@@ -449,6 +449,29 @@
}
return false;
+ case 'showdebug':
+ this.add('Debug battle messages: ON');
+ Tools.prefs('showdebug', true);
+ var debugStyle = $('#debugstyle').get(0);
+ var onCSS = '.debug {display: block;}';
+ if (!debugStyle) {
+ $('head').append('');
+ } else {
+ debugStyle.innerHTML = onCSS;
+ }
+ return false;
+ case 'hidedebug':
+ this.add('Debug battle messages: HIDDEN');
+ Tools.prefs('showdebug', false);
+ var debugStyle = $('#debugstyle').get(0);
+ var offCSS = '.debug {display: none;}';
+ if (!debugStyle) {
+ $('head').append('');
+ } else {
+ debugStyle.innerHTML = offCSS;
+ }
+ return false;
+
case 'showjoins':
this.add('Join/leave messages: ON');
Tools.prefs('showjoins', true);
diff --git a/js/client.js b/js/client.js
index 17a6b90e7..33849e7b7 100644
--- a/js/client.js
+++ b/js/client.js
@@ -267,6 +267,15 @@
if (musicVolume !== undefined) BattleSound.setBgmVolume(musicVolume);
if (Tools.prefs('logchat')) Storage.startLoggingChat();
+ if (Tools.prefs('showdebug')) {
+ var debugStyle = $('#debugstyle').get(0);
+ var onCSS = '.debug {display: block;}';
+ if (!debugStyle) {
+ $('head').append('');
+ } else {
+ debugStyle.innerHTML = onCSS;
+ }
+ }
});
this.on('init:unsupported', function() {
diff --git a/style/client.css b/style/client.css
index a7f27a529..1a614d0f0 100644
--- a/style/client.css
+++ b/style/client.css
@@ -930,6 +930,9 @@ p.or:after {
.chat.timer {
color: #992222;
}
+.debug {
+ display: none;
+}
.highlighted {
background-color: #FFDDAA;
}