Documentation
Readme
View as plain text
Improved Vanilla Leveling
Author: Merzasphor
Version: 1.8
Contents:
-> Description
-> Requirements
-> Installation
-> Using this Mod
-> Removal
-> Known Issues
-> Changelog
-> Incompatibilities & Save Game Warnings
-> Credits
-> License
-----------------------------------------------------------------------------------------------------
Description:
This mod attempts to preserve vanilla leveling mechanics while eliminating the need to micromanage
skill and attribute increases in order to achieve optimal character progression. In other words, it
allows one to just play without having to count skill increases or plan levels ahead of time, while
still enjoying progress faithful to the original vanilla system.
Leveling up happens as in vanilla, but with three significant changes:
1. Excess progress is not wasted. Any excess progress toward attribute multipliers at level up is
not lost but carried forward to the next level. This includes progress in excess of what's
needed to receive a 5x multiplier.
2. Non-max multipliers are not wasted. Choosing an attribute at level up that doesn't have a 5x
multiplier (other than Luck, by default) allows for progression of the attribute via skill
increases up to what it would have been if the multiplier had been 5x. If that attribute has
already received sufficient increases at level up to reach 100 via additional skill increases,
that additional potential is applied to other attributes instead.
3. Health is gained retroactively. Health is calculated as if the maximum possible endurance
increase was applied as early as possible, up to the current endurance value. The eliminates
the penalty for not getting 5x endurance increases each level as early as possible. This is
optional, see below.
Some implications of the the above:
* Luck will never increase unless it's selected at level up (or unless governing attributes have
been changed, see below). It's the player's decision whether to increase Luck or not.
* Characters with lower starting endurance and strength will still have a smaller total maximum
health. This means there's still a small tradeoff between different races and classes, as in
vanilla.
Optional Retroactive Health Calculation:
The retroactive health calculation can be disabled via the mod config menu, to allow the use of
another that provides a different health calculation. Set to "Off" in the MCM and follow the
instructions of whatever mod you'd like to use in its place. To go back to the included
retroactive health calculation, simply change the setting and reload the character; health will be
recalculated when the character is loaded.
Enhanced Level Up Progress Tooltip:
This mod adds the option to display an enhanced tooltip similar to the MCP tooltip (if the MCP
tooltip is enabled, the new tooltip replaces it). To enable the enhanced tooltip, visit the Mod
Config Menu; it is disabled by default. This new tooltip adds the following information for each
attribute:
Attribute (base/potential) level_ups
base - the current base value of the attribute
potential - how high the attribute can be raised via skill increases without gaining another
character level
level_ups - the number of related skill increases; this could be negative if an attribute has
been increased without sufficient skill increases at character level up (based on 10 /
iLevelUp10Mult), or it could be a fraction (rounded to nearest 0.1), if iLevelUp10Mult has been
changed such that 10 / iLevelUp10Mult is not an integer.
Example:
Strength (41/45) -2.0
This character added 1 to strength at level up without any strength related skill increases. He
now has to "pay" for that strength increase with 2 strength skill increases, to bring him to 0.
After that, he can increase strength up to 4 more times (up to 45), with 8 additional strength
skill increases (maintaining the vanilla 5/10 ratio).
Playing with a new character using vanilla settings is recommended, but read on for other options.
Existing Characters:
The recommended way to play this mod is with a new character, but it can be added to an existing
game if desired. However, any lost progress or non-max multipliers prior to adding the mod cannot
be recovered or otherwise mitigated.
GMSTs and Balance Mods:
This mod was designed with vanilla settings in mind, but it should be compatible with balance mods
that alter progression by tweaking the GMSTs that affect leveling or by changing skills' governing
attributes.
Governing attributes are checked as needed, so any changes made via an ESP will be honored by this
mod. If Luck is added as a governing attribute to one or more skills, then it will be treated as
the others when it comes to multipliers and skill increases. Conversely, if another attribute is
removed from all skills, it will be treated as Luck in vanilla.
This mod uses the following GMSTs directly and will honor changes made to them via ESPs (and
scripts, in most cases):
* iLevelUp10Mult determines how quickly attributes rise relative to skill increases. In vanilla,
this has a value of 5, resulting in 1 attribute increase for every 2 skill increases.
* fLevelUpHealthEndMult determines the percentage of endurance to add to health each level.
The remaining GMSTs influence how character progression happens. Changing them will have the same
impact as in a pure vanilla game.
Special note on iLevelupMajorMult* and iLevelupMinorMult*:
There's a bug in the engine that causes these GMSTs to be applied incorrectly to skill increases
received via NPC training and skill books. If these have been modified and the bug fix is not
present this mod will be disabled, with a message on screen and in the log. The fix can be
downloaded at: https://www.nexusmods.com/morrowind/mods/48029/
You do not need this fix to play this mod with vanilla settings.
Morrowind Code Patch:
The MCP adds three options that are relevant to this mod.
1. Interface changes -> Level-up skills tooltip
This shows the number of skill increases linked to each of your attributes. In some cases, after
receiving a skill increase the relevant attribute count will not increase. This is due to the
way skill and attribute increases are tracked in this mod, and the game's inability to properly
handle fractions or negative numbers for these values. This is just a display issue; everything
is handled correctly behind the scenes. Alternatively, enable the enhanced tooltip in the Mod
Config Menu to replace this tooltip.
2. Game mechanics -> Attribute uncap
This allows increasing the eight main attributes past 100. This mod will detect this setting
and should behave appropriately, but this has not been extensively tested.
3. Game mechanics -> Skill uncap
This allows leveling of player skills past 100. This should work with this mod, but has not been
extensively tested.
Final Thoughts:
This mod is not for everyone. Some will want a more complete overhaul and rebalancing of the
leveling system, which this does not provide. Conversely, I'm sure there are some who prefer the
pure vanilla experience, either enjoying the process of meticulously planning skill increases and
progression, simply taking progression as it happens with all that implies, or landing somewhere in
between.
This mod is the spiritual successor to the "Automatic Leveling" mod I posted on the Bethesda forums
a few years ago. I don't know if it saw much use, but building that mod was my primary motivation
for tinkering with the MWSE source code.
-----------------------------------------------------------------------------------------------------
Requirements:
This is a MWSE-Lua mod, and requires MGE XE 0.10.1 or later with MWSE 2.1 or later.
-----------------------------------------------------------------------------------------------------
Installation:
Extract the archive into .\Data Files in your Morrowind installation directory. The mod should
contain the following files:
.\Data Files\MWSE\mods\merz\improved_vanilla_leveling\main.lua
.\Data Files\MWSE\mods\merz\improved_vanilla_leveling\config.lua
.\Data Files\MWSE\mods\merz\improved_vanilla_leveling\mcm.lua
-----------------------------------------------------------------------------------------------------
Using this Mod:
There is no esp file to activate. Simply install the MWSE 2.1 and this mod, and load up an old or
new game. A new game is recommended, see < Description > above for further discussion.
-----------------------------------------------------------------------------------------------------
Removal:
Delete the .\Data Files\MWSE\mods\merz\improved_vanilla_leveling folder.
To remove the extra character data, extract the Improved Vanilla Leveling Cleanup archive into
.\Data Files in your Morrowind installation directory. Contents:
.\Data Files\MWSE\mods\merz\improved_vanilla_leveling_cleanup\main.lua
Load the game to clean. When prompted to remove the data, select remove. This cannot be undone.
Save the game.
When finished, delete the .\Data Files\MWSE\mods\merz\improved_vanilla_leveling_cleanup folder.
-----------------------------------------------------------------------------------------------------
Known Issues:
If using a mod that changes levelupsPerAttribute without triggering a custom event (e.g. anything
using Skills Module, Ashfall, etc.), any attribute increases that should arise from that skill
increase will be delayed until either you raise a vanilla skill that shares the same governing
attribute or your character levels up. Progress is still tracked and accounted for correctly.
If those mods add a custom event to signal that their custom skill has been raised, I could
incorporate that event here and treat it like a vanilla skill increase. Until then, this is the
best that can be done, without doing something excessive like checking every frame.
-----------------------------------------------------------------------------------------------------
Changelog:
1.0 [2020-05-17]:
* Initial release.
1.1 [2020-05-17]:
* Fix an issue where new character data was saved too early.
1.2 [2020-05-17]:
* Calculate health retroactively for existing characters.
1.3 [2020-05-26]
* Check GMSTs when needed instead of just at start up. This should be more compatible with other
mods that alter them via scripts.
* Add an enhanced Level Up Progress tooltip that shows attribute potential and skill level ups
per attribute. It can be enabled via the Mod Config Menu.
* Gracefully handle the case where chargen is complete, but the character does not have a
birthsign. This should be more compatible with mods that break chargen.
1.4 [2020-05-26]
* Fix an issue where the updated tooltip did not appear when mousing over the "Level" text.
1.5 [2020-05-28]
* Distribute excess attribute cap more evenly at level up.
* Add an option to disable retroactive health calculation, to allow this mod to be more easily
used with other mods that provide alternative health implementations.
1.6 [2020-05-31]
* Change how attribute potential is tracked internally. This should be more compatible with mods
that make changes to attributes at character creation, as well as better handling other
changes to attributes (e.g. quest rewards).
* Track changes made to levelupsPerAttribute by other mods that don't trigger custom events.
1.7 [2020-06-01]
* Disable the enhanced tooltip until chargen is complete.
1.8 [2022-05-31]
* Fix an issue where health was not updated correctly when under the effect of Fortify Health.
* Fix an issue where birthsigns that add endurance were not detected.
* Improve tooltip.
-----------------------------------------------------------------------------------------------------
Incompatibilities & Save Game Warnings
This mod should not be used with other leveling systems. It may be compatible with mods that
adjust progression via GMSTs, see < Description > above for further discussion.
This mod adds a small amount of data to the save file via lua. To remove this data, see < Removal >
above.
-----------------------------------------------------------------------------------------------------
Credits:
Thanks to Petethegoat for pointing out that it was possible to perform the retroactive health
calculation for existing characters, and Merlord for some related scripting pointers.
Special thanks to all the MWSE developers past and present, especially NullCascade, Greatness7,
OperatorJack, and Petethegoat.
-----------------------------------------------------------------------------------------------------
License:
MIT License (https://opensource.org/licenses/MIT)
Copyright 2020-2022 Merzasphor
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.