---
# System prepended metadata

title: 'ArCargo: Supplylines'

---

# ArCargo: Supplylines

I am writing this up fast because I don't exactly know how I want this to work but I'm tired and I had an idea late at night on how to make this work
edit: don't mention this in the design doc

## Problem:
Cargo is kinda boring. Their goal is supposed to be to supply the station with resources and quantities of nice things that they'd like to have. That can be upgrades, that can be items or resources that expand out their department's abilities. It can even be ways to deal with antagonists, events, and threats.

Every just uses cargo to buy guns and that's about it.
Now, there's two major issues that stem from this and this is going to start getting really, REALLY messy. Cargo has a set list of items they can buy as bulk "crates". These preset crates almost always have what they say on the tin, if you're buying guns, you get three specific guns any time you have the cargo department credits and press the buy button. The first issue is that there is quite literally zero progression in the cargo department. As a cargo player, you job loop is make money by selling things worth credits, and then buying things with those credits, most likely for you, the cargo player, to exclusively use. There is no incentive to give those items to regular players because they're not part of your team.

The second issue is that by and large, outside of staying alive for the rest of the shift, you don't... need... anything from cargo. You can survive a shift without the cargo department even without too much random variance. A player may need medical care, or may need weapons from the armory, or power from engineering, but supply has always existed as a suplementary department. It fills in the gaps that the rest of the crew needs. No engineers? Cargo buys some generators. Need medical care? Buy some medkits. Need security? Take a high power laser rifle, champ. You EARNED it. 

Cargo itself doesn't have any real goals. You're an extra hand that can fill into any role using your credits that you get from scavenging and stealing from other departments, and there's not always an incentive to distributing the wealth where it's needed.

## Goals:
* Cargo needs a gameplay loop that makes the process of playing cargo more fast paced.
* Cargo should gain a sense of progression and see purchasable crates and items build up through decisions within a shift.
* Cargo should have more to do with shipping and handling, and trying to make a profit for the station.
* Cargo should feel fast paced and value good cooperation between all members of the department.


## Anti-Goals: (things to avoid)
* Cargo should not lose departmental cooperation if it can be helped. We want cargo to be able to solve problems with other departments.
* Cargo gameplay should not turn into solitare, or living inside of a single console.
* Cargo gameplay should not lose out on the easier aspects of the job, as cargo is still an excellent learners department for players picking up the game for the first time.
* There should not be a "best" process for getting the "best" stuff from cargo, as cargo's benefits to the station should be specific to the supplies the crew needs.
* We aren't exactly doing the stock market from 2014-16.
* We can't get rid of miners. Not touching that hornet's nest.

## The premise. Or why I'm reworking cargo based on a doodle I drew at 2AM on a hotel notepad.
I want to introduce some cyberpunk the board game style corporate factions into the cargo gameplay loop, and introduce cargo as the department who manages a good deal of that moment to moment faction happiness.


### Take 1
[I have deleted take 1, it was really bad, and as seen above, I wrote it at 2AM.]

## Take 2: Streamlined version
Cargo console gets some new features. A new tab is added, that now has randomized buy and sell "**contracts**" different from the basic purchased goods you can get from dedicated crates., Buy slots will have higher value items or better quantites of items, at a fluctuating price. 

The price will be a random normal distribution based on "**faction favor**", with higher favor normalizing the price lower, and lower favor normalizing the price higher.

All contracts will refresh every minute or so, so if you're watching like a hawk and see that a contract is at a good price at a given point, you can swoop in and pay that amount for those goods, and after that minute has passed the now-empty buy-contract slot will refresh with something new, same as the other two you didn't buy yet. 

Alternatively, let say you didn't have the credits for it yet. You can instead store the buy contract into one of your department's "**slots**". This lets you lock in the price that you had at that time to finish purchasing it later. It will however no longer adjust itself with faction favor.

These contract purchases are exempt from the random chance of an order being messed up.

So for example, you would have 3 randomized buy contracts, one of them could have 3 unidentified strange objects and an engineering modsuit. The price range could be anywhere between 3000 and 7000 credits.

Admins running events can also create a unique "**event slot purchase**", which would not count against the regular department slots, and allow players to buy specific resources at a given cost, for chaos/fun/memes.

*****************
**Next up is for sell contracts**. They're basically bounties with some chest hair. So a sell contract could be selling 20 of a regular item, like a regular bounty, or composed of a "pack". Packs are crates with a player driven selection of items that fulfill specific requirements. For example, a wrench might have a "**tool value**" of **1**. A sell contract might require a *total of 34 tool value* in a crate, or an *AVERAGE tool value of 3* for all items within. Crates may also limit how many items inside, so there's a challenge in packing a crate to match the requirements.

The challenge involved with setting it up this way is that a LOT of items will suddenly need to have these values decided. In a way, this might be a great place to steal values from the old Duke RnD, but it allows for a few levels of agency on how to make specific items in higher demand.

I'm not deadset on how many catagories of values need to exist, but generally it should thematically be linked to either the setting/lore/or gameplay relevance.

Current ideas for export values are:
* Tool Value
* Tech Value
* Power Value
* Beaurocratic Value
* Entertainment Value
* Security Value
* Contraband Value (More on this later)

Similar to the buy contracts, sell contracts can be locked down, and will likely need to be locked down to properly acquire the resources to finish. It might make sense to make the buy contracts recycle on a 60 second timer, but the sell contracts should recycle on a 5 minute timer? Food for thought.

So you've got your 20 items to meet a specific sell contract. Do you just ship it into a box and send it off like usual? Nope, these need to be secured into a cargo B.O.X. Unit. It would be a new machine that when a correct selection of items are fed into it, it compressess it into a industrial grade wooden crate. To re-open the crate, you'll need a crowbar, and you'll need wooden planks fed into the machine to be able to build a new crate.

