diff options
author | Erik Schilling <ablu.erikschilling@googlemail.com> | 2012-03-21 21:01:53 +0100 |
---|---|---|
committer | Erik Schilling <ablu.erikschilling@googlemail.com> | 2012-04-19 19:10:50 +0200 |
commit | 67a608b1d13780d19271fedec004bf49b2b2b908 (patch) | |
tree | a5b90dc8f650ebe99185650629bddf3f6c424a19 /src/common | |
parent | a8d65824ea87d5c52ad662530b699650195e83ce (diff) | |
download | manaserv-67a608b1d13780d19271fedec004bf49b2b2b908.tar.gz manaserv-67a608b1d13780d19271fedec004bf49b2b2b908.tar.xz manaserv-67a608b1d13780d19271fedec004bf49b2b2b908.zip |
Fixed guild support
List of things fixed:
- fixed having multiple guild support everywhere
- implemented kick code (untested due to missing kick possiblity in client)
- fixed giving owner rights to next member when owner leaves guild
- fixed potentional segmention fault when trying to access deleted guild after all members left
- fixed saving right changes to database
- made searching for guilds faster a bit (at least when having many guilds)
TODO:
+ Fix conflict between guild and normal channels
+ Fix being able to leave guild channel without leaving guild itself
+ Add kick possiblity to client
Reviewed-by: bjorn.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/manaserv_protocol.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/common/manaserv_protocol.h b/src/common/manaserv_protocol.h index a4dc71e..885d7d2 100644 --- a/src/common/manaserv_protocol.h +++ b/src/common/manaserv_protocol.h @@ -180,7 +180,7 @@ enum { CPMSG_GUILD_CREATE_RESPONSE = 0x0351, // B error, W guild, B rights, W channel PCMSG_GUILD_INVITE = 0x0352, // W id, S name CPMSG_GUILD_INVITE_RESPONSE = 0x0353, // B error - PCMSG_GUILD_ACCEPT = 0x0354, // W id + PCMSG_GUILD_ACCEPT = 0x0354, // W id, B accepted (0 if false, 1 if true) CPMSG_GUILD_ACCEPT_RESPONSE = 0x0355, // B error, W guild, B rights, W channel PCMSG_GUILD_GET_MEMBERS = 0x0356, // W id CPMSG_GUILD_GET_MEMBERS_RESPONSE = 0x0357, // S names, B online @@ -191,6 +191,7 @@ enum { CPMSG_GUILD_PROMOTE_MEMBER_RESPONSE = 0x0366, // B error PCMSG_GUILD_KICK_MEMBER = 0x0370, // W guild, S name CPMSG_GUILD_KICK_MEMBER_RESPONSE = 0x0371, // B error + CPMSG_GUILD_KICK_NOTIFICATION = 0x0372, // W guild, S player that kicked CPMSG_GUILD_INVITED = 0x0388, // S char name, S guild name, W id CPMSG_GUILD_REJOIN = 0x0389, // S name, W guild, W rights, W channel, S announce @@ -283,7 +284,8 @@ enum { ERRMSG_SERVER_FULL, // the server is overloaded ERRMSG_TIME_OUT, // data failed to arrive in due time ERRMSG_LIMIT_REACHED, // limit reached - ERRMSG_ADMINISTRATIVE_LOGOFF // kicked by server administrator + ERRMSG_ADMINISTRATIVE_LOGOFF, // kicked by server administrator + ERRMSG_ALREADY_MEMBER // is already member of guild/party }; // used in AGMSG_REGISTER_RESPONSE to show state of item db |