From cce8140c5ff770e53590ed7191ad0b563a995d41 Mon Sep 17 00:00:00 2001 From: DarthArgus Date: Sun, 1 Jan 2017 17:50:33 +0000 Subject: [PATCH] Revert "remove a check that was malfunctioning" This reverts commit 6aae26ed4bbfbabb95d236f38052edaf176da7b8. --- .../serverGame/src/shared/core/Client.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/engine/server/library/serverGame/src/shared/core/Client.cpp b/engine/server/library/serverGame/src/shared/core/Client.cpp index 9d11d0a5..12d2b1d0 100755 --- a/engine/server/library/serverGame/src/shared/core/Client.cpp +++ b/engine/server/library/serverGame/src/shared/core/Client.cpp @@ -2229,13 +2229,24 @@ bool Client::setGodMode(bool value) { bool wasInGodMode = m_godMode; m_godMode = value; + + // Check god permissions + // the check above seems not to work + if (ConfigServerGame::getAdminGodToAll() + || ((!ConfigServerGame::getUseSecureLoginForGodAccess() || m_isSecure) + && AdminAccountManager::isAdminAccount(Unicode::toLower(m_accountName), m_godLevel) + && (!ConfigServerGame::getUseIPForGodAccess() || AdminAccountManager::isInternalIp(m_ipAddress)))) + { + m_godValidated = true; + if (ConfigServerGame::getAdminGodToAll()) + m_godLevel = ConfigServerGame::getAdminGodToAllGodLevel(); + } - // wtf, the checks above do nothing - /*if (value && !m_godValidated) + if (value && !m_godValidated) { LOG("CustomerService", ("Avatar:%s denied god mode because it wasn't validated.", PlayerObject::getAccountDescription(getCharacterObjectId()).c_str() )); m_godMode = false; - }*/ + } CreatureObject *primaryControlledObject = safe_cast(m_primaryControlledObject.getObject()); if (!primaryControlledObject)