In relation to my question, and this reply : http://www.gamesas.com/topic/1473830-quick-questions-quick-answers-thread-26/?p=23070477
I decided to perform a small experiment and find out what Skyrim itself actually does when it's presented with conflicting Editor IDs, with separate FormIDs.
Basically what would actually happen if two mods used the same Editor ID. In practice, even if the Editor IDs are the same, the Form IDs should be different, based upon the Load Order.
Short Answer :
Egocarib was basically right-- for Skyrim the game, there's no acknowledgement of the Editor ID under normal gameplay conditions. The exception is the Console, which recognises only the most recent version of the Editor ID.
How The Test Was Performed:
1) New Save ( Start Menu --> New Game)
2) Installed DLC : Dragonborn, Hearthfire, Dawnguard
3) Installed Mods : CDM - CGO (My Own Alt Start Mod), Test 01, Test 02 (The two Mods I'm using to test this.)
Content of Test 01 Mod:
1) One Global Variable, "CDMTestGlobal", default to 20
2) One Quest, "CDMTestQuest", set to Start Game Enabled, and Run Once
3) One Quest Script, "CDMTestQuestScript01" :
GlobalVariable Property ZCDMTestGlobal AutoFloat ValToSetActor Property PlayerRef Auto Event OnInit() RegisterForSingleUpdate(1.0)EndEvent Event OnUpdate() ValToSet = ZCDMTestGlobal.GetValue() PlayerRef.SetAV("Magicka", ValToSet) ; ZCDMTestGlobal.SetValue(ZCDMTestGlobal.GetValue() + 10 ) <-- Line Added In Second Test, not in Initial Run RegisterForSingleUpdate(1.0)EndEvent
Content of Test 02 Mod:
1) One Global Variable, "CDMTestGlobal", default to 40
2) One Quest, "CDMTestQuest", set to Start Game Enabled, and Run Once
3) One Quest Script, "CDMTestQuestScript02" :
GlobalVariable Property ZCDMTestGlobal AutoFloat ValToSetActor Property PlayerRef Auto Event OnInit() RegisterForSingleUpdate(1.0)EndEvent Event OnUpdate() ValToSet = ZCDMTestGlobal.GetValue() PlayerRef.SetAV("Stamina", ValToSet) ; ZCDMTestGlobal.SetValue(ZCDMTestGlobal.GetValue() + 10 ) <-- Line Added In Second Test, not in Initial Run RegisterForSingleUpdate(1.0)EndEvent
Test 02 Mod was made by copying Test 01 Mod, removing the attached Script and then making a new script using the same coding; the only change is exchanging "Magicka" for "Stamina". These Stats were chosen because any change can be directly seen quickly.
The First Test:
The First Test simply involved loading up both Mods in game, and checking the Player's Stamina and Magicka Attributes.
First Test Result:
Both Attributes were set correctly, according to their individual Global Values : Magicka was set to 20, Stamina was set to 40.
The Second Test:
The Console was opened, and the following was typed in :
"Set ZCDMTestGlobal to 200"
Second Test Result:
The Player's Stamina was increased to 200, the Player's Magicka remained at 20.
The Third/Fourth Test:
Identical to the First and Second Test, but with the Load Orders of the Mods reversed. The results were as expected: In Test Three, the Attributes updated correctly, and kept to their pre-determined values; when using the Console, only the Player's Magicka was incremented, with the Player's Stamina remaining unchanged.
The Fifth Test:
One line was added to each Script:
"ZCDMTestGlobal.SetValue(ZCDMTestGlobal.GetValue() + 10 )"
Each time the Script runs (once every second), the Global would be increased by 10 points.
Fifth Test Result:
Both Attributes increased by 10 points as expected at regular intervals, and maintained their correct position relative to one-another. Console was then used to increment one stat, as above (in this instance Mod 01 was still last to load), and as anticipated it was the Player's Magicka which was incremented, with the Player's Stamina remaining the same.
Conclusion:
1) Repeated Editor IDs have no effect on Skyrim's ability to process a Mod. As anticipated, Skyrim relies primarily upon the Form IDs of the loaded Mods when loading/interacting with Mod data. These Form IDs (as w know) change based on Load Order, and therefore it's impossible you would ever naturally get two identical Form IDs. Therefore, two Mods can have the same Editor ID without affecting Skyrim's ability to use those Mods.
2) The Console, which generally relies on Editor IDs, can only interact with the most recently loaded version of an Editor ID. Although in my experiment both Mods had the same Editor ID for their Global Variable, only the Mod which was latest in my Load Order had any effect. The Console DID NOT affect the earlier Editor ID, nor show any awareness of it's existence.
3) A Console Search of "Show ZCDMTestGlobal" plus verions of "Duplicate/_01/_001" showed no indication that one version of the Variable had been renamed.
4) At least with Quests and Globals there is no direct harm in having multiple copies of the same Editor ID in different Mods. The only limitation is any Console input/output, which is constrained to the last-loaded Mod.
Issues :
I've only ran a few quick tests, with one Quest and one Global Variable. These are relatively simple things, and have not been put under the scrutiny of serious gameplay; my test has examined Reading and Writing to the Globals, both via Script and Quest, but has not dealt with any more complex interaction with them. Forms such as Cells, Weather, Water Types, NPCs et cetera may behave differently, but I am inclined to believe that these results will be repeated, with Skyrim relying primarily on the FormIDs,
So, yes, a totally pointless experiment, really... We knew already that Skyrim/the CK use Form IDs and that these are important, but it came about out of a curiosity to how the CK reacts to repeated Editor IDs, and the consequence of splitting one Mod into multiple "versions" to create smaller Mods that use the same internal resources.