diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 102d8b8b17..8445bf4ec6 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -10,6 +10,7 @@ - Fix: [#12701] Silent NSIS setup flag /S isn't silent, upgrade pop-up appears anyway. - Fix: [#12737] Space Rings draw the same vehicle 4 times. - Fix: [#12764] Rides don't start aged anymore. +- Fix: [#12818] Ride price not ignored in free-rides parks. - Fix: [#12820] Title menu buttons not invalidating properly - Fix: [#12845] Deleting ride with active ad campaign creates incorrect notification. - Fix: [#12857] Incorrect Peep thoughts in imported RCT1 parks. diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index d52209c464..18c9264ff2 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -33,7 +33,7 @@ // This string specifies which version of network stream current build uses. // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "3" +#define NETWORK_STREAM_VERSION "4" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION static Peep* _pickup_peep = nullptr; diff --git a/src/openrct2/world/Park.cpp b/src/openrct2/world/Park.cpp index db8bca1d9b..bea88d46c7 100644 --- a/src/openrct2/world/Park.cpp +++ b/src/openrct2/world/Park.cpp @@ -522,6 +522,7 @@ money32 Park::CalculateCompanyValue() const money16 Park::CalculateTotalRideValueForMoney() const { money16 totalRideValue = 0; + bool ridePricesUnlocked = park_ride_prices_unlocked() && !(gParkFlags & PARK_FLAGS_NO_MONEY); for (auto& ride : GetRideManager()) { if (ride.status != RIDE_STATUS_OPEN) @@ -534,7 +535,11 @@ money16 Park::CalculateTotalRideValueForMoney() const // Add ride value if (ride.value != RIDE_VALUE_UNDEFINED) { - money16 rideValue = static_cast(ride.value - ride.price[0]); + money16 rideValue = static_cast(ride.value); + if (ridePricesUnlocked) + { + rideValue -= ride.price[0]; + } if (rideValue > 0) { totalRideValue += rideValue * 2;