From 66fee56c4762a914366631a969773706d69e3c3b Mon Sep 17 00:00:00 2001 From: Alex King <89047260+Kinglykrab@users.noreply.github.com> Date: Mon, 13 Feb 2023 00:07:32 -0500 Subject: [PATCH] [Quest API] (Performance) Check event exists before export and execute EVENT_DISCOVER_ITEM (#2912) - Optionally parse this event instead of always doing so. --- zone/client.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/zone/client.cpp b/zone/client.cpp index f4ef0a72c..5a0a9733a 100644 --- a/zone/client.cpp +++ b/zone/client.cpp @@ -4074,8 +4074,6 @@ void Client::DiscoverItem(uint32 item_id) { auto d = DiscoveredItemsRepository::InsertOne(database, e); - parse->EventPlayer(EVENT_DISCOVER_ITEM, this, "", item_id); - if (player_event_logs.IsEventEnabled(PlayerEvent::DISCOVER_ITEM)) { const auto* item = database.GetItem(item_id); @@ -4084,6 +4082,14 @@ void Client::DiscoverItem(uint32 item_id) { .item_name = item->Name, }; RecordPlayerEventLog(PlayerEvent::DISCOVER_ITEM, e); + + } + + if (parse->PlayerHasQuestSub(EVENT_DISCOVER_ITEM)) { + const auto* item = database.GetItem(item_id); + std::vector args = {item}; + + parse->EventPlayer(EVENT_DISCOVER_ITEM, this, "", item_id, &args); } }