diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index d78129785..449924f87 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -468,10 +468,10 @@ int Client::HandlePacket(const EQApplicationPacket *app) switch (client_state) { case CLIENT_CONNECTING: { if (ConnectingOpcodes.count(opcode) != 1) { - //Hate const cast but everything in lua needs to be non-const even if i make it non-mutable - std::vector args; - args.push_back(const_cast(app)); - parse->EventPlayer(EVENT_UNHANDLED_OPCODE, this, "", 1, &args); + if (parse->PlayerHasQuestSub(EVENT_UNHANDLED_OPCODE)) { + std::vector args = {const_cast(app)}; + parse->EventPlayer(EVENT_UNHANDLED_OPCODE, this, "", 1, &args); + } break; } @@ -493,9 +493,10 @@ int Client::HandlePacket(const EQApplicationPacket *app) ClientPacketProc p; p = ConnectedOpcodes[opcode]; if (p == nullptr) { - std::vector args; - args.push_back(const_cast(app)); - parse->EventPlayer(EVENT_UNHANDLED_OPCODE, this, "", 0, &args); + if (parse->PlayerHasQuestSub(EVENT_UNHANDLED_OPCODE)) { + std::vector args = {const_cast(app)}; + parse->EventPlayer(EVENT_UNHANDLED_OPCODE, this, "", 0, &args); + } break; }