From 312b1b020f9b8f2f1abf9d63e0ac41cd29de140f Mon Sep 17 00:00:00 2001 From: AconiteGodOfSWG Date: Fri, 4 Dec 2020 21:34:02 -0500 Subject: [PATCH] Make ClientExpertiseManager and CuiExpertise respect God Mode --- .../src/shared/core/ClientExpertiseManager.cpp | 13 ++++++++++++- .../src/shared/page/SwgCuiExpertise.cpp | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/engine/client/library/clientGame/src/shared/core/ClientExpertiseManager.cpp b/src/engine/client/library/clientGame/src/shared/core/ClientExpertiseManager.cpp index 922c8ca42..2fdf30e2a 100644 --- a/src/engine/client/library/clientGame/src/shared/core/ClientExpertiseManager.cpp +++ b/src/engine/client/library/clientGame/src/shared/core/ClientExpertiseManager.cpp @@ -11,6 +11,7 @@ #include "clientGame/CreatureObject.h" #include "clientGame/Game.h" #include "clientGame/GameNetwork.h" +#include "clientGame/PlayerObject.h" #include "clientUserInterface/CuiSkillManager.h" #include "sharedFoundation/ExitChain.h" #include "sharedNetworkMessages/ExpertiseRequestMessage.h" @@ -588,7 +589,12 @@ int ClientExpertiseManager::getExpertisePointsSpentForPlayerInTreeUpToTier(int t */ int ClientExpertiseManager::getExpertisePointsRemainingForPlayer() { - return getExpertisePointsTotalForPlayer() - getExpertisePointsSpentForPlayer(); + if (PlayerObject::isAdmin()) { + return 999; // gods always have infinite expertise points + } + else { + return getExpertisePointsTotalForPlayer() - getExpertisePointsSpentForPlayer(); + } } //---------------------------------------------------------------------- @@ -1083,6 +1089,11 @@ bool ClientExpertiseManager::canAllocateExpertise(std::string const & expertiseN CreatureObject const * const player = Game::getPlayerCreature(); if (!player) return false; + + // you can allocate the expertise if you're in god mode + if (PlayerObject::isAdmin()) { + return true; + } //Check if the player has all the prerequisites SkillObject::SkillVector const prereqs = skill->getPrerequisiteSkills(); diff --git a/src/game/client/library/swgClientUserInterface/src/shared/page/SwgCuiExpertise.cpp b/src/game/client/library/swgClientUserInterface/src/shared/page/SwgCuiExpertise.cpp index 06d214488..15c631a6b 100644 --- a/src/game/client/library/swgClientUserInterface/src/shared/page/SwgCuiExpertise.cpp +++ b/src/game/client/library/swgClientUserInterface/src/shared/page/SwgCuiExpertise.cpp @@ -905,6 +905,9 @@ void SwgCuiExpertise::updateExpertiseDisplayName() m_expertiseDisplayName->SetLocalText(localizedDisplayName); Unicode::String localizedDisplayDescription; ClientExpertiseManager::localizeExpertiseDescription(m_currentBaseSkillName, localizedDisplayDescription); + if (PlayerObject::isAdmin()) { + localizedDisplayDescription.append(Unicode::narrowToWide("\n\\#ffff00 ***God Mode Override is On***\\#.")); + } m_expertiseDisplayDescription->SetLocalText(localizedDisplayDescription); std::string const & iconPath = RoadmapManager::getIconPathForSkill(m_currentSkillName);