Added reputation tracker in charxml

This commit is contained in:
EmosewaMC 2022-03-31 18:18:13 -07:00
parent ba33c15b2d
commit 4bc5c8194f
2 changed files with 24 additions and 1 deletions

View File

@ -256,7 +256,11 @@ void CharacterComponent::LoadFromXML() {
Game::logger->Log("CharacterComponent", "Failed to find char tag while loading XML!\n");
return;
}
if (character->QueryAttribute("rpt", &m_Reputation) == tinyxml2::XML_NO_ATTRIBUTE) {
SetReputation(0);
}
Game::logger->Log("CharacterComponent", "error is %i", character->QueryAttribute("rpt", &m_Reputation));
character->QueryInt64Attribute("ls", &m_Uscore);
// Load the statistics
@ -378,6 +382,8 @@ void CharacterComponent::UpdateXml(tinyxml2::XMLDocument* doc) {
}
character->SetAttribute("ls", m_Uscore);
// Custom attribute to keep track of reputation.
character->SetAttribute("rpt", GetReputation());
character->SetAttribute("stt", StatisticsToString().c_str());
// Set the zone statistics of the form <zs><s/> ... <s/></zs>

View File

@ -146,6 +146,18 @@ public:
*/
bool GetPvpEnabled() const;
/**
* Returns the characters lifetime reputation
* @return The lifetime reputation of this character.
*/
int64_t GetReputation() { return m_Reputation; };
/**
* Sets the lifetime reputation of the character to newValue
* @param newValue the value to set reputation to
*/
void SetReputation(int64_t newValue) { m_Reputation = newValue; };
/**
* Sets the current value of PvP combat being enabled
* @param value whether to enable PvP combat
@ -291,6 +303,11 @@ private:
*/
int64_t m_Uscore;
/**
* The lifetime reputation earned by the entity
*/
int64_t m_Reputation;
/**
* Whether the character is landing by rocket
*/