===================================================================================================
Lord Zapharos Default Outfit Changer
AUTHOR: Lord Zapharos (www.lordzapharos.com)
DATE: 13 September 2021
===================================================================================================


LICENSE AND CREDITS:
===================================================================================================
Creative Commons Attribution 4.0 International (https://creativecommons.org/licenses/by/4.0/)

You are free to share and transform this work (commercially or otherwise) provided you give proper
credit to Lord Zapharos, provide a link to this license, and indicate if changes were made.


DESCRIPTION:
===================================================================================================

You just found that final, amazing piece of armor. Along with other pieces, you now have everything
you need to turn your Skyrim follower into the ultimate tank...only to discover that your follower
refuses to wear it. According to Skyrim, their default armor is "better".

Or perhaps you were aiming for something more casual. You wanted to give Farkas the finest clothing
or set up Serana with barkeeper's clothes? Nope; Skyrim won't let you do this either. The default
outfit for those characters is "better". These NPCs just won't wear what you want.

This mod provides ultimate control over the outfits for your followers and non-follower NPCs. Major
features include:

 - The "followers become naked" bug has been FIXED! This mod delivers a fully bug-free experience
   by leveraging Skyrim's native outfit selection mechanism.

 - Both followers AND non-following NPCs, such as Jarl Elisif, can be customized. Almost no other
   mod provides this feature!

 - No complicated menus, quests, or dialogue sequences. Just equip a spell, point it at the target,
   and you can give them a customized outfit - just as seamless as when you trade normal equipment.

 - With FIVE HUNDRED unique slots available for custom outfits, you are unlikely to ever run out of
   options. You don't need to manage anything in game - it "just works".

 - ZERO PERFORMANCE IMPACT. There are no messy update scripts, cloak spells, or anything that slows
   down your game. The ONLY time a script runs is when creating or clearing a custom outfit.

 - Want to share your outfits with other people? You can import and export outfits in any game.

This mod should be compatible with everything (but see the FAQ about mod-added followers, below).


REQUIREMENTS:
===================================================================================================

Skyrim Legendary Edition
SKSE 1.7.3
PapyrusUtil 3.3 (i.e. StorageUtil)
Lord Zapharos IO Utilities
Lord Zapharos String Utilities


INSTALLATION:
===================================================================================================

1. Copy both the "Data" and "lzDefaultOutfitChanger" folders from this directory to your main
   Skyrim directory (usually found in "C:\Program Files (x86)\Steam\steamapps\Skyrim"). You
   should overwrite any existing files if prompted.
2. Activate "LZDefaultOutfitChanger.esp" with your mod manager of choice.

To uninstall, CAST THE UNINSTALL SPELL WITHIN YOUR GAME FIRST. Wait until you see a message in the
top-left indicating that the mod is ready for uninstallation (all LZDOC spells will be removed as
part of this). AFTER you have seen this completion message, MAKE A FULL SAVE and then close Skyrim.
Finally, remove all mod-added files from your Skyrim directory.

If you do not cast the uninstall spell in your game before removing this mod, any NPCs with custom
outfits WILL appear naked after some time has passed. THIS CANNOT BE FIXED ONCE IT OCCURS, so make
sure to cast the uninstall spell before removing this mod!

The "lzDefaultOutfitChanger" folder contains all saved outfits, so do not delete it if you want to
keep your outfits around for a future playthrough, or share your outfits with others.


SKYRIM SPECIAL EDITION USERS:
===================================================================================================

This mod was designed in Skyrim Legendary Edition and WILL NOT WORK with Skyrim Special Edition. If
you decide to convert this mod to work in Skyrim Special Edition, I would be happy to bundle your
converted version with this mod and give you due credit -- just send me your conversion.


QUICK-START GUIDE:
===================================================================================================

After installing this mod, load your game and wait a few seconds until a message appears (in the
top-left) indicating that the mod has been loaded. At this point, you will have the following
zero-cost Alteration spells at your disposal:

 * LZDOC Change Outfit

        Get close to a NPC you want to change, then cast this spell. A menu will open just like
        when trading items, but the instead of the NPC name, you will see "Choose Custom Outfit".
        The initial contents of "Choose Custom Outfit" always reflect the NPC's current outfit.

        Any items you add to "Choose Custom Outfit" will be added to the NPC's new outfit, and any
        items you remove will be removed from their outfit.

        When you close the "Choose Custom Outfit" trading menu, the targeted NPC will automatically
        dress themselves with the new outfit. You may briefly see a flash of Daedric armor during
        the change - this is normal.

        This new outfit will remain in your game forever unless you change or remove it.

 * LZDOC Reset Outfit

        Get close to a NPC and cast this spell. The NPC will be automatically reset to his or her
        default appearance. Any items you stored in the custom outfit will be discarded.

        There is no way to undo this spell (short of creating a new outfit), so be careful!

 * LZDOC Export Custom Outfits

        Make sure you are in a safe area before casting this spell. You do NOT need to be near any
        NPCs to use it.

        After casting, all current custom outfits will be written to the file "customizations.txt"
        within <SkyrimMainDirectory>/lzDefaultOutfitChanger. If that file already exists, it will
        be automatically overwritten. The resulting file is a text file that can be shared with
        other people (they will need the same mods as you, but do NOT require the same load order).

        If you have created a lot of custom outfits, this spell may take a while to complete. Don't
        move around at all until you see the completion message in the top-left of your screen. The
        game may lag a bit while exporting.

 * LZDOC Import Custom Outfits

        Make sure you are in a safe area before casting this spell. You do NOT need to be near any
        NPCs to use it.

        After casting, ALL CURRENT CUSTOM OUTFITS WILL BE DELETED. Once that is done, a new set of
        custom outfits will be loaded from "customizations.txt" (see previous spell for location).
        This allows you to load outfits from prior games or outfits created by others. If you are
        loading outfits created by someone else, make sure you have the same mods as them (the load
        order doesn't matter). To see which mods are actually required, open "customizations.txt"
        with a text editor and make sure you have all of the .esp and .esm files listed there.

        If the file contains a lot of custom outfits, this spell may take a while to complete. Do
        not move around at all until you see the completion message in the top-left of your screen.
        The game may lag a bit while importing.

 * LZDOC Reset All Outfits

        You do NOT need to be near any NPCs to cast this spell.

        After casting, ALL CURRENT CUSTOM OUTFITS WILL BE DELETED and all NPCs will return to their
        default appearances. If you have created a lot of custom outfits, this spell may take a
        while to complete. Don't move around at all until you see the completion message in the
        top-left of your screen. The game may lag a bit during this process.

 * LZDOC Reset Console Target Outfit

        To use this spell, select a NPC in your console first. You can do this via point-and-click
        if a NPC is nearby, or you can use "prid" (without quotes) to select a NPC by RefID.

        After a NPC has been selected in the console, casting this spell will reset that NPC to his
        or her default appearance, just like with LZDOC Reset Outfit. This works even if the NPC is
        located somewhere else (e.g. you can reset Jarl Elisif even if you are currently standing
        in Winterhold).

 * LZDOC Uninstall

        Use this spell only when you want to uninstall the mod. THIS CANNOT BE UNDONE.

        After casting, ALL CURRENT CUSTOM OUTFITS WILL BE DELETED and this mod's spells will also
        be removed. Finally, this mod will remove itself from your save file.

        After you see the completion message in the top-left (this may take a while), make a FULL
        SAVE and then close Skyrim. You can then deactivate or uninstall this mod via normal means.


FREQUENTLY ASKED QUESTIONS (FAQ):
===================================================================================================

Q: Do I need to use your mod for *all* followers/NPCs?

    Not at all! This mod HAS NO EFFECT AT ALL until you target a specific follower or NPC using the
    LZDOC spells. If you never target a NPC with this mod, that NPC will continue to use whatever
    inventory system is assigned to it - mod-added or otherwise.

Q: Does this work with follower overhauls?

    Yes! However, you should probably disable outfit management in your overhaul (AFT/EFF/etc.),
    because this mod already manages all of the outfits for you.

Q: Does this work with mod-added followers?

    Generally yes. However, some mod-added followers have their own built-in outfit management
    systems. In this case, the follower's inventory system will usually take precedence. This mod
    will NEVER break a mod-added follower's AI, unless that AI was somehow dependent on a specific
    mod outfit being equipped (which is very, very unlikely).

Q: Does this mod change anything with how followers equip new armor?

    Nope! If you give Serana a set of barkeeper's clothing and jewelry for her new custom outfit,
    she will still equip e.g. full Daedric Armor if you trade that to her. If you take the Daedric
    Armor away, she will automatically return to the custom outfit you assigned.

Q: What items can I place in an outfit?

    Outfits may contain any items belonging to the "armor" category, including jewelry, cloaks,
    backpacks, fur collars, etc. Weapons are NOT supported (this is a game engine limitation). It
    is strongly recommended that you DO NOT PLACE ANY PLAYER-CRAFTED ITEMS (i.e. enchanted or
    tempered gear), as these are not guaranteed to function correctly. You can put any mod-added
    items or DLC items into an outfit.

Q: Can I add quest (or quest-related) items to a custom outfit?

    Theoretically yes, but you should NEVER, EVER ADD QUEST ITEMS to outfits. Many quest items and
    quest-related items have scripts attached to them. Trying to add these items to an outfit will
    very likely break the related quest. If you absolutely must do this, make sure you complete the
    quest beforehand to minimize conflicts! "Temporary quest items" such as the Amulet of Talos can
    always be safely added - "persistent" items like the Jagged Crown generally cannot.

Q: What happens when I remove items from an outfit (or delete an outfit)?

    Removing items from an outfit is as simple as "taking" them from the NPC's inventory, in which
    case those items will simply be added to your inventory. If you delete an outfit, the items
    contained therein are permanently removed from the game.

Q: Will I be able to see a custom outfit's items in my follower's inventory?

    No. When you set a custom outfit, those items will not appear in the regular trading inventory,
    just like with Serana's robes/hood and Farkas's plate armor. These items still take up weight.

Q: Can I use this mod to make my follower naked by default?

    Yes you can - simply remove all items from the outfit after targeting the follower with your
    spell. However, when doing this you arrive at the behavior of AFT/EFF/etc., in which followers
    will often become naked when dismissed. This mod can only solve the "naked bug" when you
    provide a non-naked outfit.

Q: How do I get a follower to equip "anything"?

    Give your follower the lowest-value, lowest-protecting outfit you possibly can. In many cases,
    any set of regular clothing will suffice. You could also give your follower a "naked outfit",
    but this runs into the infamous "naked bug" (see previous question). With a low-value clothing
    set, followers will equip almost anything and will not be naked when dismissed.

Q: What happens if a give NPCs a non-standard item for their outfit (e.g. earrings or capes)?

    This mod will work with any custom item types. NPCs can be given anything, but the general
    guidelines for followers is to provide a *minimal set* of (preferably low-value) clothing. If
    you give a fancy custom cape to your follower, that follower may refuse to wear a different,
    "less good" cape. It is better in this case to create a custom outfit with *no* cape, and then
    give your follower a superior cape using the vanilla trading system.

Q: Are there any limitations to which NPCs can be outfitted?

    By default, this mod only allows changing *unique* NPC outfits (followers or otherwise), such
    as Lydia or Jarl Elisif. The reason for this is that outfits are tied to the base record in the
    Creation Kit. If you were to change the outfit for a non-unique Solitude Guard, EVERY guard's
    outfit would also change - but not at the same time, and possibly not at all! Such behavior is
    undefined and usually undesirable. However, if you really want to risk it, open up your console
    and type "set LZDOC_AllowNonUniqueNPC to 1". This will permit you to outfit non-unique NPCs.

Q: Can I use this mod to dress up animals, creatures, Falmer, etc.?

    No - only races with "ActorTypeNPC" can be modified.

Q: Isn't dialogue more immersive than casting spells?

    You might think so, but many mod-added followers use the vanilla Skyrim follower system, and
    these followers don't always have "full voice coverage" for the default Skyrim dialogue lines.
    I'm not a fan of silent/subtitled dialogue in games, so a spell was the simplest workaround.
    Dialogue can also be clunky to navigate and is prone to being interrupted by unexpected combat.

Q: Can I edit the exported outfit file?

    Yes you can! The file "customizations.txt" is just a plain text file and can be modified if you
    have some skill with XEdit/TES5Edit and knowledge of how Skyrim form IDs work. Take a look at
    the source script files for a better idea of how outfit files are structured.


MY OTHER MODS:
===================================================================================================

Arrows to Ingots
Better Low-Level Illusion
Dragon Souls Experience System
Finders Keepers (Better Stones of Barenziah)
Guild Ranks and Progression
Inigo Avoid All Combat
Lord Zapharos IO Utilities
Lord Zapharos String Utilities
Necromancy is Hated
Spriggans Fear Nettlebane
TDF Equipment Restrictions for Duelists and Assassins
The Legendary Red Eagle
Useful Requiem Beverages
Vilja Avoid All Combat
Wait I Know You Bug Fix
Weapon and Armor Etching
Whispering Fang Unarmed Combat
