diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index 46eee5a5a5..d76afc8bfd 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -438,6 +438,7 @@ enum class RtdFlag : uint8_t runningSpeedAffectsReliability, poweredLaunchAffectsReliability, + reverseInclineLaunchAffectsReliability, }; /** diff --git a/src/openrct2/ride/RideRatings.cpp b/src/openrct2/ride/RideRatings.cpp index 5daa7263d7..23714254c8 100644 --- a/src/openrct2/ride/RideRatings.cpp +++ b/src/openrct2/ride/RideRatings.cpp @@ -1337,7 +1337,7 @@ static void SetUnreliabilityFactor(Ride& ride) { const auto& rtd = ride.getRideTypeDescriptor(); // Special unreliability for a few ride types - if (ride.type == RIDE_TYPE_COMPACT_INVERTED_COASTER && ride.mode == RideMode::reverseInclineLaunchedShuttle) + if (rtd.HasFlag(RtdFlag::reverseInclineLaunchAffectsReliability) && ride.mode == RideMode::reverseInclineLaunchedShuttle) { ride.unreliabilityFactor += 10; } diff --git a/src/openrct2/ride/rtd/coaster/CompactInvertedCoaster.h b/src/openrct2/ride/rtd/coaster/CompactInvertedCoaster.h index 1576c846fd..9feb2a3a17 100644 --- a/src/openrct2/ride/rtd/coaster/CompactInvertedCoaster.h +++ b/src/openrct2/ride/rtd/coaster/CompactInvertedCoaster.h @@ -30,7 +30,7 @@ constexpr RideTypeDescriptor CompactInvertedCoasterRTD = .InvertedTrackPaintFunctions = {}, .Flags = kRtdFlagsHasThreeColours | kRtdFlagsCommonCoaster | kRtdFlagsCommonCoasterNonAlt | EnumsToFlags(RtdFlag::hasLeaveWhenAnotherVehicleArrivesAtStation, RtdFlag::checkGForces, - RtdFlag::allowMultipleCircuits, RtdFlag::isSuspended), + RtdFlag::allowMultipleCircuits, RtdFlag::isSuspended, RtdFlag::reverseInclineLaunchAffectsReliability), .RideModes = EnumsToFlags(RideMode::continuousCircuit, RideMode::continuousCircuitBlockSectioned, RideMode::reverseInclineLaunchedShuttle), .DefaultMode = RideMode::continuousCircuit, .OperatingSettings = { 7, 27 },