Skyrim Special Edition

File information

Last updated

Original upload

Created by

Gorgoth24

Uploaded by

Gorgoth24

Virus scan

Safe to use

About this mod

Adds to leveled lists, generates enchanted versions, creates tempering/crafting/breakdown recipes and more in a single click.

Requirements
Permissions and credits
Changelogs


Introduction


You've just downloaded a sweet armor mod off the nexus and realized it's only available via a crafting recipe or a single dinky chest in Riverwood.  You want it to show up naturally in your game but lack the knowledge or, more likely, the willpower to manually add it to all the appropriate leveled lists.  You've come to the right place.

Automated Leveled List Addition is an aptly named xEdit script that reduces all aspects of item integration to a single click.  Wait! If this mod is so simple why are there so many goddamn buttons?!?  I've created a video covering the features explained below but ~90+% of users will only ever need the 'OK' button. 

You can think of this script like a Bashed/Smashed Patch for items. 


Frequently Asked Questions


- How does this mod differ from Bashed/Smashed Patches?

This script makes items compatible with leveled lists. A Bashed/Smashed Patch then makes leveled lists compatible with each other.

- When should I run Bashed/Smashed?

There are patchES and patchERS in Skyrim, patches are Bash/Smash/Method/xMerged (xMerged is deprecated). Those should be done before patchers, which are xEdit, zEdit, Synthesis, Skyproc, similar. The reason being: patchers use that last version of records to know what to do, patches use every version of the record to merge the changes into the last. This script is a patcher, as it is an xEdit script.

- Where can I get the latest versions?

There is a discord server here: Discord at which you can talk with Gorgoth and Yggdrasil. The original dev and the current maintainer. new versions are often posted here well ahead of their release on nexus, both to prevent bugged releases (though there arent enough testers, so bugs get through) and so that I can get reviews from users on what may be better.

- How does this mod differ from SkyAI?

In a lot of ways my mod is like SkyAI on steroids.  Unlike SkyAI my mod can add items to any vanilla or mod-added list. Unlike SkyAI items do not need to have vanilla keywords, be in vanilla slots, or exclude Male/Female-Only armors. Unlike SkyAI my mod is compatible with leveled list overhauls like Requiem and MorrowLoot Ultimate as well as re-balancing overhauls like WACCF. My mod is on a new level in size and scope - designed to handle anything and everything you throw at it.

- How does this mod differ from Lootification?

Lootification uses a SkyProc patcher and a static, outdated XML database to make edits. This mod is dynamic - capable of adapting to any mod collection, even those small or obscure mods, in a way a static author-supported list never could. The changes made by this mod are more stable, more compatible, and have more options than Lootification.
And, most importantly, this mod is up-to-date - bugs and inconsistencies are being worked on as soon as they are reported.




  • Automated Leveled List Addition
    - Supports all mod-added lists
    - Supports all vanilla equipable items including Weapons, Armor, Clothes, and Jewelry
    - Supports mod-added slots like capes, multi-part armor, accessory slots, etc.
    - Supports Male/Female-Only armors with a keyword

  • Automated Generation of Enchanted Versions
      - Enchanted items are added to the appropriate lists
      - Supports all vanilla enchantments
      - Supports many mod-added enchantments, including Wintermyst and Summermyst
      - Options menu for %Chance, Enchantment strength, configurable tier levels, and more


  • Automated Recipe Creation
      - Creates crafting, tempering, and breakdown recipes
      - Supports all item types
- Dynamically changes recipes to match what is used most commonly for the item material in all existing recipes.


  • QOL Functions
    - 'Remove' function for easy load order changes
    - 'Patch' function to simplify compatibility patches




Download




Open 



Drag and Drop 




Done!

Note: This is an xEdit script. Drop it in your xEdit install.





NORMAL USERS DO NOT NEED TO KNOW THE INFORMATION IN THIS SECTION


The mod is specifically designed so that all a normal user needs to do is press 'Ok'.  
The graphics are for power users who want to do something specific.
'How it works' is technical information intended for mod authors.


(0) Main Menu <-- Click to jump this section in the video



(1) Currently Selected Records




