diff options
Diffstat (limited to 'src/beingmanager.cpp')
-rw-r--r-- | src/beingmanager.cpp | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/src/beingmanager.cpp b/src/beingmanager.cpp index 74461d44..8bd951fa 100644 --- a/src/beingmanager.cpp +++ b/src/beingmanager.cpp @@ -300,36 +300,21 @@ bool BeingManager::hasBeing(Being *being) const return false; } -std::string BeingManager::getAutoCompletePlayerName(std::string partName) +void BeingManager::getPlayerNames(std::vector<std::string> &names, + bool npcNames) { Beings::iterator i = mBeings.begin(); - std::transform(partName.begin(), partName.end(), partName.begin(), tolower); - std::string newName(""); + names.clear(); while (i != mBeings.end()) { Being *being = (*i); - if (being->getType() != Being::MONSTER && being->getName() != "") + if ((being->getType() == Being::PLAYER + || (being->getType() == Being::NPC && npcNames)) + && being->getName() != "") { - std::string name = being->getName(); - std::transform(name.begin(), name.end(), name.begin(), tolower); - - std::string::size_type pos = name.find(partName, 0); - if (pos == 0) - { - if (newName != "") - { - std::transform(newName.begin(), newName.end(), newName.begin(), tolower); - newName = findSameSubstring(name, newName); - } - else - { - newName = being->getName(); - } - } + names.push_back(being->getName()); } ++i; } - - return newName; } |