diff --git a/exec/load/ircbot_functions.js b/exec/load/ircbot_functions.js index e0776130b9a34a1928643da3012ce545f1e09294..2c438c616ad749a1261bf26dfd43e75e3b52aefc 100644 --- a/exec/load/ircbot_functions.js +++ b/exec/load/ircbot_functions.js @@ -329,10 +329,12 @@ function ctrl_a_to_mirc(s) { var ctrl_a = false; var bright = false; + var last_colour = ''; var ret = ''; - function add_fg_colour(nn, nb) { + function add_fg_colour(nn, nb, c) { ret += ascii(3) + (bright ? nb : nn); + last_colour = c.toUpperCase(); } s = s.split(''); @@ -347,30 +349,32 @@ function ctrl_a_to_mirc(s) { break; case 'N': bright = false; + s.unshift(last_colour); + s.unshift('\1'); break; case 'K': - add_fg_colour(1, 14); + add_fg_colour(1, 14, c); break; case 'R': - add_fg_colour(4, 7); // Red -> light red, high red -> orange + add_fg_colour(4, 7, c); // Red -> light red, high red -> orange break; case 'G': - add_fg_colour(3, 9); + add_fg_colour(3, 9, c); break; case 'Y': - add_fg_colour(5, 8); + add_fg_colour(5, 8, c); break; case 'B': - add_fg_colour(2, 12); + add_fg_colour(2, 12, c); break; case 'M': - add_fg_colour(6, 13); + add_fg_colour(6, 13, c); break; case 'C': - add_fg_colour(10, 11); + add_fg_colour(10, 11, c); break; case 'W': - add_fg_colour(15, 0); + add_fg_colour(15, 0, c); break; default: break;