How it works: 

This menu will allow you to select which item you are editing in this menu and other menus.  This menu also allows you to change the relevant game values of the currently selected record.  Changes to the game values and/or the Male/Female-Only script are saved when switching between items or when the 'Ok' button is pressed.

The Male/Female-Only script will add the mesh for the vanilla counterpart of this item to the opposite gender.  For example, say this script is run on female-only armor with a 'Daedric' level armor value.  Any male characters that wear this armor will look like they are wearing vanilla Daedric armor.  Any female characters that wear this armor will still use the custom female-only armor mesh.

Alternatively, you could add the 'FemaleOnly' keyword or add 'FemaleOnly' to the armor EditorID and this script will automatically run as part of normal script operations.  This would save you from having to check this check box a million times.  The FemaleOnly keyword's FormID does not matter - the script checks the name of the keyword for 'FemaleOnly' (if you don't know what this sentence means don't worry, it's not important).  'MaleOnly' works the same way.

Like many other aspects of this mod, which mesh is assigned to the opposite gender is based on the Item Template.  Information on how to change the template can be found in the (3) Automated Leveled List Addition How it works section and the corresponding (3) Automated Leveled List Addition section of the video.



(2) Output Plugins




How it works:

Output Plugins can be set individually for the three main sections of the script.  If the plugin is not detected it will be created.  There's a confirmation box to make sure you don't accidentally dump everything into a typo.  Additionally, the default Output Plugins can be set in the 'Settings' section at the top of the code for those looking to avoid re-entering plugin names every time the script is run.



(3) Automated Leveled List Addition




How it works:


Current Lists is a list of all the leveled lists that Selected Item will be added to.  The script populates Current Lists by comparing the Selected Item to the vanilla tiers (including changes like those made in WACCF).  Weapons, Armor, and Jewelry use Damage, Armor, and Gold Value respectively when determining appropriate leveled lists.  Clothing does not have a vanilla tier system and will be assigned to one of the basic 'farm clothes' sets at random. 

Example: A sword with iron levels of damage will be added to all leveled lists that use the vanilla Iron Sword.  

Non-primary slots (items that are not a Helmet, Gauntlets, Torso, Boots, or Shield) prioritize vanilla keywords like 'ClothingHands' when determining appropriate lists.  If a recognizable keyword is not found, a non-primary slot item will be associated with a default primary slot. 

Example: Slot 131 is associated with the head.  Without an overriding keyword like 'ClothingBody', a slot 131 item would be associated with slot 30, the helmet slot, when determining appropriate lists.

A complete list of supported armor slots can be found on this page.  A list of the default slot associations can be found on this page.

* Set Template Item (Advanced) Opens a menu that lets you manually set the template item. 

Understanding what a template is and how to set a custom template is really important for Mod Authors to get the most out of this script.  Most of the script is based on a single function: GetTemplate.  This function returns a vanilla equivalent of an item that serves as the basis for leveled list addition, enchantment generation, and COBJ creation.  

Example: You're creating a mod that adds new silver weapons so that each damage tier gets its own silver weapon.  GetTemplate runs on a silver sword that has iron levels of damage.   GetTemplate returns 'Iron Sword' from vanilla Skyrim as a template.  The script runs using the vanilla 'Iron Sword' as a template.  Your item will be added to any leveled list containing the vanilla 'Iron Sword'.  It will also have any enchantments 'Iron Sword' has and have a crafting recipe similar to 'Iron Sword'.

But what if I don't want to add a new item for the player?  What if I want to add a new kind of armor to the Falmer of Skyrim?  The easiest way to accomplish this is to set a custom template.  Press * to open the custom template menu and select 'Custom' from the Item Type drop down.  Then use the drop downs to find vanilla Falmer armor in Skyrim.esm and click 'Ok'.  Run the script.  Like the above example your armor will appear in any leveled list that the vanilla Falmer Armor would appear.  It will also have any enchantments the vanilla Falmer Armor has and have a crafting recipe similar to Falmer Armor.

