mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-12-11 18:48:26 +00:00
fix: saving gm invis for non gms (#1940)
This commit is contained in:
@@ -31,7 +31,7 @@ public:
|
|||||||
std::string& GetSessionKey() { return m_SessionKey; }
|
std::string& GetSessionKey() { return m_SessionKey; }
|
||||||
SystemAddress& GetSystemAddress() { return m_SystemAddress; }
|
SystemAddress& GetSystemAddress() { return m_SystemAddress; }
|
||||||
|
|
||||||
eGameMasterLevel GetMaxGMLevel() { return m_MaxGMLevel; }
|
eGameMasterLevel GetMaxGMLevel() const { return m_MaxGMLevel; }
|
||||||
uint32_t GetLastCharID() { return m_LastCharID; }
|
uint32_t GetLastCharID() { return m_LastCharID; }
|
||||||
void SetLastCharID(uint32_t newCharID) { m_LastCharID = newCharID; }
|
void SetLastCharID(uint32_t newCharID) { m_LastCharID = newCharID; }
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ GhostComponent::GhostComponent(Entity* parent, const int32_t componentID) : Comp
|
|||||||
m_GhostReferencePoint = NiPoint3Constant::ZERO;
|
m_GhostReferencePoint = NiPoint3Constant::ZERO;
|
||||||
m_GhostOverridePoint = NiPoint3Constant::ZERO;
|
m_GhostOverridePoint = NiPoint3Constant::ZERO;
|
||||||
m_GhostOverride = false;
|
m_GhostOverride = false;
|
||||||
|
|
||||||
RegisterMsg<GameMessages::ToggleGMInvis>(this, &GhostComponent::OnToggleGMInvis);
|
RegisterMsg<GameMessages::ToggleGMInvis>(this, &GhostComponent::OnToggleGMInvis);
|
||||||
RegisterMsg<GameMessages::GetGMInvis>(this, &GhostComponent::OnGetGMInvis);
|
RegisterMsg<GameMessages::GetGMInvis>(this, &GhostComponent::OnGetGMInvis);
|
||||||
RegisterMsg<GameMessages::GetObjectReportInfo>(this, &GhostComponent::MsgGetObjectReportInfo);
|
RegisterMsg<GameMessages::GetObjectReportInfo>(this, &GhostComponent::MsgGetObjectReportInfo);
|
||||||
@@ -43,7 +43,8 @@ void GhostComponent::UpdateXml(tinyxml2::XMLDocument& doc) {
|
|||||||
auto* ghstElement = objElement->FirstChildElement("ghst");
|
auto* ghstElement = objElement->FirstChildElement("ghst");
|
||||||
if (ghstElement) objElement->DeleteChild(ghstElement);
|
if (ghstElement) objElement->DeleteChild(ghstElement);
|
||||||
// Only save if GM invisible
|
// Only save if GM invisible
|
||||||
if (!m_IsGMInvisible) return;
|
const auto* const user = UserManager::Instance()->GetUser(m_Parent->GetSystemAddress());
|
||||||
|
if (!m_IsGMInvisible || !user || user->GetMaxGMLevel() < eGameMasterLevel::FORUM_MODERATOR) return;
|
||||||
ghstElement = objElement->InsertNewChildElement("ghst");
|
ghstElement = objElement->InsertNewChildElement("ghst");
|
||||||
if (ghstElement) ghstElement->SetAttribute("i", m_IsGMInvisible);
|
if (ghstElement) ghstElement->SetAttribute("i", m_IsGMInvisible);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user