diff --git a/src/openrct2/ride/RideRatings.cpp b/src/openrct2/ride/RideRatings.cpp index 5f7486c4b5..7cd0504fa1 100644 --- a/src/openrct2/ride/RideRatings.cpp +++ b/src/openrct2/ride/RideRatings.cpp @@ -1532,7 +1532,7 @@ static RatingTuple get_sloped_turns_rating(const Ride& ride) * * rct2: 0x0065E0F2 */ -static RatingTuple get_inversions_ratings(uint16_t inversions) +static RatingTuple getInversionsRatings(uint16_t inversions) { RatingTuple rating; @@ -1634,8 +1634,7 @@ static RatingTuple ride_ratings_get_turns_ratings(const Ride& ride) intensity += slopedTurnsRating.intensity; nausea += slopedTurnsRating.nausea; - auto inversions = ride.getRideTypeDescriptor().specialType == RtdSpecialType::miniGolf ? ride.numHoles : ride.numInversions; - RatingTuple inversionsRating = get_inversions_ratings(inversions); + RatingTuple inversionsRating = getInversionsRatings(ride.numInversions); excitement += inversionsRating.excitement; intensity += inversionsRating.intensity; nausea += inversionsRating.nausea; @@ -2039,9 +2038,8 @@ static void RideRatingsApplyBonusReversals( static void RideRatingsApplyBonusHoles(RatingTuple& ratings, const Ride& ride, RatingsModifier modifier) { - RideRatingsAdd( - ratings, (ride.numHoles) * modifier.excitement, (ride.numHoles) * modifier.intensity, - (ride.numHoles) * modifier.nausea); + auto bonusHoles = std::min(modifier.threshold, ride.numHoles); + RideRatingsAdd(ratings, bonusHoles * modifier.excitement, bonusHoles * modifier.intensity, bonusHoles * modifier.nausea); } static void RideRatingsApplyBonusNumTrains(RatingTuple& ratings, const Ride& ride, RatingsModifier modifier) diff --git a/src/openrct2/ride/rtd/gentle/MiniGolf.h b/src/openrct2/ride/rtd/gentle/MiniGolf.h index 38a8f4bc0a..7231625bd7 100644 --- a/src/openrct2/ride/rtd/gentle/MiniGolf.h +++ b/src/openrct2/ride/rtd/gentle/MiniGolf.h @@ -61,10 +61,12 @@ constexpr RideTypeDescriptor MiniGolfRTD = { { RatingsModifierType::BonusLength, 6000, 873, 0, 0 }, { RatingsModifierType::BonusTurns, 0, 14860, 0, 0 }, + // The first six holes used to benefit from bonuses intended for inversions. + { RatingsModifierType::BonusHoles, 6, 6, 0, 0 }, { RatingsModifierType::BonusSheltered, 0, 5140, 6553, 4681 }, { RatingsModifierType::BonusProximity, 0, 15657, 0, 0 }, { RatingsModifierType::BonusScenery, 0, 27887, 0, 0 }, - { RatingsModifierType::BonusHoles, 0, 5, 0, 0 }, + { RatingsModifierType::BonusHoles, 31, 5, 0, 0 }, { RatingsModifierType::RequirementHoles, 1, 8, 2, 2 }, }, },