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
- Changelogs
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
"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.
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
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 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.
- 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)
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
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
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