Progression
Current 10-level business progression system for Oxide Vending.
The 10-level business progression system.
How leveling works
A business levels up when it meets both requirements for the next level:
- enough total XP
- enough lifetime revenue (the total money the business has ever earned)
Both at once — a heavily worked business that isn't earning won't level, and neither will an earning business nobody touches. Everything here is configured in config/progression.lua.
Level table
| Lvl | Name | XP | Revenue | Max Machines | Max Employees | Machine types | Price range | Wholesale discount | NPC bonus |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Newcomer | 0 | 0 | 3 | 1 | drinks | 0.90x – 1.5x | 0% | 0% |
| 2 | Vendor | 500 | 5,000 | 4 | 2 | + snacks | 0.85x – 1.8x | 2% | 5% |
| 3 | Supplier | 1,500 | 15,000 | 5 | 2 | (warehouse unlocks) | 0.85x – 2.0x | 4% | 8% |
| 4 | Distributor | 3,500 | 35,000 | 6 | 3 | + general | 0.80x – 2.2x | 6% | 12% |
| 5 | Merchant | 6,500 | 65,000 | 7 | 3 | — | 0.80x – 2.4x | 8% | 15% |
| 6 | Retailer | 11,000 | 110,000 | 8 | 4 | + electronics | 0.80x – 2.6x | 10% | 18% |
| 7 | Entrepreneur | 18,000 | 180,000 | 9 | 4 | all | 0.80x – 2.8x | 12% | 22% |
| 8 | Tycoon | 28,000 | 280,000 | 10 | 5 | all | 0.80x – 3.0x | 14% | 25% |
| 9 | Mogul | 42,000 | 420,000 | 12 | 6 | all | 0.80x – 3.0x | 16% | 28% |
| 10 | Vending King | 60,000 | 600,000 | 15 | 8 | all | 0.75x – 3.0x | 20% | 35% |
What the reward columns mean:
- Price range — how far above or below an item's base price the owner may set their selling price
- Wholesale discount — taken off the cost of bulk orders
- NPC bonus — extra revenue on every passive NPC sale
The warehouse becomes purchasable at level 3 (Config.Warehouse.RequiredLevel).
How XP is earned
Sales
| Action | XP |
|---|---|
| A player buys from a machine | 10, plus 0.1 per dollar of the sale |
| An NPC sale happens | 5, plus 0.1 per dollar of the sale |
Running the business
| Action | XP |
|---|---|
| Stocking a machine | 3, plus 0.5 per item stocked |
| Collecting revenue | 5, plus 0.02 per dollar collected |
| Placing a machine | 100 |
| Hiring an employee | 50 |
| Repairing a machine | 20 |
| Placing a wholesale order | 15 |
Firing an employee and removing a machine give no XP by default.
Daily bonus
Once per day, the owner can claim a bonus from the dashboard. Claiming on consecutive days builds a streak that pays more:
| Streak day | XP |
|---|---|
| 1 | 30 |
| 2 | 35 |
| 3 | 40 |
| 4 | 45 |
| 5 | 50 |
| 6 | 55 |
| 7 and beyond | 60 |
Miss a day and the streak starts over at day 1. The "day" rolls over at midnight UTC, not local time — see Troubleshooting if players find the timing odd.
Milestones
Milestones are one-time XP rewards for reaching round-number achievements. Each can only be earned once per business.
Money earned (lifetime)
| Milestone | XP |
|---|---|
| First $1,000 | 100 |
| $10,000 | 250 |
| $50,000 | 500 |
| $100,000 | 1,000 |
| $500,000 | 2,500 |
| $1,000,000 | 5,000 |
Total sales
| Milestone | XP |
|---|---|
| 100 sales | 150 |
| 500 sales | 400 |
| 1,000 sales | 800 |
| 5,000 sales | 1,500 |
Machines placed
| Milestone | XP |
|---|---|
| 3 machines | 150 |
| 5 machines | 300 |
| 10 machines | 600 |
Employees hired
| Milestone | XP |
|---|---|
| First employee | 100 |
| Team of 5 | 250 |
What players see
- XP gains of 25 or more pop up as a notification (smaller gains are silent to avoid spam — adjustable via
xpGainThreshold) - leveling up plays a sound and an animation on the dashboard, and notifies the owner if they're online
- milestone achievements show their own notification
- the dashboard's progression panel shows the current level, XP, lifetime revenue, what the next level needs, what it unlocks, and whether today's daily bonus is ready
Admin tools
/vendingsetlevel <businessId> <level>— set a business straight to a level (its XP and revenue are set to match)/vendingdebug progression status— find businesses missing progression data/vendingdebug progression init— repair them all at once/vendingdebug progression create <businessId>— repair one/vendingdebug daily <businessId>— inspect a daily-bonus problem
For developers
Progression exports (see API Reference for details):
GetBusinessLevel(businessId)GetBusinessProgression(businessId)AddXP(businessId, amount, source, notifySource)AddRevenue(businessId, amount)GetMaxMachines(businessId)/GetMaxEmployees(businessId)IsMachineTypeUnlocked(businessId, machineType)IsWarehouseUnlocked(businessId)GetPricingRange(businessId, itemName)GetWholesaleDiscount(businessId)GetNPCRevenueBoost(businessId)CreateProgressionRecord(businessId)ClaimDailyBonus(source, businessId)
Turning progression off
Set Config.Progression.Enabled = false and:
- every machine type is available from the start
- machine and employee limits come from
Config.Businessinstead - the price range comes from
Config.Pricinginstead - the warehouse only needs the purchase price, no level
- XP, levels, daily bonuses, and milestones all stop