Jump to content

[Mod] Level Scaling Mod Released


Recommended Posts

This mod aims to increase the game difficulty by altering enemy's level progression, however it is more of a band-aid partial fix rather than a proper solution to current issues with PoE 2 difficulty. Also please bear in mind the mod is still work in progress and hasn't been thoroughly tested and balanced yet.

 

What does it do:

  1. Enemy's levels are increased globally. This has been done by increasing the level scaling values by 2-3 in progressiontable gamedatabundle file.  Note that actual level increase depends on the difference between the player's level and location level (see below).
  2. Enemy's levels scale up higher than in vanilla. Vanilla level scaling table has a hard cap of max 4 levels above the enemy base level. This mods changes the cap to 10 bonus levels. This has been done by tweaking the level scaling values in progressiontable and characters gamedatabundle files.

Download link (Nexus): https://www.nexusmods.com/pillarsofeternity2/mods/24

 

Few notes:

  1. I am not 100% sure but it appears that the way level scaling works in PoE2 is that a same creature would get different bonus levels when spawned at different locations. The only logical explanation I have is that the amount of bonus levels enemy gets above its base level depends on the difference between the current player's level and the current location level (where the creature is spawned) rather than on the difference between the player's level and the enemy's base level.
  2. This means that an enemy spawned at early game areas would have higher adjusted level than same enemy spawned in later game areas - provided player's level remains the same.
  3. This mod should work on any difficulty but it is intended to be balanced against Path of the Damned difficulty.
  4. You have to turn level scaling on (all, only up) in order to make this mod work. Edit: different scaling options should run well with the mod, however this has not been tested.
  5. Note that the mod might work only in locations you haven't visited yet (this needs further testing). It does not require starting a new game.
  6. Neither of the mods should break any achievements.
  7. The mod should work with game version 1.02.

How to install:

  1. Go to Pillars 2 folder (e.g. Pillars of Eternity II\PillarsOfEternityII_Data\)
  2. Create "override" folder in Pillars of Eternity II\PillarsOfEternityII_Data\
  3. Unzip the mod to the created /override folder.
  4. The path to the mod files should be: /PillarsOfEternity2_Data/override/LevelScalingMod/gamedata/
  5. Run the game.
  6. Make sure scaling is turned on.

Optional XP gain tweak:
I have also included a separate XP reduction mod for those who want slower levelling. It decreases the quest XP gain multiplier and combat XP gain multiplier in global gamedatabundle files to 70% of the vanilla values. You can tweak the values yourself if you wish, the default vanilla values are 1.35 for QuestXPMultiplier and 1.25 for CombatXPMultiplier.

 

Compatibility with other mods:
A. The Level Scaling Mod is not compatible with any mods that change 'CharacterStatsGameData' objects in 'characters.gamedatabundle' or 'CharacterLevelScalingTableGameData' objects in 'progressiontable.gamedatabundle'.

 

