List MergingEdit
Morrowind uses randomized lists throughout the game to both randomize items and encounters and to scale the game to your character's level of competence. These leveled lists are defined in the mod files as leveled item lists and leveled creature lists. Each item (creature) list is simply a list of items (creatures) and/or other item (creature) lists, along with a specification at what player character level each item (creature) may appear.
Mod conflicts over leveled lists are common. E.g., almost all creature mods will conflict with each other since creature mods usually add their new creatures into the game world by modifying standard leveled creature lists. As with other conflicts, the last mod to load wins, which has the effect of completely removing any additions made by earlier mod. E.g., if mod alpha adds "Blue Hound Dog" to the Ascadian Isles creatures list, while mod beta (which loads later) adds "Green Hound Dog" to the same list, then only the "Green Hound Dog" creature will show up in game.
The solution to this problem is to merge the lists from the different active mods into a new mod which is ordered to load last. E.g., for the example above, the new leveled list would define the list so as to add both "Blue Hound Dog" and "Green Hound Dog" to the leveled list.
Historically there have been several tools that did leveled list merging, however today the preferred tool is Wrye Mash or Tes3cmd. Both create the list correctly and avoid including lists that do not need to be merged.
An alternative is to use TESTool. However, TesTool's leveled lists are not correctly sequenced, and so require the use of the additional (command line only) tool Leveled List Resequencer.
Another alternative is SmartMerger; Although its original purpose was merging mods and making a new whole master file, one of its features includes the merging of leveled item and creature lists. SmartMerger is currently under development.
Note that if you have saves with significantly different sets of masters (e.g., one contains PirateLord's Creatures, while another does not), then you will likely need different merged list mods for each set of masters. (Most mods do not alter leveled lists, and so adding/removing them does not require re-merging lists. Typically, you only need to remerge after adding/removing mods that add creatures and/or items to the game in a random way.) Note that it is easier to maintain multiple leveled list mods with Mash than it is with TesTool.
List Merging TechEdit
Leveled lists entries must be in order of increasing pc level. TesTool's error is that it fails to do this when merging lists. The result is that the list becomes effectively truncated at the first entry whose pclevel is greater than the pc's current level.
In surveying leveled lists, you'll note that the same entry may be repeated several times. E.g., you may see 2,nixhound; 2,scrib; 2,nixhound. The purpose here is modify the randomization. Doubling the number of nixhounds makes them twice as likely to appear, while separating them makes it less likely that similar nearby spawn points will produce the same item.
Scripted Leveled ListsEdit
Mods that modify leveled lists through the addToLev and removeFromLev script commands will cause copies of these (modified) leveled lists to be added to the savegame itself. This approach conflicts with the use of leveled list mergers since the savegame copy of the leveled list will override even the merged leveled list esp. Accordingly, the scripted approach is now considered obsolete. Mods should no longer use the leveled list script commands, but instead modify the leveled lists directly, so that the user can use a leveled list merger.
Thus, there are two problems: 1) Updating old mods to not use scripted changes to leveled lists. And 2) Cleaning leveled lists from savegames.
The first problem is addressed in the following section, in which problematic mods are listed, along with updates and/or patches as known. The second problem is addressed in version 0.70 of Wrye Mash, which selectively deletes leveled lists from savegames during use of the "Repair All" function.
Note that scripted changes to unique leveled lists are not a problem. Note too that a standard (Morrowind) leveled list can be modified to include references to unique leveled list in the normal way, and then the unique leveled list can be controlled by scripts. (Note that Mash's Repair All function will not remove unique leveled lists from the savegame.)
It is possible to fix mods which make script changes yourself, using one of two methods:
- Change the leveled lists to reflect the changes made by the script, using the Construction Set or MWEdit (may be tedious, depending on the number of changes)
- Copy the altered lists from a savegame into the mod using Morrowind Enchanted Editor (requires that you have a savegame where only the mod you are fixing has changed the leveled lists).
Make sure that you remove or disable the script that alters the leveled lists after you have done this.
Mods Using Scripted Leveled ListsEdit
To search for mods that change leveled lists, use TESPCD. Load your active mods and then use the Editor: Find Object menu command to search for "addToLev" and "removeFromLev" This should find any scripts and/or dialog scripts that modify creature or item leveled lists. Note that only scripts that change unique leveled lists are not a problem.
Listed below are several popular mods found using this method.
Mod | Info |
---|---|
Appoldro Weapons Store 2.04 (acsAppoldro.esp) |
|
Bloodmoon Extras 0.2 (BMExtras.esp) |
|
Exotics Boutique "Pour la Guerrière" v1.1 (ExoticsBoutique.esp) |
|
Giants 2.7.1 "Ultimate" (GIANTS.esm) |
|
Magical Trinkets of Tamriel Vol IV beta (MTT IV Updated v0.79.esp) |
|
Melee Missiles 1.2 (Melee Missiles v1.2.esp) |
|
Necessities of Morrowind (NOM 2.12.esp) |
|
Srikandi's Alchemy Bloodmoon (Sri_Alchemy_BM.esp) |
|
The Wilderness Mod 2.0 (The Wilderness Mod 2.0 T & B.esm) |
|
Tribunal Integration 0.5 (TribIntegration.esp) |
|
Water Life 1.7 (abotWaterLife.esp) |
|
Weapon Compilation Mod 2.0 (farrp_WeaponCompilationMod_V2.esp) |
|
Where Are All Birds Going 1.7 (abotWhereAreAllBirdsGoing.esp) |
|