mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-10 01:22:25 +01:00
Count holes separately from inversions; limit bonus to 31
This commit is contained in:
@@ -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<uint8_t>(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)
|
||||
|
||||
@@ -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 },
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user