Skyrim Special Edition

File information

Last updated

Original upload

Created by

Itzal713

Uploaded by

Itzal713

Virus scan

Safe to use

About this mod

Adjustable mod for spell learning. Select conditions and method for learning. Keep or destroy the book. Unlearn already known spell and more.

Requirements
Permissions and credits
Translations
  • Italian
Changelogs
My characters usualy don't put lot of investment in magic and end up with unusable spells due to low magicka. In search for mod that prevents it, I decided to create one myself with highly customizable MCM menu and other useful features. Designed to work for Skyrim and Enderal.


FEATURES
- choose in MCM what you want and adjust it, whole mod can be toggled ON/OFF
- only one edited entry to disable spell learned sound: UISpellLearned [SNDR:000ECF93]
NO PATCH is needed for added spells as long as they are learned with a Spell Tome
Spoiler:  
Show
How it works: "Consume" a Spell Tome to learn its spell. Script checks if all conditions are met and if they are not the spell is removed (+adjust stat Spell Learned). Script runs only when Inventory/Favorite menu is opened and book with keyword "VendorItemSpellTome" is destroyed.


CONDITIONS
Not passing any of the conditions mean you can't read to learn a spell and book won't be destroyed.
Spoiler:  
Show
Hidden conditions: in combat, swimming, trespassing, jumping or falling
Forbidden place [add/remove]: list of locations where you can't learn a spell
Magicka [on/off]: can't learn a spell if you don't have enough Magicka to cast it
Skill [on/off]: amount of skill required to learn a spell for each spell difficulty
Perk [on/off]: set for each spell difficulty whenever it requires perk to learn

Spell difficulty = Novice, Apprentice, Adept, Expert Master


LEARN & UNLEARN
After passing all conditions, you proceed to learn a spell with selected method:
instanlty learns a spell (just like unmodified game)
- calculate a chance that spell will be learned - either you learn it or not
- calculate a percentage of learned spell - each time it progress until spell is learned
- known spell can unlearned and re-learned by using book again instantly
Spoiler:  
Show
How is value calculated for Chance/Progress method:
Calculated value is used either as percentage chance that spell will be learned or how much of spell is learned. It depends on your current skill and if you have required perk. Calculated value is then multilied by difference between current skill and spell difficulty (novice, apprentice...) in percentage. Final value won't exceeds min/max MCM setting.

Formula for calculated value:
CalcValue = ( Base Skill SkillMult Perk PerkMult ) * ( 1 - ( SpellLevel Skill ) / 100 ) )

Base = base value regardless of other factors (defl. 5)
Skill = current skill of relevant spell school
SkillMult = how much is added to base per skill point (def. 0.4)
Perk = 1 if you have relevant perk, otherwise 0
PerkMult = how much is added if you have relevant perk (def. 30)
SpellLevel = represent spell difficulty: novice = 0, apprentice = 25, adept = 50, expert = 75, master = 100


For example: When learning adept spell with skill 50, without perk and default MCM settings chance is
CalcValue= ( 5 + 50 * 0.4 + 0 * 30 ) * ( 1 - ( 50 - 50 ) / 100 ) ) = 25
- which is either 25% chance to learn a spell or that you learn 25% of a spell and need to read it 3x more.
- for Novice level spell (your skill is higher then spell level) CalcValue will be 37.5 (1.5x)
- for Master level spell (your skill is lower then spell level) CalcValue will be 12.5 (0.5x)


difference between learning Novice and Master spells with default values (without Perk)


difference between learning Adept spells with and without Perk


BOOK DESTRUCTION
Choose what happens with book when learning fails and when it is successful. Book can be simply returned or destroyed or it has calculated chance to be destroyed. It is always returned (regardless of setting) when failing any condition.
Spoiler:  
Show
Chance formula:
- uses base value set in MCM
- reduced up to -50% at full MP and increased up to +50% at zero MP
- investing in MP while leveling reduces the chance for each MP past set treshold
- reduced with associated Skill and Perk

