Trade Routes
Dynamically adjusts the gold value and merchant supply of materials, ingredients, food, drinks, soul gems and spell tomes based on regional supply and demand, creating a network of profitable trade routes to discover.
Ever wanted to play as a traveling merchant, buying goods cheap where they’re plentiful and selling them where they’re rare for a modest profit? Or did it ever bother you that materials and ingredients are sold in the same quantity and for the same price everywhere, even if they come from only one mine or grow in only one area? Then you might enjoy…
OVERVIEW
Trade Routes dynamically adjusts the gold value and merchant supply of food, drinks, animal hides and parts, ingredients, ores, ingots, gems, soul gems and spell tomes according to the real availability and logical demand of each item in each hold. These adjustments can be influenced by the player’s activities (where appropriate), and as the name implies, are carefully tuned and arranged in such a way that they create a network of profitable trade routes — in fact, two separate networks.
The primary trade loop visits every hold except Whiterun and can start turning a profit as early as level 3. This loop is made up of the highest-margin routes, carrying goods from where they are most plentiful to where they’re the rarest or in the highest demand. But of course, the greatest price differential tends to involve the furthest distance, so each leg of the primary loop is quite long — often stretching clear across the province. There is also a secondary loop which only becomes profitable to dedicated, skilled merchants later in the game; although the profit margin on each leg of this loop is lower, the legs are also much shorter, offering a higher profit potential for a shorter distance traveled.
Many mods which add new lands and regions are supported (but not required), so they can be optionally inserted into both trade loops. Supported regions currently include Solstheim from the Dragonborn DLC, Moonpath to Elsweyr (partial), Wyrmstooth, and Falskaar; support is also planned for Rochebere, Luftahraan and Issgard whenever they’re released.
Trade Routes requires Skyrim Script Extender (SKSE) version 1.7.0 (release 45) or later.
HOW IT WORKS
Trade Routes makes several adjustments which work in concert to add some regional flavor and create profitable trading opportunities. Each feature can be tuned or disabled using a SkyUI/MCM configuration panel, however this is mainly intended as a fallback option in case there is a compatibility issue with another mod. For most users, it is recommended to leave all options at their default settings, which have been carefully designed to produce the intended effect without breaking immersion or game balance.
Regional Prices – The most obvious adjustments are to the base value of food, drinks, animal hides and parts, ingredients, ores, ingots, gems, soul gems and spell tomes. These adjustments are specific to each region, so whenever the player crosses a hold border (or reloads a saved game), the mod will update all affected prices. This usually only takes a few seconds, but a warning will be displayed if the player is able to open a barter window before the regional update is complete.
Ore Ratio, Minimum Food/Ingredient Price – Besides the region-specific pricing, small adjustments are also made to some items in all regions. Ores are set to a consistent percentage of their ingot prices, so that smelting adds a consistent markup; this feature is mostly aimed at Dwemer scrap metal (which is severely undervalued in the base game), but it is applied to all smeltable items. The prices of some food, drink and ingredient items are similarly scaled up so that it doesn’t require hundreds of them to make a trade run, since some of them cost 1 or even 0 (honestly, zero!) in the base game.
Speech Scaling – The range of merchants’ barter difficulty is adjusted (via the fBarterMax/Min game settings) so that primary routes becomes profitable with the second perk point in Haggling (doable at level 3), and secondary routes become worthwhile at a higher level of Speech skill, perks and equipment (which I won’t spoil here). This is also the mechanism by which Trade Routes supports many popular mods that alter the effects of the Speech perks, which would otherwise disrupt the intended tuning. Supported perk mods can be found in the COMPATIBILITY section, with the (4) and (5) footnotes. By default, Trade Routes will automatically detect the active perk mod and set fBarterMax/Min accordingly.
Regional Supply – Using the same patterns that produce regional pricing, Trade Routes can also disable the vanilla merchant stocks for affected items (except spell tomes) and replace them with regionally varied supplies.
Trade Supply & Extra Gold – Although each trade route is based on the difference between an item’s purchase price in one hold and its selling price in another, this alone is not sufficient to enable profitable trade. In order to capitalize on that differential, the player must be able to buy a sufficient quantity of the item wherever it is cheaper and sell it again where it is more expensive. To this end, an extra (de-leveled) supply of all primary- and secondary-route trade items are added to merchant stocks in the hold(s) where they are more plentiful, and all merchants are given a slightly larger gold supply with which to purchase goods from the player.
Quest Effects – There are several possible game events (in the form of quests) which can influence the supply or demand of various items in various regions. For example when the player liberates a mine, then the miners will get back to work and the corresponding material will drop in price and rise in merchant supply. Conversely if the player causes some supplier to shut down, then those products will rise in price and drop in merchant supply. This feature is enabled by default, which will require the player to complete several quests in order to unlock all trade routes, but it can be disabled to make all trade routes available no matter the player’s actions.
SPECIAL FUNCTIONS
Trade Routes attempts to automatically detect and handle as many situations as possible, however there are a few things that cannot be done automatically and must be done manually by the user in order for the mod to function correctly. If you have SkyUI/MCM installed, these will be found in the mod menu; otherwise, they will be available via a setup item in your Miscellaneous inventory.
Init Other Save – If you’ve already been playing one save and then decide to start a new game, or load another save which hasn’t seen Trade Routes yet, you will either have to quit and re-launch Skyrim or invoke the Init Other Save function. This function will un-apply all regional variations and reset all items to their vanilla prices, so that when you load (or start) the other save file, it can initialize all of its regional price data based on the correct vanilla prices. The reason this is necessary is somewhat technical, but the short version is that Skyrim does not bake item prices into save files, which in turn means that changes to them leak to other saves when you load them during the same play session (similar to how merchant inventories leak between reloads).
Uninstall – The Skyrim game engine does not officially support the safe removal of any plugin from an ongoing playthrough, so there can never be a guarantee that doing so will work. That said, most of the changes made by Trade Routes will not persist in your save file anyway, and the Uninstall function will attempt to revert the few additions to base-game leveled lists that are required for the mod to function. If you remove Trade Routes without using this function, you may find that merchants occasionally have no money, among other oddities. Conversely, if you use this function and then save, quit and reload with Trade Routes still enabled, then it will re-do all of its regional item calculations. This can be helpful if you suspect they were corrupted somehow, or if you add or remove a mod that changes base item values and isn’t already automatically detected by Trade Routes.
INSTALLATION & UNINSTALLATION
Just install with your favorite mod manager (or unpack the core files and plugins into your Skyrim\Data directory) and enable the TradeRoutes.esp plugin file. Each time you start a new game, or load a save which has not seen it before, Trade Routes will have to pre-calculate all of the regional pricing and merchant supply lists. This may take as few as 15 seconds or as many as 60, depending on your framerate and how many supported mods you have which add additional items, but it only has to be done once per play-through (or whenever you change certain mod options). After that, whenever you reload or enter a new region it should only take a 2-5 seconds to apply the pre-calculated variations.
Please note that you must also have Skyrim Script Extender (SKSE) version 1.7.0 (release 45) or later.
To upgrade to a new version, just install the new one and load your last save. Most updates will also require Trade Routes to rebuild its price lists so you’ll have to wait the 15-60 seconds again after updating, but no other special procedure is required.
To uninstall, use the Uninstall special function and then uncheck TradeRoutes.esp from your load order and/or delete the mod’s files. Item price changes don’t persist through saves anyway, and all scripts are attached to quests or quest items which should just disappear and stop running.
LOAD ORDER
TradeRoutes.esp should be placed at the top of your load order, just after any master files and the unofficial patches.
Trade Routes doesn’t change very many records from the base game so load-order conflicts with other mods are unlikely, but when they do occur, it is usually more important for the other mod to make its changes. This will sometimes break certain features of Trade Routes, but as soon as the incompatibility is reported, a patch can be created to solve it. If you use any of Trade Routes’ compatibility patch plugins for other mods, they should each be placed immediately after all of the other mods’ plugin files, which should in turn be after TradeRoutes.esp.
For more detailed information about the forms that Trade Routes changes and the consequences of them being overridden by other mods, refer to the MOD COMPATIBILITY DETAILS article.
COMPATIBILITY
The mods listed below have been checked for compatibility with Trade Routes and fall into one of these categories:
Automatic Support: Trade Routes will automatically detect and support these mods without the need for any additional patch or plugin.
Patch Recommended: These mods have minor conflicts with Trade Routes; a compatibility patch is available to resolve the conflicts, but isn’t required for both mods to mostly work as intended.
Patch Required: These mods have major conflicts with Trade Routes; they should not be used together without the compatibility patch.
Planned Support: Support is planned for these mods, either when they’re released or when time permits.
Compatible: These mods have no serious conflicts with Trade Routes; no special support is required, as long as you follow the LOAD ORDER instructions above.
Incompatible: These mods should not be used with Trade Routes since one or both will not function correctly, and no compatibility patch is available.
The version number(s) beside each mod indicate the version(s) of that mod that have been specifically checked for compatibility as of the latest update to Trade Routes. Versions before or after the indicated range should hopefully work, but that can’t be guaranteed since it depends what the respective author changed in their mod. Any additional comments about a mod will be listed immediately after; if the same general comment applies to multiple mods, they’ll instead have a footnote number, with the associated footnote found at the bottom of the list.
Footnotes
The new region(s) and items in these mods are fully supported: the added items will be re-priced (and possibly sold by merchants) in all (appropriate) regions, and all items will be re-priced in the added region(s). All of the added regions (except for Elsweyr) can also be visited as part of the primary and secondary trade loops.
Full support is planned for these mods just like the other new regions mods, but compatibility can’t be guaranteed until they’re actually released and tested.
The new items in these mods are fully supported, and will be re-priced (and possibly sold by merchants) in all (appropriate) regions.
The modified Speech perks in these mods are fully supported. Although Trade Routes itself does not add or modify any perks, its profitability tuning is sensitive to any changes to perks that affect buying and selling prices (i.e. Haggling). Trade Routes will automatically compensate for this (via the “Auto” Speech Scaling option) by adjusting the merchant difficulty game settings (fBarterMax/Min) in order to maintain the intended profit potential of each route. Although it’s not generally thought of as a perk mod, the USKP is listed here because it increases the potency of Haggling (due, I think, to a misunderstanding of how price multipliers ought to work), which Trade Routes must compensate for.
The modified Speech perks in these mods are only partially supported, due to their unusual combination of potency and skill requirements. This makes it impossible for Trade Routes to control the precise skill level at which the trade loops become profitable or time-efficient, so the traveling merchant gameplay will not be as well tuned with these perk mods as with the other fully supported mods.
Other New Lands Mods
If you use an unsupported mod which adds an entire region, you’ll just notice that all affected items have their “average” price in that region instead of a logical price for each item. If you know of or are developing a new lands mod that you think Trade Routes should support, please feel free to contact me.
Other New Locations Mods
If you use a mod which adds new locations to existing regions (such as expanded towns with new interior cells), then compatibility will depend on how the new locations are defined. If the new Location records are descendants of the appropriate “LocTypeHold” Location, then Trade Routes should recognize which regional variations to apply there and all will be well. Otherwise, things should still work as long as the player enters the new Location from a properly defined Location (such as an exterior cell of the expanded town); but if the player teleports into the new Location then prices and supplies will retain their variations from the previous region, and if the player loads a saved game inside the new Location then prices and supplies will have “average” values across the board.
Other New Merchants Mods
If you use a mod which adds new merchants (such as expanded towns with new shops), then compatibility will depend on how the new merchants’ chests are defined. If they include a single instance of the VendorGold* list appropriate to their merchant type (Apothecary, Blacksmith, etc), and the bulk of their other inventory is provided by the relevant vanilla leveled item lists (LItemBlacksmithMinerals*, LItemMiscVendor*, etc), then Trade Routes should be able to add the correct regional items to their inventory and all will be well. Otherwise, they may end up selling far too many items, or almost no items, or they may be completely unaffected.
Other New Items Mods
If you use an unsupported mod which adds new metals, ingredients, foods or other items similar to ones that Trade Routes covers, you’ll just notice that those items always have their original price in all regions. If you know of or are developing an items mod that you think Trade Routes should support, please feel free to contact me.
Other Perk Mods
If you use an unsupported mod which changes the barter bonuses available in the Speech (or any other) perk tree, you may notice that trade routes are much too profitable at low levels, or not profitable at all until very high levels. You can attempt to fix this yourself using Trade Routes’ “Custom” Speech Scaling option and adjusting the fBarterMin/Max settings, but the built-in preview would be inaccurate since it won’t know how to correctly account for the modified perks. If you know of or are developing a Speech perk mod that you think Trade Routes should support, please feel free to contact me.
F.A.Q.
Is Trade Routes related to Economics of Skyrim?
Trade Routes is definitely inspired by Economics of Skyrim’s regional economy feature, but they are not directly related; all of the design, implementation and scripting was done completely from scratch, and Trade Routes takes the core concept much further. For example, while Economics of Skyrim had three general price levels (1x, 2x, 3x), two supply levels (local, imported) and unrelated modifiers to merchant difficulty and gold supply, Trade Routes uses five price/supply levels and carefully fine-tunes all modifiers in relation to each other in order to facilitate “traveling merchant” gameplay. Economics of Skyrim also included many other unrelated features (such as work-for-hire and crafting station rental) which are not included at all in Trade Routes. Dynamic Economy of Skyrim seems to re-implement the work-for-hire feature, but I don’t know of any mods that fill in for EoS’ other features; please contact me if you know of or are developing one, since many folks would probably be interested in using it along with Trade Routes as a complete replacement for Economics of Skyrim.
Why is priced in ?
In general, prices are lowest where the biggest (or only) sources are, and get higher the further you get from those sources. Sometimes there are lore-based deviations from this pattern, such as unusually high or low demand in some region because of the people or culture there, or competition with local products that drives prices down a bit. But if none of these principles explains the situation, then the answer is almost definitely “game design” — Trade Routes aims to price things intuitively, yes, but it also aims to create a complete network of profitable trade routes, and sometimes one goal must be compromised for the other. As in all game design, it’s a balance between skin and bones: the skin must look pretty, sure, and things should be intuitive and easily explainable to the player; but the bones must also be solid, the game mechanics must be enjoyable and functional, and you don’t want to leave loopholes that render half of the design pointless. For more information about the thought process behind a particular item, you can also refer to the ITEM DETAILS article.
Why does sell in even though Regional Supply is enabled and it should be very rare there?
When Regional Supply is enabled, Trade Routes will disable certain leveled item lists that make up the bulk of merchant inventories. However, some merchants (especially apothecaries) also have items pre-placed on shelves in their shops which they will offer for sale. In many cases these items are not region-appropriate, so you may see a few odd items for sale in regions that Trade Routes would not ordinarily allow. It would theoretically be possible for Trade Routes to replace these pre-placed items with better regional alternatives, but this could also cause many more compatibility problems with mods that make any changes to affected shop interiors, so there are currently no plans to do this.
How much more profitable is the primary loop vs. the secondary? or,
How much shorter is the secondary loop vs. the primary? or,
Can’t I just fast travel everywhere and then who cares how long the loops are?
Of course you can, but you shouldn’t. The two trade loops are balanced against each other based on their respective lengths when the player travels in real-time on main roads. It is, of course, possible to fast travel from hold to hold in order to cheat the system and make virtually limitless gold; Trade Routes will not attempt to prevent this. It is assumed that anyone who wants free money can just use the console to get it, while anyone who uses this mod should have the discipline to walk each leg of their trade runs like a proper traveling merchant, and accept all the risks that entails.
It says Moonpath to Elsweyr is supported, but I can’t buy enough of anything to ship to the next region!
Yes, sadly, this is so; Moonpath to Elsweyr is supported to the extent that there are items whose prices should allow them to be profitably imported or exported, but as mentioned earlier, this alone is not sufficient for a trade route. Unfortunately the merchants in Moonpath to Elsweyr are very strangely designed, so the mechanism that allows extra trade goods to be added to all other merchants in the game does not work in Elsweyr. Even worse, the merchants are so strangely designed that after spending several full days on it, I still was not able to find a reliable workaround. If the author of Moonpath to Elsweyr wants it to work nicely with Trade Routes, they just have to release an update or patch that cleans up the general goods merchant (so that he only has one chest to sell from, and that chest contains VendorGoldMisc); this should correct the problem so that Elsweyr can be included in both trade loops.
It says ores and ingots are covered, but what about the weapons and armor made from these materials?
Only raw materials (and cooked food, filled soul gems, and spell tomes) are affected by the regional pricing and supply features; finished products (potions, weapons, armor, arrows, etc) are not touched at all. It was originally planned to include weapons and armor (including faction gear like Imperial and Forsworn with regional patterns based on the faction rather than the material), but that ended up being too much for Skyrim’s scripting engine to handle. Even as it is, covering only the ores, ingots, ingredients and so on requires ~500 items to be re-priced whenever you enter a new region, and that takes 2-5 seconds; if weapons and armor were included as well, especially including all the enchanted variants, that would bring the total well into the thousands, and nobody wants to have to wait over a minute after traveling before they’re allowed to talk to a merchant. Besides, it makes a kind of sense that equipment ends up scattered all over the place by bandits, soldiers and other adventurers wearing it around, selling it to upgrade, and so on, so their price and availability won’t vary so much from region to region. On the other hand, raw materials tend not to go very far from their source before being turned into a finished product, so they have a much larger regional variance.
The price of is way too high! That’s not realistic at all!
No, it’s not, but having food and ingredients that only cost a few gold coins each causes two problems for Trade Routes, and the cleanest solution I could come up with was to simply increase those prices. The first problem is that Skyrim does not have any denomination of currency smaller than a whole gold Septim; there are no silvers, coppers, cents, or anything else. This means that all prices must always be rounded to a whole number of gold coins, and that means that it’s impossible (for example) to apply a 50% discount or markup on an item that costs 1g: it can cost 0, or 1, or 2, but it cannot cost 0.5 or 1.5. Consequently, the average price of an item needs to be high enough that the price difference between regions is close to the intended percentage even after rounding. The second problem is that early in the game (with low Speech skill) your profit margin on each leg of a trade route is only about 10%, and I wanted each leg to yield about 100g in profit so that they’d be at least kind of worthwhile. In order to make 100g profit with a 10% margin, you need to ship about 1000g worth of goods. For routes that involve shipping high-end metals that’s not a problem, since (for example) it only takes a few Ebony Ingots to add up to 1000g. But for some regions, the only logical thing to export is a collection of food or ingredient items, and if each of those items only cost 1g, then you would need to be able to buy 1000 of them to add up to 1000g. I didn’t think it was a good idea to have Alchemists selling ingredients in quantities of 1000, so again, the cleaner solution was to increase the prices so that they’d only have to sell a few dozen. If this goes against your taste for realism, you’re welcome to disable price scaling in the options menu by setting Min Food/Ingredient Price to 0, and then you will also need to reduce the Trade Supply option or else Alchemists really will be stocked with thousands of items. This will make it difficult to actually make any profit as a traveling merchant, but it will allow the super cheap food and drink items to remain super cheap.
CREDITS
Bethesda Softworks for Skyrim and the Creation Kit
Ian Patterson, Stephen Abel and Paul Connelly for SKSE
Thomas Kaira for Economics of Skyrim
mikegray, Drackk77 and CookieVortex for testing
KNOWN BUGS
* When Regional Supply or Extra Gold are enabled, Glover Mallory (Raven Rock’s resident blacksmith) has twice as many items for sale as he should. This is due to his merchant chest containing quantity=2 of the VendorGoldBlacksmith leveled list, while every other blacksmith in the game only has quantity=1. This is fixed by the Unofficial Dragonborn Patch (UDBP) version 2.0.1 or later.
LICENSE
All design and script code for Trade Routes: Supply & Demand by taleden is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.