From 213696ea274a55aef6e6fa67e7abc6f2c201d349 Mon Sep 17 00:00:00 2001 From: 8street Date: Wed, 13 Jul 2022 01:20:49 +0300 Subject: [PATCH] Add option to sell merchandise in random colours Co-authored-by: 8street --- contributors.md | 1 + data/language/en-GB.txt | 1 + distribution/changelog.txt | 1 + src/openrct2-ui/windows/Ride.cpp | 50 +++++++- .../actions/RideSetAppearanceAction.cpp | 4 + .../actions/RideSetAppearanceAction.h | 3 +- src/openrct2/entity/Guest.cpp | 9 +- src/openrct2/localisation/StringIds.h | 2 + src/openrct2/network/NetworkBase.cpp | 2 +- src/openrct2/ride/Ride.cpp | 30 +++++ src/openrct2/ride/Ride.h | 6 + src/openrct2/ride/ShopItem.cpp | 115 +++++++++--------- src/openrct2/ride/ShopItem.h | 2 + 13 files changed, 164 insertions(+), 62 deletions(-) diff --git a/contributors.md b/contributors.md index 58dc7f5b1f..2b85e7772d 100644 --- a/contributors.md +++ b/contributors.md @@ -97,6 +97,7 @@ The following people are not part of the development team, but have been contrib * Adrian Zdanowicz (CookiePLMonster) - Misc. * Andrew Pratt (andrewpratt64) - Added api hook for vehicle crashes, api function to get entities on a tile * Karst van Galen Last (AuraSpecs) - Misc. +* (8street) - Misc. ## Bug fixes * (KirilAngelov) diff --git a/data/language/en-GB.txt b/data/language/en-GB.txt index 226c703dbf..770d6d7da0 100644 --- a/data/language/en-GB.txt +++ b/data/language/en-GB.txt @@ -3606,6 +3606,7 @@ STR_6497 :Click on a tile to show its tile elements.{NEWLINE}Ctrl + click a t STR_6498 :Enable to maintain square map shape. STR_6499 :Vehicle type not supported by track design format STR_6500 :Track elements not supported by track design format +STR_6501 :Random colour ############# # Scenarios # diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 59f030d3a4..812ffb8d98 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -1,5 +1,6 @@ 0.4.2 (in development) ------------------------------------------------------------------------ +- Feature: [#13634] Add ability to sell merchandise in random colours. - Feature: [#16662] Show a warning message when g2.dat is mismatched. - Change: [#17319] Giant screenshots are now cropped to the horizontal view-clipping selection. - Change: [#17499] Update error text when using vehicle incompatible with TD6 and add error when using incompatible track elements. diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index 5eb0aa1118..358b439bd5 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -185,6 +185,7 @@ enum { WIDX_VEHICLE_BODY_COLOR, WIDX_VEHICLE_TRIM_COLOUR, WIDX_VEHICLE_TERNARY_COLOUR, + WIDX_SELL_ITEM_RANDOM_COLOUR_CHECKBOX, WIDX_PLAY_MUSIC = 14, WIDX_MUSIC, @@ -323,6 +324,7 @@ static rct_widget window_ride_colour_widgets[] = { MakeWidget({ 79, 190}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_MAIN_COLOUR_TIP ), MakeWidget({ 99, 190}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_1_TIP ), MakeWidget({119, 190}, { 12, 12}, WindowWidgetType::ColourBtn, WindowColour::Secondary, 0xFFFFFFFF, STR_SELECT_ADDITIONAL_COLOUR_2_TIP ), + MakeWidget({100, 74}, {239, 12}, WindowWidgetType::Checkbox, WindowColour::Secondary, STR_RANDOM_COLOUR ), WIDGETS_END, }; @@ -4200,6 +4202,16 @@ static void WindowRideColourMouseup(rct_window* w, rct_widgetindex widgetIndex) case WIDX_PAINT_INDIVIDUAL_AREA: tool_set(w, WIDX_PAINT_INDIVIDUAL_AREA, Tool::PaintDown); break; + case WIDX_SELL_ITEM_RANDOM_COLOUR_CHECKBOX: + auto ride = get_ride(w->rideId); + if (ride != nullptr) + { + const bool currentlyEnabled = ride->HasLifecycleFlag(RIDE_LIFECYCLE_RANDOM_SHOP_COLOURS); + auto rideSetAppearanceAction = RideSetAppearanceAction( + w->rideId, RideSetAppearanceType::SellingItemColourIsRandom, currentlyEnabled ? 0 : 1, 0); + GameActions::Execute(&rideSetAppearanceAction); + } + break; } } @@ -4568,6 +4580,24 @@ static void WindowRideColourInvalidate(rct_window* w) window_ride_colour_widgets[WIDX_TRACK_ADDITIONAL_COLOUR].type = WindowWidgetType::Empty; } + // Selling item random colour checkbox + if (ride->HasRecolourableShopItems()) + { + window_ride_colour_widgets[WIDX_SELL_ITEM_RANDOM_COLOUR_CHECKBOX].type = WindowWidgetType::Checkbox; + if (ride->HasLifecycleFlag(RIDE_LIFECYCLE_RANDOM_SHOP_COLOURS)) + { + w->pressed_widgets |= (1ULL << WIDX_SELL_ITEM_RANDOM_COLOUR_CHECKBOX); + } + else + { + w->pressed_widgets &= ~(1ULL << WIDX_SELL_ITEM_RANDOM_COLOUR_CHECKBOX); + } + } + else + { + window_ride_colour_widgets[WIDX_SELL_ITEM_RANDOM_COLOUR_CHECKBOX].type = WindowWidgetType::Empty; + } + // Track supports colour if (WindowRideHasTrackColour(ride, 2) && ride->type != RIDE_TYPE_MAZE) { @@ -4778,7 +4808,25 @@ static void WindowRideColourPaint(rct_window* w, rct_drawpixelinfo* dpi) (trackPreviewWidget.bottom + trackPreviewWidget.top) / 2 - 6 }; ShopItem shopItem = rideEntry->shop_item[1] == ShopItem::None ? rideEntry->shop_item[0] : rideEntry->shop_item[1]; - gfx_draw_sprite(dpi, ImageId(GetShopItemDescriptor(shopItem).Image, ride->track_colour[0].main), screenCoords); + if (ride->HasLifecycleFlag(RIDE_LIFECYCLE_RANDOM_SHOP_COLOURS)) + { + static colour_t spriteColour = COLOUR_BLACK; + // Limit update rate of preview to avoid making people dizzy. + if ((gCurrentTicks % 64) == 0) + { + spriteColour++; + if (spriteColour >= COLOUR_COUNT) + { + spriteColour = COLOUR_BLACK; + } + } + + gfx_draw_sprite(dpi, ImageId(GetShopItemDescriptor(shopItem).Image, spriteColour), screenCoords); + } + else + { + gfx_draw_sprite(dpi, ImageId(GetShopItemDescriptor(shopItem).Image, ride->track_colour[0].main), screenCoords); + } } // Entrance preview diff --git a/src/openrct2/actions/RideSetAppearanceAction.cpp b/src/openrct2/actions/RideSetAppearanceAction.cpp index 9487673a45..b5275d1be1 100644 --- a/src/openrct2/actions/RideSetAppearanceAction.cpp +++ b/src/openrct2/actions/RideSetAppearanceAction.cpp @@ -79,6 +79,7 @@ GameActions::Result RideSetAppearanceAction::Query() const break; case RideSetAppearanceType::VehicleColourScheme: case RideSetAppearanceType::EntranceStyle: + case RideSetAppearanceType::SellingItemColourIsRandom: break; default: log_warning("Invalid game command, type %d not recognised", _type); @@ -137,6 +138,9 @@ GameActions::Result RideSetAppearanceAction::Execute() const ride->entrance_style = _value; gfx_invalidate_screen(); break; + case RideSetAppearanceType::SellingItemColourIsRandom: + ride->SetLifecycleFlag(RIDE_LIFECYCLE_RANDOM_SHOP_COLOURS, static_cast(_value)); + break; } window_invalidate_by_number(WC_RIDE, _rideIndex.ToUnderlying()); diff --git a/src/openrct2/actions/RideSetAppearanceAction.h b/src/openrct2/actions/RideSetAppearanceAction.h index e2b42697c8..31107883c9 100644 --- a/src/openrct2/actions/RideSetAppearanceAction.h +++ b/src/openrct2/actions/RideSetAppearanceAction.h @@ -21,7 +21,8 @@ enum class RideSetAppearanceType : uint8_t VehicleColourTrim, VehicleColourTernary, VehicleColourScheme, - EntranceStyle + EntranceStyle, + SellingItemColourIsRandom }; class RideSetAppearanceAction final : public GameActionBase diff --git a/src/openrct2/entity/Guest.cpp b/src/openrct2/entity/Guest.cpp index 5bc7ad38ac..0dad6cd517 100644 --- a/src/openrct2/entity/Guest.cpp +++ b/src/openrct2/entity/Guest.cpp @@ -1613,18 +1613,19 @@ bool Guest::DecideAndBuyItem(Ride* ride, ShopItem shopItem, money32 price) // The peep has now decided to buy the item (or, specifically, has not been // dissuaded so far). GiveItem(shopItem); + const auto hasRandomShopColour = ride->HasLifecycleFlag(RIDE_LIFECYCLE_RANDOM_SHOP_COLOURS); if (shopItem == ShopItem::TShirt) - TshirtColour = ride->track_colour[0].main; + TshirtColour = hasRandomShopColour ? scenario_rand_max(COLOUR_COUNT - 1) : ride->track_colour[0].main; if (shopItem == ShopItem::Hat) - HatColour = ride->track_colour[0].main; + HatColour = hasRandomShopColour ? scenario_rand_max(COLOUR_COUNT - 1) : ride->track_colour[0].main; if (shopItem == ShopItem::Balloon) - BalloonColour = ride->track_colour[0].main; + BalloonColour = hasRandomShopColour ? scenario_rand_max(COLOUR_COUNT - 1) : ride->track_colour[0].main; if (shopItem == ShopItem::Umbrella) - UmbrellaColour = ride->track_colour[0].main; + UmbrellaColour = hasRandomShopColour ? scenario_rand_max(COLOUR_COUNT - 1) : ride->track_colour[0].main; if (shopItem == ShopItem::Map) ResetPathfindGoal(); diff --git a/src/openrct2/localisation/StringIds.h b/src/openrct2/localisation/StringIds.h index 59ab2ad435..c1aba96eec 100644 --- a/src/openrct2/localisation/StringIds.h +++ b/src/openrct2/localisation/StringIds.h @@ -3880,6 +3880,8 @@ enum : uint16_t STR_VEHICLE_UNSUPPORTED_TD6 = 6499, STR_TRACK_ELEM_UNSUPPORTED_TD6 = 6500, + STR_RANDOM_COLOUR = 6501, + // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working /* MAX_STR_COUNT = 32768 */ // MAX_STR_COUNT - upper limit for number of strings, not the current count strings }; diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 7c0a2f750f..84a36aac78 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -42,7 +42,7 @@ // This string specifies which version of network stream current build uses. // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "0" +#define NETWORK_STREAM_VERSION "1" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION static Peep* _pickup_peep = nullptr; diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index bfcfb7e9d3..4d8338412a 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -5849,6 +5849,36 @@ void Ride::UpdateRideTypeForAllPieces() } } +bool Ride::HasLifecycleFlag(uint32_t flag) const +{ + return (lifecycle_flags & flag) != 0; +} + +void Ride::SetLifecycleFlag(uint32_t flag, bool on) +{ + if (on) + lifecycle_flags |= flag; + else + lifecycle_flags &= ~flag; +} + +bool Ride::HasRecolourableShopItems() const +{ + const auto rideEntry = GetRideEntry(); + if (rideEntry == nullptr) + return false; + + for (size_t itemIndex = 0; itemIndex < std::size(rideEntry->shop_item); itemIndex++) + { + const ShopItem currentItem = rideEntry->shop_item[itemIndex]; + if (currentItem != ShopItem::None && GetShopItemDescriptor(currentItem).IsRecolourable()) + { + return true; + } + } + return false; +} + std::vector GetTracklessRides() { // Iterate map and build list of seen ride IDs diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index 2c65d3772f..8d6525f10c 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -384,6 +384,11 @@ public: const StationObject* GetStationObject() const; const MusicObject* GetMusicObject() const; + + bool HasLifecycleFlag(uint32_t flag) const; + void SetLifecycleFlag(uint32_t flag, bool on); + + bool HasRecolourableShopItems() const; }; #pragma pack(push, 1) @@ -437,6 +442,7 @@ enum RIDE_LIFECYCLE_NOT_CUSTOM_DESIGN = 1 << 18, // Used for the Award for Best Custom-designed Rides RIDE_LIFECYCLE_SIX_FLAGS_DEPRECATED = 1 << 19, // Not used anymore RIDE_LIFECYCLE_FIXED_RATINGS = 1 << 20, // When set, the ratings will not be updated (useful for hacked rides). + RIDE_LIFECYCLE_RANDOM_SHOP_COLOURS = 1 << 21, }; // Constants used by the ride_type->flags property at 0x008 diff --git a/src/openrct2/ride/ShopItem.cpp b/src/openrct2/ride/ShopItem.cpp index 1468142d4f..98f132a76d 100644 --- a/src/openrct2/ride/ShopItem.cpp +++ b/src/openrct2/ride/ShopItem.cpp @@ -25,61 +25,61 @@ uint64_t gSamePriceThroughoutPark; // clang-format off /** rct2: 0x00982164 (cost, base value, hot and cold value); 0x00982358 (default price) */ constexpr ShopItemDescriptor ShopItems[EnumValue(ShopItem::Count)] = { - // Item, Cost, Base value, Hot value, Cold value, Default price, Image, Price label, Singular, Plural, Indefinite, Display (in guest inventory), Shop Item Flag, Litter type, Consumption time, Discard Container, Peep thought price too much, Peep thought price good value, - /* ShopItem::Balloon */ { 0.30_GBP, 1.40_GBP, 1.40_GBP, 1.40_GBP, 0.90_GBP, SPR_SHOP_ITEM_BALLOON, { STR_SHOP_ITEM_PRICE_LABEL_BALLOON, STR_SHOP_ITEM_SINGULAR_BALLOON, STR_SHOP_ITEM_PLURAL_BALLOON, STR_SHOP_ITEM_INDEFINITE_BALLOON, STR_SHOP_ITEM_DISPLAY_BALLOON }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::BalloonMuch, PeepThoughtType::Balloon }, - /* ShopItem::Toy */ { 1.50_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 2.50_GBP, SPR_SHOP_ITEM_TOY, { STR_SHOP_ITEM_PRICE_LABEL_CUDDLY_TOY, STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY, STR_SHOP_ITEM_PLURAL_CUDDLY_TOY, STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY, STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::ToyMuch, PeepThoughtType::Toy }, - /* ShopItem::Map */ { 0.10_GBP, 0.70_GBP, 0.70_GBP, 0.80_GBP, 0.60_GBP, SPR_SHOP_ITEM_MAP, { STR_SHOP_ITEM_PRICE_LABEL_PARK_MAP, STR_SHOP_ITEM_SINGULAR_PARK_MAP, STR_SHOP_ITEM_PLURAL_PARK_MAP, STR_SHOP_ITEM_INDEFINITE_PARK_MAP, STR_SHOP_ITEM_DISPLAY_PARK_MAP }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::MapMuch, PeepThoughtType::Map }, - /* ShopItem::Photo */ { 0.20_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_PHOTO, { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::PhotoMuch, PeepThoughtType::Photo }, - /* ShopItem::Umbrella */ { 2.00_GBP, 3.50_GBP, 2.50_GBP, 5.00_GBP, 2.50_GBP, SPR_SHOP_ITEM_UMBRELLA, { STR_SHOP_ITEM_PRICE_LABEL_UMBRELLA, STR_SHOP_ITEM_SINGULAR_UMBRELLA, STR_SHOP_ITEM_PLURAL_UMBRELLA, STR_SHOP_ITEM_INDEFINITE_UMBRELLA, STR_SHOP_ITEM_DISPLAY_UMBRELLA }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::UmbrellaMuch, PeepThoughtType::Umbrella }, - /* ShopItem::Drink */ { 0.30_GBP, 1.20_GBP, 2.00_GBP, 1.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_DRINK, { STR_SHOP_ITEM_PRICE_LABEL_DRINK, STR_SHOP_ITEM_SINGULAR_DRINK, STR_SHOP_ITEM_PLURAL_DRINK, STR_SHOP_ITEM_INDEFINITE_DRINK, STR_SHOP_ITEM_DISPLAY_DRINK }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 100, ShopItem::EmptyCan, PeepThoughtType::DrinkMuch, PeepThoughtType::Drink }, - /* ShopItem::Burger */ { 0.50_GBP, 1.90_GBP, 1.90_GBP, 2.20_GBP, 1.50_GBP, SPR_SHOP_ITEM_BURGER, { STR_SHOP_ITEM_PRICE_LABEL_BURGER, STR_SHOP_ITEM_SINGULAR_BURGER, STR_SHOP_ITEM_PLURAL_BURGER, STR_SHOP_ITEM_INDEFINITE_BURGER, STR_SHOP_ITEM_DISPLAY_BURGER }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 150, ShopItem::EmptyBurgerBox, PeepThoughtType::BurgerMuch, PeepThoughtType::Burger }, - /* ShopItem::Chips */ { 0.40_GBP, 1.60_GBP, 1.60_GBP, 1.80_GBP, 1.50_GBP, SPR_SHOP_ITEM_CHIPS, { STR_SHOP_ITEM_PRICE_LABEL_CHIPS, STR_SHOP_ITEM_SINGULAR_CHIPS, STR_SHOP_ITEM_PLURAL_CHIPS, STR_SHOP_ITEM_INDEFINITE_CHIPS, STR_SHOP_ITEM_DISPLAY_CHIPS }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 120, ShopItem::Rubbish, PeepThoughtType::ChipsMuch, PeepThoughtType::Chips }, - /* ShopItem::IceCream */ { 0.40_GBP, 1.00_GBP, 1.50_GBP, 0.60_GBP, 0.90_GBP, SPR_SHOP_ITEM_ICE_CREAM, { STR_SHOP_ITEM_PRICE_LABEL_ICE_CREAM, STR_SHOP_ITEM_SINGULAR_ICE_CREAM, STR_SHOP_ITEM_PLURAL_ICE_CREAM, STR_SHOP_ITEM_INDEFINITE_ICE_CREAM, STR_SHOP_ITEM_DISPLAY_ICE_CREAM }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 60, ShopItem::None, PeepThoughtType::IceCreamMuch, PeepThoughtType::IceCream }, - /* ShopItem::Candyfloss */ { 0.30_GBP, 0.90_GBP, 0.90_GBP, 0.60_GBP, 0.80_GBP, SPR_SHOP_ITEM_CANDYFLOSS, { STR_SHOP_ITEM_PRICE_LABEL_CANDYFLOSS, STR_SHOP_ITEM_SINGULAR_CANDYFLOSS, STR_SHOP_ITEM_PLURAL_CANDYFLOSS, STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS, STR_SHOP_ITEM_DISPLAY_CANDYFLOSS }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 50, ShopItem::None, PeepThoughtType::CandyflossMuch, PeepThoughtType::Candyfloss }, - /* ShopItem::EmptyCan */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_CAN, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CAN, STR_SHOP_ITEM_SINGULAR_EMPTY_CAN, STR_SHOP_ITEM_PLURAL_EMPTY_CAN, STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN, STR_SHOP_ITEM_DISPLAY_EMPTY_CAN }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyCan, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::Rubbish */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_RUBBISH, { STR_SHOP_ITEM_PRICE_LABEL_RUBBISH, STR_SHOP_ITEM_SINGULAR_RUBBISH, STR_SHOP_ITEM_PLURAL_RUBBISH, STR_SHOP_ITEM_INDEFINITE_RUBBISH, STR_SHOP_ITEM_DISPLAY_RUBBISH }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::EmptyBurgerBox */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BURGER_BOX, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BURGER_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BURGER_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BURGER_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BURGER_BOX }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::BurgerBox, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::Pizza */ { 0.60_GBP, 2.10_GBP, 2.10_GBP, 2.50_GBP, 1.60_GBP, SPR_SHOP_ITEM_PIZZA, { STR_SHOP_ITEM_PRICE_LABEL_PIZZA, STR_SHOP_ITEM_SINGULAR_PIZZA, STR_SHOP_ITEM_PLURAL_PIZZA, STR_SHOP_ITEM_INDEFINITE_PIZZA, STR_SHOP_ITEM_DISPLAY_PIZZA }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 150, ShopItem::Rubbish, PeepThoughtType::PizzaMuch, PeepThoughtType::Pizza }, - /* ShopItem::Voucher */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_VOUCHER, { STR_SHOP_ITEM_PRICE_LABEL_VOUCHER, STR_SHOP_ITEM_SINGULAR_VOUCHER, STR_SHOP_ITEM_PLURAL_VOUCHER, STR_SHOP_ITEM_INDEFINITE_VOUCHER, STR_SHOP_ITEM_DISPLAY_VOUCHER }, 0, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::Popcorn */ { 0.50_GBP, 1.30_GBP, 1.30_GBP, 1.10_GBP, 1.20_GBP, SPR_SHOP_ITEM_POPCORN, { STR_SHOP_ITEM_PRICE_LABEL_POPCORN, STR_SHOP_ITEM_SINGULAR_POPCORN, STR_SHOP_ITEM_PLURAL_POPCORN, STR_SHOP_ITEM_INDEFINITE_POPCORN, STR_SHOP_ITEM_DISPLAY_POPCORN }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 75, ShopItem::Rubbish, PeepThoughtType::PopcornMuch, PeepThoughtType::Popcorn }, - /* ShopItem::HotDog */ { 0.50_GBP, 1.70_GBP, 1.70_GBP, 2.00_GBP, 1.00_GBP, SPR_SHOP_ITEM_HOT_DOG, { STR_SHOP_ITEM_PRICE_LABEL_HOT_DOG, STR_SHOP_ITEM_SINGULAR_HOT_DOG, STR_SHOP_ITEM_PLURAL_HOT_DOG, STR_SHOP_ITEM_INDEFINITE_HOT_DOG, STR_SHOP_ITEM_DISPLAY_HOT_DOG }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 133, ShopItem::None, PeepThoughtType::HotDogMuch, PeepThoughtType::HotDog }, - /* ShopItem::Tentacle */ { 1.10_GBP, 2.20_GBP, 2.00_GBP, 1.80_GBP, 1.50_GBP, SPR_SHOP_ITEM_TENTACLE, { STR_SHOP_ITEM_PRICE_LABEL_TENTACLE, STR_SHOP_ITEM_SINGULAR_TENTACLE, STR_SHOP_ITEM_PLURAL_TENTACLE, STR_SHOP_ITEM_INDEFINITE_TENTACLE, STR_SHOP_ITEM_DISPLAY_TENTACLE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 110, ShopItem::None, PeepThoughtType::TentacleMuch, PeepThoughtType::Tentacle }, - /* ShopItem::Hat */ { 0.90_GBP, 2.70_GBP, 3.20_GBP, 2.40_GBP, 1.50_GBP, SPR_SHOP_ITEM_HAT, { STR_SHOP_ITEM_PRICE_LABEL_HAT, STR_SHOP_ITEM_SINGULAR_HAT, STR_SHOP_ITEM_PLURAL_HAT, STR_SHOP_ITEM_INDEFINITE_HAT, STR_SHOP_ITEM_DISPLAY_HAT }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::HatMuch, PeepThoughtType::Hat }, - /* ShopItem::ToffeeApple */ { 0.40_GBP, 1.00_GBP, 1.00_GBP, 1.00_GBP, 0.70_GBP, SPR_SHOP_ITEM_TOFFEE_APPLE, { STR_SHOP_ITEM_PRICE_LABEL_TOFFEE_APPLE, STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE, STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE, STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE, STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 50, ShopItem::None, PeepThoughtType::ToffeeAppleMuch, PeepThoughtType::ToffeeApple }, - /* ShopItem::TShirt */ { 2.00_GBP, 3.70_GBP, 3.70_GBP, 3.70_GBP, 3.00_GBP, SPR_SHOP_ITEM_TSHIRT, { STR_SHOP_ITEM_PRICE_LABEL_T_SHIRT, STR_SHOP_ITEM_SINGULAR_T_SHIRT, STR_SHOP_ITEM_PLURAL_T_SHIRT, STR_SHOP_ITEM_INDEFINITE_T_SHIRT, STR_SHOP_ITEM_DISPLAY_T_SHIRT }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::TshirtMuch, PeepThoughtType::Tshirt }, - /* ShopItem::Doughnut */ { 0.40_GBP, 0.80_GBP, 0.70_GBP, 1.00_GBP, 0.70_GBP, SPR_SHOP_ITEM_DOUGHNUT, { STR_SHOP_ITEM_PRICE_LABEL_DOUGHNUT, STR_SHOP_ITEM_SINGULAR_DOUGHNUT, STR_SHOP_ITEM_PLURAL_DOUGHNUT, STR_SHOP_ITEM_INDEFINITE_DOUGHNUT, STR_SHOP_ITEM_DISPLAY_DOUGHNUT }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 80, ShopItem::None, PeepThoughtType::DoughnutMuch, PeepThoughtType::Doughnut }, - /* ShopItem::Coffee */ { 0.30_GBP, 1.10_GBP, 1.50_GBP, 2.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_COFFEE, { STR_SHOP_ITEM_PRICE_LABEL_COFFEE, STR_SHOP_ITEM_SINGULAR_COFFEE, STR_SHOP_ITEM_PLURAL_COFFEE, STR_SHOP_ITEM_INDEFINITE_COFFEE, STR_SHOP_ITEM_DISPLAY_COFFEE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 90, ShopItem::EmptyCup, PeepThoughtType::CoffeeMuch, PeepThoughtType::Coffee }, - /* ShopItem::EmptyCup */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_CUP, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_CUP }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyCup, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::Chicken */ { 0.50_GBP, 1.90_GBP, 1.90_GBP, 2.20_GBP, 1.50_GBP, SPR_SHOP_ITEM_CHICKEN, { STR_SHOP_ITEM_PRICE_LABEL_FRIED_CHICKEN, STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN, STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN, STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN, STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::EmptyBox, 170, ShopItem::EmptyBox, PeepThoughtType::ChickenMuch, PeepThoughtType::Chicken }, - /* ShopItem::Lemonade */ { 0.40_GBP, 1.10_GBP, 2.10_GBP, 1.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_LEMONADE, { STR_SHOP_ITEM_PRICE_LABEL_LEMONADE, STR_SHOP_ITEM_SINGULAR_LEMONADE, STR_SHOP_ITEM_PLURAL_LEMONADE, STR_SHOP_ITEM_INDEFINITE_LEMONADE, STR_SHOP_ITEM_DISPLAY_LEMONADE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::EmptyBottle, 115, ShopItem::EmptyBottle, PeepThoughtType::LemonadeMuch, PeepThoughtType::Lemonade }, - /* ShopItem::EmptyBox */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BOX, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BOX }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBox, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::EmptyBottle */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BOTTLE, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOTTLE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE, STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBottle, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* 28 */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Vomit, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* 29 */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Vomit, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* 30 */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Vomit, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::Admission */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Vomit, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::Photo2 */ { 0.20_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_PHOTO2, { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::Photo2Much, PeepThoughtType::Photo2 }, - /* ShopItem::Photo3 */ { 0.20_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_PHOTO3, { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::Photo3Much, PeepThoughtType::Photo3 }, - /* ShopItem::Photo4 */ { 0.20_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_PHOTO4, { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::Photo4Much, PeepThoughtType::Photo4 }, - /* ShopItem::Pretzel */ { 0.50_GBP, 1.10_GBP, 1.10_GBP, 1.10_GBP, 1.10_GBP, SPR_SHOP_ITEM_PRETZEL, { STR_SHOP_ITEM_PRICE_LABEL_PRETZEL, STR_SHOP_ITEM_SINGULAR_PRETZEL, STR_SHOP_ITEM_PLURAL_PRETZEL, STR_SHOP_ITEM_INDEFINITE_PRETZEL, STR_SHOP_ITEM_DISPLAY_PRETZEL }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 70, ShopItem::None, PeepThoughtType::PretzelMuch, PeepThoughtType::Pretzel }, - /* ShopItem::Chocolate */ { 0.40_GBP, 1.30_GBP, 1.30_GBP, 2.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_CHOCOLATE, { STR_SHOP_ITEM_PRICE_LABEL_HOT_CHOCOLATE, STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE, STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE, STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE, STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 85, ShopItem::EmptyCup, PeepThoughtType::HotChocolateMuch, PeepThoughtType::HotChocolate }, - /* ShopItem::IcedTea */ { 0.30_GBP, 1.00_GBP, 2.00_GBP, 1.00_GBP, 1.10_GBP, SPR_SHOP_ITEM_ICED_TEA, { STR_SHOP_ITEM_PRICE_LABEL_ICED_TEA, STR_SHOP_ITEM_SINGULAR_ICED_TEA, STR_SHOP_ITEM_PLURAL_ICED_TEA, STR_SHOP_ITEM_INDEFINITE_ICED_TEA, STR_SHOP_ITEM_DISPLAY_ICED_TEA }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 95, ShopItem::EmptyCup, PeepThoughtType::IcedTeaMuch, PeepThoughtType::IcedTea }, - /* ShopItem::FunnelCake */ { 0.50_GBP, 1.30_GBP, 1.10_GBP, 1.40_GBP, 1.20_GBP, SPR_SHOP_ITEM_FUNNEL_CAKE, { STR_SHOP_ITEM_PRICE_LABEL_FUNNEL_CAKE, STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE, STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE, STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE, STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 90, ShopItem::None, PeepThoughtType::FunnelCakeMuch, PeepThoughtType::FunnelCake }, - /* ShopItem::Sunglasses */ { 0.80_GBP, 1.50_GBP, 2.00_GBP, 1.20_GBP, 1.50_GBP, SPR_SHOP_ITEM_SUNGLASSES, { STR_SHOP_ITEM_PRICE_LABEL_SUNGLASSES, STR_SHOP_ITEM_SINGULAR_SUNGLASSES, STR_SHOP_ITEM_PLURAL_SUNGLASSES, STR_SHOP_ITEM_INDEFINITE_SUNGLASSES, STR_SHOP_ITEM_DISPLAY_SUNGLASSES }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::SunglassesMuch, PeepThoughtType::Sunglasses }, - /* ShopItem::BeefNoodles */ { 0.70_GBP, 1.70_GBP, 1.70_GBP, 2.00_GBP, 1.50_GBP, SPR_SHOP_ITEM_BEEF_NOODLES, { STR_SHOP_ITEM_PRICE_LABEL_BEEF_NOODLES, STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES, STR_SHOP_ITEM_PLURAL_BEEF_NOODLES, STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES, STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 130, ShopItem::EmptyBowlBlue, PeepThoughtType::BeefNoodlesMuch, PeepThoughtType::BeefNoodles }, - /* ShopItem::FriedRiceNoodles */ { 0.60_GBP, 1.70_GBP, 1.70_GBP, 2.00_GBP, 1.50_GBP, SPR_SHOP_ITEM_FRIED_RICE_NOODLES, { STR_SHOP_ITEM_PRICE_LABEL_FRIED_RICE_NOODLES, STR_SHOP_ITEM_SINGULAR_FRIED_RICE_NOODLES, STR_SHOP_ITEM_PLURAL_FRIED_RICE_NOODLES, STR_SHOP_ITEM_INDEFINITE_FRIED_RICE_NOODLES, STR_SHOP_ITEM_DISPLAY_FRIED_RICE_NOODLES }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 120, ShopItem::EmptyBowlBlue, PeepThoughtType::FriedRiceNoodlesMuch, PeepThoughtType::FriedRiceNoodles }, - /* ShopItem::WontonSoup */ { 0.40_GBP, 1.30_GBP, 1.30_GBP, 1.50_GBP, 1.50_GBP, SPR_SHOP_ITEM_WONTON_SOUP, { STR_SHOP_ITEM_PRICE_LABEL_WONTON_SOUP, STR_SHOP_ITEM_SINGULAR_WONTON_SOUP, STR_SHOP_ITEM_PLURAL_WONTON_SOUP, STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP, STR_SHOP_ITEM_DISPLAY_WONTON_SOUP }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 100, ShopItem::EmptyBowlRed, PeepThoughtType::WontonSoupMuch, PeepThoughtType::WontonSoup }, - /* ShopItem::MeatballSoup */ { 0.50_GBP, 1.40_GBP, 1.40_GBP, 1.60_GBP, 1.50_GBP, SPR_SHOP_ITEM_MEATBALL_SOUP, { STR_SHOP_ITEM_PRICE_LABEL_MEATBALL_SOUP, STR_SHOP_ITEM_SINGULAR_MEATBALL_SOUP, STR_SHOP_ITEM_PLURAL_MEATBALL_SOUP, STR_SHOP_ITEM_INDEFINITE_MEATBALL_SOUP, STR_SHOP_ITEM_DISPLAY_MEATBALL_SOUP }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 110, ShopItem::EmptyBowlRed, PeepThoughtType::MeatballSoupMuch, PeepThoughtType::MeatballSoup }, - /* ShopItem::FruitJuice */ { 0.40_GBP, 1.10_GBP, 1.90_GBP, 1.10_GBP, 1.20_GBP, SPR_SHOP_ITEM_FRUIT_JUICE, { STR_SHOP_ITEM_PRICE_LABEL_FRUIT_JUICE, STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE, STR_SHOP_ITEM_PLURAL_FRUIT_JUICE, STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE, STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 110, ShopItem::EmptyJuiceCup, PeepThoughtType::FruitJuiceMuch, PeepThoughtType::FruitJuice }, - /* ShopItem::SoybeanMilk */ { 0.40_GBP, 1.00_GBP, 1.40_GBP, 1.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_SOYBEAN_MILK, { STR_SHOP_ITEM_PRICE_LABEL_SOYBEAN_MILK, STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK, STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK, STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK, STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 90, ShopItem::EmptyDrinkCarton, PeepThoughtType::SoybeanMilkMuch, PeepThoughtType::SoybeanMilk }, - /* ShopItem::Sujeonggwa */ { 0.30_GBP, 1.10_GBP, 1.40_GBP, 1.10_GBP, 1.20_GBP, SPR_SHOP_ITEM_SUJEONGGWA, { STR_SHOP_ITEM_PRICE_LABEL_SUJONGKWA, STR_SHOP_ITEM_SINGULAR_SUJONGKWA, STR_SHOP_ITEM_PLURAL_SUJONGKWA, STR_SHOP_ITEM_INDEFINITE_SUJONGKWA, STR_SHOP_ITEM_DISPLAY_SUJONGKWA }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 100, ShopItem::EmptyDrinkCarton, PeepThoughtType::SujongkwaMuch, PeepThoughtType::Sujongkwa }, - /* ShopItem::SubSandwich */ { 0.50_GBP, 1.90_GBP, 1.90_GBP, 1.70_GBP, 1.50_GBP, SPR_SHOP_ITEM_SUB_SANDWICH, { STR_SHOP_ITEM_PRICE_LABEL_SUB_SANDWICH, STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH, STR_SHOP_ITEM_PLURAL_SUB_SANDWICH, STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH, STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 130, ShopItem::None, PeepThoughtType::SubSandwichMuch, PeepThoughtType::SubSandwich }, - /* ShopItem::Cookie */ { 0.40_GBP, 0.80_GBP, 0.80_GBP, 0.80_GBP, 0.70_GBP, SPR_SHOP_ITEM_COOKIE, { STR_SHOP_ITEM_PRICE_LABEL_COOKIE, STR_SHOP_ITEM_SINGULAR_COOKIE, STR_SHOP_ITEM_PLURAL_COOKIE, STR_SHOP_ITEM_INDEFINITE_COOKIE, STR_SHOP_ITEM_DISPLAY_COOKIE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 75, ShopItem::None, PeepThoughtType::CookieMuch, PeepThoughtType::Cookie }, - /* ShopItem::EmptyBowlRed */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BOWL_RED, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_RED, STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_RED, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_RED, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_RED }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBowlRed, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::EmptyDrinkCarton */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_DRINK_CARTON, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_PLURAL_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_INDEFINITE_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_DISPLAY_EMPTY_DRINK_CARTON }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyDrinkCarton, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::EmptyJuiceCup */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_JUICE_CUP, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_JUICE_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_JUICE_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_JUICE_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_JUICE_CUP }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyJuiceCup, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, - /* ShopItem::RoastSausage */ { 0.50_GBP, 1.60_GBP, 1.60_GBP, 2.00_GBP, 1.50_GBP, SPR_SHOP_ITEM_ROAST_SAUSAGE, { STR_SHOP_ITEM_PRICE_LABEL_ROAST_SAUSAGE, STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE, STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE, STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE, STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 115, ShopItem::None, PeepThoughtType::RoastSausageMuch, PeepThoughtType::RoastSausage }, - /* ShopItem::EmptyBowlBlue */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BOWL_BLUE, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_BLUE }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBowlBlue, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + // Item, Cost, Base value, Hot value, Cold value, Default price, Image, Price label, Singular, Plural, Indefinite, Display (in guest inventory), Shop Item Flag, Litter type, Consumption time, Discard Container, Peep thought price too much, Peep thought price good value, + /* ShopItem::Balloon */ { 0.30_GBP, 1.40_GBP, 1.40_GBP, 1.40_GBP, 0.90_GBP, SPR_SHOP_ITEM_BALLOON, { STR_SHOP_ITEM_PRICE_LABEL_BALLOON, STR_SHOP_ITEM_SINGULAR_BALLOON, STR_SHOP_ITEM_PLURAL_BALLOON, STR_SHOP_ITEM_INDEFINITE_BALLOON, STR_SHOP_ITEM_DISPLAY_BALLOON }, SHOP_ITEM_FLAG_IS_SOUVENIR | SHOP_ITEM_FLAG_IS_RECOLOURABLE, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::BalloonMuch, PeepThoughtType::Balloon }, + /* ShopItem::Toy */ { 1.50_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 2.50_GBP, SPR_SHOP_ITEM_TOY, { STR_SHOP_ITEM_PRICE_LABEL_CUDDLY_TOY, STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY, STR_SHOP_ITEM_PLURAL_CUDDLY_TOY, STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY, STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::ToyMuch, PeepThoughtType::Toy }, + /* ShopItem::Map */ { 0.10_GBP, 0.70_GBP, 0.70_GBP, 0.80_GBP, 0.60_GBP, SPR_SHOP_ITEM_MAP, { STR_SHOP_ITEM_PRICE_LABEL_PARK_MAP, STR_SHOP_ITEM_SINGULAR_PARK_MAP, STR_SHOP_ITEM_PLURAL_PARK_MAP, STR_SHOP_ITEM_INDEFINITE_PARK_MAP, STR_SHOP_ITEM_DISPLAY_PARK_MAP }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::MapMuch, PeepThoughtType::Map }, + /* ShopItem::Photo */ { 0.20_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_PHOTO, { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::PhotoMuch, PeepThoughtType::Photo }, + /* ShopItem::Umbrella */ { 2.00_GBP, 3.50_GBP, 2.50_GBP, 5.00_GBP, 2.50_GBP, SPR_SHOP_ITEM_UMBRELLA, { STR_SHOP_ITEM_PRICE_LABEL_UMBRELLA, STR_SHOP_ITEM_SINGULAR_UMBRELLA, STR_SHOP_ITEM_PLURAL_UMBRELLA, STR_SHOP_ITEM_INDEFINITE_UMBRELLA, STR_SHOP_ITEM_DISPLAY_UMBRELLA }, SHOP_ITEM_FLAG_IS_SOUVENIR | SHOP_ITEM_FLAG_IS_RECOLOURABLE, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::UmbrellaMuch, PeepThoughtType::Umbrella }, + /* ShopItem::Drink */ { 0.30_GBP, 1.20_GBP, 2.00_GBP, 1.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_DRINK, { STR_SHOP_ITEM_PRICE_LABEL_DRINK, STR_SHOP_ITEM_SINGULAR_DRINK, STR_SHOP_ITEM_PLURAL_DRINK, STR_SHOP_ITEM_INDEFINITE_DRINK, STR_SHOP_ITEM_DISPLAY_DRINK }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 100, ShopItem::EmptyCan, PeepThoughtType::DrinkMuch, PeepThoughtType::Drink }, + /* ShopItem::Burger */ { 0.50_GBP, 1.90_GBP, 1.90_GBP, 2.20_GBP, 1.50_GBP, SPR_SHOP_ITEM_BURGER, { STR_SHOP_ITEM_PRICE_LABEL_BURGER, STR_SHOP_ITEM_SINGULAR_BURGER, STR_SHOP_ITEM_PLURAL_BURGER, STR_SHOP_ITEM_INDEFINITE_BURGER, STR_SHOP_ITEM_DISPLAY_BURGER }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 150, ShopItem::EmptyBurgerBox, PeepThoughtType::BurgerMuch, PeepThoughtType::Burger }, + /* ShopItem::Chips */ { 0.40_GBP, 1.60_GBP, 1.60_GBP, 1.80_GBP, 1.50_GBP, SPR_SHOP_ITEM_CHIPS, { STR_SHOP_ITEM_PRICE_LABEL_CHIPS, STR_SHOP_ITEM_SINGULAR_CHIPS, STR_SHOP_ITEM_PLURAL_CHIPS, STR_SHOP_ITEM_INDEFINITE_CHIPS, STR_SHOP_ITEM_DISPLAY_CHIPS }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 120, ShopItem::Rubbish, PeepThoughtType::ChipsMuch, PeepThoughtType::Chips }, + /* ShopItem::IceCream */ { 0.40_GBP, 1.00_GBP, 1.50_GBP, 0.60_GBP, 0.90_GBP, SPR_SHOP_ITEM_ICE_CREAM, { STR_SHOP_ITEM_PRICE_LABEL_ICE_CREAM, STR_SHOP_ITEM_SINGULAR_ICE_CREAM, STR_SHOP_ITEM_PLURAL_ICE_CREAM, STR_SHOP_ITEM_INDEFINITE_ICE_CREAM, STR_SHOP_ITEM_DISPLAY_ICE_CREAM }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 60, ShopItem::None, PeepThoughtType::IceCreamMuch, PeepThoughtType::IceCream }, + /* ShopItem::Candyfloss */ { 0.30_GBP, 0.90_GBP, 0.90_GBP, 0.60_GBP, 0.80_GBP, SPR_SHOP_ITEM_CANDYFLOSS, { STR_SHOP_ITEM_PRICE_LABEL_CANDYFLOSS, STR_SHOP_ITEM_SINGULAR_CANDYFLOSS, STR_SHOP_ITEM_PLURAL_CANDYFLOSS, STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS, STR_SHOP_ITEM_DISPLAY_CANDYFLOSS }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 50, ShopItem::None, PeepThoughtType::CandyflossMuch, PeepThoughtType::Candyfloss }, + /* ShopItem::EmptyCan */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_CAN, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CAN, STR_SHOP_ITEM_SINGULAR_EMPTY_CAN, STR_SHOP_ITEM_PLURAL_EMPTY_CAN, STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN, STR_SHOP_ITEM_DISPLAY_EMPTY_CAN }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyCan, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::Rubbish */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_RUBBISH, { STR_SHOP_ITEM_PRICE_LABEL_RUBBISH, STR_SHOP_ITEM_SINGULAR_RUBBISH, STR_SHOP_ITEM_PLURAL_RUBBISH, STR_SHOP_ITEM_INDEFINITE_RUBBISH, STR_SHOP_ITEM_DISPLAY_RUBBISH }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::EmptyBurgerBox */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BURGER_BOX, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BURGER_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BURGER_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BURGER_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BURGER_BOX }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::BurgerBox, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::Pizza */ { 0.60_GBP, 2.10_GBP, 2.10_GBP, 2.50_GBP, 1.60_GBP, SPR_SHOP_ITEM_PIZZA, { STR_SHOP_ITEM_PRICE_LABEL_PIZZA, STR_SHOP_ITEM_SINGULAR_PIZZA, STR_SHOP_ITEM_PLURAL_PIZZA, STR_SHOP_ITEM_INDEFINITE_PIZZA, STR_SHOP_ITEM_DISPLAY_PIZZA }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 150, ShopItem::Rubbish, PeepThoughtType::PizzaMuch, PeepThoughtType::Pizza }, + /* ShopItem::Voucher */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_VOUCHER, { STR_SHOP_ITEM_PRICE_LABEL_VOUCHER, STR_SHOP_ITEM_SINGULAR_VOUCHER, STR_SHOP_ITEM_PLURAL_VOUCHER, STR_SHOP_ITEM_INDEFINITE_VOUCHER, STR_SHOP_ITEM_DISPLAY_VOUCHER }, 0, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::Popcorn */ { 0.50_GBP, 1.30_GBP, 1.30_GBP, 1.10_GBP, 1.20_GBP, SPR_SHOP_ITEM_POPCORN, { STR_SHOP_ITEM_PRICE_LABEL_POPCORN, STR_SHOP_ITEM_SINGULAR_POPCORN, STR_SHOP_ITEM_PLURAL_POPCORN, STR_SHOP_ITEM_INDEFINITE_POPCORN, STR_SHOP_ITEM_DISPLAY_POPCORN }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 75, ShopItem::Rubbish, PeepThoughtType::PopcornMuch, PeepThoughtType::Popcorn }, + /* ShopItem::HotDog */ { 0.50_GBP, 1.70_GBP, 1.70_GBP, 2.00_GBP, 1.00_GBP, SPR_SHOP_ITEM_HOT_DOG, { STR_SHOP_ITEM_PRICE_LABEL_HOT_DOG, STR_SHOP_ITEM_SINGULAR_HOT_DOG, STR_SHOP_ITEM_PLURAL_HOT_DOG, STR_SHOP_ITEM_INDEFINITE_HOT_DOG, STR_SHOP_ITEM_DISPLAY_HOT_DOG }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 133, ShopItem::None, PeepThoughtType::HotDogMuch, PeepThoughtType::HotDog }, + /* ShopItem::Tentacle */ { 1.10_GBP, 2.20_GBP, 2.00_GBP, 1.80_GBP, 1.50_GBP, SPR_SHOP_ITEM_TENTACLE, { STR_SHOP_ITEM_PRICE_LABEL_TENTACLE, STR_SHOP_ITEM_SINGULAR_TENTACLE, STR_SHOP_ITEM_PLURAL_TENTACLE, STR_SHOP_ITEM_INDEFINITE_TENTACLE, STR_SHOP_ITEM_DISPLAY_TENTACLE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 110, ShopItem::None, PeepThoughtType::TentacleMuch, PeepThoughtType::Tentacle }, + /* ShopItem::Hat */ { 0.90_GBP, 2.70_GBP, 3.20_GBP, 2.40_GBP, 1.50_GBP, SPR_SHOP_ITEM_HAT, { STR_SHOP_ITEM_PRICE_LABEL_HAT, STR_SHOP_ITEM_SINGULAR_HAT, STR_SHOP_ITEM_PLURAL_HAT, STR_SHOP_ITEM_INDEFINITE_HAT, STR_SHOP_ITEM_DISPLAY_HAT }, SHOP_ITEM_FLAG_IS_SOUVENIR | SHOP_ITEM_FLAG_IS_RECOLOURABLE, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::HatMuch, PeepThoughtType::Hat }, + /* ShopItem::ToffeeApple */ { 0.40_GBP, 1.00_GBP, 1.00_GBP, 1.00_GBP, 0.70_GBP, SPR_SHOP_ITEM_TOFFEE_APPLE, { STR_SHOP_ITEM_PRICE_LABEL_TOFFEE_APPLE, STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE, STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE, STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE, STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 50, ShopItem::None, PeepThoughtType::ToffeeAppleMuch, PeepThoughtType::ToffeeApple }, + /* ShopItem::TShirt */ { 2.00_GBP, 3.70_GBP, 3.70_GBP, 3.70_GBP, 3.00_GBP, SPR_SHOP_ITEM_TSHIRT, { STR_SHOP_ITEM_PRICE_LABEL_T_SHIRT, STR_SHOP_ITEM_SINGULAR_T_SHIRT, STR_SHOP_ITEM_PLURAL_T_SHIRT, STR_SHOP_ITEM_INDEFINITE_T_SHIRT, STR_SHOP_ITEM_DISPLAY_T_SHIRT }, SHOP_ITEM_FLAG_IS_SOUVENIR | SHOP_ITEM_FLAG_IS_RECOLOURABLE, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::TshirtMuch, PeepThoughtType::Tshirt }, + /* ShopItem::Doughnut */ { 0.40_GBP, 0.80_GBP, 0.70_GBP, 1.00_GBP, 0.70_GBP, SPR_SHOP_ITEM_DOUGHNUT, { STR_SHOP_ITEM_PRICE_LABEL_DOUGHNUT, STR_SHOP_ITEM_SINGULAR_DOUGHNUT, STR_SHOP_ITEM_PLURAL_DOUGHNUT, STR_SHOP_ITEM_INDEFINITE_DOUGHNUT, STR_SHOP_ITEM_DISPLAY_DOUGHNUT }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 80, ShopItem::None, PeepThoughtType::DoughnutMuch, PeepThoughtType::Doughnut }, + /* ShopItem::Coffee */ { 0.30_GBP, 1.10_GBP, 1.50_GBP, 2.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_COFFEE, { STR_SHOP_ITEM_PRICE_LABEL_COFFEE, STR_SHOP_ITEM_SINGULAR_COFFEE, STR_SHOP_ITEM_PLURAL_COFFEE, STR_SHOP_ITEM_INDEFINITE_COFFEE, STR_SHOP_ITEM_DISPLAY_COFFEE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 90, ShopItem::EmptyCup, PeepThoughtType::CoffeeMuch, PeepThoughtType::Coffee }, + /* ShopItem::EmptyCup */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_CUP, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_CUP }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyCup, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::Chicken */ { 0.50_GBP, 1.90_GBP, 1.90_GBP, 2.20_GBP, 1.50_GBP, SPR_SHOP_ITEM_CHICKEN, { STR_SHOP_ITEM_PRICE_LABEL_FRIED_CHICKEN, STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN, STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN, STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN, STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::EmptyBox, 170, ShopItem::EmptyBox, PeepThoughtType::ChickenMuch, PeepThoughtType::Chicken }, + /* ShopItem::Lemonade */ { 0.40_GBP, 1.10_GBP, 2.10_GBP, 1.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_LEMONADE, { STR_SHOP_ITEM_PRICE_LABEL_LEMONADE, STR_SHOP_ITEM_SINGULAR_LEMONADE, STR_SHOP_ITEM_PLURAL_LEMONADE, STR_SHOP_ITEM_INDEFINITE_LEMONADE, STR_SHOP_ITEM_DISPLAY_LEMONADE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::EmptyBottle, 115, ShopItem::EmptyBottle, PeepThoughtType::LemonadeMuch, PeepThoughtType::Lemonade }, + /* ShopItem::EmptyBox */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BOX, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BOX }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBox, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::EmptyBottle */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BOTTLE, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOTTLE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE, STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBottle, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* 28 */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Vomit, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* 29 */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Vomit, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* 30 */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Vomit, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::Admission */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Vomit, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::Photo2 */ { 0.20_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_PHOTO2, { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::Photo2Much, PeepThoughtType::Photo2 }, + /* ShopItem::Photo3 */ { 0.20_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_PHOTO3, { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::Photo3Much, PeepThoughtType::Photo3 }, + /* ShopItem::Photo4 */ { 0.20_GBP, 3.00_GBP, 3.00_GBP, 3.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_PHOTO4, { STR_SHOP_ITEM_PRICE_LABEL_ON_RIDE_PHOTO, STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::Photo4Much, PeepThoughtType::Photo4 }, + /* ShopItem::Pretzel */ { 0.50_GBP, 1.10_GBP, 1.10_GBP, 1.10_GBP, 1.10_GBP, SPR_SHOP_ITEM_PRETZEL, { STR_SHOP_ITEM_PRICE_LABEL_PRETZEL, STR_SHOP_ITEM_SINGULAR_PRETZEL, STR_SHOP_ITEM_PLURAL_PRETZEL, STR_SHOP_ITEM_INDEFINITE_PRETZEL, STR_SHOP_ITEM_DISPLAY_PRETZEL }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 70, ShopItem::None, PeepThoughtType::PretzelMuch, PeepThoughtType::Pretzel }, + /* ShopItem::Chocolate */ { 0.40_GBP, 1.30_GBP, 1.30_GBP, 2.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_CHOCOLATE, { STR_SHOP_ITEM_PRICE_LABEL_HOT_CHOCOLATE, STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE, STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE, STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE, STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 85, ShopItem::EmptyCup, PeepThoughtType::HotChocolateMuch, PeepThoughtType::HotChocolate }, + /* ShopItem::IcedTea */ { 0.30_GBP, 1.00_GBP, 2.00_GBP, 1.00_GBP, 1.10_GBP, SPR_SHOP_ITEM_ICED_TEA, { STR_SHOP_ITEM_PRICE_LABEL_ICED_TEA, STR_SHOP_ITEM_SINGULAR_ICED_TEA, STR_SHOP_ITEM_PLURAL_ICED_TEA, STR_SHOP_ITEM_INDEFINITE_ICED_TEA, STR_SHOP_ITEM_DISPLAY_ICED_TEA }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 95, ShopItem::EmptyCup, PeepThoughtType::IcedTeaMuch, PeepThoughtType::IcedTea }, + /* ShopItem::FunnelCake */ { 0.50_GBP, 1.30_GBP, 1.10_GBP, 1.40_GBP, 1.20_GBP, SPR_SHOP_ITEM_FUNNEL_CAKE, { STR_SHOP_ITEM_PRICE_LABEL_FUNNEL_CAKE, STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE, STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE, STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE, STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 90, ShopItem::None, PeepThoughtType::FunnelCakeMuch, PeepThoughtType::FunnelCake }, + /* ShopItem::Sunglasses */ { 0.80_GBP, 1.50_GBP, 2.00_GBP, 1.20_GBP, 1.50_GBP, SPR_SHOP_ITEM_SUNGLASSES, { STR_SHOP_ITEM_PRICE_LABEL_SUNGLASSES, STR_SHOP_ITEM_SINGULAR_SUNGLASSES, STR_SHOP_ITEM_PLURAL_SUNGLASSES, STR_SHOP_ITEM_INDEFINITE_SUNGLASSES, STR_SHOP_ITEM_DISPLAY_SUNGLASSES }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::SunglassesMuch, PeepThoughtType::Sunglasses }, + /* ShopItem::BeefNoodles */ { 0.70_GBP, 1.70_GBP, 1.70_GBP, 2.00_GBP, 1.50_GBP, SPR_SHOP_ITEM_BEEF_NOODLES, { STR_SHOP_ITEM_PRICE_LABEL_BEEF_NOODLES, STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES, STR_SHOP_ITEM_PLURAL_BEEF_NOODLES, STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES, STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 130, ShopItem::EmptyBowlBlue, PeepThoughtType::BeefNoodlesMuch, PeepThoughtType::BeefNoodles }, + /* ShopItem::FriedRiceNoodles */ { 0.60_GBP, 1.70_GBP, 1.70_GBP, 2.00_GBP, 1.50_GBP, SPR_SHOP_ITEM_FRIED_RICE_NOODLES, { STR_SHOP_ITEM_PRICE_LABEL_FRIED_RICE_NOODLES, STR_SHOP_ITEM_SINGULAR_FRIED_RICE_NOODLES, STR_SHOP_ITEM_PLURAL_FRIED_RICE_NOODLES, STR_SHOP_ITEM_INDEFINITE_FRIED_RICE_NOODLES, STR_SHOP_ITEM_DISPLAY_FRIED_RICE_NOODLES }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 120, ShopItem::EmptyBowlBlue, PeepThoughtType::FriedRiceNoodlesMuch, PeepThoughtType::FriedRiceNoodles }, + /* ShopItem::WontonSoup */ { 0.40_GBP, 1.30_GBP, 1.30_GBP, 1.50_GBP, 1.50_GBP, SPR_SHOP_ITEM_WONTON_SOUP, { STR_SHOP_ITEM_PRICE_LABEL_WONTON_SOUP, STR_SHOP_ITEM_SINGULAR_WONTON_SOUP, STR_SHOP_ITEM_PLURAL_WONTON_SOUP, STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP, STR_SHOP_ITEM_DISPLAY_WONTON_SOUP }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 100, ShopItem::EmptyBowlRed, PeepThoughtType::WontonSoupMuch, PeepThoughtType::WontonSoup }, + /* ShopItem::MeatballSoup */ { 0.50_GBP, 1.40_GBP, 1.40_GBP, 1.60_GBP, 1.50_GBP, SPR_SHOP_ITEM_MEATBALL_SOUP, { STR_SHOP_ITEM_PRICE_LABEL_MEATBALL_SOUP, STR_SHOP_ITEM_SINGULAR_MEATBALL_SOUP, STR_SHOP_ITEM_PLURAL_MEATBALL_SOUP, STR_SHOP_ITEM_INDEFINITE_MEATBALL_SOUP, STR_SHOP_ITEM_DISPLAY_MEATBALL_SOUP }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 110, ShopItem::EmptyBowlRed, PeepThoughtType::MeatballSoupMuch, PeepThoughtType::MeatballSoup }, + /* ShopItem::FruitJuice */ { 0.40_GBP, 1.10_GBP, 1.90_GBP, 1.10_GBP, 1.20_GBP, SPR_SHOP_ITEM_FRUIT_JUICE, { STR_SHOP_ITEM_PRICE_LABEL_FRUIT_JUICE, STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE, STR_SHOP_ITEM_PLURAL_FRUIT_JUICE, STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE, STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 110, ShopItem::EmptyJuiceCup, PeepThoughtType::FruitJuiceMuch, PeepThoughtType::FruitJuice }, + /* ShopItem::SoybeanMilk */ { 0.40_GBP, 1.00_GBP, 1.40_GBP, 1.00_GBP, 1.20_GBP, SPR_SHOP_ITEM_SOYBEAN_MILK, { STR_SHOP_ITEM_PRICE_LABEL_SOYBEAN_MILK, STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK, STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK, STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK, STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 90, ShopItem::EmptyDrinkCarton, PeepThoughtType::SoybeanMilkMuch, PeepThoughtType::SoybeanMilk }, + /* ShopItem::Sujeonggwa */ { 0.30_GBP, 1.10_GBP, 1.40_GBP, 1.10_GBP, 1.20_GBP, SPR_SHOP_ITEM_SUJEONGGWA, { STR_SHOP_ITEM_PRICE_LABEL_SUJONGKWA, STR_SHOP_ITEM_SINGULAR_SUJONGKWA, STR_SHOP_ITEM_PLURAL_SUJONGKWA, STR_SHOP_ITEM_INDEFINITE_SUJONGKWA, STR_SHOP_ITEM_DISPLAY_SUJONGKWA }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 100, ShopItem::EmptyDrinkCarton, PeepThoughtType::SujongkwaMuch, PeepThoughtType::Sujongkwa }, + /* ShopItem::SubSandwich */ { 0.50_GBP, 1.90_GBP, 1.90_GBP, 1.70_GBP, 1.50_GBP, SPR_SHOP_ITEM_SUB_SANDWICH, { STR_SHOP_ITEM_PRICE_LABEL_SUB_SANDWICH, STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH, STR_SHOP_ITEM_PLURAL_SUB_SANDWICH, STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH, STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 130, ShopItem::None, PeepThoughtType::SubSandwichMuch, PeepThoughtType::SubSandwich }, + /* ShopItem::Cookie */ { 0.40_GBP, 0.80_GBP, 0.80_GBP, 0.80_GBP, 0.70_GBP, SPR_SHOP_ITEM_COOKIE, { STR_SHOP_ITEM_PRICE_LABEL_COOKIE, STR_SHOP_ITEM_SINGULAR_COOKIE, STR_SHOP_ITEM_PLURAL_COOKIE, STR_SHOP_ITEM_INDEFINITE_COOKIE, STR_SHOP_ITEM_DISPLAY_COOKIE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 75, ShopItem::None, PeepThoughtType::CookieMuch, PeepThoughtType::Cookie }, + /* ShopItem::EmptyBowlRed */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BOWL_RED, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_RED, STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_RED, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_RED, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_RED }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBowlRed, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::EmptyDrinkCarton */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_DRINK_CARTON, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_PLURAL_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_INDEFINITE_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_DISPLAY_EMPTY_DRINK_CARTON }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyDrinkCarton, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::EmptyJuiceCup */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_JUICE_CUP, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_JUICE_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_JUICE_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_JUICE_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_JUICE_CUP }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyJuiceCup, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, + /* ShopItem::RoastSausage */ { 0.50_GBP, 1.60_GBP, 1.60_GBP, 2.00_GBP, 1.50_GBP, SPR_SHOP_ITEM_ROAST_SAUSAGE, { STR_SHOP_ITEM_PRICE_LABEL_ROAST_SAUSAGE, STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE, STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE, STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE, STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 115, ShopItem::None, PeepThoughtType::RoastSausageMuch, PeepThoughtType::RoastSausage }, + /* ShopItem::EmptyBowlBlue */ { 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, 0.00_GBP, SPR_SHOP_ITEM_EMPTY_BOWL_BLUE, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_BLUE }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBowlBlue, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None }, }; // clang-format on @@ -174,6 +174,11 @@ bool ShopItemDescriptor::IsPhoto() const return HasFlag(SHOP_ITEM_FLAG_IS_PHOTO); } +bool ShopItemDescriptor::IsRecolourable() const +{ + return HasFlag(SHOP_ITEM_FLAG_IS_RECOLOURABLE); +} + const ShopItemDescriptor& GetShopItemDescriptor(const ShopItem item) { return ShopItems[EnumValue(item)]; diff --git a/src/openrct2/ride/ShopItem.h b/src/openrct2/ride/ShopItem.h index e1b42a92aa..61e5a932e9 100644 --- a/src/openrct2/ride/ShopItem.h +++ b/src/openrct2/ride/ShopItem.h @@ -111,6 +111,7 @@ struct ShopItemDescriptor bool IsFoodOrDrink() const; bool IsSouvenir() const; bool IsPhoto() const; + bool IsRecolourable() const; }; uint64_t ShopItemsGetAllFoods(); @@ -124,6 +125,7 @@ enum SHOP_ITEM_FLAG_IS_SOUVENIR = (1 << 2), SHOP_ITEM_FLAG_IS_PHOTO = (1 << 3), SHOP_ITEM_FLAG_IS_CONTAINER = (1 << 4), + SHOP_ITEM_FLAG_IS_RECOLOURABLE = (1 << 5), }; extern uint64_t gSamePriceThroughoutPark;