Sanity check: Prevent round critical items from being fed into an industrial crate, like the nuclear authentification disk.

Now you can just ship it off and claim your sweet sweet cache of credits.

This part is likely to be a real mess to get organized and properly planned out, but in terms of complexity it feels like something that could add some real gameplay strategy and forethought to cargo. Also, based on the items and quantities of objects that need to be printed/made/exported, it could serve as a real material sink on the station, since ores tend to get ludicrously over-loaded after even one or two miners drop off ores (before they get turned into meat, anyway).
*****************

**Faction Favor** would be obtained in three ways, the first being through purchasing randomized buy orders from that faction. This would be the easiest but otherwise smallest way to build up favor with a faction. However, pleasing one faction may decrease favor with another faction, and these potential changes would be visible on the buy/sell contract tab.

Completing sell contracts would give a larger shift in faction favor, both positive and negative.

The third way would be through cargo shuttle events, which would now be tied to specific factions. These events would be considered to be private interactions between the station and the faction that made the request, so there would be few negative downside to doing so, assuming the event doesn't get too messy for the crew to handle. For example, the bomb diffusal event would give you a good deal of terragov faction favor as well as credits, but then you have to actually diffuse the bomb.

Faction Favor, as mentioned previously, is primarily used to get better prices from that faction, and someone with maximized negative favor would have to pay something like 2.5-4x more than someone with maximized faction favor on average.
Currently, lets put faction favor on a scale of -50 to 100. Most normal factions would start with a faction favor of 0. Factions agressive to nanotrasen would not be included on the list of factions, as they're intended to sell items through the **black market**. Sorry null crate stans, that's for a follow up PR.
* For factions with -50 to 24 favor, your favor only effects the price of their goods.
* For factions with 25 to 74 favor, your favor not only gives better prices, but unlocks an expanded pool of premium items to their buy contracts. These could be unique items that cannot be obtained by regular means, or rare items that show a subsequent jump in station progression, like a rare slime/ fully upgraded machines to summon down/ rare seeds. 
> **Author's note:** Keep in mind these rewards would still be subject to randomness as to what would be included and if that faction will send you a good contract. These premium items would increase the cost of a buy order signifigantly, as this is ties the economy to actual round progression, so it would need to be a realtively big number and benefitted by cargo doing some heavy lifting.
* For factions with 75 to 100 favor, you would unlock an upgrade that makes cargo better. This could mean more mail being delivered (or being delivered on a sunday if we're still doing that!), the shuttle engines being upgraded to only take 30 seconds to travel, unique regular crates being unlocked, or a rare reward.

My original thought was that faction favor would passively degrade over time, so a negative faction might move back to neutral, while a positive faction might slip below 25/75 over time, but it might make sense to have that degredation lock in at the minimums of those ranges unless willingly acted upon through buying/selling/doing favors.

Some additional thoughts:
* I might want to bite the bullet and move BEPIS rewards into these contracts and simply get rid of the BEPIS. We could keep all the tech disks themselves, but make them specific rewards or buyables. We keep all the elements of randomness that the BEPIS was originally supposed to have, but that way we can keep them relevant and give players more agency about what rewards they want.
* I'd LOVE to see the black market basically be a villanous version of cargo, with the factions of the syndicate being different factions and having to make ghetto equivalents to cargo's shipping and handling. If this goes over well (and uses the market subsytem backend), it could be a really easy transition to make the black market incredibly based.
* The base core gameplay of cargo would be gaining a lot of mechanical depth and strategy to itself, but regular cargo gameplay (Find crates and stick it on the shuttle, buy guns and pizza and call it a day) would still be available, though I would hope to integrate those existing systems into this more ecclectic thing I've designed.
* I have been living out of a hotel for a single work trip since december 27th, it's currently march 13th, I miss my desktop, please send help
* How expensive is this going to be? Would it required a dedicated subsystem  to manage itself? Only time would tell if we get to the prototyping stage.

## Arcane has run into a snag: We should refactor export datums entirely.
God I hate export datums, said ArcaneMusic. They have some very distinct negative consequences to how they perform that I would like to chop up into tiny bits because they make interacting with the economy worse!
If you want to add an item for sale, lets say it's sold in a vending machine, you would set `custom_price` to a value. ...But NOT if it's a premium item in a vending machine, then it's setting `custom_premium_price`. What? That's just confusing.
But even if you have a custom_price for that item, if you add it as a goodie item to buy in cargo, you need a seperate cargo datum written for the purchase of that goodie pack. Where you would again go and set it's value to buy there. You have set an item's value potentially 3 times.
That's also ignoring that there's also custom prices that are set as a result of the custom vending machine, which has its own set of rules so lets ignore that for now.
Finally, if you want to SELL that item back to cargo, you have to set it's value ONE MORE TIME in another place with ANOTHER datum, this time a cargo export datum. This price not to mention is subject to elasticity, which doesn't even work very consistantly, since it's supposed to slow down the value of an item being sold in large quantities at once. It does not really work that way.

SO:

NEW IDEA.

New component. We call it "Flexport". it's a flexible import export. Future arcane don't thank me now for the amazing name
items that can get exported draw their flexport value on component assignment on init. It would allow the designer to place import and export values all at once on the object and effecitively build a full list of every "economy integrated" item in the game.

Test case should be empty crates for now. 200 credits sold, 700 credits bought.

What this allows us to do is get more granular control over exports. Component assignment would allow for the items to join distinct catagories, and allow us to assign what effects buying/selling that item has on individual factions as mentioned above.