Jump to content

Skyrim Modding Diary - 25 January 2022


gregaaz

816 views

Hi folks, welcome back. After things went kind of sideways with my plan to chop up and repackage Wild Mountain Farm, I moved on to another worldspace item - filling in the Pale and Winterhold in order to cut down on the amount of empty space in those areas. We got three new settlements up and running, but when we went to do the fourth - Dunpar Wall - we found it was occupying the same geometry as one of the other settlements we'd just installed. Today, we'll move the hamlet of Dunstead so it's no longer conflicting with Dunpar Wall. If time permits, we'll also continue with the worldspace expansion project.

 

We started the day with 1,212 mods installed, 1,273 plugins, and a last index of EF.

 

Dunpar Wall, Revisited

Moving the Hamlet

Spoiler

Dunpar Wall is a pretty interesting little settlement. It adds a small village and keep in the frozen part of the Pale, which in turn is built on the remains of a wale and gate that appears to date back to antiquity, with geometry in the style of Draugr ruins and Dragon Cult sites. Here it is, seen from above; the part circled in red is where the Hamlet of Dunstead is interposed with it. 

 

image.png.ad476113d4da597b37f88b71f1c7b08b.png

 

If you proceed east through the gate (to the 'left') you quickly hit some forts that at least initially are full of bandits, so we don't want to move Dunstead any closer that way. Going west eventually takes you to the Hall of the Vigilant. If you see below, there's a fairly flat spot near the foot of the path that leads up to the Hall. This has potential to be a decent alternate location for Dunstead. Let's see how it looks in the CK.

 

ScreenShot960.png.a3f16b045241bb5794b590d21179802f.png

 

Looks promising - I had to do a little Z axis fiddling to account for the slope and I had to move a pair of monster spawns away to a position further from the settlement. The one wrinkle is that there are some door destination references located in the interior cells that might be a problem, since they point to the old locations of the doors. Normally I'd just forward and update the door references to the patch, but since we're talking about new cells in an ESL flagged file, we can't introduce conflicting top level cell records. This means we'll need to make the edits within the base plugin itself.

 

We'll start our work in the patch, calculating offsets and adjusting the teleport coordinates for each new door location:

 

image.png.b7fcb95d710d256eaf3c19010214c345.png

 

Once that's done for all three doors, we need to push all the edits back to the original file. We also need to clean up the leftover records, notably the landscape and navmesh edits for the old location. We can also "unpatch" that problematic tree since it's no longer where it was before. When all that's done, we'll use "copy as override (with overwriting) to push all the changes from the patch back into the main file. That just leaves navmeshing, and then testing, before we can get Dunpar Wall into the game.

 

Now, below you can see the navmesh we are interested in: 1035AB. We'll start by removing the triangles that overlap the village, then we'll go in and add new meshing inside the hamlet.

 

image.png.8089f97a250a4b337d1be3b95c81a94a.pngimage.png.507d85b5df65f301515cd6b5a1d00c90.png

 

Now that we've made our punch-out, we'll add new triangles to fill in the void. You can see the final navmesh below; we've also rerouted the preferred travel path data to go around the hamlet.

 

image.png.aaee45dd0fcb8b2144091345fd6165bf.png

 

After clicking "finalize" we'll save, clean the plugin, check for navmesh conflicts, and finally test the new location in the game. You can see below just how many ITMs the CK added to this tiny little patch from making editing one navmesh. These were concealed of course by corrupted edge link data and only became visible after cleaning. In this case, 75% of the records in the patch were navmesh or navmesh-related ITMs. For bonus points, the CK deleted the navmesh I was working on and replaced it with a copy :O so we need to repair that also.

 

image.png.602cec200b343cd24fb3e142459880fb.png

image.png.12121e84b25d901d019e019b1bce5904.png

 

After fixing that silliness, we'll backport these into the hamlets file, go back and rebuild the NAVI data, then check the file for any new navmesh conflicts. The area I moved the hamlet to is pretty quiet, but we do want to make sure we don't revert any data from Dawnguard by accident. A quick review showed only incidental conflicts with Dawnguard related to some new trees being added to the landscape, so nothing to worry about there. More importantly, the NPCs are pathing to their markers properly and generally behaving themselves!

 

ScreenShot961.png.53c729fd7023352e60debc04614d1809.png

 

Now that these fine folks have relocated to their new homes, we can start working on Dunpark Wall.

 

Building the Wall

Spoiler

With Dunstead Hamlet under the watchful eyes of the Vigilants (at least, until they all get murdered), we can move on to installing Dunpar Wall. Immediately we see a potential problem: this mod is too big to ESL flag. After we clean it, we'll need to break it up into two mods for flagging. We need to tread carefully, since this mod has a lot of new cells, but we only need to trim about 200 records so this should be doable. 

 

image.png.256fd281c681390c6c2ff018f4da717c.png

 

