diff --git a/zone/lua_parser.cpp b/zone/lua_parser.cpp index 383691864..2442838a3 100644 --- a/zone/lua_parser.cpp +++ b/zone/lua_parser.cpp @@ -216,6 +216,8 @@ LuaParser::LuaParser() { SpellArgumentDispatch[EVENT_SPELL_EFFECT_TRANSLOCATE_COMPLETE] = handle_translocate_finish; EncounterArgumentDispatch[EVENT_TIMER] = handle_encounter_timer; + EncounterArgumentDispatch[EVENT_ENCOUNTER_LOAD] = handle_encounter_load; + EncounterArgumentDispatch[EVENT_ENCOUNTER_UNLOAD] = handle_encounter_unload; L = nullptr; } diff --git a/zone/lua_parser_events.cpp b/zone/lua_parser_events.cpp index adccf433b..5428304a6 100644 --- a/zone/lua_parser_events.cpp +++ b/zone/lua_parser_events.cpp @@ -710,8 +710,26 @@ void handle_encounter_timer(QuestInterface *parse, lua_State* L, std::string dat lua_setfield(L, -2, "timer"); } +void handle_encounter_load(QuestInterface *parse, lua_State* L, std::string data, uint32 extra_data, + std::vector *extra_pointers) { + if (extra_pointers) { + std::string *str = EQEmu::any_cast(extra_pointers->at(0)); + lua_pushstring(L, str->c_str()); + lua_setfield(L, -2, "data"); + } +} + +void handle_encounter_unload(QuestInterface *parse, lua_State* L, std::string data, uint32 extra_data, + std::vector *extra_pointers) { + if (extra_pointers) { + std::string *str = EQEmu::any_cast(extra_pointers->at(0)); + lua_pushstring(L, str->c_str()); + lua_setfield(L, -2, "data"); + } +} + void handle_encounter_null(QuestInterface *parse, lua_State* L, std::string data, uint32 extra_data, - std::vector *extra_pointers) { + std::vector *extra_pointers) { } diff --git a/zone/lua_parser_events.h b/zone/lua_parser_events.h index 818bcf5be..46609fb06 100644 --- a/zone/lua_parser_events.h +++ b/zone/lua_parser_events.h @@ -132,6 +132,10 @@ void handle_spell_null(QuestInterface *parse, lua_State* L, NPC* npc, Client* cl //Encounter void handle_encounter_timer(QuestInterface *parse, lua_State* L, std::string data, uint32 extra_data, std::vector *extra_pointers); +void handle_encounter_load(QuestInterface *parse, lua_State* L, std::string data, uint32 extra_data, + std::vector *extra_pointers); +void handle_encounter_unload(QuestInterface *parse, lua_State* L, std::string data, uint32 extra_data, + std::vector *extra_pointers); void handle_encounter_null(QuestInterface *parse, lua_State* L, std::string data, uint32 extra_data, std::vector *extra_pointers);