for Skyrim Special Edition - clear your spells lists of unwanted spells and keep rarely used configuration spells or rings from spawning back into your list.

SCOptionMain 1024

Inspired by EdmondNoir’s request on nexusmods Frostfall SE post

Download or comment:

Features:

  • monitors a select list of mods with configuration spells and items
  • add more spells to clean using Add-a-Spell
  • all spells available first 30 seconds (default) after game load for convenience - save game, reload, and use spell
  • disable / enable or customize options
  • for a bit of irony, use configuration spell, Options: Spells Clean which cleans itself

Install and start

Install DT_SpellsClean.esp and DT_SpellsClean.bsa files to your game’s data folder. Backup your save-game files in case you change your mind. Do not remove this mod mid-game! Instead, choose Disable option to stop hiding spells. Load order doesn’t matter.

If starting a new character in Helgen then Spells Clean will wait until after a game load beyond Helgen. On first startup, Spells Clean will check all mods in it’s list. If a mod is found it will mark it to monitor on future game loads, and if not found will mark it to skip reducing activity on future game loads. If later you add a mod which is on the list, you may tell Spells Clean to check all mods again using the option, Reset Mod Checks.

PC players may customize each mod monitored before starting for the firest time. See section below, “customization (PC only).” You may use this with classic 32-bit Skyrim by unpacking the BSA-file as loose files.

Options: Spells Clean

Oh, no! Not another configuration spell! This one cleans itself, and its main purpose in life is helping you clean more spells. Find it in Powers. The spell will hide itself a few seconds after exiting (except if using Add-a-Spell) or during the normal cleaning time which is configurable in the Timer menu.

Add-a-Spell (or ring)

Tired of that old first level Healing spell? Clean it!

Enable Verbose to get immediate feedback on adding a spell or ring. Any modded jewelry should work (unless mod re-spawns another), but base-game quest items may not be added to avoid breaking your game. You get 20 seconds to access the menu containing the desired spell and the timer pauses within menus so there is no need to be quick.

  1. select Add-a-Spell
  2. select Yes
  3. equip 1 - 3 spells or rings to clean
  4. close menu and wait at least 5 seconds before equipping a spell for play

SCOptionAddSpell2

The Add-a-Spell menu tells you how many spells or items are currently ready to be cleaned. Stop monitoring or start over by using, Empty my list! If for some reason you decide to remove a mod mid-game with a spell in your list then first empty your list.

notes:

  • items: must be marked as jewelry such as a ring or amulet
  • currently no method to display the list of spells and items; count only
  • okay to add spell or ring from Spells Clean default list, but realize reported clean count doesn’t include duplicates

Disable / Enable

Disable to stop Spells Clean from hiding your spells. Don’t worry, Spells Clean will continue to ensure all spells are available after each game load.

Reset Mod Checks

If adding a mod in Spells Clean list of mods after first startup, Spells Clean will keep ignoring it unless you use this option. Spells Clean will check the entire list again updating the monitored status of each for future game loads.

(enable / disable) Verbose

Make Spells Clean chatty by letting you know how many spells were cleaned or if you successfully added a spell using Add-a-Spell.

Extras

This option only appears if you have certain mods or configuration items (rings) to keep or clean additional spells and rings.

  • Wearable Lanterns
  • Moonlight Tales SE
  • iNeed

SCOptionExtras

cleans Wearable Lantern spells:

  • Lantern: Check Fuel
  • Lantern: Toggle

Timer

Select how many seconds to wait after game load until cleaning. Notice that using the game menus pauses the timer so you’ll have plenty of time to access spells before they go away.


Mods known by Spells Clean

spells known to re-spawn:

  • “Campfire” and “Frostfall” by Chesko - Options: Campfire and Options: Frostfall
  • “Wearable Lanterns” by Chesko - Options: Wearable Lanterns
  • “Wet and Cold” by isoku - Wet and Cold Configuration
  • “iNeed” by isoku - Actions: iNeed (optional)

