diff --git a/code/chat.js b/code/chat.js index 1df65472..84e7c96d 100644 --- a/code/chat.js +++ b/code/chat.js @@ -256,6 +256,7 @@ window.chat.writeDataToHash = function(newData, storageHash, skipSecureMsgs) { if(json[0] in storageHash) return true; var skipThisEntry = false; + var msgToPlayer = false; var time = json[1]; var team = json[2].plext.team === 'ALIENS' ? TEAM_ENL : TEAM_RES; @@ -276,13 +277,13 @@ window.chat.writeDataToHash = function(newData, storageHash, skipSecureMsgs) { break; case 'TEXT': - var tmp = $('
').text(markup[1].plain).html().autoLink(); - msg += tmp.replace(window.PLAYER['nickMatcher'], '$1'); + msg += $('').text(markup[1].plain).html().autoLink(); break; case 'AT_PLAYER': - var tmp = $('').text(markup[1].plain).html().autoLink(); - msg += tmp.replace(window.PLAYER['nickMatcher'], '$1'); + msgToPlayer = (markup[1].plain == ('@'+window.PLAYER.nickname)); + var spanClass = msgToPlayer ? "pl_nudge_me" : (markup[1].team + " pl_nudge_player"); + msg += $('').html($('').attr('class', spanClass).text(markup[1].plain)).html(); break; case 'PORTAL': @@ -307,7 +308,7 @@ window.chat.writeDataToHash = function(newData, storageHash, skipSecureMsgs) { if(skipThisEntry) return true; // format: timestamp, autogenerated, HTML message, player guid - storageHash[json[0]] = [json[1], auto, chat.renderMsg(msg, nick, time, team), pguid]; + storageHash[json[0]] = [json[1], auto, chat.renderMsg(msg, nick, time, team, msgToPlayer), pguid]; window.setPlayerName(pguid, nick); // free nick name resolves }); @@ -357,11 +358,15 @@ window.chat.renderDivider = function(text) { } -window.chat.renderMsg = function(msg, nick, time, team) { +window.chat.renderMsg = function(msg, nick, time, team, msgToPlayer) { var ta = unixTimeToHHmm(time); var tb = unixTimeToString(time, true); // help cursor via “#chat time” var t = ''; + if ( msgToPlayer ) + { + t = '