This can also be used to quickly replicate the implementation of a custom item.  Let's say you're creating a big mod and adding multiple instances of similar records to the same leveled lists.  Add the first item, Item A, to the correct leveled lists manually.  Then run this script on all the other items using Item A as a template.  Now the leveled lists that contain Item A also contain all the other records.



(4) Automated Generation of Enchanted Versions




How it works:

The script automatically detects supported plugins, like Wintermyst and Summermyst, and Generates Enchanted Versions based on the type of item.  Enchanted versions are added to the leveled lists by replacing any instance of the original item with a leveled list that has Percent Chance for an enchanted item. 

Example: The script runs on an Iron Sword.  (4) Automated Generation of Enchanted Versions creates a leveled list of enchanted versions (Iron Sword of Frost, Iron Sword of Fire, etcetera) using the levels from Configure Tiers (Iron Sword of Frost IV will appear at Tier Level 04: Level 30).  This list is then added to a list with 9 copies of the original item and 1 copy of the enchanted list.  This results in a 90% chance for a regular item and a 10% chance for an enchanted item.  Stronger items will appear as you level up just like in vanilla Skyrim.

A full list of compatible plugins can be found in the Compatibility and Permissions seciton.  Please post if you'd like to see a new enchantment mod supported - it's often as simple as adding a single line of code.



(5) Crafting/Tempering/Breakdown Recipes




How it works:


Note: If an item already have a crafting, tempering, or breakdown recipe the script will automatically skip this section.  

Recipe Scaling has been removed in favor of dynamic recipe scaling based on existing recipes.

Tempering Recipes are created using a rewritten-from-scratch SkyrimUtils' makeTemperable function.  The function still works best when an item has the proper keywords but it will now generate a recipe based on an item's Armor/Damage/Value if a keyword is unavailable.  Like many other parts of the script, what item is used when keywords are unavailable is based on an item's template.  More information can be found in the * Set Template section of (3) Automated Leveled List Addition.

Breakdown Recipes are generated using the exact function from Mator's Automation Tools (with Mator's permission) that uses an item's crafting COBJ to create a recipe that gives you smithing resources from completed items.  More information on this function is available on his modpage.


QOL Functions




How it works:

If you want to remove a mod from your load order without breaking the output file you first need to use the Remove function.  Remove will search Selected File for any record that has Remove Plugin as a master. 

Example: I want to remove Weapons of the 3rd Era from my mod list.  Run the script on your Output File, typically Automated Leveled List Addition.esp, and press Remove.  Make sure the Selected File is correct.  Then find Weapons of the 3rd Era.esp in the Remove Plugin list.  Finally, click Add to mark Weapons of the 3rd Era.esp for removal.  Then press 'Ok'.  You are now able to remove Weapons of the 3rd Era from your load order without breaking Remove Plugin, usually Automated Leveled List Addition.esp.




How it works:


Patch simplifies compatibility patch creation.  Simply complete the sentence and the script will automatically create a compatibility patch between two mods.  Feel free to upload any compatibility patch generated by this tool to the Nexus as long as credit is given.  

This function works by adding a step in normal script operations that checks if the record in question is found in Destination File.  All options specified in other menus should be included in the generated patch.

Note: I mention an issue in the video where there isn't one. Adding UUNP to Skyrim.esm would absolutely work. There's also code to handle load order issues baked into the script.





The script will add to leveled lists based on your specific load order.  This means that re-balancing mods like Requiem, MorrowLoot Ultimate, and YASH are supported.  Mods that use script-injected leveled list manipulation like Loot and Degradation and World's Dawn are not supported though as they add the items at game time. 

You have my permission to upload anything you create with the script to nexus as your own work. Credit is appreciated!

I have Mator's permission to use some code from Mator's Automation Tools. While all the SkyrimUtils functions I've used are re-written from scratch I still feel like I should credit SkyrimUtils for being awesome in general. I'd also like to thank Martinezer and his Generate Enchanted Versions script for starting this whole adventure. While the two mods no longer share code his mod is the inspiration for this mod.

Currently Supported Enchantment Mods: 
- Wintermyst
- Summermyst
- Holy Enchantments
- Lost Enchantments
- More Interesing Loot





