diff --git a/Source/Contents/NavigationManager.h b/Source/Contents/NavigationManager.h index 080c20d6..1d8ba3ad 100644 --- a/Source/Contents/NavigationManager.h +++ b/Source/Contents/NavigationManager.h @@ -198,6 +198,10 @@ public: void CollectTargets(int type, std::vector& out); void CollectMobsInRange(int minimum, int maximum, std::vector& out); void CollectMobsByTitle(std::string title, std::vector& out); + void Search(int type, const std::vector& keywords, std::vector& out); + void SearchMap(const std::vector& keywords, std::vector& out); + void SearchMobs(const std::vector& keywords, std::vector& out); + void SearchNpcs(const std::vector& keywords, std::vector& out); /* 0000 */ int index; /* 0004 */ int type; diff --git a/Source/Contents/NavigationRequest.cpp b/Source/Contents/NavigationRequest.cpp index 951bbf9b..28689780 100644 --- a/Source/Contents/NavigationRequest.cpp +++ b/Source/Contents/NavigationRequest.cpp @@ -6,6 +6,8 @@ #include "Resource/ResourceMgr.h" #include +#include +#include // OFFSET: 0x00B8DF10 // FUNCTION: fn_19461 @@ -406,3 +408,21 @@ void CNaviInfo::CollectMobsByTitle(std::string title, std::vector& keywords, std::vector& out) { + this->SearchMap(keywords, out); + if (type == 2 || type == 0) { + this->SearchMobs(keywords, out); + } + if (type == 3 || type == 0) { + this->SearchNpcs(keywords, out); + } +} + +// OFFSET: 0x00B8EE50 + +// OFFSET: 0x00B8F560 + +// OFFSET: 0x00B8FE40