diff --git a/evennia/web/webclient/static/webclient/js/webclient_gui.js b/evennia/web/webclient/static/webclient/js/webclient_gui.js index 4cfa06e468..adc5d15df9 100644 --- a/evennia/web/webclient/static/webclient/js/webclient_gui.js +++ b/evennia/web/webclient/static/webclient/js/webclient_gui.js @@ -87,19 +87,25 @@ function doSendText() { } var inputfield = $("#inputfield"); var outtext = inputfield.val(); - if (outtext.length > 7 && outtext.substr(0, 7) == "##send ") { - // send a specific oob instruction ["cmdname",[args],{kwargs}] - outtext = outtext.slice(7); - var cmdarr = JSON.parse(outtext); - var cmdname = cmdarr[0]; - var args = cmdarr[1]; - var kwargs = cmdarr[2]; - log(cmdname, args, kwargs); - Evennia.msg(cmdname, args, kwargs); - } else { - input_history.add(outtext); - inputfield.val(""); - Evennia.msg("text", [outtext], {}); + var lines = outtext.trim().replace(/[\r]+/,"\n").replace(/[\n]+/, "\n").split("\n"); + for (var i = 0; i < lines.length; i++) { + var line = lines[i].trim(); + if (line.length > 7 && line.substr(0, 7) == "##send ") { + // send a specific oob instruction ["cmdname",[args],{kwargs}] + line = line.slice(7); + var cmdarr = JSON.parse(line); + var cmdname = cmdarr[0]; + var args = cmdarr[1]; + var kwargs = cmdarr[2]; + log(cmdname, args, kwargs); + Evennia.msg(cmdname, args, kwargs); + } else if (line.length < 1) { + /* do not process empty lines */ + } else { + input_history.add(line); + inputfield.val(""); + Evennia.msg("text", [line], {}); + } } }