Oblivion

File information

Last updated

Original upload

Created by

efhunter AKA Zaure

Uploaded by

Zaure

Virus scan

Safe to use

About this mod

Extensive, highly configurable, and in-depth player-run item shop mod that is NOT just a better, unbalanced way of selling items. Hire and obtain various workers and machines, acquire upgrades and expansions, put your best items on display, watch customers actually come into and browse your store, change what kind of store you run, etc.

Requirements
Permissions and credits
Changelogs
Donations
6/19/2022 - SAVE BLOAT ISSUES FIXED!

Back when I made this mod, I never knew you had to destroy string_vars once you were done with them, as they get stored in the save game. This mod uses a lot of string_vars, and very often. I have gone through literally every script line by line and have ensured they all get destroyed as soon as they are no longer needed. I've run identical tests between new and old versions, and the problem is confirmed fixed :)
Anyway, sorry for suddenly disappearing for nearly 2 years. But, hey, I'm back now!


1. Introduction

Why do NPCs get to run their own shops and charge outrageous prices? Why is the player's only way of selling gear through these NPCs that will only buy things below base value, just to resell for even more? Part of the reason I created this mod is to change that limitation, as well as because of not being satisfied with the other player-run shop mods I have tried. The other major reason is simply to let you run your own item shop such as in games like Recettear: An Item Shop's Tale, or the much lesser known “Faraway Story” (悠遠物語, Yūen Monogatari).

Make no mistake though, this is NOT just a better, unbalanced way of selling items. Much thought, and easily over two hundred hours of work, has been put into creating an intelligent and enjoyable experience with tons of replayability.

With that said, this mod allows you to run your own highly customizable and upgradeable shop with an extremely in-depth item/service selling formula influenced by many variables such as customer type, item properties, Shop upgrades, attributes of the Player and their hired workers, and much more.

Hire and obtain various workers and machines to perform unique tasks
. Run the shop yourself, or leave it to someone else. Repair and open up the Shop’s basement and upstairs to gain new functionalities. Set your shop up to specifically attract certain kinds of customers (be a blacksmith, a bakery, a clothing store, etc.). Put your best items on display to give them a boost! Be doing your daily affairs in town, and notice in the background customers physically going to and from your store, and more!

This mod is designed to be self-contained for the most part, to offer maximum compatibility with other mods. The only mods that may conflict are ones which significantly modify Chorrol’s worldspace, as well as modify the interior of the Oak and Crosier. As an example, I personally use this mod alongside a heavily modded game (100+ mods) including MOO, OOO, MMM, and OR, and haven't experienced any issues with compatibility.


2. Features

  • Extremely in-depth item/service selling formula, but also designed to be predictable and logical
  • Almost everything can be easily customized in the mod’s configuration file
  • Various upgradeable workers to hire, and machines to obtain, that perform unique functions
- Workers have schedules for working and not working, and may be found wandering around town on their days off
  • Weekly expense system for all related fees and wages, with a penalty for failing to pay up on time
-  No stupid surprise expenses out of nowhere – each week, you pay for the last week’s total expenses, which rewards the Player for planning ahead
  • The Player can manually run the Shop themselves, which will take into account their own attributes, or they can hire an upgradeable Salesperson or machine to do it for them, allowing any kind of character to enjoy this mod without having to specialize in certain skills
  • Full-blown statistics for every aspect of the Shop in various time frames for easily analyzing Shop performance, as well as logs of recently sold items, an overview of all items up for sale, an item sell-time calculator, etc.
  • Five different customer types with five matching Shop Setups
- Customers physically come in and browse the Shop when open
- Certain customer types have specific interests which can be catered to
- Different Shop Setups attract more of a certain type of customer
  • Functional display cases, tables, etc. that will boost the displayed item’s chance to sell
  • An upstairs section that can be repaired and refurbished into a player home
  • Various tiered upgrades to acquire for many aspects of the Shop, all with physical representations alongside numerical changes
  • Essential and commonly used tools and containers all centralized around the Shop’s main counter for convenience and ease-of-use
  • Spell to remotely control certain aspects of the Shop conveniently from afar
  • Gold storage for the Player, mainly for use with any mods that have gold loss penalties for “dying”
  • Designed to be self-contained for the most part, to offer compatibility and replayability with the vast majority of mods
