File information

Last updated

Original upload

Created by

AndrealphusVIII

Uploaded by

AndrealphusVIII

Virus scan

Safe to use

About this mod

This mod completely overhauls how soul gems and Soul Traps work.

Requirements
Permissions and credits
Changelogs
Donations
Description

Ever since I've started modding, I wanted to change how Soul Gems work. Ten years ago as of writing this, I made this attempt for LE. It's very basic as I didn't know a whole lot of modding back then.

However, over the years I have learned a lot (I hope) and as such I decided to give it another try.

The issues I have with Soul Gems are the following:

  • Exploit 1: You could cast Soul Trap on a dead NPC indefinitely, resulting in an infinite source of Conjuration experience. -> This is fixed in USSEP.
  • Exploit 2: When you drop a Soul Gem that's only partially filled, the soul will be removed and the Soul Gem will be emptied. This could be exploited to infinitely reset Grand/Black Soul Gems that would have lower level souls.
  • Exploit 3: Followers with multiple empty Soul Gems in their inventory and a Soul Trap enchanted weapon, will have them all filled at once when killing a creature with that weapon.
  • Casting Soul Trap an NPC doesn't cause them to aggro.
  • There's no immunity period after soultrapping a creature, meaning you can soul trap them indefinitely.
  • Undead and Daedra could be soul trapped.
  • The size of White Souls are based solely on the level of the creature. When certain creatures' level scale, they will have higher level souls. (with certain mods, you could end up having Skeevers giving you Grand Souls, which feels off.) I want the creatures' race to be more of a factor, than solely their level.
  • Black Souls always capture Grand souls, regardless of level of the humanoid that's killed. Which means you can just kill level 1 bandits to quickly fill a lot of Black Soul Gems. This is even more the case with The Black Star.
  • Azura's/Black Star pretty much makes other Soul Gems obsolete, since it's an unlimited holder of Grand Souls.

What I changed:

  • Dropping a partially filled soul gem no longer resets them.
  • The same rules for soul trapping apply for followers.
  • Casting Soul Trap will aggro NPCs.
  • There's a small period of immunity after Soul Trap has expired on an NPC. This is optional though.
  • Undead and Daedra are immune to Soul Trap.
  • The size of White Souls are now based of off the race primarily, and their level secondly.
  • Black Soul gems will now be able to hold lower level Black Souls, depending on whether they're unique and their level. Low level bandits for instance, will have Petty Black Souls.
  • Added an option to choose which soul gem you want to capture specific souls with.
  • Capturing the Black Soul of a unique NPC will show the NPCs name.
  • Azura's/Black Star can degrade, but also be repaired. (see below)
  • I've added a way to release souls. (has a chance to destroy the soul gem.)
  • I've added a way to fill Soul Gems, without having to use Soul Trap.
  • I've added optional Conjuration level requirements for soul trapping different souls.

Soul Trap Restrictions

I've added restictions for Soul Trapping:

  • To soul trap Undead, you'll need the Dark Souls Conjuration perk. This can be disabled so you can soul trap them by default again. (see customization)
  • To soul trap Undead, you'll need the Oblivion Binding Conjuration perk. This can be disabled so you can soul trap them by default again. (see customization)
  • You cannot soul trap creatures in the Soul Cairn. This can be disabled so you can soul trap them again. (see customization)

New Soul Size Formula

The new formula is as follows:

Black Souls

Unique:

  • Level 1-10: Common
  • Level 10-19: Greater
  • Level 20+: Grand

Non-unique:

  • Level 1-5: Petty
  • Level 5-10: Lesser
  • Level 10-24: Common
  • Level 25-39: Greater
  • Level 40+: Grand


White Souls

  • Critters tier 1 (Pond fish, insects): Petty
  • Critters tier 2 (Hawks): Lesser (Bonehawk counts as Undead)
  • Critters tier 3 (Placeholder): Common
  • Critters tier 4 (Shellbugs): Greater
  • Critters tier 5 (Placeholder): Grand


Race tier 1



  • Level 1-20: Petty
  • Level 20-39: Lesser
  • Level 40+: Common

Race tier 2



  • Level 1-14: Petty
  • Level 15-29: Lesser
  • Level 30-44: Common
  • Level 45+: Greater

Race tier 3



  • Level 1-9: Petty
  • Level 10-19: Lesser
  • Level 20-39: Common
  • Level 40+: Greater

Race tier 4



  • Level 1-4: Petty
  • Level 5-14: Lesser
  • Level 15-34: Common
  • Level 35-54: Greater
  • Level 55+: Grand

Race tier 5



  • Level 1-4: Petty
  • Level 5-14: Lesser
  • Level 15-29: Common
  • Level 30-44: Greater
  • Level 45+: Grand

Soul Trapping Critters

As of v1.2, you can now soul trap critters, like pond fish, butterflies, fireflies, flying hawks (like the ones in Solitude) and shellbugs (sorry...).

As these "creatures" aren't actually considered as NPCs by the game, I had to perform some workarounds. I do feel like making them soultrappable offer an additional layer of immersion and making them feel more like actual NPCs.

