46 lines
1.1 KiB
C++
Raw Normal View History

2021-05-20 18:19:01 +02:00
#include "backend/looped/looped.hpp"
#include "core/enums.hpp"
#include "util/entity.hpp"
#include "util/vehicle.hpp"
2021-05-20 18:19:01 +02:00
namespace big
{
static const int controls[] = {
(int)ControllerInputs::INPUT_WEAPON_WHEEL_NEXT,
(int)ControllerInputs::INPUT_WEAPON_WHEEL_PREV,
(int)ControllerInputs::INPUT_ATTACK
};
2021-05-20 18:19:01 +02:00
void looped::weapons_repair_gun()
{
bool bRepairGun = g->weapons.custom_weapon == CustomWeapon::REPAIR_GUN;
2021-05-20 18:19:01 +02:00
if (bRepairGun)
{
if (PAD::IS_DISABLED_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_AIM))
2021-05-20 18:19:01 +02:00
{
PLAYER::DISABLE_PLAYER_FIRING(self::id, true);
2021-05-20 18:19:01 +02:00
for (int control : controls)
PAD::DISABLE_CONTROL_ACTION(0, control, true);
if (PAD::IS_DISABLED_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_ATTACK))
2021-05-20 18:19:01 +02:00
{
Entity entity;
if (entity::raycast(&entity))
{
if (ENTITY::IS_ENTITY_A_VEHICLE(entity))
{
vehicle::repair(entity);
2021-05-20 18:19:01 +02:00
}
else
{
g_notification_service->push_warning("Weapons", "Entity is not a vehicle.");
2021-05-20 18:19:01 +02:00
}
}
else g_notification_service->push_warning("Weapons", "No entity found.");
2021-05-20 18:19:01 +02:00
}
}
}
}
}