> Implemented Channel System to replace @main. See tid:80999 for full details. (Hercules 7ec1e8f, 1e87c09)

* Adds @join and @channel commands to manipulate chat channels. (see doc/atcommands.txt)
* Speak in a #channel by sending a whisper to #channel or binding your global chat to the channel (@channel bindto <#channel_name>).
* Automatically join local map channels (#map) and guild ally channels (#ally), with mapflag 'nomapchannelautojoin' to disable the channel for a map (optional).
* Allow users to create private channels if 'allow_user_channel_creation' is true.
* Set default channels, text colors, and other settings in conf/channels.conf.
> Other changes:
* Improved overall guild processing/lookup by creating a cached guild state.
* Fixed a bug where equipping a garment would override costume garment.
* Removed clif_message and merged it with clif_disp_overhead, since both use the same packet.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17228 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
euphyy
2013-04-03 22:52:25 +00:00
parent 9c48f981a2
commit 643861ba17
26 changed files with 1213 additions and 534 deletions

View File

@@ -20,6 +20,7 @@
struct npc_data;
struct item_data;
struct raChSysCh;
enum E_MAPSERVER_ST
{
@@ -573,6 +574,7 @@ struct map_data {
unsigned guildlock :1;
unsigned src4instance : 1; // To flag this map when it's used as a src map for instances
unsigned reset :1; // [Daegaladh]
unsigned chsysnolocalaj : 1;
} flag;
struct point save;
struct npc_data *npc[MAX_NPC_PER_MAP];
@@ -598,6 +600,9 @@ struct map_data {
// Instance Variables
int instance_id;
int instance_src_map;
/* rAthena Local Chat */
struct raChSysCh *channel;
};
/// Stores information about a remote map (for multi-mapserver setups).
@@ -775,8 +780,6 @@ typedef struct elemental_data TBL_ELEM;
( ((bl) == (struct block_list*)NULL || (bl)->type != (type_)) ? (T ## type_ *)NULL : (T ## type_ *)(bl) )
extern char main_chat_nick[16];
#ifdef BETA_THREAD_TEST
extern char default_codepage[32];