I've uploaded another main file for the next-gen version of the game. Download and install the appropriate one for whichever version of the game you are playing.
If you are using the next-gen version of the game you need to open the "dx12filelist.txt" file (or "dx11filelist.txt" if playing in DirectX 11) in the "Witcher 3 Wild Hunt\bin\config\r4game\user_config_matrix\pc" folder and add "EnemyScalingOverhaul.xml;" to the end of the list. Do not forget the semicolon at the end. You can also use the mod Menu Filelist Updater to do this for you.
If you don't do this step, you will not have a menu for this mod.
Q: Is this mod compatible with New Game Plus? A: Yes, New Game Plus is supported. However, I don't personally play NG+ and only do basic testing for it, so it's more likely to have minor bugs and balance problems.
Q: Can I install this mod with Nexus Mod Manager or Vortex? A: Yes. However, an additional manual step is required because those mod managers don't install mod menus. Refer to the installation instructions for details on how to do this.
Q: I've installed the mod but I don't have the mod's menu in my game. (not really a question) A: You didn't install the mod's menu file. Read the installation instructions again, especially if you installed using NMM/Vortex.
Q: Should I have the vanilla game's enemy scaling on or off while using this mod? A: It shouldn't really matter, but I would turn it off just to be safe.
Q: Why are the mod settings not saving after I change them? A: Most likely you have your "user.settings" file set as read-only. The file is located in your "Documents/The Witcher 3" folder.
Q: Is this mod compatible with [insert mod name here]? A: Most likely yes, this mod is very light-weight. Most of the code is self-contained and very little of the vanilla scripts are changed. Thus, it shouldn't conflict with other mods very much, and most of the conflicts should be automatically resolved by Script Merger. So just give it a shot. It shouldn't take much time to just quickly download and install the mod and use Script Merger to see if everything works.
Q: I have a question about how one of the options works. (also not a question) A: Please read the description page. There is a list of the mod options available with descriptions on what they do. It may answer your question. If not, try asking here and I may respond when I get time.
Does this mod allow this scaling pattern = Upscale Enemy level by a portion of player lvl or within a range of player lvl - whichever is lower
UPDATE: https://www.nexusmods.com/witcher3/mods/4127?tab=description allows that but is incompatible with Next-Gen.
I've had a lot of luck with modifying the Simple Scaling in this mod with Custom Scaling Options by modifying the ESOScaling.ws file in Mods directory using Notepad++ and then running Script Merger. This is useful for scaling with Custom Levelling Mods like https://www.nexusmods.com/witcher3/mods/8176?tab=posts&BH=0
This can be done by adding new variables and changing the logic in the code snippet below. Do not search for things like <...> - these are for example showing and not part of original code.
var enemyLevel, playerLevel : int; var ciriEntity : W3ReplacerCiri; <NEW VARIABLES HERE ONLY> <...> <NEW VARIABLE LOGIC JUST BEFORE THIS IF> if ( Scale() && shouldScale( NPC ) ) { // Simple Scaling if ( ScaleType() == 0 ) { <NEW SCALING LOGIC HERE> }
Search the code snippet using Notepad++ and then edit. Keep Backups in case you mess up. Follow the instructions.
Example 1: I want to define a new variable which is a certain part or whole of the player's current level - say 75% or 3/4 - which is configurable. Then I want to add this to enemy's current level so that ALL ENEMIES GET A FLAT LEVEL INCREASE. Find below the code snippet. In the file, add the new variable statement, then the variable logic lines before if and then change the logic line. FULL Changed Code is below.
var enemyLevel, playerLevel : int; var ciriEntity : W3ReplacerCiri; var RandSimpleScaling, PlayerLevelRatio : int; //Added NEW VARIABLE
// Don't scale rats and other animals like cows and rabbits if ( NPC.GetSfxTag() == 'sfx_rat' || NPC.HasAbility( 'animal_default_animal' ) ) return 1;
// Don't scale djinn because he doesn't scale well, don't scale fistfights because of scaling inconsistencies, and don't scale while playing as Ciri if ( ciriEntity || NPC.HasAbility('mon_djinn') || NPC.HasAbility('fistfight_minigame') ) return NPC.currentLevel;
ReadLevels();
RandSimpleScaling = RandRange( SimpleMax + 1, SimpleMin ); // Added NEW VARIABLE LOGIC LINES PlayerLevelRatio = playerLevel * 3/4 ; //Added NEW VARIABLE LOGIC LINES - Configurable Level Multiplier here
if ( Scale() && shouldScale( NPC ) ) { // Simple Scaling if ( ScaleType() == 0 ) { enemyLevel = NPC.currentLevel + PlayerLevelRatio; // NEW SCALING LOGIC HERE }
Example 2: Now I want enemies to scale smoothly between the previous defined FLAT scaling and the mod's simple scaling which rubber-bands all enemies around your level.
VARIABLE LINES AND LOGIC SAME AS ABOVE SCALING LOGIC LINE BELOW enemyLevel = RandRange( Max( playerLevel + RandSimpleScaling , NPC.currentLevel + PlayerLevelRatio ) + 1 , Min( playerLevel + RandSimpleScaling , NPC.currentLevel + PlayerLevelRatio ) + 1 );
Example 3: Remove RandRange from previous and keep EITHER the Max or Min part and you have a new logic - one I originally asked for - enemies either get a flat increase or the mod's rubber-banding - whichever is lower/higher.
edit: nevermind.. i think it's more due to my not understanding how the script merger actually works.. i chose to have it use the set bonus mod's effect but.. it's not working
Great mod, there was literally no issue installing it, merging scripts and playing around with it in the game. I am replaying Witcher 3 and of course I had to get back to this mod page to download it again and say how awesome it is. Keep up the good work!
I'm not sure these 2 mods will work together since they are trying to do some of the same things. I believe what you got in the screenshot should work for resolving any compilation errors but I'm not sure if both mods will work correctly.
Hey, although I guess you've solved it, I still want to say that I looked at your picture and only selected C in this interface so I can enter the game
"These settings ignore the game's difficulty setting. Enemies on Death March difficulty will still have more health and do more damage than lower difficulties. " What is this mean exactly? health and enemy modifiers made change to BASE values? then game difficulty increase that to with difficulty settings values? like if i play broken bones, i have enemy damage = 1 in the mod. does that mean first , with the mod base enemy damage = %100+%100 = %200, then with broken bones bonus, +%130 , total = %330? is that correct?
473 comments
If you are using the next-gen version of the game you need to open the "dx12filelist.txt" file (or "dx11filelist.txt" if playing in DirectX 11) in the "Witcher 3 Wild Hunt\bin\config\r4game\user_config_matrix\pc" folder and add "EnemyScalingOverhaul.xml;" to the end of the list. Do not forget the semicolon at the end. You can also use the mod Menu Filelist Updater to do this for you.
If you don't do this step, you will not have a menu for this mod.
Q: Is this mod compatible with New Game Plus?
A: Yes, New Game Plus is supported. However, I don't personally play NG+ and only do basic testing for it, so it's more likely to have minor bugs and balance problems.
Q: Can I install this mod with Nexus Mod Manager or Vortex?
A: Yes. However, an additional manual step is required because those mod managers don't install mod menus. Refer to the installation instructions for details on how to do this.
Q: I've installed the mod but I don't have the mod's menu in my game. (not really a question)
A: You didn't install the mod's menu file. Read the installation instructions again, especially if you installed using NMM/Vortex.
Q: Should I have the vanilla game's enemy scaling on or off while using this mod?
A: It shouldn't really matter, but I would turn it off just to be safe.
Q: Why are the mod settings not saving after I change them?
A: Most likely you have your "user.settings" file set as read-only. The file is located in your "Documents/The Witcher 3" folder.
Q: Is this mod compatible with [insert mod name here]?
A: Most likely yes, this mod is very light-weight. Most of the code is self-contained and very little of the vanilla scripts are changed. Thus, it shouldn't conflict with other mods very much, and most of the conflicts should be automatically resolved by Script Merger. So just give it a shot. It shouldn't take much time to just quickly download and install the mod and use Script Merger to see if everything works.
Q: I have a question about how one of the options works. (also not a question)
A: Please read the description page. There is a list of the mod options available with descriptions on what they do. It may answer your question. If not, try asking here and I may respond when I get time.
Q: Why do I get weird glitches after installing this mod? Like loading screens in conversations, infinite loading screens, blurry textures, etc.
A: This is not a problem with the mod. You've probably hit the mod limit. Use one of the mod limit fix mods:
https://www.nexusmods.com/witcher3/mods/3643
https://www.nexusmods.com/witcher3/mods/3711
im not one shotting things with sign build anymore
Upscale Enemy level by a portion of player lvl or within a range of player lvl - whichever is lower
UPDATE: https://www.nexusmods.com/witcher3/mods/4127?tab=description allows that but is incompatible with Next-Gen.
I've had a lot of luck with modifying the Simple Scaling in this mod with Custom Scaling Options by modifying the ESOScaling.ws file in Mods directory using Notepad++ and then running Script Merger.
This is useful for scaling with Custom Levelling Mods like https://www.nexusmods.com/witcher3/mods/8176?tab=posts&BH=0
This can be done by adding new variables and changing the logic in the code snippet below. Do not search for things like <...> - these are for example showing and not part of original code.
var enemyLevel, playerLevel : int;
var ciriEntity : W3ReplacerCiri;
<NEW VARIABLES HERE ONLY>
<...>
<NEW VARIABLE LOGIC JUST BEFORE THIS IF>
if ( Scale() && shouldScale( NPC ) )
{
// Simple Scaling
if ( ScaleType() == 0 )
{
<NEW SCALING LOGIC HERE>
}
Search the code snippet using Notepad++ and then edit. Keep Backups in case you mess up. Follow the instructions.
Example 1:
I want to define a new variable which is a certain part or whole of the player's current level - say 75% or 3/4 - which is configurable.
Then I want to add this to enemy's current level so that ALL ENEMIES GET A FLAT LEVEL INCREASE.
Find below the code snippet. In the file, add the new variable statement, then the variable logic lines before if and then change the logic line.
FULL Changed Code is below.
var enemyLevel, playerLevel : int;
var ciriEntity : W3ReplacerCiri;
var RandSimpleScaling, PlayerLevelRatio : int; //Added NEW VARIABLE
playerLevel = GetWitcherPlayer().GetLevel();
ciriEntity = (W3ReplacerCiri)thePlayer;
// Don't scale rats and other animals like cows and rabbits
if ( NPC.GetSfxTag() == 'sfx_rat' || NPC.HasAbility( 'animal_default_animal' ) )
return 1;
// Don't scale djinn because he doesn't scale well, don't scale fistfights because of scaling inconsistencies, and don't scale while playing as Ciri
if ( ciriEntity || NPC.HasAbility('mon_djinn') || NPC.HasAbility('fistfight_minigame') )
return NPC.currentLevel;
ReadLevels();
RandSimpleScaling = RandRange( SimpleMax + 1, SimpleMin ); // Added NEW VARIABLE LOGIC LINES
PlayerLevelRatio = playerLevel * 3/4 ; //Added NEW VARIABLE LOGIC LINES - Configurable Level Multiplier here
if ( Scale() && shouldScale( NPC ) )
{
// Simple Scaling
if ( ScaleType() == 0 )
{
enemyLevel = NPC.currentLevel + PlayerLevelRatio; // NEW SCALING LOGIC HERE
}
Example 2:
Now I want enemies to scale smoothly between the previous defined FLAT scaling and the mod's simple scaling which rubber-bands all enemies around your level.
VARIABLE LINES AND LOGIC SAME AS ABOVE
SCALING LOGIC LINE BELOW
enemyLevel = RandRange( Max( playerLevel + RandSimpleScaling , NPC.currentLevel + PlayerLevelRatio ) + 1 , Min( playerLevel + RandSimpleScaling , NPC.currentLevel + PlayerLevelRatio ) + 1 );
Example 3:
Remove RandRange from previous and keep EITHER the Max or Min part and you have a new logic - one I originally asked for - enemies either get a flat increase or the mod's rubber-banding - whichever is lower/higher.
I got this issue in which I cannot solve 2 conflicts with the "Brothers in Arms - TW3 Bug Fix" mod and merge them.
P/s: To be more specific, the scripts from both mods can be merged easily, but not the 02 bundles.
This scenario - agroup of wolves and among them a worg
1 - Will the wolf scale with beasts or grouped animals ?
2 - Is the worg considered a group monster or just a beast ?
difficulty will still have more health and do more damage than lower
difficulties. "
What is this mean exactly? health and enemy modifiers made change to BASE values? then game difficulty increase that to with difficulty settings values?
like if i play broken bones, i have enemy damage = 1 in the mod.
does that mean
first , with the mod base enemy damage = %100+%100 = %200, then with broken bones bonus, +%130 , total = %330? is that correct?