From 45de1f01e014f4f473ccd7a4e8d54d61183da1d0 Mon Sep 17 00:00:00 2001 From: megamage Date: Sat, 8 Oct 2011 16:24:07 -0400 Subject: Update char name data when create/delete char. --- src/server/game/World/World.cpp | 16 +++++++++++----- src/server/game/World/World.h | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'src/server/game/World') diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 359d278956b..28657faedb1 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2865,17 +2865,23 @@ void World::LoadCharacterNameData() do { Field *fields = result->Fetch(); - CharacterNameData& data = _characterNameDataMap[fields[0].GetUInt32()]; - data.m_name = fields[1].GetString(); - data.m_race = fields[2].GetUInt8(); - data.m_gender = fields[3].GetUInt8(); - data.m_class = fields[4].GetUInt8(); + AddCharacterNameData(fields[0].GetUInt32(), fields[1].GetString(), + fields[3].GetUInt8() /*gender*/, fields[2].GetUInt8() /*race*/, fields[4].GetUInt8() /*class*/); ++count; } while (result->NextRow()); sLog->outString("Loaded name data for %u characters", count); } +void World::AddCharacterNameData(uint32 guid, const std::string& name, uint8 gender, uint8 race, uint8 playerClass) +{ + CharacterNameData& data = _characterNameDataMap[guid]; + data.m_name = name; + data.m_race = race; + data.m_gender = gender; + data.m_class = playerClass; +} + void World::UpdateCharacterNameData(uint32 guid, const std::string& name, uint8 gender, uint8 race) { std::map::iterator itr = _characterNameDataMap.find(guid); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index d632a010b8b..06dc0066bb4 100755 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -740,7 +740,9 @@ class World bool isEventKillStart; const CharacterNameData* GetCharacterNameData(uint32 guid) const; + void AddCharacterNameData(uint32 guid, const std::string& name, uint8 gender, uint8 race, uint8 playerClass); void UpdateCharacterNameData(uint32 guid, const std::string& name, uint8 gender, uint8 race = RACE_NONE); + void DeleteCharaceterNameData(uint32 guid) { _characterNameDataMap.erase(guid); } uint32 GetCleaningFlags() const { return m_CleaningFlags; } void SetCleaningFlags(uint32 flags) { m_CleaningFlags = flags; } -- cgit v1.2.3