The following is a complete list of Level Scaling Mod's tweaks made to those files:

  1. characters.gamedatabundle: 'MaxLevelAdjustment'  property changed from 4 to 19;
  2. progressiontable.gamedatabundle: 'ExpectedCharacterLevelAdjustment' arrays expanded up to 'ExpectedDifferenceMin: 8', 'ExpectedDifferenceMax: 50';
  3. progressiontable.gamedatabundle: changed 'AdjustedLevelAmount' values (up to 10 - this is the mod's hard cap).

B. The XPTweak_0.7 Mod is not compatible with any mods that change 'Game.GameData.ExperienceTableGameData' objects in 'global.gamedatabundle'. 

 

The following is a complete list of XPTweak_0.7 Mod's tweaks made to that file:

  1. global.gamedatabundle: 'QuestXPMultiplier'  property changed from 1.35 to 0.945;
  2. global.gamedatabundle: 'CombatXPMultiplier'  property changed from 1.25 to 0.875.

 

I'd welcome any input.

Edited by Tanred
  • Like 5
Link to comment
Share on other sites

I installed the mod and tried a couple of encounters but it doesn't seem to be working for me. One encounter was a random one against oozes in Neketaka (happened while travelling on the city map). I didn't check in the combat log but the oozes had deflection in the 20's. The 2nd encounter was a bounty outside Neketaka (in the wilderness), Nomu the Marauder. In the 2nd encounter I believe the mobs were around level 4 (had +9 acc from level) while my party is level 10 (+27 acc from level).

  • Like 1
Link to comment
Share on other sites

I installed the mod and tried a couple of encounters but it doesn't seem to be working for me. One encounter was a random one against oozes in Neketaka (happened while travelling on the city map). I didn't check in the combat log but the oozes had deflection in the 20's. The 2nd encounter was a bounty outside Neketaka (in the wilderness), Nomu the Marauder. In the 2nd encounter I believe the mobs were around level 4 (had +9 acc from level) while my party is level 10 (+27 acc from level).

 

Thanks for the feedback!

 

I've just tested the encounter with Nomu the Marauder with my level 10 party and the barbarians are at level 11 (+30 bonus) and Nomu himself has level 12 (+33 bonus).

 

In vanilla (with the mod uninstalled and scaling turned on, all, only up), they are of level 8 (+21 bonus) and 9, respectively.

 

Nomu has base class level 5 (and I assume his barbarians are 1 level lower), so it appears that you don't have scaling turned or it is not working properly. Could you please test the 2nd encounter without the mod and check it again?

Edited by Tanred
Link to comment
Share on other sites

 

I installed the mod and tried a couple of encounters but it doesn't seem to be working for me. One encounter was a random one against oozes in Neketaka (happened while travelling on the city map). I didn't check in the combat log but the oozes had deflection in the 20's. The 2nd encounter was a bounty outside Neketaka (in the wilderness), Nomu the Marauder. In the 2nd encounter I believe the mobs were around level 4 (had +9 acc from level) while my party is level 10 (+27 acc from level).

 

Thanks! I've just tested the encounter with Nomu the Marauder with my level 10 party and the barbarians are at level 11 (+30 bonus) and Nomu himself has level 12 (+33 bonus).

 

In vanilla (with the mod uninstalled), they are of level 8 (+21 bonus) and 9, respectively. With scaling turned on.

 

Hmm I have scaling turned on (all, up) but I suspect it might not be working since I used a different mod (unity console) to change it from critical path, up. I'll try a new playthrough with the mod and report back with my findings.

  • Like 1
Link to comment
Share on other sites

Guest Jamila

I have a question about XP reduction tweak. In another thread, you described the method and gave example with reducing gain by 50%, which I followed. It struck me as appropriate value, but I am not far into the game. You found  it too harsh and recommend only -30% in the end?

 

Scaling seems to work. Enemies on island next to Maje were of mixed level up to 4 in vanilla, or up to 6 with the mod.

Edited by Jamila
Link to comment
Share on other sites

Hate to cross-post, but this mod needs to be repackaged. There's no reason to distribute the entire characters.gamedatabundle. Place the modified objects into a new .gamedatabundle file. Otherwise, this mod is incompatible with every mod that changes any of the objects in characters.gamedatabundle, as well as future patches. There's no way to manage load order, currently, so it's also needlessly difficult for other modders to check for incompatibilities.

Edited by fireundubh
Link to comment
Share on other sites

I have a question about XP reduction tweak. In another thread, you described the method and gave example with reducing gain by 50%, which I followed. It struck me as appropriate value, but I am not far into the game. You found  it too harsh and recommend only -30% in the end?

 

Scaling seems to work. Enemies on island next to Maje were of mixed level up to 4 in vanilla, or up to 6 with the mod.

 

I've found -30% to XP works better for later levels and -50% for early levels (I switched from -50% to -30% during single gameplay). But it is a gamestyle dependent tweak and I doubt we would be able to find a single value working for everyone. The advantage is you can change it anytime.

Link to comment
Share on other sites

Hate to cross-post, but this mod needs to be repackaged. There's no reason to distribute the entire characters.gamedatabundle. Place the modified objects into a new .gamedatabundle file. Otherwise, this mod is incompatible with every mod that changes any of the objects in characters.gamedatabundle, as well as future patches. There's no way to manage load order, currently, so it's also needlessly difficult for other modders to check for incompatibilities.

 

Yeah, I'm aware of this but sadly, this mod needs to change "MaxLevelAdjustment" value for each character, that is 1748 modified objects in total. It would be pointless to create a separate file with so many modified objects so I need to find a way how to extract just the "MaxLevelAdjustment" object. I was not successful yet.

 

I'll try to look into it more.

Link to comment
Share on other sites

 

Hate to cross-post, but this mod needs to be repackaged. There's no reason to distribute the entire characters.gamedatabundle. Place the modified objects into a new .gamedatabundle file. Otherwise, this mod is incompatible with every mod that changes any of the objects in characters.gamedatabundle, as well as future patches. There's no way to manage load order, currently, so it's also needlessly difficult for other modders to check for incompatibilities.

 

Yeah, I'm aware of this but sadly, this mod needs to change "MaxLevelAdjustment" value for each character, that is 1748 modified objects in total. It would be pointless to create a separate file with so many modified objects so I need to find a way how to extract just the "MaxLevelAdjustment" object. I was not successful yet.

 

MaxLevelAdjustment is a property of the CharacterStatsComponent. You can't extract just that object.

 

I'd just copy over the 1,748 modified CharacterStatsGameData objects to a new file.

 

There's a lot more data in characters.gamedatabundle than just CharacterStatsGameData, so you're overriding all these:

  • Game.GameData.AmbientAnimationGameData
  • Game.GameData.BackgroundGameData
  • Game.GameData.BaseStatsGameData
  • Game.GameData.BestiaryEntryGameData
  • Game.GameData.BloodGameData
  • Game.GameData.BoneMapperGameData
  • Game.GameData.CapeCharacterCollidersGameData
  • Game.GameData.CharacterClassGameData
  • Game.GameData.CharacterStatsGameData
  • Game.GameData.CharacterSubClassGameData
  • Game.GameData.CompanionGameData
  • Game.GameData.CompanionManagerGameData
  • Game.GameData.CreatureRigTypeGameData
  • Game.GameData.CreatureTypeGameData
  • Game.GameData.CultureGameData
  • Game.GameData.DebugPartySetupGameData
  • Game.GameData.DestructibleGameData
  • Game.GameData.EquipmentSetData
  • Game.GameData.GenderGameData
  • Game.GameData.MoverGameData
  • Game.GameData.NPCAppearanceOptionsGameData
  • Game.GameData.OVSGameData
  • Game.GameData.PaladinSubClassGameData
  • Game.GameData.PersonalityGameData
  • Game.GameData.PriestSubClassGameData
  • Game.GameData.RaceGameData
  • Game.GameData.SigilGameData
  • Game.GameData.StealthDetectionGameData
  • Game.GameData.SubraceGameData
  • Game.GameData.TopicGameData
  • Game.GameData.TopicWeightGameData
  • Game.GameData.VisualStateAnimationGameData
  • Game.GameData.VisualStateNameGameData
Edited by fireundubh
  • Like 1
Link to comment
Share on other sites

I started a new PotD playthrough with upscaling only 'all' enabled and your mod installed. I'm not sure if it's working correctly since I have been encountering enemies with lower level than my party already (party level is 6 currently). Last example is the Steel Garrote temple (southwest of Neketaka), Xaurips and those bloated corpse enemies were receiving less accuracy/deflection from level than my party was (checked attack resolution in combat log).

Link to comment
Share on other sites

Reposting my answer to this question on Nexus:

 

When in doubts whether the mod is working properly, the best way would be comparing the accuracy and defense values against vanilla. You would need to uninstall the mod but you can reinstall it again once you check the vanilla values without the need to start a new game. You should also load a save game from before you entered the location you want to test.

 

The amount of bonus levels gained from scaling should depend on the difference between the player's level and a set location level, not enemies level. That's how the game works - at least according to my testing (otherwise I wouldn't have an explanation why same enemies get different bonus levels in various locations when party's level remains the same) E.g., if the location level is 6 and your party level is 6, there should be nothing to scale regardless of the enemies base level.*

 

Anyway, an example how to scaling works in the game:

1) scaling turned off, vanilla: Your level 12 party enters level 6 location. You encounter xaurip priest and xaurip skirmisher. The first one should be at level 3, the other one at level 4 = their base levels.