other configuration spells or items:

  • “Better Vampires” by Brehanin2 - (Better Vampires…)
  • (PC only) “Deadly Combat” by Borgut1337 - Deadly Combat…Customization
  • (PC only) “Flower Girls SE x” by Xiderpunk - Flower Girl Options
  • “Facelight” by tktk - Facelight Restore
  • “Hunter Born” SE by Unuroboros - Options: Hunterborn
  • “Immersive Citizens” by Arnaud dOrchymont - Citizens Control
  • “Natural and Atmospheric Tamriel” (NAT) by L00 - NAT SETTINGS
  • “Smilodon - Combat of Skyrim” by Enai Siaion - Smilodon
  • “Unread Books Glow SE” by duggelz - {Unread Books Glow Settings}
  • (PC only) “Vigor - Combat and Injuries” by Alex9ndre - (Menu)Vigor…
  • “Wildcat - Combat of Skyrim” by Enai Siaion - Configure Wildcat

optional (see Extras in Options: Spells Clean):

  • “Wearable Lanterns” Lantern: Toggle, Lantern: Fuel Check
  • “Moonlight Tales SE” by Brevi - Ancient Ring
  • “iNeed” by isoku - Actions: iNeed

note on the re-spawn list: those mods are designed to remove their spells when detecting SkyUI, but if SkyUI added later they may continue re-spawning.


Credits

tools

  • Creation Kit
  • Notepadd++
  • SSEedit
  • Photoshop

customization (PC only)

To force Spells Check to skip checking a mod then before starting the game with Spells Clean for the first time, use SSEedit to change the global value for that mod to zero. After first run, these values are stored in the save-game file so then may only be altered using a save-game editor.

  • DTSC_BetterVampConfig - “Better Vampires”
  • DTSC_CampFrostOps - “Campfire” and “Frostfall”
  • DTSC_DeadlyCombatConf - “Deadly Combat”
  • DTSC_FacelightReset - “Facelight”
  • DTSC_FlowerGirls - “Flower Girls”
  • DTSC_HunterbornConfig - “Hunterborn”
  • DTSC_ImmersiveCitz - “Immersive Citizens”
  • DTSC_iNeedAction - “iNeed”
  • DTSC_NATSet - NAT
  • DTSC_SmilodonConf - “Smilodon”
  • DTSC_UnreadBooksGlow - “Undread Books Glow SSE”
  • DTSC_VigorCI - “Vigor”
  • DTSC_WearableLantConfig - “Wearable Lanterns”
  • DTSC_WetAndColdConfig - “Wet and Cold”
  • DTSC_WildcatConfig - “Wildcat”

The following constant globals may be changed at any time using SSEedit. These values are set 0 or 1.

  • DTSC_DisableAll - set = 1 stops adding and removing spells unlike the Options-Disable which only stops removing
  • DTSC_IsXB1 - set = 1 to skip checking mods not available on Xbox
  • DTSC_RestoreAllSpells - set = 1 will add any missing spells (similar to Options-Disable in game which this overrides)

Several other constant are no longer used in version 2.


How does it work?

A few seconds after game load Spells Clean adds any missing spells to your character then on an update timer (default 30 seconds) removes the spells. This script runs on the player alias on game load only for these two update cycles so there is no more activity to impact your game. The spell, Options: Spells Clean, uses a simple script by menu selection to toggle variables so the main script will know what to do.

Add-a-Spell feature sets a variable to game time and the player alias OnObjectEquipped event checks if that variable is non-zero. If the equipped object is a spell or an item having the keyword, ArmorJewelry or ClothingRing, and current time is within 20 seconds of Add-a-Spell time then we check to make sure the object isn’t on the exclusion list. Exluded jewelry are primarly quest items so we don’t break the game. If not on exclusion list then then that item or spell is added to the lists of custom spells and items and the time variable is reset to zero.

about the scripts

Latest source files on GitHub: github.com/Dracotorre/SpellsClean. You may create patches or build upon original with credit and link back to this documentation page, Nexus page, or GitHub page.

(to be updated)

Technical details:

Using Game.GetFormFromFile to check for plugin existence and grab the spell allows the mod to avoid dependencies on plugins. If plugin not found, it marks the associated Global (see “customization” above) as zero to disable for future game loads. After game load, first OnUpdate in 2 seconds adds spells back to character by checking the inventory using HasSpell then AddSpell. Then registers for next OnUpdate in configurable DTSC_WaitSecondsSetting. On this seconds update each for each spell Form the character’s inventory is then checked using HasSpell and if found removed using RemoveSpell.