A “Natural Grow” leveling mod where your attributes and level grow automatically as your skills increase, and your skills will also decay over time (optional).
OpenMW 0.48 or newer is required!
A changelog is available in the CHANGELOG.md file, and an FAQ in the FAQ.md file.
→ Features
-
Your level and attributes grow as your skills grow
- No more levelup menu and manual attribute increases, it just happens seamlessly now
- Uncap skills beyond 100 (200 by default)
- Uncap attributes beyond 100 (200 by default)
-
Optional and configurable skill decay over time (off by default)
- Decay is a way to make late-game players feel less overpowered - try it!
-
Configurable skill and attribute growth settings (slow growth attribute, vanilla skill growth by default)
- Skill progression in particular has a variety of options
- OpenMW 0.49 or newer required! Optionally block skill increases from books (off by default)
- OpenMW 0.49 or newer required! Optionally carry over excess skill progress after a level increase (on by default)
- Optional state-based HP (off by default)
-
Configurable base and per-level HP ratio
- Additionally: configurable per-level HP gain
- OpenMW 0.49 or newer required! Configurable multiplier for magic damage taken (off by default)
- Magicka-based skill progression (on by default)
- Magicka refund for cast spells (off by default, configurable values)
-
In-game stats menu for viewing level, attributes, skills and their decay progress, and more!
- Bind it to a key via the in-game script settings menu: ESC >> Options >> Scripts >> NCGDMW Lua Edition
→ How It Works
This mod blocks vanilla levelup progress and instead does work under the hood to calculate its own.
→ Level Calculation
The player’s level is derived by adding up all skills and performing calculations on them.
If you’re interested in the specific implementation details, please check out the updatePlayerStats()
function in the 00 Core/scripts/NCGDMW/player.lua
file.
→ OpenMW 0.48 (Stable)
For OpenMW 0.48, the mod operates every frame to read your current skill levels and possibly recalculate stats on the fly.
Skill progression is not directly moddable, so this version of the mod creates its own skill progress handling that can go past 100.
Also included is the ncgdmw-vanilla-birthsigns-patch.omwaddon
plugin which edits “The Lady”, “The Lover”, and “The Steed” birthsigns found in the vanilla game to be “Curses” instead of an “Ability”,
thus reflecting their fortify actions more accurately in the final stat value.
Unfortunately doing this breaks the birthsign UI since it is hardcoded to look for abilities. This does not affect OpenMW 0.49.
Any birthsign mod that provides a birthsign which fortifies an attribute or skill should provide a compatibility version that uses “Curses”.
Please see full installation details below.
→ OpenMW 0.49 (Dev)
For OpenMW 0.49 the mod operates using the skill progression interface. This means:
- The mod only operates when it needs to versus every frame
- It can and does take over skill progress handling at the engine level
- Uncapping and progress modifications are done more seamlessly as a result
- NCGDMW Lua Edition is explicitly not compatible with other mods that try to affect skill progress using this interface!
Additionally:
- The birthsigns patch mentioned above isn’t needed
- A separate plugin will be needed for the settings menu to work
Please see full installation details below.
→ Attributes
Attribute values are calculated based on the value of governed skills.
There is a spreadsheet included (00 Core/docs/ncgd profile.ods
) that breaks down the relations between attributes and skills as well as their weights.
That file also allows the automatic computation of attributes growth, player level, and level progress by filling in a player profile:
Starting skills and attributes, and skill levels up.
→ Skills
Skill growth works as normal but with modified growth rates depending on what version of this mod you’re using (please see full installation details below).
OpenMW 0.49 only:
As skills gain levels, Vanilla Morrowind increases the skill gain progress requirement to reach next level, but it’s generally not enough, players get overpowered too quickly.
Two NCGD settings allow skill gains to be even more reduced:
- Skill progression factor: Reduce all skill gains by a constant factor (e.g. all skill gains are halved)
- Skill progression squared level factor: Reduce all skill gains by a factor exponentially based on skill level
In the spreadsheet included (00 Core/docs/ncgd profile.ods
) you can play with these two settings and see how it affects skill gains.
Please note: If you for whatever reason need to use the console to raise a skill, please do so using the skill progression interface like so:
- Press ` to bring down the console
-
Type
luap
and press enter -
Type
I.SkillProgression.skillLevelUp("Skill ID here")
and press enter - Repeat the previous step as needed
- Press ` to hide the console
Allowed skill IDs: acrobatics, alchemy, alteration, armorer, athletics, axe, block, bluntweapon, conjuration, destruction, enchant, handtohand, heavyarmor, illusion, lightarmor, longblade, marksman, mediumarmor, mercantile, mysticism, restoration, security, shortblade, sneak, spear, speechcraft, unarmored
→ Health
Player HP are based on:
- Attributes: Endurance, strength and willpower.
- Player level: More HP after each level up.
- HP growth settings: Which define base HP value as well as how much HP are gain on each level up.
- State-Based HP setting: Which adjusts HP values based on the current state of your HP, also factoring fortifications and all other base stat changes.
Player starting HP are based on the following formula: endurance * 4/7 + strength * 2/7 + willpower * 1/7
.
This value can be reduced using the “Base and per level HP ratio” setting.
On each level up, a fraction of that formula is added to the player HP, depending on the “Per level HP gain” setting:
- High: 10% of the formula
- Low: 5% of the formula
→ Decay
The decay mechanic can be a nice way to balance the game and stave off becoming too powerful too quickly. Some things to keep in mind about this mechanic:
- Decay affects skills, which also has an impact on attributes as their growth part is based on skill values.
- Decay is represented as a percent value that increases slowly over time (check the value in the stats menu).
- Decay depends on the skill level. High level skills decay faster.
- A skill cannot decay past one half of its previous maximum value. So if your Acrobatics skill was at 50, it can’t decay past 25.
- Regardless of a skill’s max value, it will not decay below 15.
- When you level up a skill, half of decay progress is removed.
- When you use a skill, a small amount of decay progress is removed. Also, other skills of same specialization get a tiny reduction by synergy.
- With OpenMW 0.49 or newer, when resting in a bed, decay does not progress
- With OpenMW 0.49 or newer, when resting without a bed, only half of the time passed is added to decay progress
- With OpenMW 0.49 or newer, when waiting, decay progresses normally
- With OpenMW 0.48, when resting in a bed or without a bed, or when waiting, only half of the time passed is added to decay progress
- When using a transport, only half of the time passed is added to decay progress
- When training a skill, the decay progress of that skill is cancelled and only half of the time passed is added to other skills of same specialization
→ Block Skill Increases From Books
OpenMW 0.49 or newer required!
If enabled, this feature does just what it says: You will no longer receive skill increases from reading books.
→ Carry Over Excess Skill Progress
OpenMW 0.49 or newer required!
With the vanilla Morrowind leveling, when a skill is increased, if there is any excess progress it is simply lost. When this feature is enabled, that excess progress is carried over toward the next increase.
→ Magicka-Based Skill Progression
This feature will grant skill progress for magical skills based on the amount of magicka that a given spell costs (versus the flat amount in the vanilla game).
→ Magicka Refund
With the magicka refund feature, some amount of magicka will be returned after casting a spell (configurable via the script settings menu).
→ Credits
This is a port of Greywander’s “Natural Character Growth and Decay - MW” mod for the OpenMW-Lua API. We’ve since extended it by adding new features and altering existing ones based on experience with what works and feedback.
→ Original concept, MWScript edition author
Greywander
→ Lua edition authors
Lua authors: EvilEye, johnnyhostile, Mehdi Yousfi-Monod
Original MBSP+Uncapper author: Phoenixwarrior7
NCGDMW Patches: Alvazir
→ Localization
PT_BR: Karolz
DE: Atahualpa
ES: drumvee
FR: Rob from Rob’s Red Hot Spot
PL: emcek
RU: dmbaturin
SV: Lysol
→ Installation
If you’re following a mod list on Modding-OpenMW.com then please refer to the list-specific instructions provided there.
→ NCGDMW Normal
If you’re using OpenMW 0.48 (stable):
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\00 Core"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\01 NCGD - Normal"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\02 OpenMW 0.48"
content=ncgdmw.omwaddon
content=ncgdmw.omwscripts
content=ncgdmw-vanilla-birthsigns-patch.omwaddon
If you’re using OpenMW 0.49 (dev builds):
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\00 Core"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\01 NCGD - Normal"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\02 OpenMW DevBuild"
content=ncgdmw.omwaddon
content=ncgdmw.omwscripts
content=ncgdmw-dev.omwscripts
→ NCGDMW Alt Start (Total Conversions)
The “AltStart” setup is intended for use with total conversion mods such as Arktwend.
If you’re using OpenMW 0.48 (stable):
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\00 Core"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\01 NCGD - AltStart (For Total Conversions)"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\02 OpenMW 0.48"
content=ncgdmw_alt_start.omwaddon
content=ncgdmw.omwscripts
If you’re using OpenMW 0.49 (dev builds):
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\00 Core"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\01 NCGD - AltStart (For Total Conversions)"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\02 OpenMW DevBuild"
content=ncgdmw_alt_start.omwaddon
content=ncgdmw.omwscripts
content=ncgdmw-dev.omwscripts
→ NCGDMW Starwind
The “Starwind” setup is intended for use with Starwind.
If you’re using OpenMW 0.48 (stable):
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\00 Core"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\01 NCGD - Starwind"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\02 OpenMW 0.48"
content=ncgdmw_starwind.omwaddon
content=ncgdmw.omwscripts
If you’re using OpenMW 0.49 (dev builds):
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\00 Core"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\01 NCGD - Starwind"
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\02 OpenMW DevBuild"
content=ncgdmw_starwind.omwaddon
content=ncgdmw.omwscripts
content=ncgdmw-dev.omwscripts
→ Slower Skill Growth - OpenMW 0.48 only
To slow down skill growth and prevent becoming too strong too quickly, add the following plugin, after the previously selected ones:
content=ncgdmw-half-skills-growth.omwaddon
With OpenMW 0.49, skill growth options are handled via the in-game script settings menu found at: ESC >> Options >> Scripts >> NCGDMW Lua Edition
Don’t use this plugin with OpenMW 0.49!
→ NCGDMW Patches - OpenMW 0.48 only
The 03 Patches - OpenMW 0.48
option comes with patches for several mods that replace “Ability” spell effects with “Curses”
(which as indicated in the FAQ play more nicely with this mod).
Patches are provided for the following mods:
- Abandoned Flat
- Birthsigns RESPECted - A Birthsign Rebalance Mod
- Havish
- Meteors
- OAAB_Data
- Sotha Sil Expanded
- Tamriel_Data
- Tel Aruhn Chronicles (and BCOM)
- Thief Experience Overhaul
Add the relevant patch folders and plugins, after the previously selected ones:
data="C:\games\OpenMWMods\Leveling\ncgdmw-lua\03 Patches - OpenMW 0.48"
content=Meteor - NCGDMW_Lua Patch.omwaddon
...
content=OAAB_Data - NCGDMW_Lua Patch.omwaddon
...
Many thanks to Alvazir for making these patches and letting me include them!
→ The Stats Menu
The stats menu is available for both OpenMW 0.48 and 0.49. By default, it has no keybinding, you can set that in the script settings menu: ESC >> Options >> Scripts >> NCGDMW Lua Edition >> Stats Menu Key
This menu will show information about all stats managed by this mod as well as other useful details. If displayed while the game is paused (e.g., you have some other UI up like inventory and use the stats menu key) you can mouse over fields and see a useful tooltip.
→ Saved Games Upgrade - OpenMW 0.49 only
If you’re upgrading from NCGDMW 3.2 or above, there is nothing to do, you can safely play with your existing saved games.
If you are upgrading from NCGDMW 3.1 or below, your player’s profile will be upgraded automatically when loading your saved game in order to:
- recalculate the attributes values
- clear the old active spells (abilities, curses)
- properly apply profile active spells (from birthsign and race)
NCGDMW will try to preserve your previous changes to attributes that are external to NCGD, for instance a strength gain of +2 given during a quest with a naked Nord.
You can check the detected base attributes and skills changes in the new stats menu. For attributes, it includes external changes and spells fortifications from abilities.
If the external changes are broken after the automatic upgrade, you can manually reset your profile by following the “Reset Player’s Profile” procedure described in next section.
If you remember the legit external attributes changes, you can manually apply them after the ResetStats command.
Example for the strength attribute and the +2 missing bonus:
- Open your player’s profile window
- Read and remember the attribute value you want to change, for instance strength is 37
- Open the console
-
Type
player->setstrength 39
NCGD will now remember that bonus and preserve it during skill levels up.
→ Player’s Profile Reset - OpenMW 0.49 only
If something went wrong with your player’s attributes, skills, health or active spells, you can manually reset your profile by proceeding as follows:
- Press ` to bring down the console
-
Type
luap
and press enter -
Type
I.NCGDMW.ResetStats()
and press enter -
Type
exit()
to quit the Lua mode - Exit the console, wait 2 seconds, and you should see NCGD popups informing you of the attributes updates and NCGDMW init finished
- Check your player’s profile and the stats menu to be sure everything went well
→ Compatibility With Other Mods
Some mods out in the wild may produce unexpected behavior when used with NCGDMW Lua Edition. Please see the “Mod Conflict” tag on the project issue tracker for more information about known, unsolved cases of this.
→ Known Compatibility Issues
Aside from what’s stated in the FAQ.md
document about compatibility, there are some known issues with unknown causes out there.
→ How To Test This Mod
A simple plugin has been created that tests handling of external (non-NCGD) changes to stats.
This can be found in the included test
folder, add that as you could any other mod and load a test character to observe:
- Stats handled properly with buffs and debuffs
- External changes to attributes (0.49+ only) and health are seen in the stats menu (only for new games when using 0.48!)
→ OpenMW 0.48
- Run OpenMW in test mode
- Press ` to bring down the console
-
Type
player->setacrobatics 98
and press enter, attributes will update and you will level up -
Type
player->setunarmored 98
and press enter, the same will happen -
Type
player->setblock 98
and press enter, the same will happen -
Type
player->setaxe 98
and press enter, the same will happen -
Type
player->setlongblade 98
and press enter, the same will happen -
Type
player->setshortblade 98
and press enter, the same will happen -
Type
player->setsneak 98
and press enter, the same will happen -
Type
player->setspear 98
and press enter, the same will happen - Rest for one day, a decay should trigger
→ OpenMW 0.49
- Run OpenMW in test mode
- Press ` to bring down the console
-
Type
luap
and press enter -
Type
I.SkillProgression.skillLevelUp("armorer")
and press enter - Press the up arrow key, then enter to repeat that command
- Do this a dozen or more times to see attributes recalculate and the player’s level increase
→ Help Localize NCGDMW
Do you speak a language that’s not yet offered and want to contribute a new localization? Follow these steps:
- Download a release zip from this URL
-
Open the
00 Core/l10n/NCGDMW/en.yaml
file with your favorite text editor (Notepad++ is recommended for Windows) -
Update each line (the quoted part after the
:
) as desired -
Save the file with the name
<CODE>.yaml
, where<CODE>
is the language code for the localization you’re adding -
Commit your change to git and open a merge request, or simply email the file to
ncgdmw@modding-openmw.com
withNew NCGD Localization
as the subject
→ Web
→ Connect
- Discord
- IRC
- File an issue on GitLab for bug reports or feature requests
-
Email:
ncgdmw at modding-openmw dot com
→ Planned Features
- Optional level up song and animation
- View decay progress by mousing over a skill
- Request a feature!