2) scaling turned on, vanilla: Your level 12 party enters level 6 location. You encounter xaurip priest and xaurip skirmisher. The first one should be at level 7, the other one at level 8 = their base levels + 4 bonus levels from scaling when the difference between player's level and location level is 6 levels (that's vanilla level scaling setting).

3) scaling turned on, my mod: Your level 12 party enters level 6 location. You encounter xaurip priest and xaurip skirmisher. The first one should be at level 11, the other one at level 12 = their base levels + 8 bonus levels from scaling when the difference between player's level and location level is 6 levels (that's modded level scaling setting).

 

*However, this mod, unlike vanilla, should give some bonus levels (usually 2 or 3) to enemies even if there is no difference between player's level and the location level. For example:

1) scaling turned on, vanilla: Your level 6 party enters level 6 location. You encounter xaurip priest and xaurip skirmisher. The first one should be at level 3, the other one at level 4 = their base levels and 0 bonus levels from scaling.

2) scaling turned on, my mod: Your level 6 party enters level 6 location. You encounter xaurip priest and xaurip skirmisher. The first one should be at level 5, the other one at level 6 = their base levels and + 2 bonus levels.

Edited by Tanred
  • Like 1
Link to comment
Share on other sites

Thanks for the very detailed explanation! Now I understand why I still see some enemies lower level than I am. Anyway your mod has definitely made things a bit more challenging and enjoyable while we wait for the official PotD tuning. It's greatly appreciated.

  • Like 1