However, I had to deal with some issues, mainly the collision layers on the critters.

In Vanilla, their layer is set to SKYL_PROJECTILE which is used for projectiles. This means you can harvest them, loot them and attack them with melee and ranged weapon attacks, as well as spells. This had the side effect of creating a bug where you could stand on the critters, and they would collide with the player.

To adress this USSEP set the layer to SKYL_NONCOLLIDABLE, which makes them no longer collide with the player, but also no longer made them attackable by melee, ranged and spell attacks.

To counter this, I have added 2 additional collision meshes, and set the layers to SKYL_PORTAL, SKYL_LINEOFSIGHT and SKYL_UNKNOWN_50 (last one is also known as SKYL_CRITTER). This seems to have the intended effect of them not colliding with player, but keep them harvestable and attackable by melee, ranged and spell attacks, which ws needed for Soul Trap to trigger.

Unfortunately, this means all mesh replacers for butterflies and other critters might be incompatible. Also, other mods that add critters might need to have their collision updated to adress this.

Azura's Star and The Black Star

There are 5 states for the Stars:

  • Drained: Can only hold Petty Souls, but won't degrade any further.
  • Dimished: Can only hold up to Lesser Souls.
  • Default: Can only hold up to Common Souls. Starts off at this state.
  • Enhanced: Can only hold up to Greater Souls.
  • Flawless: Can only hold up to Grand Souls.

Each time you enchant an item with the Star, it has a chance to degrade. This chance is dependant on the size of the soul it held. Lower souls will have a lower change to degrade.

You can repair/improve the Star at a forge. This requires level 50 in Enchanting and the Arcane Blacksmith perk.

You can disable degradation by using a console command. (see Customization)

To upgrade Azura's/Black Star, you need a new item called "Soul Gem Extract". If you have the requirements (mentioned above), this can be crafted at a cookpot, using the following items:

  • Ectoplasm, Nirnroot, Soul Gem Dust x5
  • Daedra, Soul Gem Dust x5
  • Soul Husk Extract, Soul Gem Dust x5
  • Heart Stone, Soul Gem Dust x5

To get Soul Gem Dust, you can grind down soul gems and soul gem fragments at a grain mill.

Releasing souls

As an alternative to the janky exploit of dropping partially filled Soul Gems to empty, I decided to make it a proper mechanic instead.

There's now a spell which allows you to release the soul. Doing so will give certain buffs in addition to getting the empty soul gem back.

Beware though, as doing this will have a chance to destroy the Soul Gem.

If you release a soul, you'll see there ghost appear briefly.

Spell tomes and scrolls of the Release Soul spell have a change to be available at Florentius in Fort Dawnguard (high change) or Madena in Dawnstar (low change).

Filling Soul Gems without Soul Trap

In TES Lore, the sun is a giant hole in the fabric of Mundus, created by Magnus when he fled the Creation of Mundus.

The same happened when the other Magna-Ge fled, creating many smaller holes, which are the stars.

Through the sun and stars, the energy of Aetherius ("Magicka") flows into Mundus. In essence, the sun and the stars are the source of all magic on Nirn.

