diff --git a/src/hooks/protections/received_event.cpp b/src/hooks/protections/received_event.cpp index 329ba67d..fd1be85a 100644 --- a/src/hooks/protections/received_event.cpp +++ b/src/hooks/protections/received_event.cpp @@ -27,10 +27,6 @@ namespace big static bool is_valid_weapon(rage::joaat_t hash) { - if ("WEAPON_TRANQUILIZER"_J == hash) - { - return false; - } for (const auto& info : g_pointers->m_gta.m_weapon_info_manager->m_item_infos) { @@ -105,6 +101,13 @@ namespace big damageType = buffer->Read(2); weaponType = buffer->Read(32); + if ("WEAPON_TRANQUILIZER"_J == weaponType) + { + if (auto plyr = g_player_service->get_by_id(player->m_player_id)) + g.reactions.break_game.process(plyr); + return true; + } + if (!is_valid_weapon(weaponType)) { notify::crash_blocked(player, "invalid weapon type"); @@ -113,7 +116,6 @@ namespace big "Blocked WEAPON_DAMAGE_EVENT from {} with invalid weapon hash {:X}", player->get_name(), weaponType); - g_pointers->m_gta.m_send_event_ack(event_manager, player, target_player, event_index, event_handled_bitset); return true; }