1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-25 15:54:31 +01:00

Simplify Track Cost calcs (#16940)

* Multiply out 5 in track cost calcs and use _GBP

* Fix typo on Hypercoaster conversion

* Use two decimals for literals converted by _GBP

Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
This commit is contained in:
Duncan
2022-04-07 11:35:11 +01:00
committed by GitHub
parent 435c38b528
commit 5760f11349
93 changed files with 116 additions and 116 deletions

View File

@@ -944,7 +944,7 @@ static void WindowNewRidePaintRideInformation(
money64 price = GetRideTypeDescriptor(item.Type).BuildCosts.TrackPrice;
const auto& ted = GetTrackElementDescriptor(startPieceId);
price *= ted.Price;
price = (price >> 17) * 10 * GetRideTypeDescriptor(item.Type).BuildCosts.PriceEstimateMultiplier;
price = (price >> 16) * GetRideTypeDescriptor(item.Type).BuildCosts.PriceEstimateMultiplier;
//
rct_string_id stringId = STR_NEW_RIDE_COST;

View File

@@ -360,7 +360,7 @@ money32 LandSetHeightAction::GetSurfaceHeightChangeCost(SurfaceElement* surfaceE
{
int32_t cornerHeight = tile_element_get_corner_height(surfaceElement, i);
cornerHeight -= map_get_corner_height(_height, _style & TILE_ELEMENT_SURFACE_SLOPE_MASK, i);
cost += 2.5_GBP * abs(cornerHeight);
cost += 2.50_GBP * abs(cornerHeight);
}
return cost;
}

View File

@@ -118,8 +118,8 @@ GameActions::Result MazePlaceTrackAction::Query() const
}
const auto& ted = GetTrackElementDescriptor(TrackElemType::Maze);
money32 price = (((ride->GetRideTypeDescriptor().BuildCosts.TrackPrice * ted.Price) >> 16));
res.Cost = canBuild.Cost + (price / 2) * 10;
money64 price = (((ride->GetRideTypeDescriptor().BuildCosts.TrackPrice * ted.Price) >> 16));
res.Cost = canBuild.Cost + price;
return res;
}
@@ -160,8 +160,8 @@ GameActions::Result MazePlaceTrackAction::Execute() const
}
const auto& ted = GetTrackElementDescriptor(TrackElemType::Maze);
money32 price = (((ride->GetRideTypeDescriptor().BuildCosts.TrackPrice * ted.Price) >> 16));
res.Cost = canBuild.Cost + (price / 2) * 10;
money64 price = (((ride->GetRideTypeDescriptor().BuildCosts.TrackPrice * ted.Price) >> 16));
res.Cost = canBuild.Cost + price;
auto startLoc = _loc.ToTileStart();

View File

