Skip to content

Commit febb6c4

Browse files
committed
COMMAND_IS_CAR_IN_WATER
1 parent 589dc93 commit febb6c4

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

source/game_sa/Scripts/Commands/VehicleCommands.cpp

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -514,8 +514,21 @@ auto SetCarOnlyDamagedByPlayer(CVehicle& vehicle, bool enabled) {
514514
}
515515

516516
/// IS_CAR_IN_WATER
517-
//auto IsCarInWater(CVehicle& vehicle) {
518-
//}
517+
auto IsCarInWater(CVehicle* vehicle) {
518+
if (!vehicle) {
519+
return false;
520+
}
521+
if (vehicle->physicalFlags.bSubmergedInWater) {
522+
return true;
523+
}
524+
if (vehicle->GetModelId() == MODEL_VORTEX) {
525+
const auto* const vortex = vehicle->AsAutomobile();
526+
if (vortex->m_fWheelsSuspensionCompression[0] < 1.f) {
527+
return g_surfaceInfos.IsShallowWater(vortex->m_wheelColPoint[0].m_nSurfaceTypeB);
528+
}
529+
}
530+
return false;
531+
}
519532

520533
/// GET_CLOSEST_CAR_NODE
521534
//auto GetClosestCarNode(CVehicle& vehicle) {
@@ -1294,7 +1307,7 @@ void notsa::script::commands::vehicle::RegisterHandlers() {
12941307
REGISTER_COMMAND_HANDLER(COMMAND_CHANGE_CAR_COLOUR, ChangeCarColour);
12951308
REGISTER_COMMAND_HANDLER(COMMAND_SET_CAN_RESPRAY_CAR, SetCanResprayCar);
12961309
REGISTER_COMMAND_HANDLER(COMMAND_SET_CAR_ONLY_DAMAGED_BY_PLAYER, SetCarOnlyDamagedByPlayer);
1297-
// REGISTER_COMMAND_HANDLER(COMMAND_IS_CAR_IN_WATER, IsCarInWater);
1310+
REGISTER_COMMAND_HANDLER(COMMAND_IS_CAR_IN_WATER, IsCarInWater);
12981311
// REGISTER_COMMAND_HANDLER(COMMAND_GET_CLOSEST_CAR_NODE, GetClosestCarNode);
12991312
// REGISTER_COMMAND_HANDLER(COMMAND_CAR_GOTO_COORDINATES_ACCURATE, CarGotoCoordinatesAccurate);
13001313
// REGISTER_COMMAND_HANDLER(COMMAND_IS_CAR_ON_SCREEN, IsCarOnScreen);

0 commit comments

Comments
 (0)