0 of 0

File information

Last updated

Original upload

Created by

tjhm4

Uploaded by

tjhm4

Virus scan

Some manually verified files

Tags for this mod

About this mod

Turns spell learning into a 10 second magical trial with trial difficulty proportional to the cost of the spell. Pass the trial and you learn the spell. Fail and you suffer the consequences.

Requirements
Permissions and credits
Translations
  • Russian
Changelogs
Donations


LE version available here

tldr
Learn spells by completing a short ritual that drains your magicka
The magicka cost of the ritual is proportional to the magicka cost of the spell, and can be adjusted in the MCM
Keep the book after the ritual and re-read it to try again or to forget a learned spell
Uses the "Dont Eat Spell Tomes" framework to override vanilla spell tome behavior without compatibility problems



Summary
Challenging Spell Learning changes the bland vanilla spell learning system to increase the challenge, risk and satisfaction of spell learning. Instead of instantaneously "consuming" spell tomes to learn the spell, reading a spell tome will now start a learning ritual that tests your magical abilities. During the ritual your magicka will steadily drain, and to learn the spell you must complete the ritual without running out of magicka. Because the rate at which the ritual drains your magicka is proportional to the cost of the spell, all but the most basic spells are effectively off limits to characters with no investment in magicka or magical skills. However, as your character improves, more and more spells will become within their reach, resulting in a natural progression from novice to master. Nonetheless, learning master spells will remain a real challenge for even high level mages, requiring thought and preparation.

Here's a video showing the mod in action. First a low level warrior fails to learn a novice destruction spell, then a low mage tries the same but succeeds because of their perks and gear. Finally, the same mage tries to learn an apprentice alteration spell but fails.




How it works
When you read a spell book for the first time, after a brief pause, a menu opens asking you if you want to try to learn the spell. If you select "yes" your inventory will close and your character will start the learning ritual (complete with pretty animations and visual effects). During the ritual you are unable to control your character and their magicka will drain at a rate proportional to the cost of the spell. After 10 seconds, if your character has any magicka remaining they will acquire the spell and regain their lost magicka. However, if they have run out of magicka they will be struck down and suffer mental exhaustion, a disease that reduces total magicka and greatly reduces magicka regeneration rate.

The rate at which magicka is lost during the ritual is proportional to the casting cost of the spell and can be configured via the MCM (see configuration section below). The ritual cost takes into account any relevant perks, enchantments, spells and potions affecting your character. So if you have perks that reduce the casting cost of the spell you are trying to learn, they will similarly reduce the rate of magicka loss during the ritual. The magicka drain can also be resisted by resist magic potions or enchantments. Accordingly, to learn a master spell you will want to have taken any relevant perks, wear gear with suitable enchantments, drink a restore magicka and/or resist magic potion and have invested in your total magicka pool when leveling up.