@@ -137,8 +137,8 @@ GameActions::Result MazeSetTrackAction::Query() const
}
const auto& ted = GetTrackElementDescriptor(TrackElemType::Maze);
money32 price = (((ride->GetRideTypeDescriptor().BuildCosts.TrackPrice * ted.Price) >> 16));
res.Cost = (price / 2) * 10;
money64 price = (((ride->GetRideTypeDescriptor().BuildCosts.TrackPrice * ted.Price) >> 16));
res.Cost = price;
return res;
}
@@ -173,8 +173,8 @@ GameActions::Result MazeSetTrackAction::Execute() const
if (tileElement == nullptr)
{
const auto& ted = GetTrackElementDescriptor(TrackElemType::Maze);
money32 price = (((ride->GetRideTypeDescriptor().BuildCosts.TrackPrice * ted.Price) >> 16));
res.Cost = (price / 2) * 10;
money64 price = (((ride->GetRideTypeDescriptor().BuildCosts.TrackPrice * ted.Price) >> 16));
res.Cost = price;
auto startLoc = _loc.ToTileStart();

View File

@@ -213,7 +213,7 @@ GameActions::Result TrackPlaceAction::Query() const
trackBlock = ted.Block;
money32 costs = 0;
int32_t supportCosts = 0; // Note this is not money32 it requires / 2 * 10 to be money32
money64 supportCosts = 0;
for (int32_t blockIndex = 0; trackBlock->index != 0xFF; trackBlock++, blockIndex++)
{
auto rotatedTrack = CoordsXYZ{ CoordsXY{ trackBlock->x, trackBlock->y }.Rotate(_origin.direction), trackBlock->z };
@@ -397,11 +397,11 @@ GameActions::Result TrackPlaceAction::Query() const
supportCosts += ((supportHeight / (2 * COORDS_Z_STEP)) * ride->GetRideTypeDescriptor().BuildCosts.SupportPrice);
}
money32 price = ride->GetRideTypeDescriptor().BuildCosts.TrackPrice;
money64 price = ride->GetRideTypeDescriptor().BuildCosts.TrackPrice;
price *= ted.Price;
price >>= 16;
res.Cost = costs + ((supportCosts + price) / 2) * 10;
res.Cost = costs + supportCosts + price;
res.SetData(std::move(resultData));
return res;
@@ -439,7 +439,7 @@ GameActions::Result TrackPlaceAction::Execute() const
const auto& wallEdges = ted.SequenceElementAllowedWallEdges;
money32 costs = 0;
int32_t supportCosts = 0; // Note this is not money32 it requires / 2 * 10 to be money32
money64 supportCosts = 0;
const rct_preview_track* trackBlock = ted.Block;
for (int32_t blockIndex = 0; trackBlock->index != 0xFF; trackBlock++, blockIndex++)
{
@@ -695,11 +695,11 @@ GameActions::Result TrackPlaceAction::Execute() const
map_invalidate_tile_full(mapLoc);
}
money32 price = ride->GetRideTypeDescriptor().BuildCosts.TrackPrice;
money64 price = ride->GetRideTypeDescriptor().BuildCosts.TrackPrice;
price *= ted.Price;
price >>= 16;
res.Cost = costs + ((supportCosts + price) / 2) * 10;
res.Cost = costs + supportCosts + price;
res.SetData(std::move(resultData));
return res;

View File

@@ -151,7 +151,7 @@ GameActions::Result TrackRemoveAction::Query() const
res.Position.y = startLoc.y;
res.Position.z = startLoc.z;
int32_t supportCosts = 0; // Note this is not money32 it requires / 2 * 10 to be money32
money64 supportCosts = 0;
trackBlock = ted.Block;
for (; trackBlock->index != 255; trackBlock++)
@@ -229,14 +229,14 @@ GameActions::Result TrackRemoveAction::Query() const
supportCosts += (_support_height / 2) * ride->GetRideTypeDescriptor().BuildCosts.SupportPrice;
}
money32 price = ride->GetRideTypeDescriptor().BuildCosts.TrackPrice;
money64 price = ride->GetRideTypeDescriptor().BuildCosts.TrackPrice;
price *= ted.Price;
price >>= 16;
price = ((supportCosts + price) / 2) * 10;
price = supportCosts + price;
if (ride->lifecycle_flags & RIDE_LIFECYCLE_EVER_BEEN_OPENED)
{
// 70% modifier for opened rides
price = (static_cast<money64>(price) * 45875) / 65536;
price = (price * 45875) / 65536;
}
res.Cost = -price;
@@ -334,7 +334,7 @@ GameActions::Result TrackRemoveAction::Execute() const
res.Position.y = startLoc.y;
res.Position.z = startLoc.z;
int32_t supportCosts = 0; // Note this is not money32 it requires / 2 * 10 to be money32
money64 supportCosts = 0;
trackBlock = ted.Block;
for (; trackBlock->index != 255; trackBlock++)
@@ -481,14 +481,14 @@ GameActions::Result TrackRemoveAction::Execute() const
}
}
money32 price = ride->GetRideTypeDescriptor().BuildCosts.TrackPrice;
money64 price = ride->GetRideTypeDescriptor().BuildCosts.TrackPrice;
price *= ted.Price;
price >>= 16;
price = ((supportCosts + price) / 2) * 10;
price = supportCosts + price;
if (ride->lifecycle_flags & RIDE_LIFECYCLE_EVER_BEEN_OPENED)
{
// 70% modifier for opened rides
price = (static_cast<money64>(price) * 45875) / 65536;
price = (price * 45875) / 65536;
}
res.Cost = -price;

View File

@@ -86,8 +86,8 @@ struct RideNameConvention
struct RideBuildCost
{
uint16_t TrackPrice;
uint16_t SupportPrice;
money64 TrackPrice; // Cost of a single straight piece of track
money64 SupportPrice;
uint8_t PriceEstimateMultiplier;
};
@@ -371,7 +371,7 @@ constexpr const RideTypeDescriptor DummyRTD =
SET_FIELD(RatingsCalculationFunction, nullptr),
SET_FIELD(RatingsMultipliers, { 0, 0, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 0, 0, 1 }),
SET_FIELD(BuildCosts, { 0.00_GBP, 0.00_GBP, 1 }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -38,7 +38,7 @@ constexpr const RideTypeDescriptor AirPoweredVerticalCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_air_powered_vertical_coaster),
SET_FIELD(RatingsMultipliers, { 44, 66, 10 }),
SET_FIELD(UpkeepCosts, { 90, 20, 0, 0, 0, 10 }),
SET_FIELD(BuildCosts, { 200, 0, 45, }),
SET_FIELD(BuildCosts, { 100.00_GBP, 0.00_GBP, 45, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_2),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor BobsleighCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_bobsleigh_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 80, 5, 45, }),
SET_FIELD(BuildCosts, { 40.00_GBP, 2.50_GBP, 45, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor ClassicMiniRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_junior_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 45, 4, 40, }),
SET_FIELD(BuildCosts, { 22.50_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor CompactInvertedCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_compact_inverted_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 13, 3, 10 }),
SET_FIELD(BuildCosts, { 100, 5, 50, }),
SET_FIELD(BuildCosts, { 50.00_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo2),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor CorkscrewRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_corkscrew_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 105, 5, 50, }),
SET_FIELD(BuildCosts, { 52.50_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_flying_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 49, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 125, 5, 50, }),
SET_FIELD(BuildCosts, { 62.50_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),
@@ -82,7 +82,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterAltRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_flying_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 49, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 125, 5, 50, }),
SET_FIELD(BuildCosts, { 62.50_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor GigaCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_giga_coaster),
SET_FIELD(RatingsMultipliers, { 51, 32, 10 }),
SET_FIELD(UpkeepCosts, { 10, 20, 80, 12, 3, 40 }),
SET_FIELD(BuildCosts, { 120, 5, 55, }),
SET_FIELD(BuildCosts, { 60.00_GBP, 2.50_GBP, 55, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_3),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor HeartlineTwisterCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_heartline_twister_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 47, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 135, 7, 30, }),
SET_FIELD(BuildCosts, { 72.50_GBP, 3.50_GBP, 30, }),
SET_FIELD(DefaultPrices, { 15, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -38,7 +38,7 @@ constexpr const RideTypeDescriptor HybridCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_hybrid_coaster),
SET_FIELD(RatingsMultipliers, { 52, 36, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 110, 7, 55}),
SET_FIELD(BuildCosts, { 65.00_GBP, 3.50_GBP, 55}),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_2),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor HyperTwisterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_twister_roller_coaster),
SET_FIELD(RatingsMultipliers, { 52, 36, 10 }),
SET_FIELD(UpkeepCosts, { 43, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 120, 5, 55, }),
SET_FIELD(BuildCosts, { 60.00_GBP, 2.50_GBP, 55, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor HypercoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_corkscrew_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 105, 5, 50, }),
SET_FIELD(BuildCosts, { 52.50_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor InvertedHairpinCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_inverted_hairpin_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 30 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 67, 4, 40, }),
SET_FIELD(BuildCosts, { 33.50_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_2),
SET_FIELD(PhotoItem, ShopItem::Photo2),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor InvertedImpulseCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_inverted_impulse_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 180, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 125, 5, 25, }),
SET_FIELD(BuildCosts, { 62.50_GBP, 2.50_GBP, 25, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor InvertedRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_inverted_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 13, 3, 10 }),
SET_FIELD(BuildCosts, { 110, 5, 50, }),
SET_FIELD(BuildCosts, { 65.00_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo2),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor JuniorRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_junior_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 45, 4, 40, }),
SET_FIELD(BuildCosts, { 22.50_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor LIMLaunchedRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_lim_launched_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 42, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 95, 5, 50, }),
SET_FIELD(BuildCosts, { 47.50_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_lay_down_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 49, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 107, 5, 50, }),
SET_FIELD(BuildCosts, { 53.50_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),
@@ -78,7 +78,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterAltRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_lay_down_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 49, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 107, 5, 50, }),
SET_FIELD(BuildCosts, { 53.50_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor LoopingRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_looping_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 90, 5, 50, }),
SET_FIELD(BuildCosts, { 45.00_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor MineRideRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_mine_ride),
SET_FIELD(RatingsMultipliers, { 60, 20, 10 }),
SET_FIELD(UpkeepCosts, { 50, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 85, 4, 40, }),
SET_FIELD(BuildCosts, { 42.50_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor MineTrainCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_mine_train_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 82, 6, 50, }),
SET_FIELD(BuildCosts, { 41.00_GBP, 3.00_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor MiniRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_mini_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 35, 20, 80, 8, 3, 10 }),
SET_FIELD(BuildCosts, { 65, 4, 40, }),
SET_FIELD(BuildCosts, { 32.50_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor MiniSuspendedCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_mini_suspended_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 60, 5, 40, }),
SET_FIELD(BuildCosts, { 30.00_GBP, 2.50_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo2),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_multi_dimension_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 75, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 180, 5, 50, }),
SET_FIELD(BuildCosts, { 90.00_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_3),
SET_FIELD(PhotoItem, ShopItem::Photo2),
@@ -79,7 +79,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterAltRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_multi_dimension_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 75, 20, 90, 11, 3, 15 }),
SET_FIELD(BuildCosts, { 180, 5, 50, }),
SET_FIELD(BuildCosts, { 90.00_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_3),
SET_FIELD(PhotoItem, ShopItem::Photo2),

View File

@@ -38,7 +38,7 @@ constexpr const RideTypeDescriptor ReverseFreefallCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_reverse_freefall_coaster),
SET_FIELD(RatingsMultipliers, { 44, 66, 10 }),
SET_FIELD(UpkeepCosts, { 80, 20, 0, 0, 0, 10 }),
SET_FIELD(BuildCosts, { 200, 0, 45, }),
SET_FIELD(BuildCosts, { 100.00_GBP, 0.00_GBP, 45, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor ReverserRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_reverser_roller_coaster),
SET_FIELD(RatingsMultipliers, { 48, 28, 7 }),
SET_FIELD(UpkeepCosts, { 39, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 6, 37, }),
SET_FIELD(BuildCosts, { 27.50_GBP, 3.00_GBP, 37, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo3),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor SideFrictionRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_side_friction_roller_coaster),
SET_FIELD(RatingsMultipliers, { 48, 28, 7 }),
SET_FIELD(UpkeepCosts, { 39, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 6, 37, }),
SET_FIELD(BuildCosts, { 27.50_GBP, 3.00_GBP, 37, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo3),

View File

@@ -38,7 +38,7 @@ constexpr const RideTypeDescriptor SingleRailRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_single_rail_roller_coaster),
SET_FIELD(RatingsMultipliers, { 52, 36, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 75, 5, 50}),
SET_FIELD(BuildCosts, { 37.50_GBP, 2.50_GBP, 50}),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -38,7 +38,7 @@ constexpr const RideTypeDescriptor SpinningWildMouseRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_wild_mouse),
SET_FIELD(RatingsMultipliers, { 50, 30, 30 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 4, 40, }),
SET_FIELD(BuildCosts, { 27.50_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor SpiralRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_spiral_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 41, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 70, 5, 50, }),
SET_FIELD(BuildCosts, { 35.00_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_3),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor StandUpRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_stand_up_roller_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 100, 5, 50, }),
SET_FIELD(BuildCosts, { 50.00_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor SteelWildMouseRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_wild_mouse),
SET_FIELD(RatingsMultipliers, { 50, 30, 30 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 4, 40, }),
SET_FIELD(BuildCosts, { 27.50_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor SteeplechaseRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_steeplechase),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 57, 4, 40, }),
SET_FIELD(BuildCosts, { 28.50_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor SuspendedSwingingCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_suspended_swinging_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 20, 3, 10 }),
SET_FIELD(BuildCosts, { 95, 5, 50, }),
SET_FIELD(BuildCosts, { 47.50_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo2),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor TwisterRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_twister_roller_coaster),
SET_FIELD(RatingsMultipliers, { 52, 36, 10 }),
SET_FIELD(UpkeepCosts, { 43, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 120, 5, 55, }),
SET_FIELD(BuildCosts, { 60.00_GBP, 2.50_GBP, 55, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor VerticalDropCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_vertical_drop_roller_coaster),
SET_FIELD(RatingsMultipliers, { 52, 38, 10 }),
SET_FIELD(UpkeepCosts, { 44, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 120, 5, 42, }),
SET_FIELD(BuildCosts, { 60.00_GBP, 2.50_GBP, 42, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor VirginiaReelRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_virginia_reel),
SET_FIELD(RatingsMultipliers, { 30, 15, 25 }),
SET_FIELD(UpkeepCosts, { 39, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 53, 6, 25, }),
SET_FIELD(BuildCosts, { 26.50_GBP, 3.00_GBP, 25, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo3),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor WaterCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_water_coaster),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 60, 20, 80, 8, 3, 10 }),
SET_FIELD(BuildCosts, { 55, 4, 40, }),
SET_FIELD(BuildCosts, { 27.50_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor WoodenRollerCoasterRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_wooden_roller_coaster),
SET_FIELD(RatingsMultipliers, { 52, 33, 8 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 75, 7, 50, }),
SET_FIELD(BuildCosts, { 37.50_GBP, 3.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo3),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor WoodenWildMouseRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_wooden_wild_mouse),
SET_FIELD(RatingsMultipliers, { 50, 30, 30 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 9, 3, 10 }),
SET_FIELD(BuildCosts, { 50, 6, 40, }),
SET_FIELD(BuildCosts, { 25.00_GBP, 3.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WILD_WEST),
SET_FIELD(PhotoItem, ShopItem::Photo3),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor CarRideRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_car_ride),
SET_FIELD(RatingsMultipliers, { 70, 10, 10 }),
SET_FIELD(UpkeepCosts, { 70, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 25, 5, 30, }),
SET_FIELD(BuildCosts, { 12.50_GBP, 2.50_GBP, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor CircusRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_circus),
SET_FIELD(RatingsMultipliers, { 20, 10, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 125, 2, 1, }),
SET_FIELD(BuildCosts, { 62.50_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, {}),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor CrookedHouseRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_crooked_house),
SET_FIELD(RatingsMultipliers, { 15, 8, 0 }),
SET_FIELD(UpkeepCosts, { 30, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 65, 2, 1, }),
SET_FIELD(BuildCosts, { 32.50_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor DodgemsRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_dodgems),
SET_FIELD(RatingsMultipliers, { 40, 20, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 5, 0, 0 }),
SET_FIELD(BuildCosts, { 55, 2, 1, }),
SET_FIELD(BuildCosts, { 27.50_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_DODGEMS),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor FerrisWheelRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_ferris_wheel),
SET_FIELD(RatingsMultipliers, { 60, 20, 10 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 225, 2, 1, }),
SET_FIELD(BuildCosts, { 112.50_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor FlyingSaucersRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_flying_saucers),
SET_FIELD(RatingsMultipliers, { 50, 25, 0 }),
SET_FIELD(UpkeepCosts, { 90, 1, 0, 5, 0, 0 }),
SET_FIELD(BuildCosts, { 70, 4, 1, }),
SET_FIELD(BuildCosts, { 35.00_GBP, 2.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor GhostTrainRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_ghost_train),
SET_FIELD(RatingsMultipliers, { 70, 10, 10 }),
SET_FIELD(UpkeepCosts, { 80, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 26, 5, 30, }),
SET_FIELD(BuildCosts, { 13.00_GBP, 2.50_GBP, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_HORROR),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor HauntedHouseRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_haunted_house),
SET_FIELD(RatingsMultipliers, { 20, 10, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 85, 2, 1, }),
SET_FIELD(BuildCosts, { 42.50_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_HORROR),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor MazeRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_maze),
SET_FIELD(RatingsMultipliers, { 50, 0, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 55, 2, 8, }),
SET_FIELD(BuildCosts, { 27.50_GBP, 1.00_GBP, 8, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor MerryGoRoundRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_merry_go_round),
SET_FIELD(RatingsMultipliers, { 50, 10, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 115, 2, 1, }),
SET_FIELD(BuildCosts, { 57.50_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_FAIRGROUND),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor MiniGolfRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_mini_golf),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 30, 20, 80, 11, 3, 10 }),
SET_FIELD(BuildCosts, { 50, 7, 20, }),
SET_FIELD(BuildCosts, { 25.00_GBP, 3.50_GBP, 20, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor MiniHelicoptersRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_mini_helicopters),
SET_FIELD(RatingsMultipliers, { 70, 10, 10 }),
SET_FIELD(UpkeepCosts, { 70, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 25, 5, 30, }),
SET_FIELD(BuildCosts, { 12.50_GBP, 2.50_GBP, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor MonorailCyclesRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_monorail_cycles),
SET_FIELD(RatingsMultipliers, { 50, 10, 10 }),
SET_FIELD(UpkeepCosts, { 47, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 20, 5, 30, }),
SET_FIELD(BuildCosts, { 10.00_GBP, 2.50_GBP, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor MonsterTrucksRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_car_ride),
SET_FIELD(RatingsMultipliers, { 70, 10, 10 }),
SET_FIELD(UpkeepCosts, { 70, 20, 0, 8, 3, 5 }),
SET_FIELD(BuildCosts, { 25, 5, 30, }),
SET_FIELD(BuildCosts, { 12.50_GBP, 2.50_GBP, 30, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor ObservationTowerRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_observation_tower),
SET_FIELD(RatingsMultipliers, { 80, 10, 0 }),
SET_FIELD(UpkeepCosts, { 50, 20, 0, 10, 0, 0 }),
SET_FIELD(BuildCosts, { 37, 0, 4, }),
SET_FIELD(BuildCosts, { 18.50_GBP, 0.00_GBP, 4, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor SpaceRingsRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_space_rings),
SET_FIELD(RatingsMultipliers, { 12, 4, 4 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 72, 2, 1, }),
SET_FIELD(BuildCosts, { 36.00_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 5, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor SpiralSlideRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_spiral_slide),
SET_FIELD(RatingsMultipliers, { 50, 10, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 165, 2, 1, }),
SET_FIELD(BuildCosts, { 82.50_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -38,7 +38,7 @@ constexpr const RideTypeDescriptor CashMachineRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_cash_machine),
SET_FIELD(RatingsMultipliers, { 0, 0, 0 }),
SET_FIELD(UpkeepCosts, { 40, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 400, 0, 1, }),
SET_FIELD(BuildCosts, { 200.00_GBP, 0.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor DrinkStallRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_drink_stall),
SET_FIELD(RatingsMultipliers, { 0, 0, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 500, 0, 1, }),
SET_FIELD(BuildCosts, { 250.00_GBP, 0.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor FirstAidRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_first_aid),
SET_FIELD(RatingsMultipliers, { 0, 0, 0 }),
SET_FIELD(UpkeepCosts, { 45, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 500, 0, 1, }),
SET_FIELD(BuildCosts, { 250.00_GBP, 0.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor FoodStallRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_food_stall),
SET_FIELD(RatingsMultipliers, { 0, 0, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 600, 0, 1, }),
SET_FIELD(BuildCosts, { 300.00_GBP, 0.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor InformationKioskRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_information_kiosk),
SET_FIELD(RatingsMultipliers, { 0, 0, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 500, 0, 1, }),
SET_FIELD(BuildCosts, { 250.00_GBP, 0.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor ShopRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_shop),
SET_FIELD(RatingsMultipliers, { 0, 0, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 400, 0, 1, }),
SET_FIELD(BuildCosts, { 200.00_GBP, 0.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -39,7 +39,7 @@ constexpr const RideTypeDescriptor ToiletsRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_toilets),
SET_FIELD(RatingsMultipliers, { 0, 0, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 450, 0, 1, }),
SET_FIELD(BuildCosts, { 225.00_GBP, 0.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 0, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor CinemaRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_3d_cinema),
SET_FIELD(RatingsMultipliers, { 20, 10, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 140, 2, 1, }),
SET_FIELD(BuildCosts, { 70.00_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor EnterpriseRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_enterprise),
SET_FIELD(RatingsMultipliers, { 50, 10, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 100, 2, 1, }),
SET_FIELD(BuildCosts, { 50.00_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_2),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor GoKartsRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_go_karts),
SET_FIELD(RatingsMultipliers, { 120, 20, 0 }),
SET_FIELD(UpkeepCosts, { 50, 20, 0, 8, 0, 0 }),
SET_FIELD(BuildCosts, { 62, 4, 20, }),
SET_FIELD(BuildCosts, { 31.00_GBP, 2.00_GBP, 20, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor LaunchedFreefallRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_launched_freefall),
SET_FIELD(RatingsMultipliers, { 50, 50, 10 }),
SET_FIELD(UpkeepCosts, { 50, 20, 0, 10, 0, 0 }),
SET_FIELD(BuildCosts, { 50, 0, 4, }),
SET_FIELD(BuildCosts, { 25.00_GBP, 0.00_GBP, 4, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor MagicCarpetRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_magic_carpet),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 198, 2, 1, }),
SET_FIELD(BuildCosts, { 99.00_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_EGYPTIAN),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor MotionSimulatorRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_motion_simulator),
SET_FIELD(RatingsMultipliers, { 24, 20, 10 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 220, 2, 1, }),
SET_FIELD(BuildCosts, { 110.00_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor RotoDropRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_roto_drop),
SET_FIELD(RatingsMultipliers, { 50, 50, 10 }),
SET_FIELD(UpkeepCosts, { 50, 20, 0, 10, 0, 0 }),
SET_FIELD(BuildCosts, { 55, 0, 4, }),
SET_FIELD(BuildCosts, { 22.50_GBP, 0.00_GBP, 4, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_ROCK_1),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor SwingingInverterShipRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_inverter_ship),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 212, 2, 1, }),
SET_FIELD(BuildCosts, { 106.00_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor SwingingShipRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_swinging_ship),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 155, 2, 1, }),
SET_FIELD(BuildCosts, { 77.50_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 15, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_PIRATE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor TopSpinRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_top_spin),
SET_FIELD(RatingsMultipliers, { 24, 20, 10 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 145, 2, 1, }),
SET_FIELD(BuildCosts, { 72.50_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 20, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_TECHNO),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor TwistRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_twist),
SET_FIELD(RatingsMultipliers, { 40, 20, 10 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 0, 0, 0 }),
SET_FIELD(BuildCosts, { 90, 2, 1, }),
SET_FIELD(BuildCosts, { 45.00_GBP, 1.00_GBP, 1, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor ChairliftRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_chairlift),
SET_FIELD(RatingsMultipliers, { 70, 10, 0 }),
SET_FIELD(UpkeepCosts, { 60, 20, 0, 4, 3, 10 }),
SET_FIELD(BuildCosts, { 65, 1, 30, }),
SET_FIELD(BuildCosts, { 32.50_GBP, 0.50_GBP, 30, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -41,7 +41,7 @@ constexpr const RideTypeDescriptor LiftRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_lift),
SET_FIELD(RatingsMultipliers, { 80, 10, 0 }),
SET_FIELD(UpkeepCosts, { 50, 20, 0, 10, 0, 0 }),
SET_FIELD(BuildCosts, { 39, 0, 4, }),
SET_FIELD(BuildCosts, { 19.50_GBP, 0.00_GBP, 4, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor MiniatureRailwayRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_miniature_railway),
SET_FIELD(RatingsMultipliers, { 70, 6, -10 }),
SET_FIELD(UpkeepCosts, { 60, 20, 0, 10, 3, 5 }),
SET_FIELD(BuildCosts, { 35, 6, 50, }),
SET_FIELD(BuildCosts, { 17.50_GBP, 3.00_GBP, 50, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor MonorailRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_monorail),
SET_FIELD(RatingsMultipliers, { 70, 6, -10 }),
SET_FIELD(UpkeepCosts, { 65, 20, 0, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 42, 5, 50, }),
SET_FIELD(BuildCosts, { 21.00_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor SuspendedMonorailRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_suspended_monorail),
SET_FIELD(RatingsMultipliers, { 70, 6, -10 }),
SET_FIELD(UpkeepCosts, { 70, 20, 0, 10, 3, 10 }),
SET_FIELD(BuildCosts, { 65, 5, 50, }),
SET_FIELD(BuildCosts, { 32.50_GBP, 2.50_GBP, 50, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_SUMMER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -40,7 +40,7 @@ constexpr const RideTypeDescriptor BoatHireRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_boat_hire),
SET_FIELD(RatingsMultipliers, { 70, 6, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 4, 0, 0 }),
SET_FIELD(BuildCosts, { 55, 0, 5, }),
SET_FIELD(BuildCosts, { 27.50_GBP, 0.00_GBP, 5, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo),

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor DinghySlideRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_dinghy_slide),
SET_FIELD(RatingsMultipliers, { 50, 30, 10 }),
SET_FIELD(UpkeepCosts, { 40, 20, 80, 4, 3, 10 }),
SET_FIELD(BuildCosts, { 40, 4, 40, }),
SET_FIELD(BuildCosts, { 20.00_GBP, 2.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor LogFlumeRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_log_flume),
SET_FIELD(RatingsMultipliers, { 80, 34, 6 }),
SET_FIELD(UpkeepCosts, { 80, 20, 0, 9, 0, 10 }),
SET_FIELD(BuildCosts, { 45, 5, 40, }),
SET_FIELD(BuildCosts, { 22.50_GBP, 2.50_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor RiverRaftsRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_river_rafts),
SET_FIELD(RatingsMultipliers, { 80, 34, 6 }),
SET_FIELD(UpkeepCosts, { 50, 20, 0, 9, 0, 10 }),
SET_FIELD(BuildCosts, { 40, 5, 30, }),
SET_FIELD(BuildCosts, { 20.00_GBP, 2.50_GBP, 30, }),
SET_FIELD(DefaultPrices, { 10, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_GENTLE),
SET_FIELD(PhotoItem, ShopItem::Photo4),

View File

@@ -44,7 +44,7 @@ constexpr const RideTypeDescriptor RiverRapidsRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_river_rapids),
SET_FIELD(RatingsMultipliers, { 72, 26, 6 }),
SET_FIELD(UpkeepCosts, { 82, 20, 0, 10, 0, 10 }),
SET_FIELD(BuildCosts, { 62, 6, 40, }),
SET_FIELD(BuildCosts, { 31.00_GBP, 3.00_GBP, 40, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),

View File

@@ -43,7 +43,7 @@ constexpr const RideTypeDescriptor SplashBoatsRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_splash_boats),
SET_FIELD(RatingsMultipliers, { 80, 34, 6 }),
SET_FIELD(UpkeepCosts, { 70, 20, 0, 9, 0, 10 }),
SET_FIELD(BuildCosts, { 57, 5, 30, }),
SET_FIELD(BuildCosts, { 28.50_GBP, 2.50_GBP, 30, }),
SET_FIELD(DefaultPrices, { 20, 20 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo4),

View File

@@ -42,7 +42,7 @@ constexpr const RideTypeDescriptor SubmarineRideRTD =
SET_FIELD(RatingsCalculationFunction, ride_ratings_calculate_submarine_ride),
SET_FIELD(RatingsMultipliers, { 70, 6, 0 }),
SET_FIELD(UpkeepCosts, { 50, 1, 0, 4, 0, 0 }),
SET_FIELD(BuildCosts, { 70, 5, 5, }),
SET_FIELD(BuildCosts, { 35.00_GBP, 2.50_GBP, 5, }),
SET_FIELD(DefaultPrices, { 10, 0 }),
SET_FIELD(DefaultMusic, MUSIC_OBJECT_WATER),
SET_FIELD(PhotoItem, ShopItem::Photo),