aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Cache
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Cache')
-rw-r--r--src/server/game/Cache/CharacterCache.cpp9
-rw-r--r--src/server/game/Cache/CharacterCache.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Cache/CharacterCache.cpp b/src/server/game/Cache/CharacterCache.cpp
index 5e297d3f90b..a078c502e40 100644
--- a/src/server/game/Cache/CharacterCache.cpp
+++ b/src/server/game/Cache/CharacterCache.cpp
@@ -141,6 +141,15 @@ void CharacterCache::UpdateCharacterData(ObjectGuid const& guid, std::string con
_characterCacheByNameStore[name] = &itr->second;
}
+void CharacterCache::UpdateCharacterGender(ObjectGuid const& guid, uint8 gender)
+{
+ auto itr = _characterCacheStore.find(guid);
+ if (itr == _characterCacheStore.end())
+ return;
+
+ itr->second.Sex = gender;
+}
+
void CharacterCache::UpdateCharacterLevel(ObjectGuid const& guid, uint8 level)
{
auto itr = _characterCacheStore.find(guid);
diff --git a/src/server/game/Cache/CharacterCache.h b/src/server/game/Cache/CharacterCache.h
index c76bb04ecb1..a9a872da837 100644
--- a/src/server/game/Cache/CharacterCache.h
+++ b/src/server/game/Cache/CharacterCache.h
@@ -48,6 +48,7 @@ class TC_GAME_API CharacterCache
void DeleteCharacterCacheEntry(ObjectGuid const& guid, std::string const& name);
void UpdateCharacterData(ObjectGuid const& guid, std::string const& name, uint8* gender = nullptr, uint8* race = nullptr);
+ void UpdateCharacterGender(ObjectGuid const& guid, uint8 gender);
void UpdateCharacterLevel(ObjectGuid const& guid, uint8 level);
void UpdateCharacterAccountId(ObjectGuid const& guid, uint32 accountId);
void UpdateCharacterGuildId(ObjectGuid const& guid, ObjectGuid::LowType guildId);