Chance Base * ( 1.5 - currentMP baseMP ) * ( tresholdP baseMP ) * ( 1 -  0.01 * ( Skill SkillMult Perk PerkMult ) )

MP = Magicka Points
Base = base chance to destroy book
Perk = 1 if you have relevant perk, otherwise 0
PerkMult = how much is base chance reduces with relevant perk (def. 50 %)
SkillMult = how much is base chance perk skill point (def. 1% per skill)


MENTAL EXHAUSTION
- if enabled maximum Magicka is temporarily lowered after reading a Spell Tome
- reading before expiration will reduce the maximum magicka even more and refresh duration
- when expires restores part/all of maximum Magicka (percentage of unmodified Magicka)
- duration is measured by ingame time (def. 1 hour)
Spoiler:  
Show
Formula for reduced maximum magicka:
ReducedMagicka Base SpellLevelMult * ( SpellLevel / 25 + 1 )

Base = base amount of reduced magicka
SpellLevelMult = amount of reduced magicka per spell difficulty
SpellLevel = represent spell difficulty: novice = 0, apprentice = 25, adept = 50, expert = 75, master = 100


For example: When learning Apprentice spell with default MCM settings
ReducedMagicka = 25 + 25 * ( 25 / 25 + 1 ) = 75
- your maximum magicka will be reduced by -75 for 1 ingame hour
- reading same Spell Tome again before time expires: -150 for 1 ingame hour


READING TAKE TIME
- requires enabled reading animation (3rd person only, otherwise it is simple black out screen)
- if enabled, ingame time is passed when reading, reflecting difficulty of the spell and acquired skill and perk
Spoiler:  
Show
How is ingame time passage calculated:
Time is equal to combination of base time and time per spell difficulty. With default settings it is 30 min for Novice spell, 45 min for Apprentice spells, 60 min for Adept spells... This time is reduced by relevant skill and whenever you have relevant perk but can't go lower than set minimum.

Formula for time passed:
Time = ( Base SpellLevelMult * ( 1 + SpellLevel / 25 ) )  /  ( 1 + ( Perk PerkMult / 100 ) + ( Skill SkillMult / 100 ) )

Base = base time (def. 15)
SpellLevelMult = time for spell difficulty (def. 15)
Perk = 1 if you have relevant perk, otherwise 0
PerkMult = reduces time with relevant perk (def. 25)
SkillMult = reduces time with relevant skill (def. 0.25 per skill)
SpellLevel = represent spell difficulty: novice = 0, apprentice = 25, adept = 50, expert = 75, master = 100


For example: When learning adept spell with relevant perk, skill 50 and default MCM settings
Time = ( 15 + 15 * ( 1 + 50 / 25 )  /  ( 1 + ( 1 * 25 / 100 ) + ( 50 * 0.25 / 100 ) = 43,64 min


OTHER
- add suffix to book name when reading / learning fails
- plays selected sound when spell is learned, book is destroyed...
- change text notification in MCM
Spoiler:  
Show
Suffix:
SkyUI uses eye symbol next to book that you've already read. Since I didn't find out how to remove and add this icon when needed, suffix is added instead to mark book you was unable to read/learn. Suffix can be changed in MCM. If progress method is used, suffix adds also current percentage of learned spell.

Custom Sounds:
To use custom sounds replace empty .wav files with ones you want and in MCM select [Custom] in MCM.
 Sound/Fx/st_CustomBreak.wav     book destroyed by chance
 Sound/FX/st_CustomExpire.wav    magicka from exhaustion restored
 Sound/FX/st_CustomLearn.wav     spell successfully learned
 Sound/FX/st_CustomUnlearn.wav   known spell unlearned

Text notifications:
Text input in MCM is limited for 30 symbols, therefore senteces are divided to inital and end part.

For example: Combat notification = inital + end
 inital  You cannot study + space at the end
    end  when enemies are nearby.
 INGAME  You cannot study when enemies are nearby.



Credits:
Better Spell Learning - inspired with reading animation
Spell Learning Requirements - inspired with "(Not Learned)" string attached to book