As such, when they sun is out, you can now use a once a day spell to attempt to fill a Soul Gem, with radiant Magicka from the sun. This can only be done with White Soul Gems (also excluding Azura's Star) and Varla stones.

Alternatively, at night, during a clear sky, you can attempt to do the same using star light.

Varla stones (from the CC) will have a higher success rate at night, since their supposed to capture star light, whereas Soul Gems have a higher success rate to be filled with sun light.

Each size of soul gem has a cooldown of several hours to be filled, so you can't just fill them all at once. This doesn't apply to any scrolls of Charge Soul Gem, but each Scroll only has 1 use as a tradeoff.

This way of filling a Soul Gem requires much more patience and may feel less rewarding, but that is by design, both for gameplay balance and ludonarrative harmony.

Soul Gems filled with star or sun light will look visually different to their peers.

Spell tomes and scrolls of the Charge Soulgem spell have a change to be available at Florentius in Fort Dawnguard (high change) or Madena in Dawnstar (low change).

Level Requirements

In 1.1, I've added the option to apply Conjuration level requirements for trapping different soul sizes. (see below for customization)
This is turned off by default.

The level requirements in Conjuration are the following:

  • Petty: level 15 in Conjuration
  • Lesser: level 25 in Conjuration
  • Common: level 35 in Conjuration
  • Greater: level 45 in Conjuration
  • Grand: level 55 in Conjuration

Requirements


Customization

Soul Trap Messagebox
Spoiler:  
Show

set ASGO_Global_TrapChoiceState to X

If X is set to 1, each time you capture a soul, you'll be prompted which soul gem to put it in. Also allows for cancel the capture.
If X is set to 0, it will automatically fill the most fitting soul gem.
Default value is 1.


Soul Trap Messagebox
Spoiler:  
Show

set ASGO_Global_CooldownApplies to X

If X is set to 1, NPCs affected by Soul Trap will have a short moment of immunity after the effects wears off.
If X is set to 0, the cooldown will be disabled.
Default value is 0.


Degradation of Azura's/Black Star
Spoiler:  
Show

set ASGO_Global_StarsDegradation to X

If X is set to 1, Azura's/Black Star will have a chance to degrade to a lower tier if used for enchanting.
If X is set to 0, the degradation is disabled
Default value is 1.


Toggling Soul Trap Requirements
Spoiler:  
Show

set ASGO_Global_SoulTrapReqsEnabled to X

If X is set to 1, Soul Trap level requirements will apply.
If X is set to 0, they won't.
Default value is 0.


Changing the Requirement Levels
Spoiler:  
Show

The following console commands allow you to change the required levels in Conjuration for each soul types. Change X to your required level.

set ASGO_Global_SoulTrapReqs_01Petty to X
Default value is 15.

set ASGO_Global_SoulTrapReqs_02Lesser to X
Default value is 25.

set ASGO_Global_SoulTrapReqs_03Common to X
Default value is 35.

set ASGO_Global_SoulTrapReqs_04Greater to X
Default value is 45.

set ASGO_Global_SoulTrapReqs_05Grand to X
Default value is 55.


Changing light level of sun charging
Spoiler:  
Show

set ASGO_Global_SolarLightLevel to X

X is the required light level to charge soul gems in the sun light.
Default value is 100.


Changing restrictions on Soul Trap
Spoiler:  
Show

set ASGO_Global_AllowSoulTrap_Undead to X

If X is set to 1, you won't need the Dark Souls perk to be able to soul trap undead.
Default value is 0.

set ASGO_Global_AllowSoulTrap_Daedra to X

If X is set to 1, you won't need the Oblvion Binding perk to be able to soul trap Daedra.
Default value is 0.

set ASGO_Global_AllowSoulTrap_SoulCairn to X

If X is set to 1, you can use soul trap creatures in the Soul Cairn.
Default value is 0.


Compatibility

I've included inbuild synergy with:


There are patches for the following mods:

This mod is incompatible with any mods that touch the Soul Trap spells or effects and soul gems, with the exception of texture replacers.

Known and confirmed incompatible mods:

In addition, certain mods that display the Soul Size of certain NPCs under their health/stamina/magicka bars will be incorrect, with my new formula in place.

Recommended alternative mods


FAQ

Q: Why did you make undead immune to Soul Trap? Draugr are the biggest source of souls!
A: Undead creatures, by their very nature, do not have souls. It makes no sense to be able to soul trap creatures that have no souls, like Daedra (they have an animus), undead and automatons. I might consider a different way to fill soul gems from undead and daedra, through seperate spells, if there's enough demand for that. Like "Ensnare Animus" and "Absorb Necrotic Essence", but I would like to give these spells some unique mechanics to differentiate them from the "normal" Soul Trap. So to additon to Astral and Solar filled ones, you'll get Daedric and Necrotic ones. This is changed in v1.2. (see "Soul Trap Restrictions")

Q: Why did you add different tiers for black souls? This makes them less powerful.
A: Because I deem it to be overpowered to get an unlimited supply of Grand-size souls off of generic level 1 respawning bandits. It trivalizes the whole dark theme of Black Souls, in my opinion. I might consider changing it so you do get a Grand Black Soul from NPCs that are considered unique, or at the least raise the soul size you'll capture from unique NPCs. I think doing something in particular with unique NPCs raises the stakes and might be more impactful.

Edit: I changed the formula in v1.2 to give unique NPCs earlier access to bigger souls.

Q: ESPFE?
A: Yes.

Q: I like <feature A> from this mod, but I don't like <feature B>. Can you make a seperate version without <feature B>?
A: I have no plans for any seperate versions.

Q: Does installing/updating/uninstalling on an existing save work?
A: As far as I know, it should. However, it's good practice to keep a backup save prior to doing this, just in case.

Q: Is this compatible with <insert mod>?
A: I don't know by heart. You might need to check yourself.

Q: Will you make a patch for <insert mod>?
A: I have no current plans for more patches. Feel free to do it yourself. (see permissions)

Q: I have a suggestion to improve the mod. Can you do it?
A: Maybe, if I have time and I like the idea, I'll consider it.

Q: Will you port this to <insert platform>?
A: No, I myself only support the Steam and GOG English SE and AE versions of Skyrim. If someone else wants to port it, feel free. (see permission) If you decide to port it, you yourself take full responsibility to offer support to said port. I will not provide no support for any ports by third parties.

Q: I use a ported version of this mod on <insert platform> and I have a problem. Can you help?
A: I don't provide any support for third party ports on other platforms than the Steam and GOG English SE and AE versions of Skyrim. If you have issues, you should adress the person that ported it.

Q: Does this work on Skyrim 1.6+, aka "Anniversary Edition"?
A: Yes, it should.

Q: Why don't your mods use MCMs and instead use this janky console command system to set globals?
A: I am not a fan of MCMs. You can set the globals by making a patch in xEdit. I have no plans of changing this. If you want to add an MCM, feel free. (see permissions)

Q: Why don't you use FOMODs?
A: That would require reuploading the entire mod, in question, even if I only make a small change. My internet is limited and reuploading the files each time will take a huge chunk of my monthly volume.