Index: ps/trunk/binaries/data/mods/public/gui/lobby/lobby.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/lobby/lobby.js +++ ps/trunk/binaries/data/mods/public/gui/lobby/lobby.js @@ -205,13 +205,12 @@ Engine.GetGUIObjectByName("chatInput").hidden = Engine.LobbyGetPlayerRole(g_Username) == "visitor"; let me = g_Username == msg.nick; - let newrole = Engine.LobbyGetPlayerRole(msg.nick); let txt = - newrole == "visitor" ? + msg.newrole == "visitor" ? me ? translate("You have been muted.") : translate("%(nick)s has been muted.") : - newrole == "moderator" ? + msg.newrole == "moderator" ? me ? translate("You are now a moderator.") : translate("%(nick)s is now a moderator.") : Index: ps/trunk/source/lobby/XmppClient.cpp =================================================================== --- ps/trunk/source/lobby/XmppClient.cpp +++ ps/trunk/source/lobby/XmppClient.cpp @@ -883,7 +883,7 @@ else if (m_PlayerMap.find(nick) == m_PlayerMap.end()) CreateGUIMessage("chat", "join", std::time(nullptr), "nick", nick); else if (m_PlayerMap[nick][2] != roleString) - CreateGUIMessage("chat", "role", std::time(nullptr), "nick", nick, "oldrole", m_PlayerMap[nick][2]); + CreateGUIMessage("chat", "role", std::time(nullptr), "nick", nick, "oldrole", m_PlayerMap[nick][2], "newrole", roleString); else // Don't create a GUI message for regular presence changes, because // several hundreds of them accumulate during a match, impacting performance terribly and