The mod itself was mostly clean; while it contained some corrupted edge link data, it did not have any deletions, ITMs, or errors. Most of the conflicts were limited to top-level worldspace cell records that weren't getting along with my LOD occlusion file (which I'll need to update soon anyway!). There's a navmesh conflict in the same area as the lantern we saw last week when we were looking at the old Dunstead Hamlet location, which we'll address at the end of this mod's installation cycle. I didn't observe any issues in xEdit, so we'll take a quick walk through the village, then work on reclaiming those 200ish records.

 

ScreenShot962.png.bb9dfceac68236ab7c5d7f7c78c87ad0.png

 

No world placement issues, terrain intrusion, etc. The outdoor fire pit at the inn looks great. So now the question is, how do we peel off enough records to get this ESL flagged? Let's see what's in the file. It's no big surprise that the lion's share of the records are object references. As you can see below, it was pretty easy to peel 500 records out of the original file. 

 

image.png.eb39ffd7b365168927a0f27b4ecb80bc.pngimage.png.e6577b3c4e58d172fbd46aea7821ee87.png

 

Now that we can compact down the main mod, we need to copy facegen to the new file names, but otherwise we should be good to go, since this mod doesn't contain new voice lines or an SEQ file.

 

image.png.9ded38da9162a5e61ef1d2080ae9c81b.png

 

So all that's left is to patch the navmeshes. We've got two meshes we need to look at  - 9BC89 and EF9F2. The first one conflicts with Lanterns of Skyrim and is the same one we saw last time. EF9F2 turned out to be a fossil of the old Hamlets location and we'll just let it get overwritten. 

 

So, let's compare the two version of 9BC89 and see what the best strategy to harmonize them is going to be. You remember the one (excerpted below) from Lanterns, now let's see what the Dunpar Wall mesh looks like.

 

image.png.b2518c9e7c9ba5376bbab40c80950929.pngimage.png.15bd7e424175942cc0b5fdd23bd72067.png

 

The yellow lines on the right are the edges of the map segment that's blocked off for the wall (the reason you don't see the wall is because a bunch of it is in the overflow file now). Using the small rock pile as a reference point, we can see that the Lantern mesh is close to the wall but doesn't pose a hard conflict. So we'll try welding as a solution here.

 

image.png.3bd03a2d93cb8f8db6d476a1f5d76ea7.png

 

If you've followed any of my previous blogs, you know the drill for welding: we'll put both versions of the navmesh in a working file, then delete the whole Lanterns mesh except for the one little part that's unique. We'll then punch a hole in the Dunpar nav mesh and connect it to the lantern bits. After that, we'll clean it, backport it into our Navmesh patch, and finally rebuild the NAVI data.

 

image.png.49d00e642b2613da95bb7702d700c036.png

image.png.d0d9fbdab33437a2ddbd4752ded162d8.png

 

Here's the lantern; let's punch this out. Afterwards, you can clearly see the canton that was carved out for the lantern post; and here's the merged mesh next to it.

 

image.png.be4b620bdb41591add11e7272d1f59d7.pngimage.png.43a5857831fa1b5869957d747f681e6b.png

 

With all that taken care of, let's take a final walk through the location and make sure nothing looks awry. 

 

 

Looks good!

 

The Boss's House

Spoiler

Since we've done Dunstead Hamlet and Dunpar Wall, we might as well do Thanedom of Dunpar, which adds a small settlement in the area that is, presumably, governed by one of Dawnstar's Thanes.

 

The mod is uncompacted, with about 700 records. It contains facegen and at least one child actor, so we'll need to renumber those and then regenerate the kid(s) with RS Children loaded. You can see more detail about how to generate RS Children facegen in yesterday's entry. After completing those initial steps, we need to clean up the mod itself. I already observed and cleaned corrupted edge link data, but other than one ITM the mod is otherwise clean. Conflicts were also minimal; just a few places where Improved Roads and my occlusion data needed to be forwarded. 

 

Compared to the previous entries, it looks like this one will be done in a flash. Let's see how it looks in game. As you can see below, the mod-added area looks fine, but there is a bunch of glitchy LOD junk in the background. This is packaged in with the mod. We'll hide all of that, and then generate new LOD since we're overdue for that. It's worth noting that most of that stuff is only visible because I haven't put this mod in its final asset load order - after which my LOD folder would take precedence and serve up the tree data - but like I said, I'm overdue for an update.

 

ScreenShot963.png.0ccd67b8d023b0441108f27bc7a6b3c3.png

 

Since I've added a lot since last time, we'll do a full rebuild of the LOD. Additionally, I'll be moving the occlusion file to the very end of my load order so we no longer have to constantly fight with my worldspace deconfliction file for precedence.

 

image.png.095916041ab1f238ad7d845c8cc44be7.png

 

Here you can see the distant view with the correct LODs updated and loaded.

 

ScreenShot964.png.dc767eab7c1ad0abc9eb186842bcd25c.png

 

 


 

A Surprise Tie-In

Spoiler

