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/chat-server/guildmanager.h | |
parent | a8d65824ea87d5c52ad662530b699650195e83ce (diff) | |
download | manaserv-67a608b1d13780d19271fedec004bf49b2b2b908.tar.gz manaserv-67a608b1d13780d19271fedec004bf49b2b2b908.tar.bz2 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/chat-server/guildmanager.h')
-rw-r--r-- | src/chat-server/guildmanager.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/chat-server/guildmanager.h b/src/chat-server/guildmanager.h index 43085746..06a0e5a4 100644 --- a/src/chat-server/guildmanager.h +++ b/src/chat-server/guildmanager.h @@ -56,7 +56,9 @@ class GuildManager /** * Removes a member from a guild. */ - void removeGuildMember(Guild *guild, int playerId); + void removeGuildMember(Guild *guild, int playerId, + const std::string &characterName, + ChatClient *client = 0); /** * Returns the guild with the given id. O(n) @@ -80,7 +82,7 @@ class GuildManager /** * Return the guilds a character is in */ - std::vector<Guild*> getGuildsForPlayer(int playerId) const; + std::vector<Guild *> getGuildsForPlayer(int playerId) const; /** * Inform guild members that a player has disconnected. @@ -97,18 +99,12 @@ class GuildManager int playerId, int level); /** - * Check if the player already owns a guild - */ - bool alreadyOwner(int playerId) const; - - /** * Set user rights */ void setUserRights(Guild *guild, int playerId, int rights); private: std::map<int, Guild*> mGuilds; - std::list<int> mOwners; }; extern GuildManager *guildManager; |