0.0.1 - Release
0.0.2 - Removed an errant dependency on SkyrimUtils
0.0.3 - Removed a 'Continue;' where it shouldn't have been
0.0.4 - Fixed “Error in unit ‘CustomFunctionList’ on line 3174 : Undeclared Identifier ‘record_full’
0.0.5 - Corrected typo 'sufffix' to 'suffix'
0.0.6 - Fixed a 'List Index Out of Bounds (-1)' error that would occur when a piece of clothing had no keywords
0.0.7 - Fixed a typo where 'z' should have been 'i'
0.0.8 - Fixed an order of operations bug that was breaking the Male/Female-Only QOL script
0.0.9 - Fixed a logic error that was throwing Index Out of Bounds errors as lists shrank
0.0.10 - Fixed an issue with the 'Add Leveled List' menu that caused new leveled lists to have a -1 for their level value
0.0.11 - Fixed an issue that caused robe enchantments to appear on items they shouldn't. Fixed an issue where sometimes the script would only process the final item in a list.
0.0.12 - Fixed an issue that caused enchantments not to generate on some slots
0.0.13 - Fixed an issue that caused non-vanilla slot items not to correctly associate with vanilla slot items for enchantment generation
0.1.1
- Added a new debug message system that breaks down process time
- Added progress counters on longer sections
- Fixed a HUGE efficiency bug that should bring process time per record after the first from ~45s to ~15s
0.1.2
- Changed default Generate Enchanted Versions to false in order to make the mod more palatable for first-time users. Script is ~5x as fast with it disabled
- Fixed a few back-end menu irregularities
0.1.3 - Various optimizations and tweaks
- If the script is run on a file header it will now skip invalid records as a group instead of checking their signatures individually. Should reduce time between 'Apply' and the menu pop-up by ~90% in this situation. Total process time reduced by time saved pre-pop-up.
- Moved GetTemplate until after the pop-up. Should result in ~50% reduction in time between 'Apply' and pop-up for all users. Overall process time unaffected.
- The Add to Leveled List menu is more responsive. It'll show the menu with a 'Populating List...' message instead of just lagging before menu creation.
- The AddtoLeveledListByList function has been optimized. Process time for this function for all users should decrease. More noticeable on larger runs.
- Changed the default 'Male/Female-Only' behavior to automatically run the 'Female-Only' code if a male MOD2 is not present. Due to a quirk in how Skyrim handles MOD2 Male-Only armors will still require a keyword with 'Male' in it to automatically process
0.1.4 - Various bug fixes
- Fixed a Game Value Out of Bounds Error caused by an order of operations issue
- Fixed an enchantment bug that caused Enchantment Amount to return 1 more often than it should
- All future versions will be named identically, 'Skyrim - Automated Leveled List Addition', in order to avoid confusion when updating
0.1.5 - More bugfixes
- Temporarily removed the system that skips invalid records by groups due to as-yet-undiagnosed issues
- Fixed an error that occurs when assigning a new template using the SetTemplate menu
- Enchantment Amount will now be one of the vanilla enchantment amounts tied to the same system that determines what levels enchantments appear at
0.1.6
- Corrected a misplaced variable that was preventing the AddtoLeveledListByList function from receiving necessary information
- The Male/Female-Only script will now correctly edit both the worn and ground models
- The Female-Only script will now REMOVE ElderRace entries from armor it runs on and replace them with the vanilla mesh. In English this means your skimpy armor won't end up on old people
0.2.1 - Major Update
- Added a system that will associate non-vanilla armor slots with a vanilla slot in a 'Use All' sublist. In English this means multi-part armor, like a 'shirt' and 'pants instead of a single body piece, should spawn together if named similarly.
- Expanded the GetItemCount condition section of recipes to check for all required items. In English this means recipes won't show up in the crafting menu unless you have the items to craft them (reducing clutter)
- Fixed a bug in the system that decides the level at which an item is added to the list. This is the issue where level 1 bandits had daedric items - mainly reported by MLU users.
- Fixed an issue with the debug message system that was causing systems without AM or PM times to create an exception
0.2.2 and above: please see the changelog dropdown.