Understanding Lists

Post » Fri Nov 16, 2012 10:25 pm

I'm trying to get a firm understanding of lists, and how they work together...

I'm the author of http://skyrim.nexusmods.com/mods/16411.

These replacers remove various batches of creatures and edit the names of others from the main http://skyrim.nexusmods.com/mods/9694 (replacers released with permission).

I manually edit entries in SkyMoModLists.esp for each replacer in the Creation Kit, save and upload - so each replacer is incompatible with another.

Ideally, I'd like to offer users the ability to combine esps - but not sure how or if this would work...

For example, a user might want to use one replacer to remove SkyMoMod spiders from the lists, and another replacer to remove SkyMoMod dragons.

Another user might want to use the Lore-Friendly replacer which removes some creatures and renames others, but also want to user the replacer which remove the Spiders and the replacer which removes the additional horror-based creatures (or at least those which aren't removed by the lore-friendly replacer).

At the moment they can't, as each replacer is an individual copy of the main SkyMoMod.lists file but with different batches of creatures edited.

SkyMoMod already has an esm. If I rename my esps so each replacer has a different name, and make my replacer mods dependent on both the esm and esp from SkyMoMod, and they run two replacers together, I assume they would cancel each other out - ie. if the esp which removes spiders loads first, then the the one which removes dragons loads later, surely the later one will win, and the dragons will be removed but the spiders will be added back as the esp removing dragons still adds spiders to the lists.

Would it be possible (if I renamed the esps) for a user to run multiple replacers at once without any problems...I assume a bashed patch would make them easily compatible, but is there a way to do it without forcing the user to use Wrye Bash?

If I force users to use a Bashed Patch, and they have multiple replacers, would the spawns be multiplied by the number of replacers they have? eg. 3 replacers that all add Guars to the list (among many others), but each replacer removing a different creature - would there be 3 times the Guars spawned as they are all bashed into the patch?

Somehow you'd need to tag Bash so that the creatures are removed that are meant to be removed, but that the other creatures added back by the following replacer still remain removed...I assume a delev tag would suffice, but not completely sure.

Is there anything else that I'm missing with regards to the way the lists work?

I was inititally resistant to do this, as I've noticed that some of the SkyMoMod users aren't always the most technically-minded, and I'd like to make things as easy for them as possible - getting some of them to manage their load order (either manually or via BOSS) and/or use Wrye Bash might be a challenge.
User avatar
Mr.Broom30
 
Posts: 3433
Joined: Thu Nov 08, 2007 2:05 pm

Post » Fri Nov 16, 2012 4:44 pm

I can't help you with what BASH will do ... but someone else here can, no doubt (it is probably the easy way forward, for you, if not your users, though)

As for the lists (and any other object), as far as I know: If two mods alter the same "object" (and a list is just another object) then the last loaded mod (which, in vanilla setup, without tools, we have no real control over) wins and only its amendments are found in game.

From reading what your "series of mods" is doing, what you really need is one-mod with a very fancy setup routine, which asks your users which monsters they want disabling, then creates and adds a customised mod file for them - if you see what I mean. Sort of like the old Morrowind Enhancer setup interface, where you selected what you wanted to upgrade.

(which may well end up using BASH, or something similar, anyway)

I can't see how you would do what you want dynamically, in game, ... so I doubt some fancy list-manipulation will work (though someone else here might have an idea on how to do that?)
User avatar
Emma-Jane Merrin
 
Posts: 3477
Joined: Fri Aug 08, 2008 1:52 am

Post » Fri Nov 16, 2012 4:26 pm

Would it be possible (if I renamed the esps) for a user to run multiple replacers at once without any problems...I assume a bashed patch would make them easily compatible, but is there a way to do it without forcing the user to use Wrye Bash?

Every Leveled List is an object. Each object can only have one version loaded, and the last loaded version wins. So as long as the load order was correct, and each ESP only altered one (or a given set of) list(s) without stepping on other list's toes, this should be possible.
User avatar
kirsty williams
 
Posts: 3509
Joined: Sun Oct 08, 2006 5:56 am

Post » Fri Nov 16, 2012 1:53 pm

Thanks for your reponses.

So if I have two esps that are almost identical, but one removes one creature and one removes another, bacause they both delete different creatures but otherwise are the same, both creatures would be deleted (even without using a bashed patch)?

Or the fact that the creature deleted in the first esp is still in the 2nd esp would mean the creature deleted in the 2nd esp would be successfully deleted but the creature from the 1st esp would be deleted but be added back by the 2nd esp?

Or is all okay as long as each creature isn't attached to the same spawn location list? eg. if one is added to whiterun plains and one is added to the rift, both would remain active?

I'm getting myself all confused as to what exactly constitutes a "record" as far as the CK is concerned....
User avatar
ILy- Forver
 
Posts: 3459
Joined: Sun Feb 04, 2007 3:18 am

Post » Fri Nov 16, 2012 12:52 pm

Everything is an object (a record, if you like) or a reference to an object (like when you drag an NPC into the render window to put it in game ... So the NPC is an object, which you created a reference of when you dragged it in game)

A LIST is an OBJECT that is used to stored references to other OBJECTS (in your case, animal and monster objects).

If you amend a LIST in ModA and amend the same LIST in ModB, the LIST in the Mod that loaded last will be the one that is used.

If you amend an "NPC" in ModA and a different "NPC" in ModB then BOTH changes will co-exist

So, the question is, are you amending the same LIST in ModA and ModB (regardless of the entries amended by those mods, is it the same LIST?) If it is the same list, then as far as I know - without additional merge-tools, like BASH - you will only get the last-loaded changes to that LIST.
User avatar
barbara belmonte
 
Posts: 3528
Joined: Fri Apr 06, 2007 6:12 pm

Post » Fri Nov 16, 2012 1:23 pm

Aha! Thank you very much for the explanation - so to summarise:

I'm editing the creature OBJECT itself - either literally pressing the "delete" button, or clicking on the creature and renaming it to something else.

By deleting a creature, I'm also deleting it from the associated spawn location LIST OBJECT it's referenced in (eg. whiterun plains) - and if a second edited esp of mine adds something or deletes something from that same list (eg whiterun plains) then only the esp that loads latest will be relevent.

If instead of adding to existing spawn location LISTS, I was to manually add an individual instance of each creature to the worldspace (or instead create a new LIST spawn location for each individual creature), I wouldn't be touching any existing LIST references so there would be no conflicts and all would be fine.

Each esp of mine adds exactly the same bunch of creatures, but I delete a singular individual and different one in each esp. As you mention, BOTH changes will co-exist - so am I correct to assume that my deletion of both will happen, but that the 2nd esp will add back the first creature back into the game?

For example:
Esp 1 adds Guar, Ogre, and Spider. (I had deleted Gargoyle from the original esp). This file is called "Monster Mod with Gargoyle removed."
Esp 2 adds Guar, Ogre, and Gargoyle. (I had deleted Spider from the original esp). This file is called "Monster Mod with Spiders removed."
A user wants Guars and Ogres, but no Spiders or Gargoyles. When running both together with Esp2 loading after Esp1, both Guar and Ogre are added to his game. The Spider is also successfully deleted from his game, as this esp loads latest, but the Gargoyle deleted by esp 1 is placed back into the game by esp 2.

Just to confirm - have I understood correctly?
User avatar
Benji
 
Posts: 3447
Joined: Tue May 15, 2007 11:58 pm

Post » Fri Nov 16, 2012 5:26 pm

Assuming the load order is what you think it is ... then you are correct (I think!) :wink:
  • Spider will NOT exist, because you delete it in the Mod which you believe loads last.
  • Gargoyle WILL exist, because that same second-loaded mod adds it
(At least I assume adding things twice /// Guar and Ogre /// won't give you any problems?)



I will try to think how you could achieve what you would really like to achieve - one big customiseable mod - Otherwise you're going to end up with 56983032 mods with every combination of deletes and adds known to man/elf! :wink:

(If I come up with anything, I'll post)
User avatar
Etta Hargrave
 
Posts: 3452
Joined: Fri Sep 01, 2006 1:27 am


Return to V - Skyrim