- For example, using any mods that add a lot more depth to food in the game? The Bakery Shop Setup will be a lot more useful than in vanilla!
  • ...and lots of other small things that would be too much to list here!

If you wish to know more, the PDF located in the "Docs" folder of the mod goes into MUCH more detail. There are also two in-game books located on the Shop's main counter. The PDF is also viewable online here (click).

3. Installation

  • Install the latest version of Oblivion Script Extender (https://obse.silverlock.org/)
  • Put "efShopMod.esp" and the folders called “ini”, “Meshes”, "Sound", and “Textures” in the "Oblivion\Data" folder
  • Activate "efShopMod.esp" (via a mod manager, or Oblivion’s launcher)
  • (Optional) Open "efShopMod_Config.ini" in "Oblivion\Data\ini\efShopMod" to configure many aspects of the mod
  • Run the game with Oblivion Script Extender (launch from "obse_loader.exe")

4. Compatibility

7/29/2020 - NOW COMPATIBLE WITH BETTER CITIES (download the compatibility patch!)
- For load order: Load Better Cities first, then this mod, and THEN the compatibility patch
- This is NOT compatible with Open Better Cities!

Any mods that significantly alter Chorrol's world space or, as well as modify the interior of the Oak and Crosier, are very likely to conflict. This means any city overhauls will most likely not be compatible without a patch specifically made for them.

Everything else should work fine, as this mod was designed to be quite self-contained from the start. I personally use this mod alongside a heavily modded game (100+ mods) including MOO, OOO, MMM, and OR, and haven't experienced any issues with compatibility so far.


NOTES

- Loot Menu - Use the key for pulling out/putting away your weapon to bring up the vanilla container menus. You need to do this to view all the statistic containers properly.

5. Where to begin

From entering Chorrol's southern gate, the Shop will be located on your left*. You will need to interact with the well besides the Shop, and choose to toss 2,000 gold into it, to acquire the key.

*With Better Cities, the Shop will be located in the south-east area of Chorrol.

For more detailed information and/or a starting guide, consider reading either the in-game books located on top of the Shop's main counter, or having a look at the extensive PDF located in the "Docs" folder of the mod. The PDF is also viewable online here (click).

6. Feedback and future plans

Let me know what you think of the mod in the comments, and any ideas if you have any.

Since this was my first mod for Oblivion, a lot of the time spent developing it was figuring things out and working around stupid quirks and problems with the game itself. Thus, when I eventually get around to doing a new release (that isn't just a hotfix or patch), it will probably have a lot more cool stuff in it. I see 1.0 as just the foundation to build upon, really.

One thing I already know I want to add in the next version is a "Research Department Expansion" for the Shop, where you can reverse-engineer items if you provide multiple copies to be destroyed, unlocking their "blueprint" and then being able to produce them yourself.

When will the next big version be released? I have no clue. I wanted to wrap up this initial release to focus on other things (not mod-related), as it was taking up quite a bit of my time.


7. Changelog

1.2.0 (6/19/2022) 

- FIXED ALL THE SAVE BLOAT ISSUES!
- Renamed the mod to “ef’s Shopkeeper Mod”
- All custom dialogue now fully voiced using xVASynth
- Ingredients/food are now considered like arrows and potions, and have their own min and max values for how many a customer may buy as "one" purchase
- Reduced base sell chance of all price tiers significantly, and redefined the tier price brackets
- Increased Display Case and Table/Shelf Bonus (150%→ 200%,110% → 133%)
- Decreased chance for a customer to purchase Altar of Enchanting services (5% → 1%)
- Increased min and max values for gold from Altar of Enchanting service sales (100g → 300g, 500g → 1000g)
- Decreased chance for a customer to bet with the Gambler (25% → 15%)
- Decreased average Trainer profits significantly
- Fixed instances of “:=” in certain messages where “to” should have been
- When running the shop manually, SetPCSleepHours is used instead of simply setting GameHour to 18. This is probably better for playing nice with other schedules/timed events

1.1.3 (8/3/2020) 

- Fixed Arcane Vending Machine not checking for item durability properly when running by itself, resulting in anything without durability selling for 0 gold
- Fixed bug in Items Overview - the Arcane Vending Machine total value did not account for multiple copies of an item, or durability
- Fixed "item not worth anything" pop-up appearing on load, if any items worth zero gold were in any display slots
- Added invisible container item "CIP Token" to item blacklist (from the mod "Ascension")


1.1.2 (7/30/2020) 

- Fixed textures not having mipmaps (they would appear broken without texture size being set to "Large")


1.1.1 (7/29/2020) 

- Changed floorboard texture to look less modern/machine-cut
- Fixed Recently Sold Items header scroll not having a blank icon


1.1 (7/26/2020) 

- Overhauled main floor and upstairs visuals to better match the outside exterior
- Stairs wall-mounted lantern now comes with Upstairs Private Quarters instead of Fancy Lighting
- Other various lighting adjustments
- Added some paintings as part of Standard Furnishings
- Added and tweaked some of the tapestries from Standard Furnishings


1.0.1 (7/25/2020) 

- Fixed workers not actually being able to go into the Guest Rooms in the Oak and Crosier due to not having the keys (the door is locked). I swear this also made their AI more consistent, but I'm probably imagining it. Also, I could have sworn I read somewhere that locked doors did not matter to NPCs, hence me not doing this in the first place, but I guess I either imagined it or it was just wrong.


1.0 (7/23/2020)

- 
Initial release

8. Afterword

Fun fact, actually – this is my first mod for Oblivion. Well, first if you don’t count making 2 second mods over a decade ago that were just changing numbers, and quickly fixing up someone else’s broken death penalty mod last year.

I love playing with Midas Magic, having to hunt for all different the materials to make the spells with, and while doing that I’m encountering all this new loot and these new enemies added by the big overhauls I have. On top of that, I have a death penalty mod that makes adventuring actually dangerous and exciting, since “death” now means you can’t just mindlessly run back into the same place over and over again instantly with info of what is inside – actually sneaking in, and managing to make off with a big haul now feels amazing.

What drove me to make this mod initially was the desire to add onto this exciting, fun gameplay formula with a player-run item shop that would make selling all the loot you get from such dangerous adventuring much more fun, complex, and rewarding than just dumping everything at an NPC’s shop with zero thought, because you had no other choice. And, you would be able to actually sell those rare, very valuable items you got that no NPCs had enough money to buy fully anyway, making them actually not valuable at all.

It would add so much replayability, especially if I made it so it would be viable with any kind of character build, and let you morph the shop into different kinds of establishments. And I just loved the thought of being able to walk into my own shop, and actually see random customers in there looking at the stuff that is actually being sold, out on display. And also stuff like seeing them going to and from the shop while taking care of other errands in town, etc., all while having great feedback for the shop’s performance in the form of easily viewable statistics and logs, so you can actually see the outcomes of your decisions clearly. And thus, the result of those desires is the mod you see now.

If you think this mod was worth the months of work, and would like to spare a few dollars, you can donate to me via PayPal. All donations are non-refundable, and are massively appreciated, but not expected at all. Thank you in advance if you choose to donate.


9. F.AQ. & Issues

Q. Why is everything on the Shop Purchase Menu 0 gold?

A. This happens when the config .ini file somehow does not get loaded. It is supposed to load every time a save is loaded (or a new game is made) within a few seconds. Therefore, if, for whatever reason, it does not, try reloading your save, and wait a few seconds. If that still does not work, restarting the game and loading your save should almost definitely fix it, otherwise something is terribly wrong with your installation.

Note that upon maxing out an upgrade, it will state the cost is 0 gold, as well as include “(BOUGHT)” in the name – this part is intentional.

Q. Why do customers or workers get “stuck” sometimes?

A. Everything points toward the AI just being bad. They are specifically told what to do each hour, and yet sometimes just do not function within a timely manner, with zero consistency.

Also, using the wait feature in a cell with any actors will freeze all the actors (they won’t leave/enter the cell, or move in general, during the time being passed), except for when sometimes the game decides to reload the scene, with seemingly no consistency? There are no clean or easy workarounds to this to my knowledge. As such, waiting in the Shop with customers will likely cause said customers to stay in the Shop longer than they are supposed to, and may throw off when they will actually leave, etc. Regardless, this has no effect on the “real” customer amount, and will only interfere with the cosmetic aspect.

Q. Why is it that when damaged/stolen items get moved into a stack, they magically regain all their durability/lose their stolen status?

A. Because this is apparently a vanilla bug, despite being so blatantly broken and noticeable if you actually play the game for more than five minutes. I thought this was being caused by a mod for the longest time, because of how obvious and easy to unintentionally perform it is. Blame Bethesda for not actually testing their game.

On top of ruining the aspect, however small, of having to actually get items repaired or suffer the price (until 25 Mercantile) and sell chance penalties, it is so easy to perform unintentionally that there really is no good solution to avoiding an exploit like this.

Q. Why do the items on display on the tables and shelves float sometimes when initially placed?

A. I have no clue, but simply tapping the grab key (Z by default), or touching them, will fix their physics.

Q. Why can’t my hired workers or customers be hurt or stolen from?

A. Because that is beyond the scope of the mod. But, if you insist, openthe console with ~, click on the NPC in question, type “setghost 0”, hit Enter,
and press ~ again to close the console. Note that for customers, this “ghost”
property is automatically reapplied each day.

Q. Why is X upgrade so expensive/cheap?

A. You can tweak the gold cost of upgrades, alongside a plethora of other things, to your liking in the config .ini located in “Oblivion\Data\ini\efShopMod”. If you dislike certain material costs, a solution is to just spawn in certain materials via the console (check the Material Cheat Sheet section in the PDF, or use Google), as those cannot be changed in the config (it would be a massive pain to implement cleanly for very little gain, so they are hard-coded).

Q. How do arrows/potions/ingredients work? Does each one count as one item?

A. Arrows, potions, and ingredients of the same type are bought in bundles (arandom amount with minimum and maximum values defined in the config), andeach bundle is considered one item purchase. By default, bundles are on average
15 arrows, and 2-3 potions/ingredients.

Q. Why is nothing happening when I buy upgrades?

A. As clearly stated in the prompt for every single upgrade which requires it (mostly anything that physically alters the Shop), you must finalize the upgrades by interacting with the Well of Change and Progress outside the Shop (turn left after exiting) while the Shop is closed.

For upgrading Worker attributes, they will automatically take the next Shop cycle (6 A.M. to 6 P.M.) off to finalize all attribute upgrades. Don’t forget to set them back to work when they finish!


Q. I can just reload a save every time I lose a bet with the Gambler! And I can just take the scrolls that display statistics out of their containers and sell them!

A. I’m not going to implement stupid counter-measures to attempt to prevent save-scumming, or change how the Shop statistics are displayed to a much uglier system, because you lack self-control. If you want to cheat, save yourself the time and use the console.

Q. What’s stopping me from just waiting 14 hours immediately every single time I run the shop to get around the downside of items not selling immediately, as well as gain daily passive income over and over?

A. Maintenance Fees which will drain gold every day the Shop is run, with the amount varying based on certain Shop upgrades (these occur every day someone or something is running the Shop). However, should these be nullified by a daily passive income which is higher than what must be spent, nothing but your own self-control, and self-awareness of what is obviously not intended. The Shop is designed around actually playing the game – not a character who stands in front of the counter 24/7 doing literally nothing else. I can only attempt to punish and disincentivize such behavior so much before it negatively impacts the enjoyment of those who actually play the game normally.

Q. There’s so many formulas and numbers involved in everything! How am I supposed to remember them all!?

A. You aren’t. Everything is designed to be predictable (e.g. a Shop with no lighting is going to perform terribly. Someone running the Shop with only 25 Speech is at a disadvantage, etc.), yet still offer a varying degree of results from day to day operations, as a result of there being no straight-forward, extremely simple formulas that fit every situation.