diff --git a/src/client/ui/templates/messages/styles.css b/src/client/ui/templates/messages/styles.css index 3f91ac24..3892e80e 100644 --- a/src/client/ui/templates/messages/styles.css +++ b/src/client/ui/templates/messages/styles.css @@ -1 +1 @@ -.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}[class^="ui"] .el{height:35px;text-align:center;padding:0 0 0 0;background-color:transparent}[class^="ui"] .textbox{border:none;outline:none;font-size:16px}[class^="ui"] div.textbox{padding-top:6px}[class^="ui"] .button{cursor:pointer;padding-top:10px}[class^="ui"] .button:hover{background-color:#473456}[class^="ui"] .spacer-h{width:100%}.uiMessages{position:absolute;left:10px;bottom:10px;width:480px;padding:8px;pointer-events:none}.uiMessages.typing .el.message{display:block}.uiMessages.typing .filters{pointer-events:all;display:block}.uiMessages.typing .list{overflow-y:auto;background-color:#373041}.uiMessages.typing .list .list-message{filter:none}.uiMessages.active .list-message{opacity:1 !important}.uiMessages .filters{display:none;width:100%;height:26px;margin-bottom:10px}.uiMessages .filters .filter{height:100%;background-color:#373041;float:left;color:#505360;margin-right:10px;padding:5px 10px;cursor:pointer}.uiMessages .filters .filter:hover{background-color:#3c3f4c;color:#69696e}.uiMessages .filters .filter.active{background-color:#3c3f4c;color:#80f643}.uiMessages .filters .filter.active:hover{background-color:#505360;color:#c0c3cf}.uiMessages .list{overflow-y:hidden;width:100%;max-height:320px}.uiMessages .list .list-message{width:100%;padding:5px 10px;color:white;filter:drop-shadow(0 -2px 0 #312136) drop-shadow(0 2px 0 #312136) drop-shadow(2px 0 0 #312136) drop-shadow(-2px 0 0 #312136);word-wrap:break-word;line-height:18px;display:none}.uiMessages .list .list-message.q0{color:#f2f5f5}.uiMessages .list .list-message.q1{color:#3fa7dd}.uiMessages .list .list-message a,.uiMessages .list .list-message.q2{color:#ffeb38}.uiMessages .list .list-message.q3{color:#a24eff}.uiMessages .list .list-message.q4{color:#ff6942}.uiMessages .list .list-message.color-green{color:#80f643}.uiMessages .list.rep .list-message.rep{display:block}.uiMessages .list.chat .list-message.chat{display:block}.uiMessages .list.info .list-message.info{display:block}.uiMessages .list.loot .list-message.loot{display:block}.uiMessages .el.message{display:none;text-align:left;background-color:#3c3f4c;width:100%;color:#f2f5f5;padding:5px 10px} \ No newline at end of file +.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}[class^="ui"] .el{height:35px;text-align:center;padding:0 0 0 0;background-color:transparent}[class^="ui"] .textbox{border:none;outline:none;font-size:16px}[class^="ui"] div.textbox{padding-top:6px}[class^="ui"] .button{cursor:pointer;padding-top:10px}[class^="ui"] .button:hover{background-color:#473456}[class^="ui"] .spacer-h{width:100%}.uiMessages{position:absolute;left:10px;bottom:10px;width:480px;padding:8px;pointer-events:none}.uiMessages.typing .el.message{display:block}.uiMessages.typing .filters{pointer-events:all;display:block}.uiMessages.typing .list{overflow-y:auto;background-color:#373041}.uiMessages.typing .list .list-message{filter:none}.uiMessages.active .list-message{opacity:1 !important}.uiMessages .filters{display:none;width:100%;height:26px;margin-bottom:10px}.uiMessages .filters .filter{height:100%;background-color:#373041;float:left;color:#505360;margin-right:10px;padding:5px 10px;cursor:pointer}.uiMessages .filters .filter:hover{background-color:#3c3f4c;color:#69696e}.uiMessages .filters .filter.active{background-color:#3c3f4c;color:#80f643}.uiMessages .filters .filter.active:hover{background-color:#505360;color:#c0c3cf}.uiMessages .list{overflow-y:hidden;width:100%;max-height:320px}.uiMessages .list .list-message{width:100%;padding:5px 10px;color:white;filter:drop-shadow(0 -2px 0 #312136) drop-shadow(0 2px 0 #312136) drop-shadow(2px 0 0 #312136) drop-shadow(-2px 0 0 #312136);word-wrap:break-word;line-height:18px;display:none}.uiMessages .list .list-message.q0{color:#f2f5f5}.uiMessages .list .list-message.q1{color:#3fa7dd}.uiMessages .list .list-message a,.uiMessages .list .list-message.q2{color:#ffeb38}.uiMessages .list .list-message.q3{color:#a24eff}.uiMessages .list .list-message.q4{color:#ff6942}.uiMessages .list .list-message.color-green{color:#80f643}.uiMessages .list .list-message.color-red{color:#d43346}.uiMessages .list .list-message.color-cyan{color:#48edff}.uiMessages .list.rep .list-message.rep{display:block}.uiMessages .list.chat .list-message.chat{display:block}.uiMessages .list.info .list-message.info{display:block}.uiMessages .list.loot .list-message.loot{display:block}.uiMessages .el.message{display:none;text-align:left;background-color:#3c3f4c;width:100%;color:#f2f5f5;padding:5px 10px} \ No newline at end of file diff --git a/src/client/ui/templates/messages/styles.less b/src/client/ui/templates/messages/styles.less index 2ec54ee8..e7af65a9 100644 --- a/src/client/ui/templates/messages/styles.less +++ b/src/client/ui/templates/messages/styles.less @@ -113,6 +113,14 @@ color: @green; } + &.color-red { + color: @red; + } + + &.color-cyan { + color: @blueA; + } + display: none; } diff --git a/src/server/components/social.js b/src/server/components/social.js index d5dc66f6..d7b5c2fc 100644 --- a/src/server/components/social.js +++ b/src/server/components/social.js @@ -1,7 +1,9 @@ define([ - 'world/atlas' + 'world/atlas', + 'config/roles' ], function( - atlas + atlas, + roles ) { return { type: 'social', @@ -75,7 +77,7 @@ define([ else level = 0; - var msgStyle = 'q' + level; + var msgStyle = roles.getRoleMessageStyle(this.obj) || ('q' + level); var messageString = msg.data.message; if (messageString[0] == '@') { @@ -120,12 +122,14 @@ define([ } else if (messageString[0] == '%') { this.sendPartyMessage(msg); } else { + var prefix = roles.getRoleMessagePrefix(this.obj) || ''; + io.sockets.emit('event', { event: 'onGetMessages', data: { messages: [{ class: msgStyle, - message: charname + ': ' + msg.data.message, + message: prefix + charname + ': ' + msg.data.message, type: 'chat' }] } diff --git a/src/server/config/roles.js b/src/server/config/roles.js index a1e3d370..1192f96e 100644 --- a/src/server/config/roles.js +++ b/src/server/config/roles.js @@ -5,8 +5,10 @@ define([ ) { return { accounts: { - admin: { + waffle: { level: 10, + messageStyle: 'color-cyan', + messagePrefix: '(dev) ', items: [{ type: 'key', name: 'Key to the world', @@ -55,6 +57,16 @@ define([ return success; }, + getRoleMessageStyle: function(player) { + var account = player.account; + return this.accounts[account] ? this.accounts[account].messageStyle : null; + }, + + getRoleMessagePrefix: function(player) { + var account = player.account; + return this.accounts[account] ? this.accounts[account].messagePrefix : null; + }, + sendMessage: function(player, msg) { msg = 'Only certain roles can ' + msg + ' at the moment';