About this mod
Scales enemies based on player level with configurable options.
- Requirements
- Permissions and credits
- Changelogs
Uses the script extender to upscale enemies based on player level in a compatible way.
Note: Party members and possible party members should be excluded.
Behavior:
Adds some configuration options, but you don't need them.
Default behavior, if you don't change anything in the config:
- bosses will be scaled randomly to be from `player level` to `player level + 2`
- all other NPCs will be scaled randomly from `NPC level` to `player level`
- max level for bosses is 22
- max level for other NPCs is 20
- further, other NPCs (not bosses) will be capped at (20 ÷ 12) × NPC Level rounded up; this means that a level 1 will at most become a level 2, a level 2 at most a level 3, a level 10 at most a level 17, etc...
- bosses don't have that restriction on by default, but you can turn it on
- Summons won't be scaled
- creatures with 3 or less health won't be scaled unless their health rises; ie redhats and shadow druids, they scale correctly after they transform
Things that are currently scaled up for ALL NPCs:
- level: only affects level, other stats had to manually increased; this DOES affect XP rewards. The increase relative to the level increase.
- attributes: every fourth level, it's treated as if they put ASI into their highest stat, with no cap, so a level 1 fighter boosted to 20, will likely get 8 points added to strength, a wizard would probably be getting bonus int
- Proficiency Bonus: increased to what it should be for the new level
- Damage Bonus: every fourth level grants them a 1d8 damage bonus, ie, level 3 to 4 gets a 1d8 boost but 2 to 3 wouldn't get the boost
- Max HP: Simulated, since enemies don't follow the same rules as player characers; (original maxHP ÷ original Level) × new level
- Spell Slots: if they're a spell caster, they'll get what they should have for the new level, but I can't figure out how to get them to up cast, so, that's the reason for the damage boost
- Armor Class: Scales up based on the DMG recommendations. Adds to the original, the difference between the old level's recommendation and the level's recommendation.
- Spells known. You can use Configurable Enemies for that, if you want.
- Attacks: Enemies Enhanced or Enemies Enhanced (Honour) do this... I think. They also add new abilities.
- Other things? If you find anything I missed, that you'd like me to add. Let me know.
Note: The scaling is redone when the player gains a level (and you leave and come back or reload). Enemies will level up with you, to a point, depending on the ScalingMode options you chose.
Configuration:
After running the mod once, and loading a game, a config file will be populated at
%localappdata%\Larian Studios\Baldur's Gate 3\Script Extender\PlayerLevelScaling
Options! With their default values, and what they do.
Debug=0
- 0 does nothing
- 1 also does nothing, but I might add some logging options
- any int value, this is the max level for bosses
- any int value, this is the max level for ALL non boss NPCs
- scaling mode for bosses
- 0, there's no scaling
- 1, scaled randomly from their old level to the player level
- 2, scaled randomly from player level to player level + 2
- scaling mode for ALL non boss NPCs
- 0, there's no scaling
- 1, scaled randomly from their old level to the player level
- 2, scaled randomly from player level to player level + 2
- further options to restrict max level for bosses
- 0, max level is MaxLevelBoss no other rules
- 1, max level, taking precedent over MaxLevelBoss is ((MaxLevelBoss ÷ 12) × oldLevel)
- This will make it so that bosses will level max to the equivalent if the game was balanced for level 22
- further options to restrict max level for ALL non boss NPCs
- 0, max level is MaxLevelOther no other rules
- 1, max level, taking precedent over MaxLevelOther is ((MaxLevelOther ÷ 12) × oldLevel)
- This will make it so that ALL non boss NPCs will level max to the equivalent if the game was balanced for level 20
- This simulates both feat choices and higher spell levels by adding a damage bonus
- If I figure out how to get NPCs to upcast their spells reliably, then I might remove this
- If this is turned on, then Enemies get a 1d8 damage bonus for every fourth level they scale over
- Ie, if they should have gotten a feat at that level, they'll get a 1d8 damage bonus added on
- ie, 6-> 7 gets no bonus, but 7->8 gets 1d8, 7->12 would get 2d8. 8 -> 20 would get a 3d8 bonus
Compatability:
Should be compatible with everything. Just be careful when combining with other difficulty mods, because the effects will stack.
Installation:
Use your mod manager of choice.
Updating:
Update with your mod manager of choice. The script should automatically update your config for you, without changing your settings.
Recommended mods:
These aren't required, but this was made specifically to be used with these.
- Unlock Level Curve
- 5e Spells
- Enemies Enhanced or Enemies Enhanced (Honour)
- Stronger Bosses and Enemies
Credit:
This would not be possible without the script extender.
And I got the idea, and some examples of how to do what I'm doing from Mithras666's Configurable Enemies (Script Extender) mod.
Their mod is compatible, but combining them can very easily make things impossible; the effects will combine, Player Level Scaling will scale enemies up to the player level, and then Configurable Enemies will add on top of that.
That said: if you're careful with how you configure their mod, it can be very nice using it in conjunction with mine; particularly for adding new spells to enemies.
Aside:
I'm open to bug reports and requests. No guarantees that I'll do it, but I do appreciate bug reports and suggestions.