Morrowind

File information

Last updated

Original upload

Created by

DaemonPrime

Uploaded by

DaemonPrime

Virus scan

Safe to use

Tags for this mod

About this mod

A collection of small adjustments to Mori Mountain Estate.

Requirements
Permissions and credits
Changelogs
What?
My collection of small adjustments to Mori Mountain Estate.  Specifically:

  • Two different fixes for a missing texture problem when played with OpenMW 0.47 (issue may also be present in vanilla)
  • A solution to conveniently get back all the ingredients Zippy helpfully puts into a hundred containers
  • A convenience option to move some frequent contacts into the estate (spoilers below)
  • Ingredient management for Tamriel Rebuilt (TR) using chest between ingredient shelves
  • Ingredient management for Of Ash and Blight (OAAB) using chest between ingredient shelves
  • Move Zippy (and Slugo) back to home positions when activated to avoid migration over time
  • General exterior clutter remover for better compatibility with Beautiful Cities of Morrowind (BCOM) and other city overhauls
  • A BCOM patch to move Zureel (the real estate agent) into the updated Eight Plates


Built for use with OpenMW but there's currently nothing OpenMW specific about any module.

How?
Dusting off of old Morrowind modding knowledge with a bit of Python sprinkled on top.  The plugins were created with the vanilla Construction Set, scripts were manipulated in Notepad++, and other point tools were used as needed.  Pro (yeah right) tip kids, you have to ESMify the base plugin to make (not use) these sorts of patches.  Also, be aware that when using more than the base three ESMs, you must check each ESM manually when loading otherwise the CS "helpfully" crashes to desktop.

Bloodpool Mesh
The mesh problem was tracked down with a combination of the OpenMW console, TES3View, and NifSkope.  Once the problem mesh (Meshes\blood_1024.nif) was found, a simple replacement with the vanilla lava mesh (Meshes\in\in_lava_1024.nif) was done to confirm the source of the issue.  Once confirmed, the mesh was inspected in NifSkope and found to reference a custom BMP texture (Textures\bloodpool.bmp).  Whether OpenMW has a general problem with BMPs or just this specific one was not investigated but the solution used here was to convert the BMP to TGA using IrfanView, then adjust the texture references using NifSkope.  With the mesh issue resolved, the result was viewed in game.  From earlier testing, the lava texture, at least in my particular setup, looked better to my eye.  An alternate fix was generated in the CS to change the static ("marcBlood01024", ID: xx403BBA) used for these blood pools.  I can only speculate on why the original author opted for the custom textures.  It is highly probable the visuals looked entirely different on the author's machine so it likely made sense not to use the built-in lava textures.

Slugo the Alchemy Slug
To reverse Zippy's work, Zippy was basically reverse engineered.  It turns out that Zippy does a LOT of one-off item checks to get everything in the right places (Python lists would be SOOOO helpful here).  First I tackled the main sorting script.  The process needed was basically the reserve of what this script does but to get there was going to require a lot of typing of all the unique names.  I'm far too lazy for that, so instead I wrote Python script (the creatively named main.py in the source directory) to read the key bits of Marc's code.  It gets the unique parts then writes the new code block using this information.  From there it was a matter of wrapping control code around it and figuring out how Marc's other scripts got into the game.  It turned out they're attached to a couple of the ingredient jars.  I copied a few jars and placed them in an inaccessible location in the cell and attached the new control scripts.  The major gotcha was that the full item transfer code was too big for a single Morrowind script so it had to be split into two.  I tried a few approaches to simplify the control code but ultimately went back to Marc's method.  Again, there were a LOT of unique if statements so I updated the Python script to write the main control module as well.  With everything more or less working, I used some of my earlier attempts to rework the transfer code.  Unlike the original, which continuously moves one item at a time until all the player's inventory was empty, the code I've implemented here moves each full stack of items in one shot.  This results in quicker operations, especially with larger numbers of ingredients.  The only worry here is that there was some reason, unknown to me at least, why the original author opted for this one at a time approach.  They were clearly talented and had some scripting knowledge so there might very well be a Morrowind quirk that makes my approach less ideal.  That said, the alchemy code seemed to come from an even earlier mod (which I can not find on today's Internet) so it may be that this optimization was just never looked into.

With the core of Slugo built, I slapped together a creature record for him and attached the scripts to the relevant objects.  After testing the core bits, I decided to tackle a couple of other minor issues I had in the alchemy area.  First, in game I had noticed that the potion chests were owned.  This never caused a practical issue for me but it annoyed my OCD a bit.  I cleaned up those apparently unintentional ownership flags and a couple of others with the plant up on the shelf.  These need to be in place when the cell initializes to work so, in practice, that means it will work on a new game only.  Waiting 30 days without entering might do it too if memory serves.  Finally, I've always found Zippy to work his way slowly across the room over the course of a playthrough.  Now, when you activate Slugo, he resets both his and Zippy's position back to default.  If Zippy has migrated on you, the first activation will be an abrupt jump, but from there I expect regular interaction with the two will keep any movements nearly imperceptible.

House Guests (Spoilers Ahead)
I've yet to contain my complete destruction of the game through alchemy and enchanting, though I'm getting closer (Really! THIS time will be different...).  As a result, I spent a decent chunk of time casting Recall out to Creeper and the Mudcrab Merchant (thank the Nine for multi-Mark mods!).  At the end of the day, all this travel was really just a time waster I wasn't getting enjoyment from.  Since I never bothered to go to my guest rooms, I figured I'd give myself a reason.  Using the CS, I placed these two into different areas in the guest quarters and removed them from their original locations.  Adding this to an existing save will actually give you NEW merchants and delete the old (along with all the stuff you already sold to them).  From the design and very brief testing, you should be able to use all your normal modifiers for these two as long as they don't move the originals (then you'll probably have two of them in the world).   I dropped in RandomPal's Properly balanced Creeper and Mudcrab "Unique and balanced easter eggs" version and it seemed to work fine and looked cool with the updated visuals provided by that mod.  Finally I added a couple of little Easter eggs at their original locations and cleaned things up for release.

