[Quest API] Let HasQuestSub check encounters (#2435)

This fixes an edge case where trading would not detect the npc had a
quest handler if it was registered inside a Lua encounter.
This commit is contained in:
hg
2022-09-20 13:21:48 -04:00
committed by GitHub
parent b2a73dc572
commit dbf8440a32
6 changed files with 73 additions and 11 deletions
+13
View File
@@ -1095,6 +1095,19 @@ bool LuaParser::HasFunction(std::string subname, std::string package_name) {
return false;
}
bool LuaParser::HasEncounterSub(const std::string& package_name, QuestEventID evt)
{
auto it = lua_encounter_events_registered.find(package_name);
if (it != lua_encounter_events_registered.end()) {
for (auto riter = it->second.begin(); riter != it->second.end(); ++riter) {
if (riter->event_id == evt) {
return true;
}
}
}
return false;
}
void LuaParser::MapFunctions(lua_State *L) {
try {