Skyrim

File information

Last updated

Original upload

Created by

selyb

Uploaded by

selyb

Virus scan

Safe to use

Tags for this mod

About this mod

Skill books now produce a Skill Ring which you can use to increase a skill of your choice by one level or by an amount of skill XP.

Permissions and credits
[size=7]selyb's Skill Rings[/size]


Description:
All vanilla skill books now give you one of three rings based on the class of the book. Upon installation, within 10s of loading your game or after character creation in a new game, you are prompted for configuration. You can choose to gain one level or to gain skill XP based on a level of your choice.

When you read a skill book, you see some (hopefully?) lore friendly messages and are given a ring for the class that that book belongs to. When you use the ring, you are prompted to choose a skill from that class. If, for example, you chose 75XP in the configuration, you would receive the amount of experience needed to level that particular skill from 75 to 76 regardless of what level the skill is currently.

If you have any suggestions or complaints, feel free to leave a comment. I will not know if something needs to be changed if no one tells me anything.





Known issues:
  • In all my research, I have found no way to determine the skill books already read so if you have read some and then install this mod, all of them will work again. Also, if you uninstall the mod, then reinstall it, all the books will work yet again.
  • If you have a mod that alters the forumulae for skill leveling, it will not be reflected in this mod. To accurately determine the skill XP needed to advance a given level, I have hardcoded the formulae from this UESP page. If someone knows how to expose those skill variables to a script, let me know and I'll make this more compatible with those kinds of mods.
  • In spite of the above, if a mod or ability changes the skill XP rate, the skill XP you gain is affected. For this reason it makes sense to use Standing Stones + sleeping bonuses to gain extra XP from the Skill Rings :)



Performance:
I have done my best to make the smallest footprint on gamesaves. The only quest stops after initial configuration and the scripts only run during the menus so there should be no impact during any other time.


Compatibility:
This should be compatible with Unread Books Glow but will not be compatible with mods that rename the books. It doesn't make much sense to use this with a rename mod since the books are no longer married to a certain skill.


Future Plans:
I am looking into making just the skill books glow if unread. I will not integrate this for all books. Also, I'm thinking about making a mod to allow new atronach forge recipes which call for multiple items (e.g. 30x nirnroot) and have this mod add a recipe to that list.


Installation:
I have provided the files packed in a bsa as well as the loose files. You need only choose one or the other. Also install the esp as usual.


UnInstallation:
As long as the initial configuration is done, you should be able to uninstall with no problem.


Technical Side:
The easy way to track read books would be to pass a formlist to the script and add read books to this list. I believe this is how Unread Books Glow does it. A sophisticated way would be to use bitwise AND/OR operations which are only available through SKSE. Instead, I wrote a small clever function with two quick loops to handle the pseudo-bitwise operations. Instead of having your save file potentially add 90x32 bits (all books read), this mod saves all that info in 6 global variables (32 bits ea). Now if you know a little about longs and floats you may ask why 6? 90 books would fit into 3 longs or floats. Well, I tried but Skyrim doesn't save large numbers in their entirety. If you want to see it in action, open the CK, create a Global long, put 1073741823 for the value and watch it change as soon as you hit OK. The game engine does this and worse :(


Credits:
This mod is my own work less one script line that I copied from Character Creation Overhaul by Syclonix which is noted in the script source.