Link to comment
Share on other sites

Guest Jamila

Nexus apparently requires signing up with them for download. Would you consider moving the mod somewhere else, in case you make new version?

Link to comment
Share on other sites

Guest Jamila

Creepy terms of use.

Anyway, I noticed that some encounters are scaled too much. For example, thugs that stop party (level 6) while traveling between districts of Neketaka are levels 7-9 in vanilla, and ~12 in modded game. If zone was level 1, then in vanilla they would get +4 to what would then be 3-5, and with the mod +5, in which case they would be 8-10. If they got additional 2-3 levels as a bonus, numbers would be about right. On the other hand, it shows certain weakness in scaling system in cases like this, when zone level and monster's' level differ.

Edited by Jamila
Link to comment
Share on other sites

I agree, enemies with a base level relatively high to what is the location level certainly shows weaknesses of the level scaling system which this mod exacerbates even further. The main culprit are, IMO, some of the locations which have their level set too low for what is their enemy base level and it really throws the balance off sometimes. 

 

It can go weird like this:

 

Spawning a base level 6 enemy in a level 1 location against a level 6 party would result in a 10 level enemy on vanilla and 13 level enemy with my mod. 

Spawning a base level 6 enemy in a level 4 location against a level 6 party would result in a 7 level enemy on vanilla and 10 level enemy with my mod.

Spawning a base level 6 enemy in a level 6 location against a level 6 party would result in a 6 level enemy on vanilla and 8 level enemy with my mod.

 

Level scaling overall and certainly this mod work best when the enemies' base levels are roughly the same as what is the location level where they are spawned. The easiest fix would be setting the location to a higher level in certain instances (mainly Neketaka I guess), but that would up to Obsidian. 

 

Anyway, I decided to wait for Obsidian's balance patch first before tweaking the mod any further.

Edited by Tanred
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...