summaryrefslogtreecommitdiff
path: root/src/chat-server/guildmanager.h
diff options
context:
space:
mode:
authorErik Schilling <ablu.erikschilling@googlemail.com>2012-03-21 21:01:53 +0100
committerErik Schilling <ablu.erikschilling@googlemail.com>2012-04-19 19:10:50 +0200
commit67a608b1d13780d19271fedec004bf49b2b2b908 (patch)
treea5b90dc8f650ebe99185650629bddf3f6c424a19 /src/chat-server/guildmanager.h
parenta8d65824ea87d5c52ad662530b699650195e83ce (diff)
downloadmanaserv-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.h12
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;