After the ritual you keep the spell tome. So if you failed you can try again when your character is better prepared. If you succeeded, reading the spell tome again will cause you to forget the spell, which is useful for de-cluttering you spell inventory (this doesn't work for flames or healing which are baked into your character).

Configuration
The MCM allows you to change various aspects of the spell learning ritual. Ritual cost can be changed via two parameters: the exponent and multiplier, where

ritual cost per second = 7.5 + ((spell casting cost/12)^exponent) * multiplier

Higher values of the exponent cause spells to get much harder to learn as their casting cost increases (as well as making spells harder to learn in general), whereas lower values make all spell rituals similarly costly regardless of the spell's casting cost (as well as making spells easier to learn in general). The multiplier makes spells easier or harder to learn, but without changing the importance of spell casting cost. The default values (exponent = 1.00, multiplier = 2.5) are intended to remain challenging throughout the game, with master spells being off limits to all except high level mages.

For those interested in changing the values of the exponent and multiplier, open the spoiler below for more info:
Spoiler:  
Show

First note that the base cost of any ritual is 75 (7.5 magicka per second for 10 seconds), so even a free-to-cast spell would require 75 magicka to learn. The rest of the ritual cost is based on the casting cost of the spell (taking into account your skill, perks, gear etc). Note that this cost is divided by 12. This is the cost of the healing spell. So if the multiplier is 2.5 (the default) then healing (without perks, gear, skill etc) would require 10 magicka per second, for a total of 100, to learn.
Let's look at the multiplier. A spell that costs 24 magicka to cast (twice healing) would cost 12.5 per second (7.5 + 2*2.5), for a total of 125. Changing the multiplier scales these values up and down. So setting it to 5 would make healing cost 125 magicka to learn and the 24 magicka spell cost 175 to learn.
Now let's look at the exponent. This effectively stretches or compresses how fast spells get difficult to learn. So, with the exponent set to 2, the spell that costs 24 magicka would now need 175 magicka to learn (7.5 + 2^2*2.5 = 7.5 + 4*2.5 = 7.5 + 10 = 17.5 per second). But bear in mind that the most expensive spells are over 100 times as costly as healing, and so with an exponent of 2, their ritual would become (almost) 100^2 (i.e. 10,000) times harder. This would basically make ti impossible to learn these spells, so if you increase the mult you will need to lower the multiplier accordingly.

Finally, if you want to do some testing yourself, here's some R code that you can paste here to see some example ritual costs:

ritual_cost <- function(cost, mults, skill) {
  skill_mult = 1 - (skill/400)^0.65
  exp <- 1
  mult <- 2.5
  base <- 75
  div <- 12
  ritual <- base + (((cost*mults*skill_mult)/div)^exp)*mult*10
  return(ritual)
}

# ADD TO THIS LIST IF YOU WANT TO SEE MORE CASES
# name, rank, cost, mults from gear etc, skill
rituals <- list()
rituals[[1]] <- c("flames", "novice", 14, 1, 15)
rituals[[2]] <- c("oakflesh", "novice", 103, 1, 15)
rituals[[3]] <- c("oakflesh", "novice", 103, 0.5, 15)
rituals[[4]] <- c("oakflesh", "novice", 103, 0.5*0.75, 15)
rituals[[5]] <- c("candlelight", "novice", 21, 1, 15)
rituals[[6]] <- c("stoneflesh", "apprentice", 194, 1, 30)
rituals[[7]] <- c("stoneflesh", "apprentice", 194, 0.5*0.75, 30)
rituals[[8]] <- c("mass paralysis", "master", 937, 0.5, 75)
rituals[[9]] <- c("mass paralysis", "master", 937, 0.5*0.75*0.75, 75)
rituals[[10]] <- c("storm thrall", "master", 1200, 0.5*0.75*0.75, 75)
rituals[[11]] <- c("frostbite", "novice", 16, 1, 15)

for (j in 1:length(rituals)) {
  ritual <- rituals[[j]]
  name = ritual[1]
  rank = ritual[2]
  base_cost = strtoi(ritual[3])
  cost_mult = as.numeric(ritual[4])
  skill = as.numeric(ritual[5])
  
  output = paste0(name, " (", rank, "): ", round(ritual_cost(base_cost, cost_mult, skill)), " (mult: ", cost_mult, ", skill: ", skill, ")")
  print(output)
}



The MCM includes two additional toggles. The first turns mental exhaustion into a 10 minute debuff, as opposed to a disease, this is for players who use mods that make diseases much harder to cure than in vanilla. The second allows you to remain in first person view during the ritual. This is only for players who use a mod than enables first person animations as otherwise you'll just stand there.



Installation
Requirements
SKSE - required for the ritual to work properly.
Don't Eat Spell Tomes - This lets mods overwrite the default spell tome behavior, don't install the optional example in the FOMOD.
Address Library for SKSE plugins - required by Don't Eat Spell Tomes.
SkyUI - only needed if you want to use the MCM to edit the difficulty of the ritual.
SSE Engine Fixes - Fixes an engine bug that causes CTDs when installing CSL on an existing save.

Installation
Download and install the mod through your manager of choice.

Uninstallation
Safe to uninstall at any time. If you are worried you can just uninstall DEST, without which CSL does nothing. If you are really worried just set the ritual cost to its minimum in the MCM. This way you'll learn all spells anyway.

Performance impact
None


Compatibility

Thanks to the "Don't Eat Spell Tomes" framework Challenging Spell Learning is compatible with everything* **.

*... except mods that edit spell tomes such that they are no longer spell tomes, but just regular books.
**... Favorite Misc Items seems to possibly interfere with DEST preventing CSL from working.



Synergistic Mods
Challenging Spell Learning is basically a standalone mod. However, mods that change restore magicka potions to act over time (e.g. Apothecary) will help you pass the spell learning trials. Vanilla potions cannot help you because they act instantaneously and once you start the ritual you are locked out of your inventory.


My other mods

Building Your Character
Master of One - A perk overhaul that transforms perks from generic character progression into a means to craft unique and specialized builds.
Curse of the Firmament - A standing stones overhaul that emphasizes tough choices.
Legacy - A race overhaul that bring strengths and weaknesses to each race.
Acolyte - A progressive-yet-unobtrusive religion overhaul with a long path to divinity.

Enemies and Combat
Know Your Enemy (armor modulepatcher version) - A resistance and weakness overhaul for enemies and armors.
Know Your Enemy 2 (armor moduleintegration patch) - An upgraded resistance overhaul: more damage types, more configuration, more polish.
NPC Stat Rescaler - A patcher that adjusts player and NPC stats for faster, fairer, and less spongy combat.
Enemy Releveler - A patcher that adjusts NPC levels to truly delevel the world.

Stats and stat growth
Exhaustion - Incremental Fatigue - An ultra-lightweight injury/fatigue system.
Exercise - Incremental Growth - An add-on for Exhaustion that converts fatigue into stat growth.
Geometric Stat Growth - Stats grow by a configurable percentage on level up, instead of a fixed value.

Leveling and skills
Tribute - Gold Based Leveling - A configurable and lightweight spell that turns gold into character levels.
Configurable Perks Per Level - An MCM to edit how many perk points you get on level up.
Trainers Galore - An expansion of the training system designed for "training only" leveling.
XP Editor - A patcher that adjusts xp gain and leveling.

Miscellanea
Challenging Spell Learning - Spell Tomes trigger a costly ritual you must pass to learn spells.
Pick Your Poison - An alchemical handbook to support strategic foraging.
Sightseer - Standing Stones - Guidebooks for the standing stones, collectibles to find, and a hidden quest to unite them.

Mod Lists
Thoughtful Skyrim - A small, gameplay-focussed modlist that rewards preparation and planning.



Future Plans
Adding new features and animations to the ritual.



Acknowledgements

Overwhelming thanks to Parapets for the "Don't Eat Spell Tomes" framework, solracmgp for transferring CSL to use the framework and Mator for creating zEdit, without which the zEdit patcher would not be possible. A huge thank you to cdcooley who provided the xedit script. Thanks also to several users who provided patches before the script was available: agentw, Rokendov, FetorMortem, and Nyrhi. Finally, thanks to everyone who contributes to the creation kit wiki and nexus forums. It took a lot of googling to get the animations working the way I wanted.
  翻译: