1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-24 23:34:37 +01:00

Combine the guest generation loops into one

This commit is contained in:
Stephan Spengler
2022-09-03 16:24:21 +02:00
committed by Gymnasiast
parent 83c6ce6b39
commit 7537ca24e3

View File

@@ -549,8 +549,8 @@ money16 Park::CalculateTotalRideValueForMoney() const
uint32_t Park::CalculateSuggestedMaxGuests() const
{
uint32_t suggestedMaxGuests = 0;
uint32_t difficultGenerationBonus = 0;
// TODO combine the two ride loops
for (auto& ride : GetRideManager())
{
if (ride.status != RideStatus::Open)
@@ -562,20 +562,10 @@ uint32_t Park::CalculateSuggestedMaxGuests() const
// Add guest score for ride type
suggestedMaxGuests += ride.GetRideTypeDescriptor().BonusValue;
}
// If difficult guest generation, extra guests are available for good rides
if (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION)
{
suggestedMaxGuests = std::min<uint32_t>(suggestedMaxGuests, 1000);
for (auto& ride : GetRideManager())
// If difficult guest generation, extra guests are available for good rides
if (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION)
{
if (ride.status != RideStatus::Open)
continue;
if (ride.lifecycle_flags & RIDE_LIFECYCLE_CRASHED)
continue;
if (ride.lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)
continue;
if (!(ride.lifecycle_flags & RIDE_LIFECYCLE_TESTED))
continue;
if (!ride.GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_HAS_TRACK))
@@ -588,10 +578,16 @@ uint32_t Park::CalculateSuggestedMaxGuests() const
continue;
// Bonus guests for good ride
suggestedMaxGuests += ride.GetRideTypeDescriptor().BonusValue * 2;
difficultGenerationBonus += ride.GetRideTypeDescriptor().BonusValue * 2;
}
}
if (gParkFlags & PARK_FLAGS_DIFFICULT_GUEST_GENERATION)
{
suggestedMaxGuests = std::min<uint32_t>(suggestedMaxGuests, 1000);
suggestedMaxGuests += difficultGenerationBonus;
}
suggestedMaxGuests = std::min<uint32_t>(suggestedMaxGuests, 65535);
return suggestedMaxGuests;
}