Tes3Mod:Doubling

Overview
Doubling is a common problem with savegames in which NPCs, doors, or other objects become doubled (or tripled, etc.). You'll open a door, only to find another copy of the same door in the same place, or you'll see multiple NPCs standing next to twins of themselves. Doubling typically appears after adding or removing mods from your mod list. Judicious use of Wrye Mash can prevent doubling from occurring at all, and (to a lesser degree) repair it if it has already occurred.

Multi-mod Doubling
Most doubling is caused by reference ID problems (as described below), but it can also occur due to simply loading two different versions of the same mod. Usually this is obvious in checking your mod list, however sometimes it is not. For example, Tarnsman's Beer mod has NOM (Necessities of Morrowind) merged into it and so should not be loaded at the same time as NOM.

Now, on to other types of doubling.

Background: Reference IDs
So, you start Morrowind, load your last saved game, and find yourself in Balmora. There on the bridge is the same MCA character. There at your feet is the potion that you just dropped. Over there is the door that you opened. And it occurs to you... How does Morrowind keep track of all this stuff? How does it know this potion is supposed to be here? How does it know that door needs to be open?

The answer is reference IDs – every object that you see in the game world has a unique numerical ID attached to it, defining it. When you load a set of mods (as you do when Morrowind starts up), Morrowind first recreates the world in a "virgin" (i.e. unchanged state). Then, when you load a savegame, it reapplies all the changes that you made – killing bandits, filling quests, opening doors, moving NPCs, etc. It makes those changes by matching the reference IDs stored in the savegame against the reference IDs as calculated for the virgin gameworld (i.e. for the set of loaded mods).

Unfortunately this matching/updating process can go wrong sometimes. Doubling is the most obvious such problem. But other problems can happen, e.g., changes meant for a bar door might be applied to an NPC. These mismatches might be invisible, might cause weird behavior, or might cause CTDs. As people have found in the past, if enough of them pile up (e.g., after repeatedly changing the mod list), you will get corrupted unplayable games.

Note that all of these problems are caused by mismatches between reference IDs! E.g., from your loaded mod list, Morrowind determines that the referenceid number for that door should be 345672-05, but your savegame thinks that the reference ID for the door should be 345672-07, or maybe 345674-05. So the secret to avoiding doubling, etc. is simply preventing such mismatches. Well, easier said than done, unfortunately!

So, a little more background... Each reference ID is actually two numbers: the ObjectIndex and the ModIndex. For each mod, the ObjectIndex is unique, i.e., there's only one "1292" ObjectIndex in each mod. The ModIndex, on the other hand, is simply the order of the source mod in the load list. Morrowind.esm loads first, so it has ModIndex == 1. Tribunal and Bloodmoon, if loaded, are usually numbers 2 and 3 respectively. Okay, but how about objects that don't really belong to a particular mod? E.g. an arrow that you bought and dropped on the ground? Simple enough, these objects belong to the savegame itself, and are given the special ModIndex of 0.

That's the basic story. There are a lot of exceptions and complications (e.g., spawnpoints), but that's the basics, so let's go on.

Reasons for Reference Mismatching
If you change the mod load order – either by adding new mods that want to load before your current mod, or by resaving a mod (which changes its modification date, and thus load order)– then the ModIndex numbers will be mismatched.

Also, if a mod has had new references added, then many of its ObjectIndexes of existing references will be changed. This is because TESCS completely renumbers all references when the mod is saved.

There are quite a few technicalities and qualifications here, but that's the gist of it.

Morrowind Repair Work
If the load order changes, Morrowind tries to correct ModIndex numbers. If only the load order has changed (i.e., exactly the same files with the same names are present), then it seems to do a pretty good job of adapting.

But if new mods are added or if old mods are given new names, it gets confused and its repair often fails.

Note that the effect of this failure may not be immediately apparent, and the effects may oscillate under certain conditions – e.g., doors may disappear and reappear with each new load change.

Tools
Wrye Mash - Used properly, Mash will completely prevent doubling. It will also to a more limited degree repair existing doubling. Careful use of Mash's reference removers will fix additional doubling problems.
Enchanted Editor - The old school solution to doubling was to use the Enchanted Editor to simply wipe out the contents of cells. Unfortunately this "reset the world" approach often wipes out much more than is desired, and in addition fails to fix many other problems that Mash fixes.
In-game editing - To a limited degree, objects can also be deleted and reset from within the game by using the CS or the Console.
See also: .