Talk:Traveling Cart/archive

From Stardew Valley Wiki
Jump to navigation Jump to search

Prices

Should the price column even be there for this store? The price is randomized for each instance of the item in the list each day the cart is present.Metalax (talk) 04:38, 5 March 2016 (EST)

  • I think it's a good idea for the price to be there. At least to give people an idea of how much money they might need for the item. --AColonUlcer (talk) 12:18 09 March 2016, (PST)
2 columns (min price and max price) would better represent the price range and would be useful for sorting.
The price range for "non-furniture" is (max(100, 3 * base_price), max(1000, 5 * base_price)), while the price range of "furniture" is (250, 2500). --BryghtShadow (talk) 23:41, 11 May 2016 (EDT)
I'm working on updating my template to use these formulas but the fruits tree saplings doesn't seem to obey the same formula. Any idea how the price range of theses is calculated? --Vg-tal (talk) 22:12, 9 October 2016 (BST)
The formula for Traveling Cart is still the same in 1.1.1, but Pierre seems to sell saplings at base_price * 4. Using the base_price from objectInformation:
sapling base_price formula range
Cherry Sapling 850 (max(100, 3 * 850), max(1000, 5 * 850)) 2550-4250
Apricot Sapling 500 (max(100, 3 * 500), max(1000, 5 * 500)) 1500-2500
Orange Sapling 1000 (max(100, 3 * 1000), max(1000, 5 * 1000)) 3000-5000
Peach Sapling 1500 (max(100, 3 * 1500), max(1000, 5 * 1500)) 4500-7500
Pomegranate Sapling 1500 (max(100, 3 * 1500), max(1000, 5 * 1500)) 4500-7500
Apple Sapling 1000 (max(100, 3 * 1000), max(1000, 5 * 1000)) 3000-5000

--BryghtShadow (talk) 19:12, 10 October 2016 (BST)