Design philosophy
I play Morrowind these days via OpenMW (which is AWESOME!).  The engine is so rock solid I finally finished the main quest twenty or so years after buying the GOTY CDs.  Admittedly, it's probably been probably 15 years since I last tried, but nearing the end of House Redoran while not having a clue and fighting through circa 2006 bugs and CTDs then having your save corrupt can rub a guy the wrong way.

Given my use of OpenMW, I stick to the feature set provided there.  For the moment, this means basically vanilla scripting, though the 0.48 Lua scripting update looks really promising for new approaches to old problems.  I don't try to make anything specifically not work with vanilla but if the best path I see doesn't work with vanilla, so be it.  Since OpenMW has no practical plugin limit (maybe one day I'll surpass 2,147,483,646 plugins...), I decided to keep all these parts separate.  It makes maintenance easier and allows folks to use only what they like.  I expect, though I've long since forgotten the methods, that these could be merged if you are on vanilla and bump up on mod limits.

In Game
Slugo and the other actors should operate pretty much exactly the way you'd expect.  Either mesh fix "just works."

Load Order
Everything has to load after marcMoriEstate.esp (obviously).  Beyond that, the only other recommendation would be to load House Guests after things that modify those actors.

Compatibility
No known issues.

Why?
After playing Skyrim into the ground and finally playing (and "beating") Oblivion for the first time, I decided to give Morrowind another go.  Skyrim spoiled me on couch gaming and NothernUI by DavidJCobb spoiled me further with Oblivion.  As a result, I sought out a way to couch play Morrowind.  I briefly considered buying an OG Xbox, but that seemed overkill and had no modding (eww..).  I was aware of OpenMW, so I dug into where things were.  As of 0.47, everything seems to be working rock solid, certainly everything I encountered worked great.  As a bonus, it has native controller support.  Now if you haven't looked at it, temper you're expectations just a little (for now).  It's 100% playable and I just wrapped up the main quest fully on controller, BUT the UI is still mouse centric.  The controller can work the pointer and all the clicks but it's far from an optimized interaction.  The very good news is that the next release (0.48) should put the tools in place for modders to make a new UI which 100% can be controller-centric.

I decided to do a mostly vanilla run using the I Heart Vanilla: Director's Cut mod list.  I tacked on a few quality of life mods and the housing mod that has stuck with me through all these years, Mori Mountain Estate.  If you haven't used it yet, it provides great housing in Balmora with plenty of display and storage space along with some secrets.  With a bit more experience under my belt, I decided there were some things I'd like to "fix" to make the house just right for me.  This work is the result of addressing these things I wanted just a little different.

When?
This project was originally developed in April 2022.

Potential Improvements
  • Testing!  I’ve done some, but I am one and you are many.  Please test and log bugs you find.
  • Rework the entrance to the alchemy area.  I hate running into a wall when I enter.  It makes sense when you look at it in the CS, but I find it annoying in game.
  • Do "something" with the planter room.  It actually took me until this run to really figure out what the room was for.  The docs state you need Sri's Alchemy but I actually think that's a typo and Advanced Herbalism is the real key.  After looking over that mod, I'll probably skip it due to how it divirges a bit from vanilla mechanics.  I'm also unsure how nicely it plays with Graphic Herbalism, which seems essential at this point.  This leaves the planter room a barren place.  Combined with my thoughts about reworking the entry to this cell, I may end up moving it.  I'm considering the following ideas for the space but happy to hear others: same purpose but add normal plants to pick, scrap it, a teleporter room, a smithy, prayer room (Atronach's gotta eat).
  • Weapon displays.  After Skyrim, [Legacy of the Dragonborn (LotD)](https://www.nexusmods.com/skyrimspecialedition/mods/11802) in particular, my inner hoarder wants more stuff to be displayed EASILY.  What I've seen so far involves scripts on all the weapons (yuck), prebuilt statics that look like they have weapon racks but are really just containers, or (like LotD and the Mori library) scripting a mess of static placements that get enabled when you deliver the weapons somewhere.  None of these feel great, the last is probably the best but a boatload of work.  I'll probably hold off and see what OpenMW Lua brings to the table for this situation.  Here's hoping one of you writes Morrowind's LotD before I figure something out.
  • Posable mannequins.  Open code is out there for this and, in principle at least, it could replace the existing mannequin code.  This could alleviate at least a little of the weapon display problem.  However there are some gotchas to it.  Mostly quirks like battle music and the mannequins turning to look at you when you enter (it basically makes them attack you for a moment).  Sounds creepy, but I may look into it more.  Here again, maybe the new script engine will present a new solution.
  • You tell me!  This is what has caught my eye but maybe you have a great idea I haven't thought of.  Let me know in the comments.