diff --git a/CMakeLists.txt b/CMakeLists.txt index 74ce3bd06d..eba549e5f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,9 +68,9 @@ set(OBJECTS_VERSION "1.3.5") set(OBJECTS_URL "https://github.com/OpenRCT2/objects/releases/download/v${OBJECTS_VERSION}/objects.zip") set(OBJECTS_SHA1 "58bddc5f845d8c7eb5d9fd25e52ab1fed24c85db") -set(REPLAYS_VERSION "0.0.69") +set(REPLAYS_VERSION "0.0.70") set(REPLAYS_URL "https://github.com/OpenRCT2/replays/releases/download/v${REPLAYS_VERSION}/replays.zip") -set(REPLAYS_SHA1 "3EC20AA2C90FDEEB08C26B6DA6D111C9C5C9B694") +set(REPLAYS_SHA1 "09B339E86AAE81580C5AC3E23AC4BC9E030DA076") option(FORCE32 "Force 32-bit build. It will add `-m32` to compiler flags.") option(WITH_TESTS "Build tests") diff --git a/contributors.md b/contributors.md index f792ab316c..f99cd5b0ad 100644 --- a/contributors.md +++ b/contributors.md @@ -200,6 +200,7 @@ The following people are not part of the development team, but have been contrib * 73 (733737) * Raymond Zhao (rzhao271) * Xixiang Chen (jacknull1991) +* (ReticulatingSplines) ## Toolchain * (Balletie) - macOS diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 9d2cf01509..3c77c20a25 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -8,6 +8,7 @@ - Change: [#18230] Make the large flat to steep pieces available on the corkscrew roller coaster without cheats. - Change: [#18381] Convert custom invisible paths to the built-in ones. - Fix: [#14312] Research ride type message incorrect. +- Fix: [#15969] Guests heading for ride use vanilla behaviour - Fix: [#17316] Sides of River Rapids’ corners overlay other parts of the track. - Fix: [#17657] When switching from buying land rights to buying construction rights, grid disables and won't re-enable afterwards. - Fix: [#17763] Missing validation on invalid characters in file name. diff --git a/openrct2.proj b/openrct2.proj index 5bdd85d425..43ae29076a 100644 --- a/openrct2.proj +++ b/openrct2.proj @@ -47,8 +47,8 @@ 4ab0065e5a4d9f9c77d94718bbdfcfcd5a389da0 https://github.com/OpenRCT2/objects/releases/download/v1.3.5/objects.zip 58bddc5f845d8c7eb5d9fd25e52ab1fed24c85db - https://github.com/OpenRCT2/replays/releases/download/v0.0.69/replays.zip - 3EC20AA2C90FDEEB08C26B6DA6D111C9C5C9B694 + https://github.com/OpenRCT2/replays/releases/download/v0.0.70/replays.zip + 09B339E86AAE81580C5AC3E23AC4BC9E030DA076 diff --git a/src/openrct2/entity/Guest.cpp b/src/openrct2/entity/Guest.cpp index 6cfb559acc..a7edb8e62c 100644 --- a/src/openrct2/entity/Guest.cpp +++ b/src/openrct2/entity/Guest.cpp @@ -2047,34 +2047,13 @@ bool Guest::ShouldGoOnRide(Ride* ride, StationIndex entranceNum, bool atQueue, b return false; } } - - if (ClimateIsRaining() && !ShouldRideWhileRaining(*ride)) + else { - if (peepAtRide) - { - InsertNewThought(PeepThoughtType::NotWhileRaining, ride->id); - if (HappinessTarget >= 64) - { - HappinessTarget -= 8; - } - ride->UpdatePopularity(0); - } - ChoseNotToGoOnRide(ride, peepAtRide, true); - return false; - } - - if (!gCheatsIgnoreRideIntensity) - { - // Intensity calculations. Even though the max intensity can go up to 15, it's capped - // at 10.0 (before happiness calculations). A full happiness bar will increase the max - // intensity and decrease the min intensity by about 2.5. - ride_rating maxIntensity = std::min(Intensity.GetMaximum() * 100, 1000) + Happiness; - ride_rating minIntensity = (Intensity.GetMinimum() * 100) - Happiness; - if (ride->intensity < minIntensity) + if (ClimateIsRaining() && !ShouldRideWhileRaining(*ride)) { if (peepAtRide) { - InsertNewThought(PeepThoughtType::MoreThrilling, ride->id); + InsertNewThought(PeepThoughtType::NotWhileRaining, ride->id); if (HappinessTarget >= 64) { HappinessTarget -= 8; @@ -2084,35 +2063,62 @@ bool Guest::ShouldGoOnRide(Ride* ride, StationIndex entranceNum, bool atQueue, b ChoseNotToGoOnRide(ride, peepAtRide, true); return false; } - if (ride->intensity > maxIntensity) + // If it is raining and the ride provides shelter skip the + // ride intensity check and get me on a sheltered ride! + if (!ClimateIsRaining() || !ShouldRideWhileRaining(*ride)) { - peep_ride_is_too_intense(this, ride, peepAtRide); - return false; - } - - // Nausea calculations. - ride_rating maxNausea = NauseaMaximumThresholds[(EnumValue(NauseaTolerance) & 3)] + Happiness; - - if (ride->nausea > maxNausea) - { - if (peepAtRide) + if (!gCheatsIgnoreRideIntensity) { - InsertNewThought(PeepThoughtType::Sickening, ride->id); - if (HappinessTarget >= 64) + // Intensity calculations. Even though the max intensity can go up to 15, it's capped + // at 10.0 (before happiness calculations). A full happiness bar will increase the max + // intensity and decrease the min intensity by about 2.5. + ride_rating maxIntensity = std::min(Intensity.GetMaximum() * 100, 1000) + Happiness; + ride_rating minIntensity = (Intensity.GetMinimum() * 100) - Happiness; + if (ride->intensity < minIntensity) { - HappinessTarget -= 8; + if (peepAtRide) + { + InsertNewThought(PeepThoughtType::MoreThrilling, ride->id); + if (HappinessTarget >= 64) + { + HappinessTarget -= 8; + } + ride->UpdatePopularity(0); + } + ChoseNotToGoOnRide(ride, peepAtRide, true); + return false; + } + if (ride->intensity > maxIntensity) + { + peep_ride_is_too_intense(this, ride, peepAtRide); + return false; } - ride->UpdatePopularity(0); - } - ChoseNotToGoOnRide(ride, peepAtRide, true); - return false; - } - // Very nauseous peeps will only go on very gentle rides. - if (ride->nausea >= FIXED_2DP(1, 40) && Nausea > 160) - { - ChoseNotToGoOnRide(ride, peepAtRide, false); - return false; + // Nausea calculations. + ride_rating maxNausea = NauseaMaximumThresholds[(EnumValue(NauseaTolerance) & 3)] + Happiness; + + if (ride->nausea > maxNausea) + { + if (peepAtRide) + { + InsertNewThought(PeepThoughtType::Sickening, ride->id); + if (HappinessTarget >= 64) + { + HappinessTarget -= 8; + } + ride->UpdatePopularity(0); + } + ChoseNotToGoOnRide(ride, peepAtRide, true); + return false; + } + + // Very nauseous peeps will only go on very gentle rides. + if (ride->nausea >= FIXED_2DP(1, 40) && Nausea > 160) + { + ChoseNotToGoOnRide(ride, peepAtRide, false); + return false; + } + } } } } diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 3b3a7fc71f..d494f49270 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -43,7 +43,7 @@ // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "6" +#define NETWORK_STREAM_VERSION "7" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION