From de1c172c7432e0b2ea4b151e2de23d46715e4aa2 Mon Sep 17 00:00:00 2001 From: frutiemax Date: Wed, 17 Jun 2020 12:59:04 -0400 Subject: [PATCH] Move RideProperties and rideBonusValue to RideTypeDescriptors Part of #11964. --- src/openrct2-ui/windows/Ride.cpp | 10 +- src/openrct2/actions/RideCreateAction.hpp | 4 +- src/openrct2/actions/RideSetSetting.hpp | 5 +- src/openrct2/rct1/T4Importer.cpp | 4 +- src/openrct2/rct2/T6Importer.cpp | 2 +- src/openrct2/ride/Ride.cpp | 2 +- src/openrct2/ride/Ride.h | 16 +- src/openrct2/ride/RideData.cpp | 189 ------------------ src/openrct2/ride/RideData.h | 8 +- src/openrct2/ride/Vehicle.cpp | 7 +- .../coaster/meta/AirPoweredVerticalCoaster.h | 2 + .../ride/coaster/meta/BobsleighCoaster.h | 2 + .../coaster/meta/CompactInvertedCoaster.h | 2 + .../coaster/meta/CorkscrewRollerCoaster.h | 2 + .../ride/coaster/meta/FlyingRollerCoaster.h | 4 + src/openrct2/ride/coaster/meta/GigaCoaster.h | 2 + .../coaster/meta/HeartlineTwisterCoaster.h | 2 + .../coaster/meta/InvertedHairpinCoaster.h | 2 + .../coaster/meta/InvertedImpulseCoaster.h | 2 + .../ride/coaster/meta/InvertedRollerCoaster.h | 2 + .../ride/coaster/meta/JuniorRollerCoaster.h | 2 + .../coaster/meta/LIMLaunchedRollerCoaster.h | 2 + .../ride/coaster/meta/LayDownRollerCoaster.h | 4 + .../ride/coaster/meta/LoopingRollerCoaster.h | 2 + src/openrct2/ride/coaster/meta/MineRide.h | 2 + .../ride/coaster/meta/MineTrainCoaster.h | 2 + .../ride/coaster/meta/MiniRollerCoaster.h | 2 + .../ride/coaster/meta/MiniSuspendedCoaster.h | 2 + .../meta/MultiDimensionRollerCoaster.h | 4 + .../coaster/meta/ReverseFreefallCoaster.h | 2 + .../ride/coaster/meta/ReverserRollerCoaster.h | 2 + .../coaster/meta/SideFrictionRollerCoaster.h | 2 + .../ride/coaster/meta/SpiralRollerCoaster.h | 2 + .../ride/coaster/meta/StandUpRollerCoaster.h | 2 + .../ride/coaster/meta/SteelWildMouse.h | 2 + src/openrct2/ride/coaster/meta/Steeplechase.h | 2 + .../coaster/meta/SuspendedSwingingCoaster.h | 2 + .../ride/coaster/meta/TwisterRollerCoaster.h | 2 + .../ride/coaster/meta/VerticalDropCoaster.h | 2 + src/openrct2/ride/coaster/meta/VirginiaReel.h | 2 + src/openrct2/ride/coaster/meta/WaterCoaster.h | 2 + .../ride/coaster/meta/WoodenRollerCoaster.h | 2 + .../ride/coaster/meta/WoodenWildMouse.h | 2 + src/openrct2/ride/gentle/meta/CarRide.h | 2 + src/openrct2/ride/gentle/meta/Circus.h | 2 + src/openrct2/ride/gentle/meta/CrookedHouse.h | 2 + src/openrct2/ride/gentle/meta/Dodgems.h | 2 + src/openrct2/ride/gentle/meta/FerrisWheel.h | 2 + src/openrct2/ride/gentle/meta/FlyingSaucers.h | 2 + src/openrct2/ride/gentle/meta/GhostTrain.h | 2 + src/openrct2/ride/gentle/meta/HauntedHouse.h | 2 + src/openrct2/ride/gentle/meta/Maze.h | 2 + src/openrct2/ride/gentle/meta/MerryGoRound.h | 2 + src/openrct2/ride/gentle/meta/MiniGolf.h | 2 + .../ride/gentle/meta/MiniHelicopters.h | 2 + .../ride/gentle/meta/MonorailCycles.h | 2 + .../ride/gentle/meta/ObservationTower.h | 2 + src/openrct2/ride/gentle/meta/SpaceRings.h | 2 + src/openrct2/ride/gentle/meta/SpiralSlide.h | 2 + src/openrct2/ride/shops/meta/CashMachine.h | 2 + src/openrct2/ride/shops/meta/DrinkStall.h | 2 + src/openrct2/ride/shops/meta/FirstAid.h | 2 + src/openrct2/ride/shops/meta/FoodStall.h | 2 + .../ride/shops/meta/InformationKiosk.h | 2 + src/openrct2/ride/shops/meta/Shop.h | 2 + src/openrct2/ride/shops/meta/Toilets.h | 2 + src/openrct2/ride/thrill/meta/3DCinema.h | 2 + src/openrct2/ride/thrill/meta/Enterprise.h | 2 + src/openrct2/ride/thrill/meta/GoKarts.h | 2 + .../ride/thrill/meta/LaunchedFreefall.h | 2 + src/openrct2/ride/thrill/meta/MagicCarpet.h | 2 + .../ride/thrill/meta/MotionSimulator.h | 2 + src/openrct2/ride/thrill/meta/RotoDrop.h | 2 + .../ride/thrill/meta/SwingingInverterShip.h | 2 + src/openrct2/ride/thrill/meta/SwingingShip.h | 2 + src/openrct2/ride/thrill/meta/TopSpin.h | 2 + src/openrct2/ride/thrill/meta/Twist.h | 2 + src/openrct2/ride/transport/meta/Chairlift.h | 2 + src/openrct2/ride/transport/meta/Lift.h | 2 + .../ride/transport/meta/MiniatureRailway.h | 2 + src/openrct2/ride/transport/meta/Monorail.h | 2 + .../ride/transport/meta/SuspendedMonorail.h | 2 + src/openrct2/ride/water/meta/BoatHire.h | 2 + src/openrct2/ride/water/meta/DinghySlide.h | 2 + src/openrct2/ride/water/meta/LogFlume.h | 2 + src/openrct2/ride/water/meta/RiverRafts.h | 2 + src/openrct2/ride/water/meta/RiverRapids.h | 2 + src/openrct2/ride/water/meta/SplashBoats.h | 2 + src/openrct2/ride/water/meta/SubmarineRide.h | 2 + src/openrct2/world/Park.cpp | 6 +- 90 files changed, 199 insertions(+), 218 deletions(-) diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index 022b603df9..dfbf7e9909 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -3349,8 +3349,9 @@ static void window_ride_mode_tweak_increase(rct_window* w) if (ride == nullptr) return; - uint8_t maxValue = RideProperties[ride->type].max_value; - uint8_t minValue = gCheatsFastLiftHill ? 0 : RideProperties[ride->type].min_value; + const auto& operatingSettings = RideTypeDescriptors[ride->type].OperatingSettings; + uint8_t maxValue = operatingSettings.MaxValue; + uint8_t minValue = gCheatsFastLiftHill ? 0 : operatingSettings.MinValue; if (gCheatsFastLiftHill) { @@ -3373,8 +3374,9 @@ static void window_ride_mode_tweak_decrease(rct_window* w) if (ride == nullptr) return; - uint8_t maxValue = RideProperties[ride->type].max_value; - uint8_t minValue = gCheatsFastLiftHill ? 0 : RideProperties[ride->type].min_value; + const auto& operatingSettings = RideTypeDescriptors[ride->type].OperatingSettings; + uint8_t maxValue = operatingSettings.MaxValue; + uint8_t minValue = gCheatsFastLiftHill ? 0 : operatingSettings.MinValue; if (gCheatsFastLiftHill) { maxValue = 255; diff --git a/src/openrct2/actions/RideCreateAction.hpp b/src/openrct2/actions/RideCreateAction.hpp index 829a3514c2..525392f729 100644 --- a/src/openrct2/actions/RideCreateAction.hpp +++ b/src/openrct2/actions/RideCreateAction.hpp @@ -190,8 +190,8 @@ public: } ride->music = RideTypeDescriptors[ride->type].DefaultMusic; - auto rideProperties = RideProperties[ride->type]; - ride->operation_option = (rideProperties.min_value * 3 + rideProperties.max_value) / 4; + const auto& operatingSettings = RideTypeDescriptors[ride->type].OperatingSettings; + ride->operation_option = (operatingSettings.MinValue * 3 + operatingSettings.MaxValue) / 4; ride->lift_hill_speed = RideTypeDescriptors[ride->type].LiftData.minimum_speed; diff --git a/src/openrct2/actions/RideSetSetting.hpp b/src/openrct2/actions/RideSetSetting.hpp index da4a43413f..36410631ba 100644 --- a/src/openrct2/actions/RideSetSetting.hpp +++ b/src/openrct2/actions/RideSetSetting.hpp @@ -281,8 +281,9 @@ private: bool ride_is_valid_operation_option(Ride * ride) const { - uint8_t minValue = RideProperties[ride->type].min_value; - uint8_t maxValue = RideProperties[ride->type].max_value; + const auto& operatingSettings = RideTypeDescriptors[ride->type].OperatingSettings; + uint8_t minValue = operatingSettings.MinValue; + uint8_t maxValue = operatingSettings.MaxValue; if (gCheatsFastLiftHill) { minValue = 0; diff --git a/src/openrct2/rct1/T4Importer.cpp b/src/openrct2/rct1/T4Importer.cpp index 5e2154b495..dbdb4b752e 100644 --- a/src/openrct2/rct1/T4Importer.cpp +++ b/src/openrct2/rct1/T4Importer.cpp @@ -222,7 +222,7 @@ private: td->number_of_cars_per_train = td4Base.number_of_cars_per_train; td->min_waiting_time = td4Base.min_waiting_time; td->max_waiting_time = td4Base.max_waiting_time; - td->operation_setting = std::min(td4Base.operation_setting, RideProperties[td->type].max_value); + td->operation_setting = std::min(td4Base.operation_setting, RideTypeDescriptors[td->type].OperatingSettings.MaxValue); td->max_speed = td4Base.max_speed; td->average_speed = td4Base.average_speed; td->ride_length = td4Base.ride_length; @@ -249,7 +249,7 @@ private: td->space_required_y = 255; td->lift_hill_speed = 5; td->num_circuits = 0; - td->operation_setting = std::min(td->operation_setting, RideProperties[td->type].max_value); + td->operation_setting = std::min(td->operation_setting, RideTypeDescriptors[td->type].OperatingSettings.MaxValue); if (td->type == RIDE_TYPE_MAZE) { diff --git a/src/openrct2/rct2/T6Importer.cpp b/src/openrct2/rct2/T6Importer.cpp index a8c943f014..9c95a3fbef 100644 --- a/src/openrct2/rct2/T6Importer.cpp +++ b/src/openrct2/rct2/T6Importer.cpp @@ -134,7 +134,7 @@ public: return nullptr; } - td->operation_setting = std::min(td->operation_setting, RideProperties[td->type].max_value); + td->operation_setting = std::min(td->operation_setting, RideTypeDescriptors[td->type].OperatingSettings.MaxValue); if (td->type == RIDE_TYPE_MAZE) { diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index 194ed5fd24..a7458a78f0 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -7450,7 +7450,7 @@ bool ride_type_supports_boosters(uint8_t rideType) int32_t get_booster_speed(uint8_t rideType, int32_t rawSpeed) { - int8_t shiftFactor = RideProperties[rideType].booster_speed_factor; + int8_t shiftFactor = RideTypeDescriptors[rideType].OperatingSettings.BoosterSpeedFactor; if (shiftFactor == 0) { return rawSpeed; diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index 04c7090156..05a2b0285a 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -917,14 +917,14 @@ enum TRACK_ELEMENT_SET_SEAT_ROTATION = (1 << 5) }; -struct rct_ride_properties +struct RideOperatingSettings { - uint8_t min_value; - uint8_t max_value; - uint8_t max_brakes_speed; - uint8_t powered_lift_acceleration; - uint8_t booster_acceleration; - int8_t booster_speed_factor; // The factor to shift the raw booster speed with + uint8_t MinValue; + uint8_t MaxValue; + uint8_t MaxBrakesSpeed; + uint8_t PoweredLiftAcceleration; + uint8_t BoosterAcceleration; + int8_t BoosterSpeedFactor; // The factor to shift the raw booster speed with }; #define MAX_RIDE_MEASUREMENTS 8 @@ -943,8 +943,6 @@ struct rct_ride_properties constexpr uint32_t CONSTRUCTION_LIFT_HILL_SELECTED = 1 << 0; constexpr uint32_t CONSTRUCTION_INVERTED_TRACK_SELECTED = 1 << 1; -extern const rct_ride_properties RideProperties[RIDE_TYPE_COUNT]; - Ride* get_ride(ride_id_t index); struct RideManager diff --git a/src/openrct2/ride/RideData.cpp b/src/openrct2/ride/RideData.cpp index 9d383be14b..bc64b6b0ca 100644 --- a/src/openrct2/ride/RideData.cpp +++ b/src/openrct2/ride/RideData.cpp @@ -110,100 +110,6 @@ #include // clang-format off -// Data at 0x0097D21E -const uint8_t rideBonusValue[RIDE_TYPE_COUNT] = { - 85, // 00 Spiral Roller coaster - 90, // 01 Stand Up Coaster - 90, // 02 Suspended Swinging - 100, // 03 Inverted - 60, // 04 Steel Mini Coaster - 50, // 05 Mini Railway - 60, // 06 Monorail - 50, // 07 Mini Suspended Coaster - 40, // 08 Boat Hire - 55, // 09 Wooden Wild Mine/Mouse - 60, // 0a Steeplechase/Motorbike/Soap - 50, // 0b Car Ride - 65, // 0c Launched Freefall - 75, // 0d Bobsleigh Coaster - 45, // 0e Observation Tower - 95, // 0f Looping Roller Coaster - 55, // 10 Dinghy Slide - 85, // 11 Mine Train Coaster - 55, // 12 Chairlift - 100, // 13 Corkscrew Roller Coaster - 40, // 14 Maze - 40, // 15 Spiral Slide - 55, // 16 Go Karts - 65, // 17 Log Flume - 70, // 18 River Rapids - 35, // 19 Dodgems - 35, // 1a Pirate Ship - 35, // 1b Swinging Inverter Ship - 15, // 1c Food Stall - 15, // 1d (none) - 15, // 1e Drink Stall - 15, // 1f (none) - 15, // 20 Shop (all types) - 45, // 21 Merry Go Round - 15, // 22 Balloon Stall (maybe) - 15, // 23 Information Kiosk - 5, // 24 Bathroom - 45, // 25 Ferris Wheel - 45, // 26 Motion Simulator - 45, // 27 3D Cinema - 55, // 28 Topspin - 30, // 29 Space Rings - 70, // 2a Reverse Freefall Coaster - 45, // 2b Elevator - 95, // 2c Vertical Drop Roller Coaster - 5, // 2d ATM - 40, // 2e Twist - 22, // 2f Haunted House - 5, // 30 First Aid - 39, // 31 Circus Show - 50, // 32 Ghost Train - 120, // 33 Twister Roller Coaster - 105, // 34 Wooden Roller Coaster - 65, // 35 Side-Friction Roller Coaster - 55, // 36 Wild Mouse - 100, // 37 Multi Dimension Coaster - 100, // 38 (none) - 100, // 39 Flying Roller Coaster - 100, // 3a (none) - 50, // 3b Virginia Reel - 65, // 3c Splash Boats - 45, // 3d Mini Helicopters - 100, // 3e Lay-down Roller Coaster - 60, // 3f Suspended Monorail - 100, // 40 (none) - 65, // 41 Reverser Roller Coaster - 35, // 42 Heartline Twister Roller Coaster - 23, // 43 Mini Golf - 120, // 44 Giga Coaster - 45, // 45 Roto-Drop - 35, // 46 Flying Saucers - 22, // 47 Crooked House - 45, // 48 Monorail Cycles - 80, // 49 Compact Inverted Coaster - 60, // 4a Water Coaster - 70, // 4b Air Powered Vertical Coaster - 55, // 4c Inverted Hairpin Coaster - 35, // 4d Magic Carpet - 40, // 4e Submarine Ride - 65, // 4f River Rafts - 15, // 50 (none) - 45, // 51 Enterprise - 15, // 52 (none) - 15, // 53 (none) - 15, // 54 (none) - 100, // 55 (none) - 75, // 56 Inverted Impulse Coaster - 60, // 57 Mini Roller Coaster - 70, // 58 Mine Ride - 55, // 59 (none) - 55, // 5a LIM Launched Roller Coaster -}; const rct_ride_entry_vehicle CableLiftVehicle = { /* .rotation_frame_mask = */ 31, @@ -353,101 +259,6 @@ const rating_tuple RideRatings[RIDE_TYPE_COUNT] = { { 50, 30, 10 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; -// rct2: 0x0097CF40 -const rct_ride_properties RideProperties[RIDE_TYPE_COUNT] = { - { 10, 27, 30, 17, 17, 0 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER - { 7, 27, 0, 0, 0, 0 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER - { 7, 27, 0, 0, 0, 0 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER - { 0, 0, 0, 17, 16, -1 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MONORAIL - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_BOAT_HIRE - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_WOODEN_WILD_MOUSE - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_STEEPLECHASE - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_CAR_RIDE - { 10, 40, 0, 0, 0, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_OBSERVATION_TOWER - { 10, 27, 26, 18, 18, 0 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_DINGHY_SLIDE - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER - { 1, 4, 0, 0, 0, 0 }, // RIDE_TYPE_CHAIRLIFT - { 10, 27, 30, 25, 25, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER - { 1, 64, 0, 0, 0, 0 }, // RIDE_TYPE_MAZE - { 1, 5, 0, 0, 0, 0 }, // RIDE_TYPE_SPIRAL_SLIDE - { 1, 10, 0, 0, 0, 0 }, // RIDE_TYPE_GO_KARTS - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_LOG_FLUME - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_RIVER_RAPIDS - { 20, 180, 0, 0, 0, 0 }, // RIDE_TYPE_DODGEMS - { 7, 25, 0, 0, 0, 0 }, // RIDE_TYPE_SWINGING_SHIP - { 7, 15, 0, 0, 0, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_FOOD_STALL - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_1D - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_DRINK_STALL - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_1F - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_SHOP - { 4, 25, 0, 0, 0, 0 }, // RIDE_TYPE_MERRY_GO_ROUND - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_22 - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_INFORMATION_KIOSK - { 4, 4, 0, 0, 0, 0 }, // RIDE_TYPE_TOILETS - { 1, 3, 0, 0, 0, 0 }, // RIDE_TYPE_FERRIS_WHEEL - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MOTION_SIMULATOR - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_3D_CINEMA - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_TOP_SPIN - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_SPACE_RINGS - { 7, 30, 30, 40, 40, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_LIFT - { 10, 27, 26, 17, 68, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_CASH_MACHINE - { 3, 6, 0, 0, 0, 0 }, // RIDE_TYPE_TWIST - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_HAUNTED_HOUSE - { 8, 8, 0, 0, 0, 0 }, // RIDE_TYPE_FIRST_AID - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_CIRCUS - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_GHOST_TRAIN - { 10, 27, 30, 17, 68, 0 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_STEEL_WILD_MOUSE - { 10, 27, 30, 25, 25, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER - { 10, 27, 30, 25, 25, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT - { 10, 27, 30, 25, 25, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER - { 10, 27, 30, 25, 25, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_VIRGINIA_REEL - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_SPLASH_BOATS - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MINI_HELICOPTERS - { 10, 27, 30, 25, 25, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_SUSPENDED_MONORAIL - { 10, 27, 30, 25, 25, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER - { 10, 27, 30, 25, 25, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MINI_GOLF - { 10, 27, 30, 17, 68, 1 }, // RIDE_TYPE_GIGA_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_ROTO_DROP - { 20, 180, 0, 0, 0, 0 }, // RIDE_TYPE_FLYING_SAUCERS - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_CROOKED_HOUSE - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MONORAIL_CYCLES - { 7, 27, 0, 0, 0, 0 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER - { 0, 0, 0, 17, 16, -1 }, // RIDE_TYPE_WATER_COASTER - { 30, 50, 30, 40, 40, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER - { 7, 15, 0, 0, 0, 0 }, // RIDE_TYPE_MAGIC_CARPET - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_SUBMARINE_RIDE - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_RIVER_RAFTS - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_50 - { 10, 20, 0, 0, 0, 0 }, // RIDE_TYPE_ENTERPRISE - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_52 - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_53 - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_54 - { 10, 27, 30, 25, 25, 0 }, // RIDE_TYPE_55 - { 10, 33, 30, 25, 25, 0 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER - { 0, 0, 0, 0, 68, 1 }, // RIDE_TYPE_MINI_ROLLER_COASTER - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MINE_RIDE - { 0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_59 - { 10, 31, 26, 18, 18, 0 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER -}; - #define TRACK_COLOUR_PRESETS(...) {static_cast(std::size({__VA_ARGS__})), {__VA_ARGS__}} #define DEFAULT_FLAT_RIDE_COLOUR_PRESET TRACK_COLOUR_PRESETS( { COLOUR_BRIGHT_RED, COLOUR_LIGHT_BLUE, COLOUR_YELLOW } ) diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index 67dfaabcf6..bff9f30859 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -113,6 +113,8 @@ struct RideTypeDescriptor /** rct2: 0x0097C8AC */ uint64_t RideModes; uint8_t DefaultMode; + /** rct2: 0x0097CF40 */ + RideOperatingSettings OperatingSettings; RideNaming Naming; RideNameConvention NameConvention; uint8_t AvailableBreakdowns; @@ -128,6 +130,8 @@ struct RideTypeDescriptor uint8_t DefaultMusic; /** rct2: 0x0097D7CB */ uint8_t PhotoItem; + /** rct2: 0x0097D21E */ + uint8_t BonusValue; bool HasFlag(uint64_t flag) const; uint64_t GetAvailableTrackPieces() const; @@ -227,8 +231,6 @@ constexpr const uint64_t RIDE_TYPE_FLAGS_COMMON_COASTER = RIDE_TYPE_FLAG_HAS_G_F constexpr const uint64_t RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT = RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_HAS_AIR_TIME | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT; -extern const uint8_t rideBonusValue[RIDE_TYPE_COUNT]; - // clang-format off constexpr const RideComponentName RideComponentNames[] = { @@ -286,6 +288,7 @@ constexpr const RideTypeDescriptor DummyRTD = SET_FIELD(Flags, 0), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_UNKNOWN_RIDE, STR_RIDE_DESCRIPTION_UNKNOWN }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -297,6 +300,7 @@ constexpr const RideTypeDescriptor DummyRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 0) }; // clang-format on diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 4e7a14ced8..e40e3e264d 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -8200,14 +8200,15 @@ loc_6DAEB9: if (regs.eax > _vehicleVelocityF64E08) { - acceleration = RideProperties[curRide->type].booster_acceleration << 16; //_vehicleVelocityF64E08 * 1.2; + acceleration = RideTypeDescriptors[curRide->type].OperatingSettings.BoosterAcceleration + << 16; //_vehicleVelocityF64E08 * 1.2; } } if ((trackType == TRACK_ELEM_FLAT && curRide->type == RIDE_TYPE_REVERSE_FREEFALL_COASTER) || (trackType == TRACK_ELEM_POWERED_LIFT)) { - acceleration = RideProperties[curRide->type].powered_lift_acceleration << 16; + acceleration = RideTypeDescriptors[curRide->type].OperatingSettings.PoweredLiftAcceleration << 16; } if (trackType == TRACK_ELEM_BRAKE_FOR_DROP) { @@ -8575,7 +8576,7 @@ loc_6DBA33:; if (regs.eax < _vehicleVelocityF64E08) { - regs.eax = RideProperties[curRide->type].booster_acceleration << 16; + regs.eax = RideTypeDescriptors[curRide->type].OperatingSettings.BoosterAcceleration << 16; acceleration = regs.eax; } } diff --git a/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h b/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h index 19d12545ce..034ea606f7 100644 --- a/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h +++ b/src/openrct2/ride/coaster/meta/AirPoweredVerticalCoaster.h @@ -25,6 +25,7 @@ constexpr const RideTypeDescriptor AirPoweredVerticalCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), SET_FIELD(DefaultMode, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH), + SET_FIELD(OperatingSettings, { 30, 50, 30, 40, 40, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_AIR_POWERED_VERTICAL_COASTER, STR_RIDE_DESCRIPTION_AIR_POWERED_VERTICAL_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -36,5 +37,6 @@ constexpr const RideTypeDescriptor AirPoweredVerticalCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_2), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 70), }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/BobsleighCoaster.h b/src/openrct2/ride/coaster/meta/BobsleighCoaster.h index 937d6565b7..77cb4c47d7 100644 --- a/src/openrct2/ride/coaster/meta/BobsleighCoaster.h +++ b/src/openrct2/ride/coaster/meta/BobsleighCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor BobsleighCoasterRTD = RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_BOBSLEIGH_COASTER, STR_RIDE_DESCRIPTION_BOBSLEIGH_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor BobsleighCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 75) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h b/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h index 59733a173f..094af0dcd6 100644 --- a/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h +++ b/src/openrct2/ride/coaster/meta/CompactInvertedCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor CompactInvertedCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 7, 27, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_COMPACT_INVERTED_COASTER, STR_RIDE_DESCRIPTION_COMPACT_INVERTED_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor CompactInvertedCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 80) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h b/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h index 50d672dc91..28c2da3938 100644 --- a/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/CorkscrewRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor CorkscrewRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 25, 25, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_CORKSCREW_ROLLER_COASTER, STR_RIDE_DESCRIPTION_CORKSCREW_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor CorkscrewRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 100) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h index 7296289534..3805c290fb 100644 --- a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterRTD = RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 25, 25, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_FLYING_ROLLER_COASTER, STR_RIDE_DESCRIPTION_FLYING_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -40,6 +41,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 100) }; // Inverted variant @@ -56,6 +58,7 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterAltRTD = RIDE_TYPE_FLAG_START_CONSTRUCTION_INVERTED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 25, 25, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_3A, STR_RIDE_DESCRIPTION_UNKNOWN }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -67,5 +70,6 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterAltRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 100) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/GigaCoaster.h b/src/openrct2/ride/coaster/meta/GigaCoaster.h index baf806fb72..b43b3e3415 100644 --- a/src/openrct2/ride/coaster/meta/GigaCoaster.h +++ b/src/openrct2/ride/coaster/meta/GigaCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor GigaCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_ALLOW_CABLE_LIFT_HILL), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 17, 68, 1 }), SET_FIELD(Naming, { STR_RIDE_NAME_GIGA_COASTER, STR_RIDE_DESCRIPTION_GIGA_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor GigaCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_3), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 120) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h b/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h index ff69657c3b..00c3ffe190 100644 --- a/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h +++ b/src/openrct2/ride/coaster/meta/HeartlineTwisterCoaster.h @@ -26,6 +26,7 @@ constexpr const RideTypeDescriptor HeartlineTwisterCoasterRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 25, 25, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_HEARTLINE_TWISTER_COASTER, STR_RIDE_DESCRIPTION_HEARTLINE_TWISTER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -37,5 +38,6 @@ constexpr const RideTypeDescriptor HeartlineTwisterCoasterRTD = SET_FIELD(DefaultPrices, { 15, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 35) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h b/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h index 59859c47ce..8ae7195711 100644 --- a/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedHairpinCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor InvertedHairpinCoasterRTD = RIDE_TYPE_FLAG_IS_SUSPENDED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_INVERTED_HAIRPIN_COASTER, STR_RIDE_DESCRIPTION_INVERTED_HAIRPIN_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor InvertedHairpinCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_2), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 55) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h b/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h index b17cadfd65..ded057b5e0 100644 --- a/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedImpulseCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor InvertedImpulseCoasterRTD = RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), SET_FIELD(DefaultMode, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH), + SET_FIELD(OperatingSettings, { 10, 33, 30, 25, 25, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_INVERTED_IMPULSE_COASTER, STR_RIDE_DESCRIPTION_INVERTED_IMPULSE_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor InvertedImpulseCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 75) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h b/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h index 6bf5c36557..30ef2b6d44 100644 --- a/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/InvertedRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor InvertedRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_IS_SUSPENDED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 7, 27, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_INVERTED_ROLLER_COASTER, STR_RIDE_DESCRIPTION_INVERTED_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor InvertedRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 100) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h b/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h index cf3fae3db7..9e5921c665 100644 --- a/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/JuniorRollerCoaster.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor JuniorRollerCoasterRTD = RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 17, 16, -1 }), SET_FIELD(Naming, { STR_RIDE_NAME_JUNIOR_ROLLER_COASTER, STR_RIDE_DESCRIPTION_JUNIOR_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor JuniorRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 60) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h b/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h index b7b6e0c919..9440895538 100644 --- a/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LIMLaunchedRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor LIMLaunchedRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH) | (1ULL << RIDE_MODE_POWERED_LAUNCH_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_POWERED_LAUNCH_PASSTROUGH), + SET_FIELD(OperatingSettings, { 10, 31, 26, 18, 18, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_LIM_LAUNCHED_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LIM_LAUNCHED_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor LIMLaunchedRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 55) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h index 7430dbf7c2..3fcac15b83 100644 --- a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterRTD = RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 25, 25, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_LAY_DOWN_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LAY_DOWN_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,6 +39,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 100) }; constexpr const RideTypeDescriptor LayDownRollerCoasterAltRTD = @@ -52,6 +54,7 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterAltRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAG_HAS_LARGE_CURVES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 25, 25, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_40, STR_RIDE_DESCRIPTION_UNKNOWN }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -63,5 +66,6 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterAltRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 100) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h b/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h index 9d89fe0c2f..b8d2e07b84 100644 --- a/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LoopingRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor LoopingRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) | (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 26, 18, 18, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_LOOPING_ROLLER_COASTER, STR_RIDE_DESCRIPTION_LOOPING_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor LoopingRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 95) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/MineRide.h b/src/openrct2/ride/coaster/meta/MineRide.h index 3488b0eac8..0929d1a0b3 100644 --- a/src/openrct2/ride/coaster/meta/MineRide.h +++ b/src/openrct2/ride/coaster/meta/MineRide.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor MineRideRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MINE_RIDE, STR_RIDE_DESCRIPTION_MINE_RIDE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor MineRideRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 70) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/MineTrainCoaster.h b/src/openrct2/ride/coaster/meta/MineTrainCoaster.h index 478eb9a5ef..b933bda467 100644 --- a/src/openrct2/ride/coaster/meta/MineTrainCoaster.h +++ b/src/openrct2/ride/coaster/meta/MineTrainCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor MineTrainCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MINE_TRAIN_COASTER, STR_RIDE_DESCRIPTION_MINE_TRAIN_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor MineTrainCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 85) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h b/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h index 59e09b0ce7..ec21b2f283 100644 --- a/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/MiniRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor MiniRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 68, 1 }), SET_FIELD(Naming, { STR_RIDE_NAME_MINI_ROLLER_COASTER, STR_RIDE_DESCRIPTION_MINI_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor MiniRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 60) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h b/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h index 371427c612..7b11761ae3 100644 --- a/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h +++ b/src/openrct2/ride/coaster/meta/MiniSuspendedCoaster.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor MiniSuspendedCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_IS_SUSPENDED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MINI_SUSPENDED_COASTER, STR_RIDE_DESCRIPTION_MINI_SUSPENDED_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor MiniSuspendedCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 50) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h index bcf612fd5c..190268ffca 100644 --- a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterRTD = RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 25, 25, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MULTI_DIMENSION_ROLLER_COASTER, STR_RIDE_DESCRIPTION_MULTI_DIMENSION_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -39,6 +40,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_3), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 100) }; constexpr const RideTypeDescriptor MultiDimensionRollerCoasterAltRTD = @@ -53,6 +55,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterAltRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAG_HAS_LARGE_CURVES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 25, 25, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_38, STR_RIDE_DESCRIPTION_UNKNOWN }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -64,5 +67,6 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterAltRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_3), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 100) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h b/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h index 46f154bb06..d070432f2c 100644 --- a/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h +++ b/src/openrct2/ride/coaster/meta/ReverseFreefallCoaster.h @@ -25,6 +25,7 @@ constexpr const RideTypeDescriptor ReverseFreefallCoasterRTD = SET_FIELD(Flags, RIDE_TYPE_FLAGS_TRACK_HAS_3_COLOURS | RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_LIM_POWERED_LAUNCH)), SET_FIELD(DefaultMode, RIDE_MODE_LIM_POWERED_LAUNCH), + SET_FIELD(OperatingSettings, { 7, 30, 30, 40, 40, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_REVERSE_FREEFALL_COASTER, STR_RIDE_DESCRIPTION_REVERSE_FREEFALL_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -36,5 +37,6 @@ constexpr const RideTypeDescriptor ReverseFreefallCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 70) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h b/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h index b068fa7180..d1c988a2b6 100644 --- a/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/ReverserRollerCoaster.h @@ -26,6 +26,7 @@ constexpr const RideTypeDescriptor ReverserRollerCoasterRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_REVERSER_ROLLER_COASTER, STR_RIDE_DESCRIPTION_REVERSER_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -37,5 +38,6 @@ constexpr const RideTypeDescriptor ReverserRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO3), + SET_FIELD(BonusValue, 65) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h b/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h index fadbf72994..dde3393a55 100644 --- a/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/SideFrictionRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor SideFrictionRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SIDE_FRICTION_ROLLER_COASTER, STR_RIDE_DESCRIPTION_SIDE_FRICTION_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor SideFrictionRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO3), + SET_FIELD(BonusValue, 65) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h b/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h index 9907360854..7afbda45a5 100644 --- a/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/SpiralRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor SpiralRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 17, 17, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SPIRAL_ROLLER_COASTER, STR_RIDE_DESCRIPTION_SPIRAL_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor SpiralRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_3), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 85) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h b/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h index 959ceea42f..b34907e14e 100644 --- a/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/StandUpRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor StandUpRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) | (1ULL << RIDE_MODE_POWERED_LAUNCH_PASSTROUGH) | (1ULL << RIDE_MODE_POWERED_LAUNCH)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 7, 27, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_STAND_UP_ROLLER_COASTER, STR_RIDE_DESCRIPTION_STAND_UP_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor StandUpRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 90) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/SteelWildMouse.h b/src/openrct2/ride/coaster/meta/SteelWildMouse.h index 86dafa47cd..1d29e74073 100644 --- a/src/openrct2/ride/coaster/meta/SteelWildMouse.h +++ b/src/openrct2/ride/coaster/meta/SteelWildMouse.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor SteelWildMouseRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_WILD_MOUSE, STR_RIDE_DESCRIPTION_WILD_MOUSE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor SteelWildMouseRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 55) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/Steeplechase.h b/src/openrct2/ride/coaster/meta/Steeplechase.h index 5e0f05aa90..3cf96eb63a 100644 --- a/src/openrct2/ride/coaster/meta/Steeplechase.h +++ b/src/openrct2/ride/coaster/meta/Steeplechase.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor SteeplechaseRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_STEEPLECHASE, STR_RIDE_DESCRIPTION_STEEPLECHASE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor SteeplechaseRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 60) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h b/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h index 22e520b3f3..98eeaae12b 100644 --- a/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h +++ b/src/openrct2/ride/coaster/meta/SuspendedSwingingCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor SuspendedSwingingCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_IS_SUSPENDED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SUSPENDED_SWINGING_COASTER, STR_RIDE_DESCRIPTION_SUSPENDED_SWINGING_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor SuspendedSwingingCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO2), + SET_FIELD(BonusValue, 90) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h b/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h index 7d25f15165..035476cb21 100644 --- a/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/TwisterRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor TwisterRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 30, 17, 68, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_TWISTER_ROLLER_COASTER, STR_RIDE_DESCRIPTION_TWISTER_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor TwisterRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 120) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h b/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h index d7cfb3d22d..8ff3ef9e35 100644 --- a/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h +++ b/src/openrct2/ride/coaster/meta/VerticalDropCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor VerticalDropCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 10, 27, 26, 17, 68, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_VERTICAL_DROP_ROLLER_COASTER, STR_RIDE_DESCRIPTION_VERTICAL_DROP_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor VerticalDropCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 95) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/VirginiaReel.h b/src/openrct2/ride/coaster/meta/VirginiaReel.h index fdcdc5e3d1..cea9880606 100644 --- a/src/openrct2/ride/coaster/meta/VirginiaReel.h +++ b/src/openrct2/ride/coaster/meta/VirginiaReel.h @@ -26,6 +26,7 @@ constexpr const RideTypeDescriptor VirginiaReelRTD = RIDE_TYPE_FLAGS_COMMON_COASTER | RIDE_TYPE_FLAGS_COMMON_COASTER_NON_ALT | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_VIRGINIA_REEL, STR_RIDE_DESCRIPTION_VIRGINIA_REEL }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -37,5 +38,6 @@ constexpr const RideTypeDescriptor VirginiaReelRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO3), + SET_FIELD(BonusValue, 50) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/WaterCoaster.h b/src/openrct2/ride/coaster/meta/WaterCoaster.h index 5fd65db160..4eb666d7a2 100644 --- a/src/openrct2/ride/coaster/meta/WaterCoaster.h +++ b/src/openrct2/ride/coaster/meta/WaterCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor WaterCoasterRTD = RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES | RIDE_TYPE_FLAG_HAS_LARGE_CURVES | RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 17, 16, -1 }), SET_FIELD(Naming, { STR_RIDE_NAME_WATER_COASTER, STR_RIDE_DESCRIPTION_WATER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor WaterCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO4), + SET_FIELD(BonusValue, 60) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h b/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h index e7dc48932e..0f33981ca0 100644 --- a/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/WoodenRollerCoaster.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor WoodenRollerCoasterRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT_BLOCK_SECTIONED) | (1ULL << RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE) ), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_WOODEN_ROLLER_COASTER, STR_RIDE_DESCRIPTION_WOODEN_ROLLER_COASTER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor WoodenRollerCoasterRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO3), + SET_FIELD(BonusValue, 105) }; // clang-format on diff --git a/src/openrct2/ride/coaster/meta/WoodenWildMouse.h b/src/openrct2/ride/coaster/meta/WoodenWildMouse.h index 6da0e5f330..4b95bd243e 100644 --- a/src/openrct2/ride/coaster/meta/WoodenWildMouse.h +++ b/src/openrct2/ride/coaster/meta/WoodenWildMouse.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor WoodenWildMouseRTD = RIDE_TYPE_FLAG_PEEP_CHECK_GFORCES), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_WOODEN_WILD_MOUSE, STR_RIDE_DESCRIPTION_WOODEN_WILD_MOUSE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION) | (1 << BREAKDOWN_BRAKES_FAILURE)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor WoodenWildMouseRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WILD_WEST), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO3), + SET_FIELD(BonusValue, 55) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/CarRide.h b/src/openrct2/ride/gentle/meta/CarRide.h index 3ea976c17c..a5ffe69692 100644 --- a/src/openrct2/ride/gentle/meta/CarRide.h +++ b/src/openrct2/ride/gentle/meta/CarRide.h @@ -30,6 +30,7 @@ constexpr const RideTypeDescriptor CarRideRTD = RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_HAS_RIDE_GROUPS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_CAR_RIDE, STR_RIDE_DESCRIPTION_CAR_RIDE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -41,5 +42,6 @@ constexpr const RideTypeDescriptor CarRideRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 50) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/Circus.h b/src/openrct2/ride/gentle/meta/Circus.h index ea71828242..ff5da78277 100644 --- a/src/openrct2/ride/gentle/meta/Circus.h +++ b/src/openrct2/ride/gentle/meta/Circus.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor CircusRTD = RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CIRCUS_SHOW)), SET_FIELD(DefaultMode, RIDE_MODE_CIRCUS_SHOW), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_CIRCUS_SHOW, STR_RIDE_DESCRIPTION_CIRCUS_SHOW }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor CircusRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_CIRCUS_SHOW), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 39) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/CrookedHouse.h b/src/openrct2/ride/gentle/meta/CrookedHouse.h index d234f6782b..7e03cd193a 100644 --- a/src/openrct2/ride/gentle/meta/CrookedHouse.h +++ b/src/openrct2/ride/gentle/meta/CrookedHouse.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor CrookedHouseRTD = RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CROOKED_HOUSE)), SET_FIELD(DefaultMode, RIDE_MODE_CROOKED_HOUSE), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_CROOKED_HOUSE, STR_RIDE_DESCRIPTION_CROOKED_HOUSE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor CrookedHouseRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 22) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/Dodgems.h b/src/openrct2/ride/gentle/meta/Dodgems.h index cd688c7665..4cb7b875b4 100644 --- a/src/openrct2/ride/gentle/meta/Dodgems.h +++ b/src/openrct2/ride/gentle/meta/Dodgems.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor DodgemsRTD = RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_DODGEMS)), SET_FIELD(DefaultMode, RIDE_MODE_DODGEMS), + SET_FIELD(OperatingSettings, { 20, 180, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_DODGEMS, STR_RIDE_DESCRIPTION_DODGEMS }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor DodgemsRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_DODGEMS_BEAT), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 35) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/FerrisWheel.h b/src/openrct2/ride/gentle/meta/FerrisWheel.h index 504de4a412..7abcb86162 100644 --- a/src/openrct2/ride/gentle/meta/FerrisWheel.h +++ b/src/openrct2/ride/gentle/meta/FerrisWheel.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor FerrisWheelRTD = RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_FORWARD_ROTATION) | (1ULL << RIDE_MODE_BACKWARD_ROTATION)), SET_FIELD(DefaultMode, RIDE_MODE_FORWARD_ROTATION), + SET_FIELD(OperatingSettings, { 1, 3, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_FERRIS_WHEEL, STR_RIDE_DESCRIPTION_FERRIS_WHEEL }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor FerrisWheelRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/FlyingSaucers.h b/src/openrct2/ride/gentle/meta/FlyingSaucers.h index b6d896ac4f..610c999b2b 100644 --- a/src/openrct2/ride/gentle/meta/FlyingSaucers.h +++ b/src/openrct2/ride/gentle/meta/FlyingSaucers.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor FlyingSaucersRTD = RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_DODGEMS)), SET_FIELD(DefaultMode, RIDE_MODE_DODGEMS), + SET_FIELD(OperatingSettings, { 20, 180, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_FLYING_SAUCERS, STR_RIDE_DESCRIPTION_FLYING_SAUCERS }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor FlyingSaucersRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 35) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/GhostTrain.h b/src/openrct2/ride/gentle/meta/GhostTrain.h index c7c48080c4..18bd59a81d 100644 --- a/src/openrct2/ride/gentle/meta/GhostTrain.h +++ b/src/openrct2/ride/gentle/meta/GhostTrain.h @@ -30,6 +30,7 @@ constexpr const RideTypeDescriptor GhostTrainRTD = RIDE_TYPE_FLAG_HAS_AIR_TIME | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_GHOST_TRAIN, STR_RIDE_DESCRIPTION_GHOST_TRAIN }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -41,5 +42,6 @@ constexpr const RideTypeDescriptor GhostTrainRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_HORROR), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 50) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/HauntedHouse.h b/src/openrct2/ride/gentle/meta/HauntedHouse.h index 4e9d72679e..42aee04aa1 100644 --- a/src/openrct2/ride/gentle/meta/HauntedHouse.h +++ b/src/openrct2/ride/gentle/meta/HauntedHouse.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor HauntedHouseRTD = RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_HAUNTED_HOUSE)), SET_FIELD(DefaultMode, RIDE_MODE_HAUNTED_HOUSE), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_HAUNTED_HOUSE, STR_RIDE_DESCRIPTION_HAUNTED_HOUSE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor HauntedHouseRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_HORROR), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 22) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/Maze.h b/src/openrct2/ride/gentle/meta/Maze.h index 78ddd506d3..097e137509 100644 --- a/src/openrct2/ride/gentle/meta/Maze.h +++ b/src/openrct2/ride/gentle/meta/Maze.h @@ -26,6 +26,7 @@ constexpr const RideTypeDescriptor MazeRTD = RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_MAZE)), SET_FIELD(DefaultMode, RIDE_MODE_MAZE), + SET_FIELD(OperatingSettings, { 1, 64, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MAZE, STR_RIDE_DESCRIPTION_MAZE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -37,5 +38,6 @@ constexpr const RideTypeDescriptor MazeRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 40) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/MerryGoRound.h b/src/openrct2/ride/gentle/meta/MerryGoRound.h index c1fe23290a..536cd1e171 100644 --- a/src/openrct2/ride/gentle/meta/MerryGoRound.h +++ b/src/openrct2/ride/gentle/meta/MerryGoRound.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor MerryGoRoundRTD = RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_ROTATION)), SET_FIELD(DefaultMode, RIDE_MODE_ROTATION), + SET_FIELD(OperatingSettings, { 4, 25, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MERRY_GO_ROUND, STR_RIDE_DESCRIPTION_MERRY_GO_ROUND }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor MerryGoRoundRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_FAIRGROUND_ORGAN), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/MiniGolf.h b/src/openrct2/ride/gentle/meta/MiniGolf.h index cb8ca30cc4..5afbd634a4 100644 --- a/src/openrct2/ride/gentle/meta/MiniGolf.h +++ b/src/openrct2/ride/gentle/meta/MiniGolf.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor MiniGolfRTD = RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MINI_GOLF, STR_RIDE_DESCRIPTION_MINI_GOLF }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_PLAYER, RIDE_COMPONENT_TYPE_COURSE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor MiniGolfRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 23) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/MiniHelicopters.h b/src/openrct2/ride/gentle/meta/MiniHelicopters.h index 03744a5ad3..86bd46bd25 100644 --- a/src/openrct2/ride/gentle/meta/MiniHelicopters.h +++ b/src/openrct2/ride/gentle/meta/MiniHelicopters.h @@ -30,6 +30,7 @@ constexpr const RideTypeDescriptor MiniHelicoptersRTD = RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MINI_HELICOPTERS, STR_RIDE_DESCRIPTION_MINI_HELICOPTERS }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -41,5 +42,6 @@ constexpr const RideTypeDescriptor MiniHelicoptersRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/MonorailCycles.h b/src/openrct2/ride/gentle/meta/MonorailCycles.h index a66e107e9d..be6de17d5a 100644 --- a/src/openrct2/ride/gentle/meta/MonorailCycles.h +++ b/src/openrct2/ride/gentle/meta/MonorailCycles.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor MonorailCyclesRTD = RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MONORAIL_CYCLES, STR_RIDE_DESCRIPTION_MONORAIL_CYCLES }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor MonorailCyclesRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/ObservationTower.h b/src/openrct2/ride/gentle/meta/ObservationTower.h index 1cee7ecd84..9ff0b1415f 100644 --- a/src/openrct2/ride/gentle/meta/ObservationTower.h +++ b/src/openrct2/ride/gentle/meta/ObservationTower.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor ObservationTowerRTD = RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_ROTATING_LIFT)), SET_FIELD(DefaultMode, RIDE_MODE_ROTATING_LIFT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_OBSERVATION_TOWER, STR_RIDE_DESCRIPTION_OBSERVATION_TOWER }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CABIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor ObservationTowerRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/SpaceRings.h b/src/openrct2/ride/gentle/meta/SpaceRings.h index c668d4e235..dcd8f743b5 100644 --- a/src/openrct2/ride/gentle/meta/SpaceRings.h +++ b/src/openrct2/ride/gentle/meta/SpaceRings.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor SpaceRingsRTD = RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SPACE_RINGS)), SET_FIELD(DefaultMode, RIDE_MODE_SPACE_RINGS), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SPACE_RINGS, STR_RIDE_DESCRIPTION_SPACE_RINGS }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_RING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor SpaceRingsRTD = SET_FIELD(DefaultPrices, { 5, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 30) }; // clang-format on diff --git a/src/openrct2/ride/gentle/meta/SpiralSlide.h b/src/openrct2/ride/gentle/meta/SpiralSlide.h index d772347018..2a9917f5c3 100644 --- a/src/openrct2/ride/gentle/meta/SpiralSlide.h +++ b/src/openrct2/ride/gentle/meta/SpiralSlide.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor SpiralSlideRTD = RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SINGLE_RIDE_PER_ADMISSION) | (1ULL << RIDE_MODE_UNLIMITED_RIDES_PER_ADMISSION)), SET_FIELD(DefaultMode, RIDE_MODE_SINGLE_RIDE_PER_ADMISSION), + SET_FIELD(OperatingSettings, { 1, 5, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SPIRAL_SLIDE, STR_RIDE_DESCRIPTION_SPIRAL_SLIDE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor SpiralSlideRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 40) }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/CashMachine.h b/src/openrct2/ride/shops/meta/CashMachine.h index eaa5aa86ba..5c8b9b7647 100644 --- a/src/openrct2/ride/shops/meta/CashMachine.h +++ b/src/openrct2/ride/shops/meta/CashMachine.h @@ -26,6 +26,7 @@ constexpr const RideTypeDescriptor CashMachineRTD = RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_CASH_MACHINE, STR_RIDE_DESCRIPTION_CASH_MACHINE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -37,5 +38,6 @@ constexpr const RideTypeDescriptor CashMachineRTD = SET_FIELD(DefaultPrices, { 0, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 5) }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/DrinkStall.h b/src/openrct2/ride/shops/meta/DrinkStall.h index 7710f77614..f27ac0b70a 100644 --- a/src/openrct2/ride/shops/meta/DrinkStall.h +++ b/src/openrct2/ride/shops/meta/DrinkStall.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor DrinkStallRTD = RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_DRINK_STALL, STR_RIDE_DESCRIPTION_DRINK_STALL }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor DrinkStallRTD = SET_FIELD(DefaultPrices, { 0, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 15) }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/FirstAid.h b/src/openrct2/ride/shops/meta/FirstAid.h index 0054834c3c..26413ae0c2 100644 --- a/src/openrct2/ride/shops/meta/FirstAid.h +++ b/src/openrct2/ride/shops/meta/FirstAid.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor FirstAidRTD = RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), + SET_FIELD(OperatingSettings, { 8, 8, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_FIRST_AID, STR_RIDE_DESCRIPTION_FIRST_AID }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor FirstAidRTD = SET_FIELD(DefaultPrices, { 0, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 5) }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/FoodStall.h b/src/openrct2/ride/shops/meta/FoodStall.h index 412560bf01..48680479a2 100644 --- a/src/openrct2/ride/shops/meta/FoodStall.h +++ b/src/openrct2/ride/shops/meta/FoodStall.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor FoodStallRTD = RIDE_TYPE_FLAG_SELLS_FOOD | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_FOOD_STALL, STR_RIDE_DESCRIPTION_FOOD_STALL }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor FoodStallRTD = SET_FIELD(DefaultPrices, { 0, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 15) }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/InformationKiosk.h b/src/openrct2/ride/shops/meta/InformationKiosk.h index e21e707690..171012da6e 100644 --- a/src/openrct2/ride/shops/meta/InformationKiosk.h +++ b/src/openrct2/ride/shops/meta/InformationKiosk.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor InformationKioskRTD = RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_INFORMATION_KIOSK, STR_RIDE_DESCRIPTION_INFORMATION_KIOSK }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor InformationKioskRTD = SET_FIELD(DefaultPrices, { 0, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 15) }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/Shop.h b/src/openrct2/ride/shops/meta/Shop.h index bee9f1c838..2fe6306a72 100644 --- a/src/openrct2/ride/shops/meta/Shop.h +++ b/src/openrct2/ride/shops/meta/Shop.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor ShopRTD = RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SHOP, STR_RIDE_DESCRIPTION_SHOP }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor ShopRTD = SET_FIELD(DefaultPrices, { 0, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 15) }; // clang-format on diff --git a/src/openrct2/ride/shops/meta/Toilets.h b/src/openrct2/ride/shops/meta/Toilets.h index a7882e77f4..d8e6ede296 100644 --- a/src/openrct2/ride/shops/meta/Toilets.h +++ b/src/openrct2/ride/shops/meta/Toilets.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor ToiletsRTD = RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_IS_TOILET | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHOP_STALL)), SET_FIELD(DefaultMode, RIDE_MODE_SHOP_STALL), + SET_FIELD(OperatingSettings, { 4, 4, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_TOILETS, STR_RIDE_DESCRIPTION_TOILETS }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, 0), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor ToiletsRTD = SET_FIELD(DefaultPrices, { 0, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 5) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/3DCinema.h b/src/openrct2/ride/thrill/meta/3DCinema.h index 4929c606a1..c8c0afc6aa 100644 --- a/src/openrct2/ride/thrill/meta/3DCinema.h +++ b/src/openrct2/ride/thrill/meta/3DCinema.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor CinemaRTD = RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_3D_FILM_MOUSE_TAILS) | (1ULL << RIDE_MODE_3D_FILM_STORM_CHASERS) | (1ULL << RIDE_MODE_3D_FILM_SPACE_RAIDERS)), SET_FIELD(DefaultMode, RIDE_MODE_3D_FILM_MOUSE_TAILS), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_3D_CINEMA, STR_RIDE_DESCRIPTION_3D_CINEMA }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BUILDING, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor CinemaRTD = SET_FIELD(DefaultPrices, { 20, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/Enterprise.h b/src/openrct2/ride/thrill/meta/Enterprise.h index 8fbb2f2ee5..09d25f8c8d 100644 --- a/src/openrct2/ride/thrill/meta/Enterprise.h +++ b/src/openrct2/ride/thrill/meta/Enterprise.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor EnterpriseRTD = RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_ROTATION)), SET_FIELD(DefaultMode, RIDE_MODE_ROTATION), + SET_FIELD(OperatingSettings, { 10, 20, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_ENTERPRISE, STR_RIDE_DESCRIPTION_ENTERPRISE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_WHEEL, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor EnterpriseRTD = SET_FIELD(DefaultPrices, { 20, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK_STYLE_2), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/GoKarts.h b/src/openrct2/ride/thrill/meta/GoKarts.h index d0f623d630..9437a8e4aa 100644 --- a/src/openrct2/ride/thrill/meta/GoKarts.h +++ b/src/openrct2/ride/thrill/meta/GoKarts.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor GoKartsRTD = RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_RACE) | (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_RACE), + SET_FIELD(OperatingSettings, { 1, 10, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_GO_KARTS, STR_RIDE_DESCRIPTION_GO_KARTS }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor GoKartsRTD = SET_FIELD(DefaultPrices, { 20, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 55) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/LaunchedFreefall.h b/src/openrct2/ride/thrill/meta/LaunchedFreefall.h index 69e7185f09..832e7b3726 100644 --- a/src/openrct2/ride/thrill/meta/LaunchedFreefall.h +++ b/src/openrct2/ride/thrill/meta/LaunchedFreefall.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor LaunchedFreefallRTD = RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_UPWARD_LAUNCH) | (1ULL << RIDE_MODE_DOWNWARD_LAUNCH)), SET_FIELD(DefaultMode, RIDE_MODE_UPWARD_LAUNCH), + SET_FIELD(OperatingSettings, { 10, 40, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_LAUNCHED_FREEFALL, STR_RIDE_DESCRIPTION_LAUNCHED_FREEFALL }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor LaunchedFreefallRTD = SET_FIELD(DefaultPrices, { 20, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 65) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/MagicCarpet.h b/src/openrct2/ride/thrill/meta/MagicCarpet.h index 9021c8a199..52a4530fa8 100644 --- a/src/openrct2/ride/thrill/meta/MagicCarpet.h +++ b/src/openrct2/ride/thrill/meta/MagicCarpet.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor MagicCarpetRTD = RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SWING)), SET_FIELD(DefaultMode, RIDE_MODE_SWING), + SET_FIELD(OperatingSettings, { 7, 15, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MAGIC_CARPET, STR_RIDE_DESCRIPTION_MAGIC_CARPET }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor MagicCarpetRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_EGYPTIAN), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 35) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/MotionSimulator.h b/src/openrct2/ride/thrill/meta/MotionSimulator.h index 1ca1fe7733..fe2eeaee2b 100644 --- a/src/openrct2/ride/thrill/meta/MotionSimulator.h +++ b/src/openrct2/ride/thrill/meta/MotionSimulator.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor MotionSimulatorRTD = RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_FILM_AVENGING_AVIATORS) | (1ULL << RIDE_MODE_FILM_THRILL_RIDERS)), SET_FIELD(DefaultMode, RIDE_MODE_FILM_AVENGING_AVIATORS), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MOTION_SIMULATOR, STR_RIDE_DESCRIPTION_MOTION_SIMULATOR }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor MotionSimulatorRTD = SET_FIELD(DefaultPrices, { 20, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/RotoDrop.h b/src/openrct2/ride/thrill/meta/RotoDrop.h index bf6a96569d..c58774f87e 100644 --- a/src/openrct2/ride/thrill/meta/RotoDrop.h +++ b/src/openrct2/ride/thrill/meta/RotoDrop.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor RotoDropRTD = RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_FREEFALL_DROP)), SET_FIELD(DefaultMode, RIDE_MODE_FREEFALL_DROP), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_ROTO_DROP, STR_RIDE_DESCRIPTION_ROTO_DROP }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_RESTRAINTS_STUCK_CLOSED) | (1 << BREAKDOWN_RESTRAINTS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor RotoDropRTD = SET_FIELD(DefaultPrices, { 20, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_ROCK), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/SwingingInverterShip.h b/src/openrct2/ride/thrill/meta/SwingingInverterShip.h index e7231d2f84..e60b339eac 100644 --- a/src/openrct2/ride/thrill/meta/SwingingInverterShip.h +++ b/src/openrct2/ride/thrill/meta/SwingingInverterShip.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor SwingingInverterShipRTD = RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SWING)), SET_FIELD(DefaultMode, RIDE_MODE_SWING), + SET_FIELD(OperatingSettings, { 7, 15, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SWINGING_INVERTER_SHIP, STR_RIDE_DESCRIPTION_SWINGING_INVERTER_SHIP }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor SwingingInverterShipRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 35) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/SwingingShip.h b/src/openrct2/ride/thrill/meta/SwingingShip.h index b263aa19d4..bea9b4d508 100644 --- a/src/openrct2/ride/thrill/meta/SwingingShip.h +++ b/src/openrct2/ride/thrill/meta/SwingingShip.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor SwingingShipRTD = RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SWING)), SET_FIELD(DefaultMode, RIDE_MODE_SWING), + SET_FIELD(OperatingSettings, { 7, 25, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_PIRATE_SHIP, STR_RIDE_DESCRIPTION_PIRATE_SHIP }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_SHIP, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor SwingingShipRTD = SET_FIELD(DefaultPrices, { 15, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_PIRATES), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 35) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/TopSpin.h b/src/openrct2/ride/thrill/meta/TopSpin.h index 61394934a6..cc240a2d90 100644 --- a/src/openrct2/ride/thrill/meta/TopSpin.h +++ b/src/openrct2/ride/thrill/meta/TopSpin.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor TopSpinRTD = RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_BEGINNERS) | (1ULL << RIDE_MODE_INTENSE) | (1ULL << RIDE_MODE_BERSERK)), SET_FIELD(DefaultMode, RIDE_MODE_BEGINNERS), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_TOP_SPIN, STR_RIDE_DESCRIPTION_TOP_SPIN }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor TopSpinRTD = SET_FIELD(DefaultPrices, { 20, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_TECHNO), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 55) }; // clang-format on diff --git a/src/openrct2/ride/thrill/meta/Twist.h b/src/openrct2/ride/thrill/meta/Twist.h index 099817e3bb..4053c8faba 100644 --- a/src/openrct2/ride/thrill/meta/Twist.h +++ b/src/openrct2/ride/thrill/meta/Twist.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor TwistRTD = RIDE_TYPE_FLAG_SINGLE_SESSION | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY), SET_FIELD(RideModes, (1ULL << RIDE_MODE_ROTATION)), SET_FIELD(DefaultMode, RIDE_MODE_ROTATION), + SET_FIELD(OperatingSettings, { 3, 6, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_TWIST, STR_RIDE_DESCRIPTION_TWIST }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STRUCTURE, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor TwistRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 40) }; // clang-format on diff --git a/src/openrct2/ride/transport/meta/Chairlift.h b/src/openrct2/ride/transport/meta/Chairlift.h index 0787d7f1a1..a0efd7140a 100644 --- a/src/openrct2/ride/transport/meta/Chairlift.h +++ b/src/openrct2/ride/transport/meta/Chairlift.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor ChairliftRTD = RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG_IS_SUSPENDED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_STATION_TO_STATION)), SET_FIELD(DefaultMode, RIDE_MODE_STATION_TO_STATION), + SET_FIELD(OperatingSettings, { 1, 4, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_CHAIRLIFT, STR_RIDE_DESCRIPTION_CHAIRLIFT }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CAR, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor ChairliftRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 55) }; // clang-format on diff --git a/src/openrct2/ride/transport/meta/Lift.h b/src/openrct2/ride/transport/meta/Lift.h index 7339a0e6d7..83a7fcbccd 100644 --- a/src/openrct2/ride/transport/meta/Lift.h +++ b/src/openrct2/ride/transport/meta/Lift.h @@ -28,6 +28,7 @@ constexpr const RideTypeDescriptor LiftRTD = RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG_TRANSPORT_RIDE | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER), SET_FIELD(RideModes, (1ULL << RIDE_MODE_SHUTTLE)), SET_FIELD(DefaultMode, RIDE_MODE_SHUTTLE), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_LIFT, STR_RIDE_DESCRIPTION_LIFT }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_CABIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -39,5 +40,6 @@ constexpr const RideTypeDescriptor LiftRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 45) }; // clang-format on diff --git a/src/openrct2/ride/transport/meta/MiniatureRailway.h b/src/openrct2/ride/transport/meta/MiniatureRailway.h index 66f3f5aea7..734c5cfbd9 100644 --- a/src/openrct2/ride/transport/meta/MiniatureRailway.h +++ b/src/openrct2/ride/transport/meta/MiniatureRailway.h @@ -30,6 +30,7 @@ constexpr const RideTypeDescriptor MiniatureRailwayRTD = RIDE_TYPE_FLAG_SUPPORTS_LEVEL_CROSSINGS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_SHUTTLE)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MINIATURE_RAILWAY, STR_RIDE_DESCRIPTION_MINIATURE_RAILWAY }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -41,5 +42,6 @@ constexpr const RideTypeDescriptor MiniatureRailwayRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 50) }; // clang-format on diff --git a/src/openrct2/ride/transport/meta/Monorail.h b/src/openrct2/ride/transport/meta/Monorail.h index 77592c15ac..198139ffd3 100644 --- a/src/openrct2/ride/transport/meta/Monorail.h +++ b/src/openrct2/ride/transport/meta/Monorail.h @@ -30,6 +30,7 @@ constexpr const RideTypeDescriptor MonorailRTD = RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG_TRANSPORT_RIDE | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_SHUTTLE)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_MONORAIL, STR_RIDE_DESCRIPTION_MONORAIL }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -41,5 +42,6 @@ constexpr const RideTypeDescriptor MonorailRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 60) }; // clang-format on diff --git a/src/openrct2/ride/transport/meta/SuspendedMonorail.h b/src/openrct2/ride/transport/meta/SuspendedMonorail.h index a6e32187be..a75ee14c78 100644 --- a/src/openrct2/ride/transport/meta/SuspendedMonorail.h +++ b/src/openrct2/ride/transport/meta/SuspendedMonorail.h @@ -31,6 +31,7 @@ constexpr const RideTypeDescriptor SuspendedMonorailRTD = RIDE_TYPE_FLAG_IS_SUSPENDED), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT) | (1ULL << RIDE_MODE_SHUTTLE)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SUSPENDED_MONORAIL, STR_RIDE_DESCRIPTION_SUSPENDED_MONORAIL }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_TRAIN, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_DOORS_STUCK_CLOSED) | (1 << BREAKDOWN_DOORS_STUCK_OPEN) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -42,5 +43,6 @@ constexpr const RideTypeDescriptor SuspendedMonorailRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_SUMMER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 60) }; // clang-format on diff --git a/src/openrct2/ride/water/meta/BoatHire.h b/src/openrct2/ride/water/meta/BoatHire.h index 07a1b18778..99d7c26cc8 100644 --- a/src/openrct2/ride/water/meta/BoatHire.h +++ b/src/openrct2/ride/water/meta/BoatHire.h @@ -27,6 +27,7 @@ constexpr const RideTypeDescriptor BoatHireRTD = RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR | RIDE_TYPE_FLAG_ALLOW_MUSIC | RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_BOAT_HIRE)), SET_FIELD(DefaultMode, RIDE_MODE_BOAT_HIRE), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_BOAT_HIRE, STR_RIDE_DESCRIPTION_BOAT_HIRE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -38,5 +39,6 @@ constexpr const RideTypeDescriptor BoatHireRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 40) }; // clang-format on diff --git a/src/openrct2/ride/water/meta/DinghySlide.h b/src/openrct2/ride/water/meta/DinghySlide.h index ec2841bc89..8f4348cc78 100644 --- a/src/openrct2/ride/water/meta/DinghySlide.h +++ b/src/openrct2/ride/water/meta/DinghySlide.h @@ -31,6 +31,7 @@ constexpr const RideTypeDescriptor DinghySlideRTD = RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_DINGHY_SLIDE, STR_RIDE_DESCRIPTION_DINGHY_SLIDE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -42,5 +43,6 @@ constexpr const RideTypeDescriptor DinghySlideRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO4), + SET_FIELD(BonusValue, 55) }; // clang-format on diff --git a/src/openrct2/ride/water/meta/LogFlume.h b/src/openrct2/ride/water/meta/LogFlume.h index b6a2e14bdc..6075077597 100644 --- a/src/openrct2/ride/water/meta/LogFlume.h +++ b/src/openrct2/ride/water/meta/LogFlume.h @@ -30,6 +30,7 @@ constexpr const RideTypeDescriptor LogFlumeRTD = RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_LOG_FLUME, STR_RIDE_DESCRIPTION_LOG_FLUME }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE)), @@ -41,5 +42,6 @@ constexpr const RideTypeDescriptor LogFlumeRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO4), + SET_FIELD(BonusValue, 65) }; // clang-format on diff --git a/src/openrct2/ride/water/meta/RiverRafts.h b/src/openrct2/ride/water/meta/RiverRafts.h index 1b3cb058a2..2ea1889af1 100644 --- a/src/openrct2/ride/water/meta/RiverRafts.h +++ b/src/openrct2/ride/water/meta/RiverRafts.h @@ -30,6 +30,7 @@ constexpr const RideTypeDescriptor RiverRaftsRTD = RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_RIVER_RAFTS, STR_RIDE_DESCRIPTION_RIVER_RAFTS }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT)), @@ -41,5 +42,6 @@ constexpr const RideTypeDescriptor RiverRaftsRTD = SET_FIELD(DefaultPrices, { 10, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_GENTLE), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO4), + SET_FIELD(BonusValue, 65) }; // clang-format on diff --git a/src/openrct2/ride/water/meta/RiverRapids.h b/src/openrct2/ride/water/meta/RiverRapids.h index 1035461ba6..ccb33b6b6d 100644 --- a/src/openrct2/ride/water/meta/RiverRapids.h +++ b/src/openrct2/ride/water/meta/RiverRapids.h @@ -31,6 +31,7 @@ constexpr const RideTypeDescriptor RiverRapidsRTD = RIDE_TYPE_FLAG_HAS_AIR_TIME | RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_RIVER_RAPIDS, STR_RIDE_DESCRIPTION_RIVER_RAPIDS }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE)), @@ -42,5 +43,6 @@ constexpr const RideTypeDescriptor RiverRapidsRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO4), + SET_FIELD(BonusValue, 70) }; // clang-format on diff --git a/src/openrct2/ride/water/meta/SplashBoats.h b/src/openrct2/ride/water/meta/SplashBoats.h index 1872559753..cee7330e50 100644 --- a/src/openrct2/ride/water/meta/SplashBoats.h +++ b/src/openrct2/ride/water/meta/SplashBoats.h @@ -30,6 +30,7 @@ constexpr const RideTypeDescriptor SplashBoatsRTD = RIDE_TYPE_FLAG_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG_SLIGHTLY_INTERESTING_TO_LOOK_AT), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SPLASH_BOATS, STR_RIDE_DESCRIPTION_SPLASH_BOATS }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_STATION }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_CONTROL_FAILURE)), @@ -41,5 +42,6 @@ constexpr const RideTypeDescriptor SplashBoatsRTD = SET_FIELD(DefaultPrices, { 20, 20 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO4), + SET_FIELD(BonusValue, 65) }; // clang-format on diff --git a/src/openrct2/ride/water/meta/SubmarineRide.h b/src/openrct2/ride/water/meta/SubmarineRide.h index da651de508..ae01183900 100644 --- a/src/openrct2/ride/water/meta/SubmarineRide.h +++ b/src/openrct2/ride/water/meta/SubmarineRide.h @@ -29,6 +29,7 @@ constexpr const RideTypeDescriptor SubmarineRideRTD = RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS), SET_FIELD(RideModes, (1ULL << RIDE_MODE_CONTINUOUS_CIRCUIT)), SET_FIELD(DefaultMode, RIDE_MODE_CONTINUOUS_CIRCUIT), + SET_FIELD(OperatingSettings, { 0, 0, 0, 0, 0, 0 }), SET_FIELD(Naming, { STR_RIDE_NAME_SUBMARINE_RIDE, STR_RIDE_DESCRIPTION_SUBMARINE_RIDE }), SET_FIELD(NameConvention, { RIDE_COMPONENT_TYPE_BOAT, RIDE_COMPONENT_TYPE_TRACK, RIDE_COMPONENT_TYPE_DOCKING_PLATFORM }), SET_FIELD(AvailableBreakdowns, (1 << BREAKDOWN_SAFETY_CUT_OUT) | (1 << BREAKDOWN_VEHICLE_MALFUNCTION)), @@ -40,5 +41,6 @@ constexpr const RideTypeDescriptor SubmarineRideRTD = SET_FIELD(DefaultPrices, { 10, 0 }), SET_FIELD(DefaultMusic, MUSIC_STYLE_WATER), SET_FIELD(PhotoItem, SHOP_ITEM_PHOTO), + SET_FIELD(BonusValue, 40) }; // clang-format on diff --git a/src/openrct2/world/Park.cpp b/src/openrct2/world/Park.cpp index 4d90830b96..209d61ad12 100644 --- a/src/openrct2/world/Park.cpp +++ b/src/openrct2/world/Park.cpp @@ -510,7 +510,7 @@ money32 Park::CalculateRideValue(const Ride* ride) const money32 result = 0; if (ride != nullptr && ride->value != RIDE_VALUE_UNDEFINED) { - result = (ride->value * 10) * (ride_customers_in_last_5_minutes(ride) + rideBonusValue[ride->type] * 4); + result = (ride->value * 10) * (ride_customers_in_last_5_minutes(ride) + RideTypeDescriptors[ride->type].BonusValue * 4); } return result; } @@ -565,7 +565,7 @@ uint32_t Park::CalculateSuggestedMaxGuests() const continue; // Add guest score for ride type - suggestedMaxGuests += rideBonusValue[ride.type]; + suggestedMaxGuests += RideTypeDescriptors[ride.type].BonusValue; } // If difficult guest generation, extra guests are available for good rides @@ -590,7 +590,7 @@ uint32_t Park::CalculateSuggestedMaxGuests() const continue; // Bonus guests for good ride - suggestedMaxGuests += rideBonusValue[ride.type] * 2; + suggestedMaxGuests += RideTypeDescriptors[ride.type].BonusValue * 2; } }