Server Chat Channels

From OuroDev
Revision as of 10:02, 6 February 2020 by Chet (talk | contribs) (1 revision imported: Importing Portal Corps Wiki pages and history - Feb 6, 2020)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Server chat channels are the built-in channels used internally by the servers, as opposed to the user-created global chat channels.

List of Channels

Channel Name Notes
1 INFO_COMBAT // This is damage the player deals
2 INFO_DAMAGE // This is damage the player recieves
3 INFO_SVR_COM // This is for generic server messages
4 INFO_NPC_SAYS // NPC text
5 INFO_VILLAIN_SAYS // Essentially same as NPC text
6 INFO_PET_COM // User controlled pet chat
7 INFO_PRIVATE_COM // Private message
8 INFO_TEAM_COM
9 INFO_SUPERGROUP_COM
10 INFO_NEARBY_COM
11 INFO_SHOUT_COM
12 INFO_REQUEST_COM
13 INFO_FRIEND_COM
14 INFO_ADMIN_COM // Global Admin messages
15 INFO_USER_ERROR // Any failure message
16 INFO_DEBUG_INFO // Debug only commands, users should never see this
17 INFO_EMOTE // Emotes
18 INFO_AUCTION // Auction House messages
19 INFO_COMBAT_SPAM // Power information
20 INFO_GMTELL // Tell Sent by GM's get special color
21 INFO_TAB // Message being sent to the current tab
22 INFO_REWARD // Used for any rewards a user gets
23 INFO_COMBAT_ERROR // Combat messages used to relate why a power failed
24 INFO_HEAL // Heals recieved
25 INFO_HEAL_OTHER // Heals given
26 INFO_HELP // Guide/Help channel
27 INFO_ARENA // Arena Channel
28 INFO_ARENA_ERROR // Arena Errors, falls though to INFO_USER_ERROR if arena window isn't open
29 INFO_ARENA_GLOBAL // This is a server wide arena channel
30 INFO_ALLIANCE_OWN_COM // Alliance chat: own SG talking
31 INFO_ALLIANCE_ALLY_COM // Alliance chat: ally talking
32 INFO_COMBAT_HITROLLS
33 INFO_PET_SAYS
34 INFO_EVENT
35 INFO_CHANNEL
36 INFO_PAYMENT_REMAIN_TIME
37 INFO_PET_COMBAT
38 INFO_PET_DAMAGE
39 INFO_PET_COMBAT_SPAM
40 INFO_PET_HEAL
41 INFO_PET_HEAL_OTHER
42 INFO_PET_COMBAT_HITROLLS
43 INFO_EVENT_HERO
44 INFO_EVENT_VILLAIN
45 INFO_CAPTION
46 INFO_LEVELINGPACT_COM
47 INFO_ARCHITECT
48 INFO_ARCHITECT_GLOBAL
49 INFO_LEAGUE_COM
50 INFO_EVENT_PRAETORIAN
51 INFO_LOOKING_FOR_GROUP
52 INFO_PRIVATE_NOREPLY_COM //just like the private channel, but does not allow reply/autoreply
53 (Unused)
54 (Unused)
55 (Unused)
56 (Unused)
57 (Unused)
58 (Unused)
59 (Unused)
60 (Unused)
61 (Unused)
62 (Unused)
63 (Unused)

Unused Channels

What are all these unused channels at the end?

The channel numbers are indices into a bitmask. The bitmask is calculated as

((INFO_TOTAL+31)/32)

where INFO_TOTAL is equal to the highest channel number, plus 1. The current highest channel number is 52, so INFO_TOTAL is 53, and this leads to a mask size of 2. This is the number of 32-bit words needed to store the channel mask, and so we currently have space for 64 channels in total. Note that channel 64 would cause INFO_TOTAL to be 65, triggering an increase in the bitmask to 3 words. Therefore, we can use 63 channels before we have to start looking into what happens if the bitmask becomes larger.

To actually use one of the unused channels, we will need to investigate how the channels work better. At bare minimum, we are going to need to add a slash command to the client, comms in both client and server to move the message around, and UI code in the client to add the channel to the interface and put it on a default tab.

Pseudo Channels

These seem to slot into the unused part of the bitmask. Is this coincidence, or do we need to expand the bitmask after all? Further investigation is needed. INFO_CHAT_TEXT is defined as INFO_TOTAL+1, so this enum dynamically shifts itself to the end of the channel list.

Channel Name Notes
54 INFO_CHAT_TEXT
55 INFO_PROFILE_TEXT
56 INFO_HELP_TEXT
57 INFO_STD_TEXT
58 INFO_SCRAPPER
59 INFO_CHANNEL_TEXT
60 INFO_CHANNEL_TEXT1
61 INFO_CHANNEL_TEXT2
62 INFO_CHANNEL_TEXT3
63 INFO_CHANNEL_TEXT4

