Back online now, wasn't before. Most of your assumptions are correct. If I remember correctly (can't look to confirm atm), the increased chance affects how many of a given item they'll buy.
So, on technical terms, here's the basic run through as of cafe update.
- Potential customer gets in front of the shop, checks if they should be a customer or continue walking. Potential customers are determined by how many customers for that hour you should get based on employee count, checkout counter count, expansions, and day
- Once they are a confirmed customer, they will check if they should go to the cafe and be a "sit down" Cafe customer. If so, they will go to the cafe, order a drink and a pastry if possible, sit (if there are tables, stand otherwise), eat, and then enter normal shopping route.
- Once they get into the doorway, we run an overcrowding check to see if there are too many customers in the store, if it's too crowded, they'll turn around and leave instead of entering.
- Normal shopping route is split into two sections that work basically the same. Primary items and secondary items.
- Primary items are basically everything that is not secondary. Secondary items are candy, bookmarks, and maybe used books. In the future, this lets us have specific customers that have specific interests they will focus on first (IE, a board game lover who only wants board games as their primary product, a used book enthusiast, comic book connesiour, etc.)
Choose loop:
-
Customers will choose an item type from their current item type list (primary first, secondary when "done" with primary) and randomly pick between things on offer from that type that they have not looked at yet. The type is a weighted calculation with some types being more prevalent (books vs board games)
-
they will then go to that item on the shelf, and evaluate whether they will buy it (not priced too high). If they choose to buy it, they will then choose how many of that item they will buy. This is where that increase comes in as it makes them more likely to grab more. Each item type has its own limit of how many a customer can grab (Books is like 12, board games is 3 or 4 iirc, etc) and there is a total limit to the number of items they can hold (14 or 15). Then they will animate and grab the item, putting it in their bag.
-
Whether they picked it up or not, that item is added to a "viewed" list of items they won't look at again.
-
Then they run a check if they are "done" shopping for that category (primary or secondary). If done primary shopping, they will shop for secondary items, if any are available. If done with secondary, they will go to checkout.
-
After checkout, they will check to see if they want to be a "take-out" Cafe customer if they haven't already visited the cafe before leaving the store.
Note: this is all from memory as I can't look at specifics at the moment lol. Logic is sound, numbers might be slightly off