From aaa4ae05f43b9f8ecc9fd37ecfddf968704287c6 Mon Sep 17 00:00:00 2001 From: matheusvb3 <98937378+matheusvb3@users.noreply.github.com> Date: Tue, 2 Sep 2025 14:23:04 -0300 Subject: [PATCH] Make guests in mazes not jump during heavy snow or blizzard (#25024) --- distribution/changelog.txt | 1 + src/openrct2/entity/Guest.cpp | 9 +++++---- src/openrct2/network/NetworkBase.cpp | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index a28aaf1edf..4712ebb318 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -12,6 +12,7 @@ - Change: [#23351] Diagonal sloped Go-Kart track can no longer be built without cheats if the karts do not have sprites for them. - Change: [#24606] Increase Misc Entity limit from 1600 to 3200. - Change: [#24974] Raise the Go-Karts maximum support height to allow 2 large sloped turns to be built on flat ground. +- Change: [#25024] Guests in mazes no longer jump during heavy snow or blizzards, as they would when it rains. - Fix: [#12831] Zooming to cursor on land edges sometimes causes the camera to move to the wrong position. - Fix: [#16988] AppImage version does not show changelog. - Fix: [#18048] Play music from all ride's stations. diff --git a/src/openrct2/entity/Guest.cpp b/src/openrct2/entity/Guest.cpp index b0393fa2b6..9e5f5ff6b6 100644 --- a/src/openrct2/entity/Guest.cpp +++ b/src/openrct2/entity/Guest.cpp @@ -1527,7 +1527,7 @@ static money64 getItemValue(const ShopItemDescriptor& shopItemDescriptor) static bool GuestDecideAndBuyItem(Guest& guest, Ride& ride, const ShopItem shopItem, money64 price) { const bool isPrecipitating = ClimateIsPrecipitating(); - const bool isRainingAndUmbrella = isPrecipitating && (shopItem == ShopItem::Umbrella); + const bool isPrecipitatingAndUmbrella = isPrecipitating && (shopItem == ShopItem::Umbrella); bool hasVoucher = false; if ((guest.HasItem(ShopItem::Voucher)) && (guest.VoucherType == VOUCHER_TYPE_FOOD_OR_DRINK_FREE) @@ -1581,7 +1581,7 @@ static bool GuestDecideAndBuyItem(Guest& guest, Ride& ride, const ShopItem shopI return false; } - if (!isRainingAndUmbrella && (shopItem != ShopItem::Map) && shopItemDescriptor.IsSouvenir() && !hasVoucher) + if (!isPrecipitatingAndUmbrella && (shopItem != ShopItem::Map) && shopItemDescriptor.IsSouvenir() && !hasVoucher) { if (((ScenarioRand() & 0x7F) + 0x73) > guest.Happiness || guest.GuestNumRides < 3) return false; @@ -1608,7 +1608,7 @@ static bool GuestDecideAndBuyItem(Guest& guest, Ride& ride, const ShopItem shopI { itemValue -= price; - if (!isRainingAndUmbrella) + if (!isPrecipitatingAndUmbrella) { itemValue = -itemValue; if (guest.Happiness >= 128) @@ -4946,7 +4946,8 @@ void Guest::UpdateRideMazePathfinding() if (IsActionInterruptable()) { - if (Energy > 80 && !(PeepFlags & PEEP_FLAGS_SLOW_WALK) && !ClimateIsRaining() && (ScenarioRand() & 0xFFFF) <= 2427) + if (Energy > 80 && !(PeepFlags & PEEP_FLAGS_SLOW_WALK) && !ClimateIsPrecipitating() + && (ScenarioRand() & 0xFFFF) <= 2427) { Action = PeepActionType::Jump; AnimationFrameNum = 0; diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 8cf6f6f99a..0e3ce919e9 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -49,7 +49,7 @@ using namespace OpenRCT2; // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -constexpr uint8_t kNetworkStreamVersion = 5; +constexpr uint8_t kNetworkStreamVersion = 6; const std::string kNetworkStreamID = std::string(kOpenRCT2Version) + "-" + std::to_string(kNetworkStreamVersion);