Channel Attributes

Text Styles

Name Italic Bold Outline DropShadow SoftShadow OutlineWidth DropShadowXOffset DropShadowYOffset SoftShadowSpread
INFO_EMOTE 1 0 0 0 0 0 0 0 0
INFO_ADMIN_COM 0 1 0 0 0 0 0 0 0

Text Colours

Channel Name Color1 Color2 ColorHover ColorSelect ColorSelectBG LinkSelect LinkSelectBG
INFO_COMBAT CLR_YELLOW CLR_RED CLR_YELLOW 0 0x333333ff 0 0x666666ff
INFO_COMBAT_SPAM 0xff8800ff 0xff8800ff 0xff8800ff 0 0x333333ff 0 0x666666ff
INFO_COMBAT_ERROR 0xff9966ff 0xff9966ff 0xff9966ff 0 0x333333ff 0 0x666666ff
INFO_HEAL 0x66ff44ff 0x44ff22ff 0x66ff44ff 0 0x333333ff 0 0x666666ff
INFO_HEAL_OTHER 0x88ffaaff 0x44ff88ff 0x88ffaaff 0 0x333333ff 0 0x666666ff
INFO_DAMAGE CLR_ORANGE CLR_RED CLR_ORANGE 0 0x333333ff 0 0x666666ff
INFO_SVR_COM 0x90ff90ff CLR_GREEN 0x90ff90ff 0 0x333333ff 0 0x666666ff
INFO_NPC_SAYS 0xa0a0ffff CLR_BLUE 0xa0a0ffff 0 0x333333ff 0 0x666666ff
INFO_VILLAIN_SAYS 0xa0a0ffff CLR_BLUE 0xa0a0ffff 0 0x333333ff 0 0x666666ff
INFO_PET_COM CLR_WHITE CLR_BLUE CLR_WHITE 0 0x333333ff 0 0x666666ff
INFO_PRIVATE_COM CLR_YELLOW CLR_YELLOW CLR_YELLOW 0 0x333333ff 0 0x666666ff
INFO_TEAM_COM 0x88ff88ff 0x00aa00ff 0x88ff88ff 0 0x333333ff 0 0x666666ff
INFO_LEVELINGPACT_COM 0xf3f8a4ff 0xf130c8ff 0xff6633ff 0 0x333333ff 0 0x666666ff
INFO_SUPERGROUP_COM CLR_PARAGON CLR_PARAGON CLR_PARAGON 0 0x333333ff 0 0x666666ff
INFO_NEARBY_COM CLR_WHITE CLR_WHITE CLR_WHITE 0 0x333333ff 0 0x666666ff
INFO_SHOUT_COM 0xbbbbbbff 0xbbbbbbff 0xbbbbbbff 0 0x333333ff 0 0x666666ff
INFO_REQUEST_COM 0xff44ffff 0xa0a0ffff 0xff44ffff 0 0x333333ff 0 0x666666ff
INFO_FRIEND_COM CLR_YELLOW CLR_ORANGE CLR_YELLOW 0 0x333333ff 0 0x666666ff
INFO_ADMIN_COM CLR_RED CLR_RED CLR_RED 0 0x333333ff 0 0x666666ff
INFO_EMOTE CLR_WHITE CLR_WHITE CLR_WHITE 0 0x333333ff 0 0x666666ff
INFO_AUCTION 0x00ffffff 0x0060ffff 0x00ffffff 0 0x333333ff 0 0x666666ff
INFO_ARCHITECT CLR_MM_TEXT CLR_MM_TITLE_OPEN CLR_MM_TEXT 0 0x333333ff 0 0x666666ff
INFO_GMTELL CLR_ONLINE_ITEM CLR_ONLINE_ITEM CLR_ONLINE_ITEM 0 0x333333ff 0 0x666666ff
INFO_TAB CLR_ONLINE_ITEM CLR_ONLINE_ITEM CLR_ONLINE_ITEM 0 0x333333ff 0 0x666666ff
INFO_REWARD 0xffff88ff 0xffff88ff 0xffff88ff 0 0x333333ff 0 0x666666ff
INFO_ARENA CLR_WHITE CLR_WHITE CLR_WHITE 0 0x333333ff 0 0x666666ff
INFO_ARENA_ERROR CLR_YELLOW CLR_ORANGE CLR_YELLOW 0 0x333333ff 0 0x666666ff
INFO_ARENA_GLOBAL CLR_WHITE 0xff44ffff CLR_WHITE 0 0x333333ff 0 0x666666ff
INFO_HELP 0xccffccff CLR_BLUE 0xccffccff 0 0x333333ff 0 0x666666ff
INFO_ALLIANCE_OWN_COM 0xffd700ff 0xffd700ff 0xffd700ff 0 0x333333ff 0 0x666666ff
INFO_ALLIANCE_ALLY_COM 0xdaa520ff 0xdaa520ff 0xdaa520ff 0 0x333333ff 0 0x666666ff
INFO_USER_ERROR CLR_YELLOW CLR_WHITE CLR_YELLOW 0 0x333333ff 0 0x666666ff
INFO_DEBUG_INFO 0xffaaffff 0xffaaffff 0xffaaffff 0 0x333333ff 0 0x666666ff
INFO_COMBAT_HITROLLS 0xffed61ff 0xffed61ff 0xffed61ff 0 0x333333ff 0 0x666666ff
INFO_EVENT 0xff2222ff 0xff2222ff 0xff2222ff 0 0x333333ff 0 0x666666ff
INFO_CHAT_TEXT CLR_WHITE CLR_WHITE CLR_WHITE 0 0x333333ff 0 0x666666ff
INFO_PROFILE_TEXT CLR_BLACK CLR_BLACK CLR_BLACK 0 0x333333ff 0 0x666666ff
INFO_HELP_TEXT CLR_GREEN CLR_GREEN CLR_GREEN 0 0x333333ff 0 0x666666ff
INFO_STD_TEXT CLR_ONLINE_ITEM CLR_ONLINE_ITEM CLR_ONLINE_ITEM 0 0x333333ff 0 0x666666ff
INFO_SCRAPPER 0xff8800ff 0xff8844ff 0xff8800ff 0 0x333333ff 0 0x666666ff
INFO_CHANNEL_TEXT 0xccffccff 0xccffccff 0xccffccff 0 0x333333ff 0 0x666666ff
INFO_CHANNEL_TEXT1 0xccff99ff 0xccff99ff 0xccff99ff 0 0x333333ff 0 0x666666ff
INFO_CHANNEL_TEXT2 0x99ffccff 0x99ffccff 0x99ffccff 0 0x333333ff 0 0x666666ff
INFO_CHANNEL_TEXT3 0x99ff99ff 0x99ff99ff 0x99ff99ff 0 0x333333ff 0 0x666666ff
INFO_CHANNEL_TEXT4 0x77ffffff 0x77ffffff 0x77ffffff 0 0x333333ff 0 0x666666ff
INFO_PET_COMBAT CLR_YELLOW CLR_RED CLR_YELLOW 0 0x333333ff 0 0x666666ff
INFO_PET_COMBAT_SPAM 0xff8800ff 0xff8800ff 0xff8800ff 0 0x333333ff 0 0x666666ff
INFO_PET_HEAL 0x66ff44ff 0x44ff22ff 0x66ff44ff 0 0x333333ff 0 0x666666ff
INFO_PET_HEAL_OTHER 0x88ffaaff 0x44ff88ff 0x88ffaaff 0 0x333333ff 0 0x666666ff
INFO_PET_DAMAGE CLR_ORANGE CLR_RED CLR_ORANGE 0 0x333333ff 0 0x666666ff
INFO_PET_COMBAT_HITROLLS 0xffed61ff 0xffed61ff 0xffed61ff 0 0x333333ff 0 0x666666ff
INFO_EVENT_HERO 0xbbbbffff 0x802080ff 0xbbbbffff 0 0x333333ff 0 0x666666ff
INFO_EVENT_VILLAIN 0xff2222ff 0x802080ff 0xff2222ff 0 0x333333ff 0 0x666666ff
INFO_EVENT_PRAETORIAN 0xffffffff 0x444444ff 0xffffffff 0 0x333333ff 0 0x666666ff
INFO_ARCHITECT_GLOBAL CLR_MM_TEXT CLR_MM_TEXT CLR_MM_TITLE_OPEN 0 0x333333ff 0 0x666666ff
INFO_LOOKING_FOR_GROUP 0x00ffffff 0x008080ff 0xffffffff 0 0x333333ff 0 0x666666ff
INFO_PRIVATE_NOREPLY_COM CLR_YELLOW CLR_YELLOW CLR_YELLOW 0 0x333333ff 0 0x666666ff
INFO_LEAGUE_COM CLR_MM_TEXT CLR_MM_TEXT CLR_MM_TITLE_OPEN 0 0x333333ff 0 0x666666ff
INFO_CAPTION 0xa0a0ffff CLR_BLUE 0xa0a0ffff 0 0x333333ff 0 0x666666ff