mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
[Quest API] (Performance) Check event exists before export and execute EVENT_ENTER_ZONE and EVENT_ZONE (#2900)
# Notes - Optionally parse these events instead of always doing so.
This commit is contained in:
parent
2dcff247c8
commit
71b2bf6a64
@ -779,7 +779,9 @@ void Client::CompleteConnect()
|
||||
TotalKarma = database.GetKarma(AccountID());
|
||||
SendDisciplineTimers();
|
||||
|
||||
parse->EventPlayer(EVENT_ENTER_ZONE, this, "", 0);
|
||||
if (parse->PlayerHasQuestSub(EVENT_ENTER_ZONE)) {
|
||||
parse->EventPlayer(EVENT_ENTER_ZONE, this, "", 0);
|
||||
}
|
||||
|
||||
// the way that the client deals with positions during the initial spawn struct
|
||||
// is subtly different from how it deals with getting a position update
|
||||
|
||||
@ -202,19 +202,21 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
|
||||
min_status = zone_data->min_status;
|
||||
min_level = zone_data->min_level;
|
||||
|
||||
const auto& export_string = fmt::format(
|
||||
"{} {} {} {} {} {}",
|
||||
zone->GetZoneID(),
|
||||
zone->GetInstanceID(),
|
||||
zone->GetInstanceVersion(),
|
||||
target_zone_id,
|
||||
target_instance_id,
|
||||
target_instance_version
|
||||
);
|
||||
if (parse->PlayerHasQuestSub(EVENT_ZONE)) {
|
||||
const auto& export_string = fmt::format(
|
||||
"{} {} {} {} {} {}",
|
||||
zone->GetZoneID(),
|
||||
zone->GetInstanceID(),
|
||||
zone->GetInstanceVersion(),
|
||||
target_zone_id,
|
||||
target_instance_id,
|
||||
target_instance_version
|
||||
);
|
||||
|
||||
if (parse->EventPlayer(EVENT_ZONE, this, export_string, 0) != 0) {
|
||||
SendZoneCancel(zc);
|
||||
return;
|
||||
if (parse->EventPlayer(EVENT_ZONE, this, export_string, 0) != 0) {
|
||||
SendZoneCancel(zc);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (player_event_logs.IsEventEnabled(PlayerEvent::ZONING)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user