2022-08-09 13:14:02 -04:00
|
|
|
#include "backend/looped/looped.hpp"
|
|
|
|
#include "core/enums.hpp"
|
2023-07-12 12:55:53 -04:00
|
|
|
#include "gta/enums.hpp"
|
2022-08-09 13:14:02 -04:00
|
|
|
#include "natives.hpp"
|
|
|
|
|
|
|
|
namespace big
|
|
|
|
{
|
|
|
|
void looped::vehicle_boost_behavior()
|
|
|
|
{
|
|
|
|
auto* const vehicle = g_local_player->m_vehicle;
|
|
|
|
|
2022-09-20 14:03:19 +01:00
|
|
|
if (vehicle && VEHICLE::GET_HAS_ROCKET_BOOST(self::veh))
|
2022-08-09 13:14:02 -04:00
|
|
|
{
|
2023-03-01 21:27:15 +00:00
|
|
|
if (g.vehicle.boost_behavior == eBoostBehaviors::INSTANT_REFIL && (vehicle->m_boost == 0.f || !vehicle->m_boost_state))// Instant Refill
|
2022-08-09 13:14:02 -04:00
|
|
|
{
|
2022-09-21 16:10:21 +03:00
|
|
|
vehicle->m_boost_allow_recharge = true;
|
2023-03-01 21:27:15 +00:00
|
|
|
vehicle->m_boost = 3.f;
|
2022-08-09 13:14:02 -04:00
|
|
|
}
|
2023-03-01 21:27:15 +00:00
|
|
|
else if (g.vehicle.boost_behavior == eBoostBehaviors::INFINITE_BOOST)// Infinite Boost
|
2022-08-09 13:14:02 -04:00
|
|
|
{
|
2022-09-21 16:10:21 +03:00
|
|
|
vehicle->m_boost_allow_recharge = true;
|
2023-03-01 21:27:15 +00:00
|
|
|
vehicle->m_boost = 3.f;
|
2022-08-09 13:14:02 -04:00
|
|
|
}
|
2023-07-12 12:55:53 -04:00
|
|
|
else if (g.vehicle.boost_behavior == eBoostBehaviors::HOLD_FOR_INFINITE)
|
|
|
|
{
|
|
|
|
if (vehicle->m_boost_state && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_ROCKET_BOOST))
|
|
|
|
{
|
|
|
|
vehicle->m_boost_allow_recharge = true;
|
|
|
|
vehicle->m_boost = 3.f;
|
|
|
|
}
|
|
|
|
else if (vehicle->m_boost_state)
|
|
|
|
{
|
|
|
|
vehicle->m_boost_state = false;
|
|
|
|
}
|
|
|
|
}
|
2022-08-09 13:14:02 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|