diff options
author | David Athay <ko2fan@gmail.com> | 2008-08-13 15:31:48 +0000 |
---|---|---|
committer | David Athay <ko2fan@gmail.com> | 2008-08-13 15:31:48 +0000 |
commit | 67cb713c0fcd65f9f842c589c7e1c08f9af597f0 (patch) | |
tree | 408d79af670e143211deb311dc6aa291fbda9034 /src/chat-server/guildmanager.cpp | |
parent | 4e800b21494755958b0e30bba9045cee204b1a76 (diff) | |
download | manaserv-67cb713c0fcd65f9f842c589c7e1c08f9af597f0.tar.gz manaserv-67cb713c0fcd65f9f842c589c7e1c08f9af597f0.tar.bz2 manaserv-67cb713c0fcd65f9f842c589c7e1c08f9af597f0.tar.xz manaserv-67cb713c0fcd65f9f842c589c7e1c08f9af597f0.zip |
Added permission levels to guilds, and operator permissions to channels.
Diffstat (limited to 'src/chat-server/guildmanager.cpp')
-rw-r--r-- | src/chat-server/guildmanager.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/chat-server/guildmanager.cpp b/src/chat-server/guildmanager.cpp index 1cc3a4b6..4976eca5 100644 --- a/src/chat-server/guildmanager.cpp +++ b/src/chat-server/guildmanager.cpp @@ -155,3 +155,22 @@ void GuildManager::disconnectPlayer(ChatClient *player) GUILD_EVENT_OFFLINE_PLAYER); } } + +int GuildManager::changeMemberLevel(ChatClient *player, Guild *guild, + const std::string &name, int level) +{ + if (guild->checkInGuild(player->characterName) && guild->checkInGuild(name)) + { + int playerLevel = guild->getUserPermissions(player->characterName); + + if (playerLevel == GuildMember::LEADER) + { + // player can modify anyones permissions + guild->setUserPermissions(name, level); + return 0; + } + } + + return -1; +} + |