Literally as I was typing this blog entry, someone uploaded a new mod on to the Lab. If you followed Kirstia's Story, you may recall how an early encounter with a Troubles of Heroine NPC, Edippa, caused the story to take an odd turn into watersports and body fluid play that kind of became a plot point. This new mod, Enhanced Bestial Urination, seems to mostly focus on harvesting beast urine, which I could take or leave... of course, urine as an ingredient in alchemy has real life precedent, but the thing that really caught my eye was its "dragonborn urine" items. It turns out the author reimagined these into mage urine, but the idea still clicks. 

 

I have two problems with this mod, however:

 

  1. It uses a distinct mechanism to create the mage urine that is not compatible with PAF's 'pee in a bottle' mechanism
  2. Creating the mage urine does not provide any relief to the character. 

 

So if this mod is going into the build, we need to fix this. We won't remove the game's native mechanism or the animal stuff, but we need to hook up the alchemy formula to PAF. I think we'll also include the enhanced recipe from Kirstia's Story that incorporates Edippa's milk.

 

But before we get to all that stuff, first let's clean and compact the mod. The mod came out clean and compacted down without any problems, and all of the conflicts were simple leveled list edits that were no problem to patch. We do need to do a little balancing, however. This mod adds a huge amount of urine to many merchant chests. We're going to tone that down considerably but in exchange raise the number of "rolls" on the table. Basically, each item now has a 10% chance to drop 1, 2, or 10 units in the merchant chest (2/4/15 for some), and the game checks 5 times when filling the chest.

 

Next, we're going to clone the recipes so they can also be accomplished using the "bottle of urine" from PAF in lieu of the magic urine from this mod's urination spell. Since the Dragonborn is the only actor who generates these bottles, they won't suddenly be all over the place - it'll just let you craft the item with either component. Finally, we'll create a new item that matches the one from the story. At the last minute I also changed the PAF Urine ingredient to the PAF Boiled Urine one, so the spell still has some value in immediately providing the precursor ingredient.

 

image.png.89b5a563607f30e64c5571902102e2ad.png

 

Since Kirstia will be reprising her role in the next story, this mod should prove useful in keeping the game mechanics aligned with the world.

 

Always Use Protection

Spoiler

I've had Realistic Armor sitting in a browser tab for a couple of weeks, so let's see if we can get it into our game world without further delay. The mod has 449 records, so we can definitely compact it. The mod also contains some really intrusive edits to the game, which we'll be rolling back entirely. I was under the impression I'd installed the standalone version, but apparently the old-school BAIN installer didn't work the way I expected it would.

 

We'll actually deal with the included weapons first, which are a bit of a mess. They overwrite vanilla weapons and also revert USSEP fixes. We'll forward the USSEP stuff (and some WACCF keywords), then change their form IDs so they are no longer replacers. Then we'll add them to the relevant variant lists in my conflict resolution patches.

 

image.png.e222193f8f23ab20a4aa61a392259213.png

 

image.png.d86c90169dc98a79f0d3c788284ac4e2.png

 

With that done, we now want to do the same for the armor. We'll do the fur and hide stuff first as its pretty clear which armor types they map to. Then we need to figure out what each of the other sets maps to stats wise. We'll do all of this based off the chest pieces.

 

  • Mercenary: AC 27 Heavy --- Banded Iron
  • Leather Lamellar: AC 28 Light --- Elven*
  • Padded: AC 25 Light --- Leather
  • Aketon: AC 24 Light --- Studded
  • Chainmail: AC 28 Light --- Elven*
  • Long Chainmail: AC 30 Light --- Elven*
  • Steel Scale: AC 33 Light --- Scaled
  • Nord Leather: AC 26 Light --- Leather
  • Steel Lamellar: AC 30 Heavy --- Steel
  • Iron Lamellar: AC 25 Heavy --- Iron

 

OK, this is a pretty good distribution. Importantly, we now have a non-Thalmor alternative to the Elven moonstone armor. This is really good and a pleasant surprise. We'll actually focus on those remaining five items (Leather Lamellar Armor, Eastern Leather Boots, Leather Gauntlets, Nord Long Chainmail, and Nord Chainmail) tomorrow as we talk about the broader goal of de-Thalmorizing the leveled lists. Meanwhile, let's see if we can spot some of the new armor "in the wild." One of the new hide armors actually showed up in the starting wardrobe, so that was convenient.

 

ScreenShot965.png.b97a965a5ae365f591bd503c80576f81.png

 


 

Well, that was a pretty productive day. We covered moving buildings, several varieties of navmesh work, creating new recipes and potions, and distributing a bunch of new gear to the leveled lists. Tomorrow we'll continue with our land expansion project, moving into Winterhold, while we finish up with the armor.

 

We ended the day with 1,215 mods installed, 1,278 plugins, and a final index of EF.

 

 

 

 

 

Edited by gregaaz

1 Comment


Recommended Comments

Thanks for featuring my mod, This was my very first "ESP" mod, I'm relieved to see you didn't find much trouble with it, I generally keep everything organized so that applies to this as well. I intentionally kept it loose files so that people could have the freedom to customize however. And as for the mage and dragonborn urine, mages usually have magicka and so does the dragonborn, that's why there's no difference, anyone who can utilize magicka will have magical properties in their urine.

Link to comment

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use