diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-09-10 12:36:08 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-09-10 12:38:00 +0300 |
commit | 574efa8ae89f7786239753537eb32c222686f4a1 (patch) | |
tree | dc6f15a6a2a968f459bf541b30b7ef1df71d9f8b /src/actormanager.cpp | |
parent | a2af952c687ff666208a316d8b7b4e394df19d2f (diff) | |
download | manaplus-574efa8ae89f7786239753537eb32c222686f4a1.tar.gz manaplus-574efa8ae89f7786239753537eb32c222686f4a1.tar.bz2 manaplus-574efa8ae89f7786239753537eb32c222686f4a1.tar.xz manaplus-574efa8ae89f7786239753537eb32c222686f4a1.zip |
Impliment packets CMSG_SOLVE_CHAR_NAME and SMSG_SOLVE_CHAR_NAME.
Diffstat (limited to 'src/actormanager.cpp')
-rw-r--r-- | src/actormanager.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/actormanager.cpp b/src/actormanager.cpp index ef4eac8c6..fd7f51368 100644 --- a/src/actormanager.cpp +++ b/src/actormanager.cpp @@ -191,6 +191,9 @@ ActorManager::ActorManager() : mActors(), mDeleteActors(), mBlockedBeings(), +#ifdef EATHENA_SUPPORT + mChars(), +#endif mMap(nullptr), mSpellHeal1(serverConfig.getValue("spellHeal1", "#lum")), mSpellHeal2(serverConfig.getValue("spellHeal2", "#inma")), @@ -908,6 +911,10 @@ void ActorManager::clear() if (localPlayer) mActors.insert(localPlayer); + +#ifdef EATHENA_SUPPORT + mChars.clear(); +#endif } Being *ActorManager::findNearestPvpPlayer() const @@ -1980,4 +1987,19 @@ void ActorManager::updateRoom(const ChatObject *const newChat) } } } + +std::string ActorManager::findCharById(const int32_t id) +{ + std::map<int32_t, std::string>::const_iterator it = mChars.find(id); + if (it == mChars.end()) + return std::string(); + return (*it).second; +} + +void ActorManager::addChar(const int32_t id, + const std::string &name) +{ + mChars[id] = name; +} + #endif |