diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/permissionmanager.cpp | 15 | ||||
-rw-r--r-- | src/common/permissionmanager.h | 8 |
2 files changed, 13 insertions, 10 deletions
diff --git a/src/common/permissionmanager.cpp b/src/common/permissionmanager.cpp index 5510fd7c..ee970bd9 100644 --- a/src/common/permissionmanager.cpp +++ b/src/common/permissionmanager.cpp @@ -105,9 +105,10 @@ void PermissionManager::reload() } -PermissionManager::Result PermissionManager::checkPermission(const Character* character, std::string permission) +PermissionManager::Result PermissionManager::checkPermission(const Being* character, std::string permission) { - return checkPermission(character->getAccountLevel(), permission); + return checkPermission(character->getComponent<CharacterComponent>() + ->getAccountLevel(), permission); } PermissionManager::Result PermissionManager::checkPermission(unsigned char level, std::string permission) @@ -139,12 +140,13 @@ unsigned char PermissionManager::getMaskFromAlias(const std::string &alias) } } -std::list<std::string> PermissionManager::getPermissionList(const Character* character) +std::list<std::string> PermissionManager::getPermissionList(const Being* character) { std::list<std::string> result; std::map<std::string, unsigned char>::iterator i; - unsigned char mask = character->getAccountLevel(); + unsigned char mask = character->getComponent<CharacterComponent>() + ->getAccountLevel(); for (i = permissions.begin(); i != permissions.end(); i++) { @@ -157,12 +159,13 @@ std::list<std::string> PermissionManager::getPermissionList(const Character* cha return result; } -std::list<std::string> PermissionManager::getClassList(const Character* character) +std::list<std::string> PermissionManager::getClassList(const Being* character) { std::list<std::string> result; std::map<std::string, unsigned char>::iterator i; - unsigned char mask = character->getAccountLevel(); + unsigned char mask = character->getComponent<CharacterComponent>() + ->getAccountLevel(); for (i = aliases.begin(); i != aliases.end(); i++) { diff --git a/src/common/permissionmanager.h b/src/common/permissionmanager.h index bf36f658..a78f581d 100644 --- a/src/common/permissionmanager.h +++ b/src/common/permissionmanager.h @@ -25,7 +25,7 @@ #include <map> #include <string> -class Character; +class Being; namespace PermissionManager { @@ -48,7 +48,7 @@ namespace PermissionManager /** * Returns if the characters account has the given permission */ - Result checkPermission(const Character* character, std::string permission); + Result checkPermission(const Being* character, std::string permission); Result checkPermission(unsigned char level, std::string permission); /** @@ -59,12 +59,12 @@ namespace PermissionManager /** * Gets a list of all permissions the character is having */ - std::list<std::string> getPermissionList(const Character* character); + std::list<std::string> getPermissionList(const Being* character); /** * Gets a list of all permissions classes the character is having */ - std::list<std::string> getClassList(const Character* character); + std::list<std::string> getClassList(const Being* character); } // namespace PermissionManager |