Thank the page have been updated, the 3 last items without automatic calculation are the generic jelly, the generic pickles and oil of garlic (I don't know their base price). there's also the rarecrow, but I think he's at a fixed 4,000g like the rare seeds at 600/1000g. Anything else that might be wrong is a error in the base price I entered. --Vg-tal (talk) 19:40, 10 October 2016 (BST)
Jelly is 160 base, Pickles is 100 base, and Oil of Garlic is 1000 base. The regular Rare Seeds that can appear during any season are 200 base (range 600-1000). The bonus Rare Seed is fixed at 1000g (100% chance during spring/summer; 0% chance otherwise). Rarecrow (40% chance to appear during fall/winter; 0% chance otherwise) is fixed at 4000 price. The bonus stuff might be worth noting somewhere on page. --BryghtShadow (talk) 20:29, 10 October 2016 (BST)

Item Rarity

I know this would be quite the undertaking, but do you think it would be worthwhile to try to accumulate some statistics? I'd like to know the relative rarity of items. I ran into the Wallflower Pal furniture item today, for instance. No mention of it on the site anywhere. Is it a 1/1000 or rarer on visits to the Traveling Cart? Danben428 (talk) 21:36, 15 March 2016 (EDT)

I'm not too good with probabilities. But here are the numbers:
  • Do the following 10 times:
    • Pick a random number n in the range [2,790). n = ((n + 1) mod 790) until it is valid (i.e. the id exists, is not blacklisted, and is not a quest item and not named "Weeds", etc).
    • Pick a random number a in the range [1,11). Pick a random number b in the range [3,6). Let price be maximum (a * 100, b * base_price).
    • Randomly choose the stack count (5 stack is 10% chance, 1 stack is 90% chance).
  • Pick a number m in the range [0,1613). If m is not valid id or is blacklisted, re-roll. There are 145 valid furniture, each with equal chance to appear.
  • During spring/summer, Rare Seed is guaranteed at 1000g, with 10% chance for 5 stacks and 90% chance for 1 stack. During fall/winter, there's a 40% chance for Rarecrow (4 of 8) to be sold at 4000g.
  • Additionally during the year, there's a 25% for 1 Coffee Bean to be sold at 2500g.
Here's the frequency tables (freq is out of 788):
Freq Item(s)
92 Tulip
54 Cave Carrot
36 Pufferfish
33 Bug Meat
32 Slime
18 Basic Fertilizer
17 Wild Horseradish
14 Battery Pack
11 Wood Fence
10 Coconut • Coleslaw
8 Salmonberry • Sandfish
7 Cherry Sapling • Large Egg • Poppy Seeds
6 Lobster • Parsnip Seeds • Speed-Gro
5 Bruschetta • Plum Pudding
4 Barbed Hook • Egg • Garlic • Largemouth Bass • Poppy
3 Goat Milk • Quality Sprinkler • Sea Cucumber • Sturgeon • Wood Floor
2 Artichoke • Beer • Blue Jazz • Bok Choy • Cactus Fruit • Cauliflower • Cheese • Cherry Bomb • Coal • Common Mushroom • Copper Ore • Corn • Crystal Floor • Crystal Fruit • Daffodil • Dandelion • Duck Egg • Duck Feather • Egg • Eggplant • Fairy Rose • Fiber • Fried Egg • Gold Ore • Green Bean • Hardwood Fence • Honey • Iridium Ore • Iron Ore • Jelly • Joja Cola • Juice • Kale • L. Goat Milk • Large Egg • Large Milk • Leek • Mead • Melon • Milk • Nautilus Shell • Parsnip • Pickles • Poppyseed Muffin • Potato • Pumpkin • Rabbit's Foot • Radish • Red Cabbage • Red Mushroom • Rhubarb • Sap • Spangle Seeds • Spice Berry • Sprinkler • Starfruit • Stone • Summer Spangle • Tom Kha Soup • Tomato • Wheat • Wood • Woodskip • Wool • Yam
1 Acorn • Albacore • Algae Soup • Amaranth • Amaranth Seeds • Anchovy • Ancient Seeds • Apple • Apple Sapling • Apricot • Apricot Sapling • Artichoke Dip • Artichoke Seeds • Autumn's Bounty • Bait • Baked Fish • Basic Retaining Soil • Bat Wing • Bean Hotpot • Bean Starter • Beet • Beet Seeds • Blackberry • Blackberry Cobbler • Blueberry • Blueberry Seeds • Blueberry Tart • Bok Choy Seeds • Bomb • Bread • Bream • Bullhead • Carp • Carp Surprise • Catfish • Cauliflower Seeds • Chanterelle • Cheese Cauliflower • Cherry • Chocolate Cake • Chowder • Chub • Clam • Clay • Cloth • Cobblestone Path • Cockle • Coffee Bean • Complete Breakfast • Cookie • Copper Bar • Coral • Cork Bobber • Corn Seeds • Crab • Crab Cakes • Cranberries • Cranberry Candy • Cranberry Sauce • Cranberry Seeds • Crayfish • Crispy Bass • Crocus • Crystal Path • Deluxe Speed-Gro • Dish O' The Sea • Dorado • Dressed Spinner • Duck Mayonnaise • Eel • Eggplant Parmesan • Eggplant Seeds • Escargot • Fairy Seeds • Fall Seeds • Farmer's Lunch • Fiddlehead Fern • Fiddlehead Risotto • Fish Stew • Fish Taco • Fried Calamari • Fried Eel • Fried Mushroom • Fruit Salad • Garlic Seeds • Gate • Ghostfish • Glazed Yams • Goat Cheese • Gold Bar • Grape • Grape Starter • Gravel Path • Halibut • Hardwood • Hashbrowns • Hazelnut • Herring • Holly • Hops • Hops Starter • Hot Pepper • Ice Cream • Iridium Bar • Iron Bar • Iron Fence • Jazz Seeds • Kale Seeds • Lead Bobber • Life Elixir • Lingcod • Lobster Bisque • Lucky Lunch • Magnet • Maki Roll • Maple Bar • Maple Seed • Maple Syrup • Mayonnaise • Mega Bomb • Melon Seeds • Miner's Treat • Morel • Mussel • Oak Resin • Octopus • Oil of Garlic • Omelet • Orange • Orange Sapling • Oyster • Pale Ale • Pale Broth • Pancakes • Parsnip Soup • Peach • Peach Sapling • Pepper Poppers • Pepper Seeds • Perch • Periwinkle • Pike • Pine Cone • Pine Tar • Pink Cake • Pizza • Pomegranate • Pomegranate Sapling • Potato Seeds • Pumpkin Pie • Pumpkin Seeds • Pumpkin Soup • Purple Mushroom • Quality Fertilizer • Quality Retaining Soil • Radish Salad • Radish Seeds • Rainbow Shell • Rainbow Trout • Rare Seed • Red Cabbage Seeds • Red Mullet • Red Plate • Red Snapper • Refined Quartz • Rhubarb Pie • Rhubarb Seeds • Rice Pudding • Roasted Hazelnuts • Roots Platter • Salad • Salmon • Salmon Dinner • Sardine • Sashimi • Scorpion Carp • Sea Urchin • Shad • Shrimp • Smallmouth Bass • Snail • Snow Yam • Solar Essence • Spaghetti • Spicy Eel • Spinner • Spring Onion • Spring Seeds • Squid • Starfruit Seeds • Stepping Stone Path • Stir Fry • Stone Fence • Stone Floor • Strange Bun • Straw Floor • Strawberry • Stuffing • Summer Seeds • Sunfish • Sunflower • Sunflower Seeds • Super Cucumber • Super Meal • Survival Burger • Sweet Gem Berry • Sweet Pea • Tiger Trout • Tilapia • Tomato Seeds • Tortilla • Trap Bobber • Treasure Hunter • Trout Soup • Truffle • Truffle Oil • Tulip Bulb • Tuna • Vegetable Medley • Void Egg • Void Essence • Void Mayonnaise • Walleye • Weathered Floor • Wheat Seeds • Wild Plum • Wine • Winter Root • Winter Seeds • Wood Path • Yam Seeds
Edit: Forgot sign. --BryghtShadow (talk) 04:41, 16 October 2016 (BST)
If i get this right, items have X/788 chance of appear at each of the 10 picks.
1−(787÷788)^10=0.0126 ==> 1.26% for a 1/788 item out of 10 picks
Does the coffee beans, the rarecrow#4 and the rare seeds take one the 10 slots? That would change the numbers. --Vg-tal (talk) 07:37, 16 October 2016 (BST)
All those "special stock" are separate from the 10 Objects and 1 Furniture. --BryghtShadow (talk) 10:10, 16 October 2016 (BST)
last question, you have listed egg at 2 and 4 frequency, which one is the right one? --Vg-tal (talk) 00:22, 17 October 2016 (BST)
Oh, yeah, eggs. I forgot about those... White (#176) is 2, Brown (#180) is 4. --BryghtShadow (talk) 07:13, 17 October 2016 (BST)

I don't know how frequency % other than 1.26 got to appear on the page for non-furniture items (other than rarecrow/coffee bean/rare seed), but I've corrected this error.

Tulips may have appeared 92 times in the empirical test done to produce the table above, but that by no means indicates that tulips will appear 92 times more often than any other item. It's (pseudo-)random. All (roughly) 790 items have an equal chance of appearing. margotbean (talk) 01:37, 11 March 2017 (UTC)

Update: I see what you did; anytime an artifact is rolled, the game increments the index until it finds a valid object # without re-rolling a random item #. I was assuming the game calculated a new random #. margotbean (talk) 02:00, 11 March 2017 (UTC)

I just added about 10-15 items that were missing from the tables. I didn't calculate the frequency % for all those items; if anyone else wants to step in and do so (based on the table above), PLEASE! margotbean (talk) 02:37, 11 March 2017 (UTC)

All items are updated. The list of items and %'s is complete for all other than furniture. margotbean (talk) 04:11, 11 March 2017 (UTC) The furniture list is now updated and complete as of v1.11 margotbean (talk) 22:52, 13 April 2017 (BST)

Item Categories

She sells tons of different items. While the list is mostly sorted, do you think it would be beneficial to break it into item categories? Danben428 (talk) 23:26, 16 March 2016 (EDT)

Items that will never be sold

Out of the 541 "objects", the following will never be sold:
  • Ancient Fruit • Angler • Crimsonfish • Dwarvish Translation Guide • Glacierfish • Green Slime Egg • Ice Pip • Iridium Sprinkler • Lava Eel • Legend • Mermaid's Pendant • Mutant Carp • Rain Totem • Stonefish • Tea Set • Warp Totem: Beach • Warp Totem: Farm • Warp Totem: Mountains • Wild Bait
  • Any "object" that has no category, or has no value, or is a Quest item, or has the name "Weeds", or is a Mineral, or is an Artifact.
Out of the 167 "furniture", the following will never be sold:
  • 'A Night On Eco-Hill' • 'Burnt Offering' • 'Jade Hills' • Bear Statue • Budget TV • Calendar • Chicken Statue • Crystal Chair • Dried Sunflowers • Leah's Sculpture • Lg. Futan Bear • Obsidian Vase • Plasma TV • Singing Stone • Skeleton • Sloth Skeleton L • Sloth Skeleton M • Sloth Skeleton R • Standing Geode
During spring and summer, the occasional bonus Largemouth Bass will not be sold, but will still be available randomly.
During fall and winter, the guaranteed bonus Rare Seed will never be sold, but will still be available randomly. --BryghtShadow (talk) 23:18, 11 May 2016 (EDT)


Are you sure about the iridium sprinkler? Because I saw it once being sold by the travelling cart Black Kitty Rii (talk) 09:05, 5 September 2016 (EDT)

My post was true for 1.07. Iridium Sprinklers definitely existed pre-1.07. I'll have a look at the 1.1.1 stock. --BryghtShadow (talk) 20:47, 9 October 2016 (BST)
Blacklisted objects 1.1.1
  • Ancient Fruit • Angler • Blue Slime Egg • Crimsonfish • Dwarvish Translation Guide • Glacierfish • Green Slime Egg • Ice Pip • Iridium Sprinkler • Lava Eel • Legend • Mermaid's Pendant • Mutant Carp • Purple Slime Egg • Rain Totem • Red Slime Egg • Stonefish • Tea Set • Warp Totem: Beach • Warp Totem: Farm • Warp Totem: Mountains • Wild Bait
  • Any object that does not fall into the ID range of {0<=x<790}.
  • Any object that does not meet the following requirements: category.Contains('-') && base_price > 0 && !category.Contains("-13") && !category.Equals("Quest") && !name.Equals("Weeds") && !category.Contains("Minerals") && !category.Contains("Arch")
Blacklisted furniture 1.1.1
  • 'A Night On Eco-Hill' • 'Burnt Offering' • 'Jade Hills' • Bear Statue • Budget TV • Calendar • Catalogue • Chicken Statue • Crystal Chair • Dried Sunflowers • Floor TV • Furniture Catalogue • Junimo Plush • Leah's Sculpture • Lg. Futan Bear • Obsidian Vase • Plasma TV • Singing Stone • Skeleton • Sloth Skeleton L • Sloth Skeleton M • Sloth Skeleton R • Standing Geode
  • Any furniture that does not fall into the ID range of {0<=x<1613}.
Also, I realised that I mistook the Rarecrow (4 of 8) for a Largemouth Bass. I've crossed it out above. --BryghtShadow (talk) 20:14, 10 October 2016 (BST)
Are they any furniture out of the range {0<=x<1613}? I want to complete the stock list. --Vg-tal (talk) 09:01, 15 October 2016 (BST)
Out-of-range furniture 1.1.1: Anchor • Bamboo Mat • Basic Window • Bear Statue • Boarded Window • Bonsai Tree • Burlap Rug • Candle Lamp • Carved Window • Ceiling Flags • Floor TV • Green Cottage Rug • Hanging Shield • Junimo Plush • L. Light String • Lg. Futan Bear • Metal Window • Miner's Crest • Monster Danglers • Monster Rug • Mystic Rug • Nautical Rug • Ornate Lamp • Ornate Window • Porthole • Red Cottage Rug • S. Pine • Small Window • Tree Column • Woodcut Rug • World Map --BryghtShadow (talk) 11:57, 15 October 2016 (BST)

Item descriptions

Do we need need them on this page? By removing the descriptions and putting multiple items per lines, we can cut the length of the page by a good amount. I've been working on a new layout on my userpage and plan on making the switch once it's ready if nobody object. --Vg-tal (talk) 00:04, 21 September 2016 (BST)

Cart inventory predictions based on save ID

I'm in the process of creating a utility that projects cart inventories when provided with a save ID, one that could ultimately provide value on this page.

For the first week, I've correctly projected 12 of the 20 random non-furniture items (5 on Friday, 7 on Sunday) and their prices/quantities, but the other 8 are pulling item IDs that are one eligible ID short of what I'm seeing in game (e.g. pulling 636 "Peach" in my utility instead of 637 "Pomegranate" in game). I can only think of 2 reasons why this might be:

  • I'm missing a rule in the code that is incrementing the itemID in these cases. None of the items being skipped in my test (e.g. Peach, Quality Sprinkler, Pomegranate Sapling, Rainbow Shell, Cranberry Sauce) appear to be ineligible.
  • I'm not generating exactly the same random numbers as the game even though we're using the same seed, maybe due to different .NET framework versions? I find this unlikely because I'll match on items 2,5,7,9,10 and not 1,3,4,6,8, for instance.

--Nark (talk) 10:42, 14 February 2018 (EST)


It seems obvious now, but ALL item IDs being produced by my model need a 1 added to them before incrementing until they hit an eligible item regardless of whether the initial random represented an eligible item or not. If I make this change, I successfully replicate all 20 first week random non-furniture items and their prices/quantities.
I don't really see where this is happening in the code, maybe someone can enlighten me?
--Nark (talk) 12:30, 14 February 2018 (EST)
I'm an idiot, the do-while loop is executed one time before the conditional expression is evaluated, a 1 will be added to the initial random once no matter what.
--Nark (talk) 12:53, 14 February 2018 (EST)
Mouseypounds has done some work with RNG and predictions here: https://mouseypounds.github.io/stardew-predictor/
To be honest, I'm not sure how we would incorporate the data into the wiki, since all game IDs are random. It seems like more of an interactive thing, where the user would have to input his/her specific game ID before getting any meaningful data. But, maybe you can enlighten me. margotbean (talk) 18:29, 14 February 2018 (UTC)
Thanks for the link, I'll test it later tonight. You're exactly right though, a link to an external interactive utility is exactly what I had in mind. If Mouseypounds' utility is reliable, I think users of this page would find value in being provided a link to it, I know I would've.
--Nark (talk) 15:54, 14 February 2018 (EST)
I agree, if you get your utility working reasonably accurately, we can add a link to it on the page.
Unfortunately, it seems Mouseypounds has abandoned his/her work in "alpha tesing" state, and I have no idea how reliable it is. The big red disclaimer text saying "I expect this not to work very well" on the webpage itself prevented me from adding it to the wiki... --margotbean (talk) 15:02, 15 February 2018 (UTC)
So I checked out Mouseypounds' utility and while it does appear effective for predicting the mushroom floor in my testing thusfar, it doesn't appear to provide predictions for traveling cart inventories. I've verified the accuracy of my utility in a number of save files and will be working to create a GUI for it in the coming couple of weeks.
--Nark (talk) 23:41, 15 February 2018 (EST)
Heh, I didn't know anyone was aware of my predictor app. I actually do have working Traveling Cart code, but it's in the perl script where I originally did my RNG simulating and hasn't been translated over into Javascript yet. I suppose I'll accelerate development on that since there is actual interest from someone other than me. If you make a standalone utility to simulate the cart, the biggest thing I would want to see is a search function. MouseyPounds (talk) 01:37, 21 February 2018 (UTC)

v1.3 New Items

The code for calculating Traveling Cart stock hasn't changed between v1.2 and v1.3. (Other than the additon of a recipe available only in multi-player). Cactus Seeds will never be sold at the Traveling Cart since their sell price in ObjectInformation.xnb is 0. I'm still working on furniture/decorative items. margotbean (talk) 18:00, 15 May 2018 (BST)

All new furniture items have IDs of 1792 or above. In Utility::getTravelingMerchantStock, the call to getRandomFurniture is still seeded with IDs from 0 to 1613, so no new furniture should appear in the Traveling Cart stock.
Other new items found in ObjectInformation.xnb have IDs greater than 790, so they won't appear either. (The one exception is item 79, the Secret Note, which is eliminated because its category is "asdf".) Items found in BigCraftables.xnb should never appear in the Traveling Cart stock, the same as v1.2.
In short, no changes to the page or the underlying template appear to be needed. margotbean (talk) 20:29, 26 May 2018 (BST)

Mechanics

Moved from main page by margotbean (talk) 20:40, 26 May 2018 (BST)

The merchant's standard stock is determined by a random number seeded with the game ID (XPath: /SaveGame/uniqueIDForThisGame) and the days played (XPath: /SaveGame/stats/DaysPlayed).

For each item slot, a random integer (num) in the range [2,790) is chosen. num is then incremented and wrapped to the range [0,790) until there exists an item that satisfies all of the following conditions:

  • ID is equal to num;
  • not blacklisted; (see above)
  • has a category;
  • price greater than 0;
  • not named "Weeds";
  • type is not "Quest", "Minerals", or "Arch".

The unit price is determined by the larger of 2 random integers in the ranges of [1,11)*100 and [3,6)*base_price. The stack size has a 90% chance to be 1, and 10% chance to be 5.

Note that some items have a higher chance to appear in the standard stock, because after the random integer is chosen, it is incremented until it is equal to a valid object number.

For the furniture slot, a random integer (num) in the range [0,1613) is chosen until it there exists a furniture that has num as its ID and is not blacklisted. The unit price is determined by a random integer in the range of [1,11)*250.

As far as I can see, the way the id is selected hasn't changed? So some items still have a higher frequency than others? BlaDe (talk) 07:44, 13 December 2019 (UTC)
You may be right. Feel free to investigate this and report on your findings here. I was making an assumption that since duplicates are eliminated from the stock, all items would have an equal chance of appearing, but it was just an assumption. We can always add a column to the tables for percent chance to appear. margotbean (talk) 15:21, 13 December 2019 (UTC)