Supply Drop

by Gangsir

You aren't alone on Nauvis. Someone, something out there wants you to succeed and get off the planet. You've been noticing strange crates that don't look like they're from this planet landing nearby occasionally. They seem to contain supplies for you. You don't know who's sending them, but whoever they are, they're certainly helpful.

Tweaks
5 years ago
0.14 - 0.17
14

FAQ

  • What's the formula for the increase over time?

I use the formula y = 1/4 * sqrt(x), where y is the multiplier, and x is the amount of hours played. This forms a smooth curve that increases over time, while starting reduced in the early game, which reduces item amounts. The formula reaches 1x multiplier at about hour 16, and item count possibilities are balanced roughly around that point. Of course, since player "speed" can vary, this might not always result in good amounts. I've tried to make sure the mod is too weak before too strong, so it never feels cheaty. The mod has tons of settings and customizing power, if you want to adjust things.

  • What can I customize?

You can customize the number of items per chest max and min (it rolls a random number between the two bounds), the amount of time between drops max and min in minutes, (by default, it drops anywhere from every 20 mins to 1 hour), you can customize player multiplier or disable it, you can introduce a flat multiplier to further adjust values on the fly, (eg if you're getting too much, you could set this to 0.5 and you'll get half as much) and much more. Take a look at the options under Settings -> Mod Settings.

  • Explosions lag/startle me/The text messages are annoying. Can I disable them?

Yep, it's an option, you can set it to only do text, only explode, or do nothing and just pop into existence.

  • What happens when the multiplier results in a non-integer amount of items?

I round values up, so if the multiplier makes you get 0.3 inserters, you get 1 inserter.

  • Do the supply crates damage their environment when they land?

Nope, by default they're completely harmless when landing (so don't worry about your factory) but if you're feeling masochistic or want to nerf the mod a bit, you can turn this on in the options. Even when on, the crates won't harm players or destroy significant entities.

  • Why can't I use an inserter to empty a supply crate?

I disabled this because the size of the chest could cause issues early game, since you aren't supposed to have access to that large of a chest until you research steel. If you want to pull from a crate in place, you can fast replace another chest over it. (Note that if it's too small of a chest, you'll get item spill) You can, however, deconstruct the crate with bots to obtain the items, or fast replace a logistics chest over it.

  • What happens if the amount of items I'm receiving exceeds the size of the chest?

If that happens, the mod will spawn another chest near the first one, containing the rest of the items that didn't fit. If that one fills up, it'll spawn another one, ad infinitum, until it's dropped everything in scattered chests. Multiplier should have to get pretty high for this to happen though.

Don't want this to happen? You can disable the overflow feature, but the items that don't fit are lost.

  • How does the item list system work?

Starting off, the mod will only drop things that you can craft with no research in crates. (Everything you're able to craft at the start of the game) Starter items like yellow inserters, labs, etc. As you craft or obtain new items, they'll be added to the list of valid drops, and start having a chance to appear in crates.

Additionally, every item is given a weight, with higher weights being most likely to drop. Commonly needed items like yellow inserters and plates have a high weight, whereas rarer craftables like chemical plants have lower weight. Almost every item in the game can drop, from coal to nukes. (But again, only once you've crafted/obtained them yourself first, and super-late game content is really rare)

  • How does the mod work in multiplayer?

By default, the multiplier gets an extra 0.25 added to it for every extra player beyond 1. (Eg a 3 player server would have 0.50 added to the multiplier, for an ultimate change of 1.5x + the time multiplier) This can be configured or even disabled.

When dropping crates, the mod will pick a random player from those online and drop a crate near their position. The crate will always be aligned to the faction of the player it dropped on, so theoretically the mod should work in PVP servers. I haven't tested this though. (Remember to report issues to me)

  • What can I do if I feel that a specific item's count is too low/high, and don't want to adjust the overall multiplier?

The mod adds quite a few commands to modify the loot table, run /sd-lootlist-help for information on them. These commands are for admins only, and make persistent changes to the loot list. If you accidentally mess something up, you can just run /sd-reset-table to reset the loot list back to default. The mod is super defensive though, so it's pretty hard to mess things up. (It won't let you add items that don't exist, strange count values, etc)

If you find yourself making an adjustment repeatedly and you're playing vanilla (or near vanilla) factorio, be sure to suggest it to me on the mod page forum. I would love balance suggestions.

  • This mod existed before in 0.15. Will you back-port it to 0.16?

Sadly no, as I've effectively rewritten the mod, and it needs a few things from 0.17 to work. Just upgrade, Wube's "experimental" releases are more stable than most AAA games' stable releases.

  • Can my mod hook into the loot list to add its items?

Yep! I provided a remote interface for manipulating the loot list. To use it, call the "supply-drop-loot-list" interface, with either add, remove, modify or reset, and then provide the data. The data should be formatted the same way as the ingame commands. (Run /sd-lootlist-help ingame for formatting info) Here's a few example calls:

remote.call("supply-drop-loot-list", "add", "purple-belt 10 30 false 12")

remote.call("supply-drop-loot-list", "remove", "purple-belt")

remote.call("supply-drop-loot-list", "modify", "purple-belt weight 6")

remote.call("supply-drop-loot-list", "reset") -- Think before using this one, you don't want to mess with people's custom tables or other mods

If you're a modder you should already know this, but don't forget to add my mod as an optional dependency for your mod, so Supply Drop loads first! Put the remote calls wherever you like (you could even use custom criteria for things being added to the loot list!).

These calls run and fail silently, so check to make sure it's working with /sd-view-entry after loading in. You can also use /sd-verify-table-integrity to check the whole table for mistakes.