diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index 205aa53fe8..46eee5a5a5 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -437,6 +437,7 @@ enum class RtdFlag : uint8_t hasRoofOverWholeRide, runningSpeedAffectsReliability, + poweredLaunchAffectsReliability, }; /** diff --git a/src/openrct2/ride/RideRatings.cpp b/src/openrct2/ride/RideRatings.cpp index 982324b180..5daa7263d7 100644 --- a/src/openrct2/ride/RideRatings.cpp +++ b/src/openrct2/ride/RideRatings.cpp @@ -1341,7 +1341,7 @@ static void SetUnreliabilityFactor(Ride& ride) { ride.unreliabilityFactor += 10; } - else if (ride.type == RIDE_TYPE_LOOPING_ROLLER_COASTER && ride.isPoweredLaunched()) + else if (rtd.HasFlag(RtdFlag::poweredLaunchAffectsReliability) && ride.isPoweredLaunched()) { ride.unreliabilityFactor += 5; } diff --git a/src/openrct2/ride/rtd/coaster/LoopingRollerCoaster.h b/src/openrct2/ride/rtd/coaster/LoopingRollerCoaster.h index 440917243f..7d172b53a8 100644 --- a/src/openrct2/ride/rtd/coaster/LoopingRollerCoaster.h +++ b/src/openrct2/ride/rtd/coaster/LoopingRollerCoaster.h @@ -30,7 +30,7 @@ constexpr RideTypeDescriptor LoopingRollerCoasterRTD = .InvertedTrackPaintFunctions = {}, .Flags = kRtdFlagsHasThreeColours | kRtdFlagsCommonCoaster | kRtdFlagsCommonCoasterNonAlt | EnumsToFlags(RtdFlag::hasLeaveWhenAnotherVehicleArrivesAtStation, RtdFlag::checkGForces, - RtdFlag::allowMultipleCircuits, RtdFlag::allowReversedTrains), + RtdFlag::allowMultipleCircuits, RtdFlag::allowReversedTrains, RtdFlag::poweredLaunchAffectsReliability), .RideModes = EnumsToFlags(RideMode::continuousCircuit, RideMode::continuousCircuitBlockSectioned, RideMode::reverseInclineLaunchedShuttle, RideMode::poweredLaunchPasstrough, RideMode::poweredLaunch), .DefaultMode = RideMode::continuousCircuit, .OperatingSettings = { 10, 27 },