Summary
Our current chat is missing features that a lot of MMO players have grown accustomed to. We need to be able to create chat tabs with custom settings, create multiple chat windows, view multiple chat channels from a single tab, and enter messages into any channel from any tab. Players should be able to delete and hide their tabs at will and filter the channels they wish to see.
Additionally, we should have proximity chat so that players can communicate to those that are nearby, with Chat Bubbles which appear over the heads of players within range.
Chat Tabs
Chat should be split into tabs as they are now, but these tabs should have significantly more customization, and the ability to see multiple channels from each tab.
-
Right-Clicking an existing chat tab allows players to access Tab Settings, Unlink the Tab, Create a New Tab, and Delete the Tab
- The General Tab and the Combat Log cannot be deleted
- The General Tab cannot be Unlinked or Hidden
-
Each Tab has the following settings:
- Tab Name (name field)
- Tab Color (color picker)
- Text Size (dropdown)
- Transparency (slider, not to 100% transparency of course)
- Time Stamps (checkbox)
-
Tab Hidden (checkbox)
- Note: The General Tab does not have this option
-
Channel Settings for each channel:
- Enabled (checkbox)
-
Font Color (color picker)
- Each channel needs a default color associated with it
-
NOTE: The only default tabs are General and Combat Log
- All other tabs will be removed, in favor of allowing players to create their own tabs with unique filters
- By default, the General tab includes ALL filters
-
Unlinking a Chat Tab creates a new Chat window from the unlinked tab
-
Chat Windows created in this way can be moved around the screen by clicking and dragging the Tab
- The locations of these tabs should persist
- When an Unlinked Tab is moved over another Chat Window's Tabs by dragging and dropping, the tab that was moved is collapsed into the existing Chat window
-
A “Link To…” option is added to the right-click menu of unlinked tabs
-
Selecting “Link To…” reveals a list of appropriate tabs that the unlinked tab can be linked to
- “Appropriate tabs” in this case are currently selected tabs of any chat window
- Selecting a tab from the list automatically collapses the right-clicked tab into the chat window of the selected tab
- Eg. Right-click -> Link To… -> General. This would collapse the current tab underneath the general tab
-
Selecting “Link To…” reveals a list of appropriate tabs that the unlinked tab can be linked to
-
Chat Windows created in this way can be moved around the screen by clicking and dragging the Tab
-
When players enter messages, they may enter messages into any channel from any tab
-
Typing a slash command and then pressing space will swap your text entry field to the appropriate channel
-
On pressing space, the slash command is removed from the text field as the entire field is updated to show that it will enter text into the specified channel
- eg. Typing "/say Hello" will enter "Hello" in the Say channel
- note: The /r slash command will initiate a Whisper to the last player that whispered to you if any
-
On pressing space, the slash command is removed from the text field as the entire field is updated to show that it will enter text into the specified channel
-
Typing a slash command and then pressing space will swap your text entry field to the appropriate channel
-
Pressing a key binding associated with Channel Swapping will cycle the input channel between all channels that are within your current Chat Tab's filter (default key: \)
- This hotkey can change the channel after the player has entered text into their text entry field
- This hotkey will not allow the player to enter chat outside of their filter. They must use a slash command or change tabs to do that
- All text within the text entry field matches the color of the channel that the message will be sent to
Proximity Chat
Say, Yell, and Emote channels only show messages to other players within a specified range
-
Proximity Chat Channels have the following ranges associated with them
- Say is 25m
- Yell is 300m
- Emotes is 25m
- The Say, Yell, and Emote channels can be seen by all players, friendly or enemy.
- Players will not be able to see messages sent to these channels by Players outside of this range
-
When a player is within range of a Say or Yell chat message, a chat bubble will appear above the head of the sender
-
Say and Yell messages have unique Chat bubbles to indicate whether it is a Say or a Yell
- An option in UI settings allows players to turn off chat bubbles for all channels
- If the player’s message is too long to fit in the chat bubble, we will truncate it and add “...”
-
Say and Yell messages have unique Chat bubbles to indicate whether it is a Say or a Yell
-
Every emote has a chat message attached to it
- Note: This message does not take its target into account
- Eg. “Blair waves”
Chat Links (Phase 2 Feature)
Players can link Locations and Items in Chat so that they can be viewed by other players
-
Shift-Clicking an Item will create a link within the text entry field
- If the player is not currently entering text, linking an item begins text entry with the linked item at the beginning
- Hovering over an item's chat link will show its tooltip
-
While within the map, players can right-click a personal or group map pin to link its coordinates in chat (See Upcoming Zone Map Improvements Design Review)
- A coordinate link includes the name of the zone and the coordinates that were linked
-
Clicking on a location link will open your map to the appropriate zone, centered on the location linked, and allow the player to create a map pin there
- If a location link does not link to a zone within your current server, a message will inform the player that the zone is not within their world
Chat Channel List
-
System - This channel is used for system messages
- Default color: Bright red
-
Loot - This channel lists what loot is dropped, with Chat Links for all loot dropped
- Default color: Purple
-
Events - This channel lists all events that have recently occurred
- Default color: Yellow
-
Guild Chat - This channel includes all players within your guild
- Default color: Green
-
Group Chat - This channel includes all players within your group/murder
- Default color: Light Blue
-
Faction Chat - This channel includes all players within your faction
- Default color: Light green
-
General Chat - This channel includes all players within the World (server)
- Default color: Orange
-
Trade Chat - This channel includes all players within the World (server)
- Default color: Light Pink
-
Say Chat - This is a proximity-based channel and includes players within 25m
- Default color: White
-
Yell Chat - This is a proximity-based channel, and includes players within 300m
- Default color: Red
-
Whisper Chat - This channel displays all direct messages
- Default color: Purple
-
Emotes - This is a proximity-based channel that indicates when players emote within 25m
- Default color: White
Mockups
UI: Chat Tab Right-Click Menu
Tab Settings - Filter options, colors, transparency, and font size
Chat Bubbles
Chat Links