This mod will scale up NPCs and enemies to your current level (it does NOT scale down).
Enemy names will be recolored depending on difficulty:
Easy - Green
Normal - Yellow
Hardcore - Orange (+2 to all attributes)
Very Difficult - Red (+4 to all attributes)
This event is triggered by the perception event, so, if an enemy does not perceive you, it might not scale up.
(perception in terms of mechanics should happen before the stealth check, so even stealthed you can still be perceived).
Warning: this may not be always balanced.
INSTALLATION: extract the contents of the zip file in your My Documents/Neverwinter Nights 2/Override/ folder.
Question, the rebuild override adds a function to the NWN2 menu. Would it be much work to add difficulty control for this new mod? Ideally something as simple as a set of radio buttons for each of the four levels of scale up matching your color code? That might solve the problem of getting a badly unbalanced encounter in an otherwise good module.
Played with this about 30 minutes Wednesday night. Seems to work exactly as advertised.
I will add options inside the script for the next version
so far I had in mind:
A maximum level for the npc to scale to, with options for whole game/ module/area or single creature, the lowest cap will apply.
A level adjustment to decide where the scaling stop. Right now everything scales exactly to PC’s level, but with this option, someone might decide to scale to PC level -2 or PC + level +2. Like above, this will be layered with control on whole game/ module /area or single creature, with the highest adjustment applying, with the exception of 0 (defualt value) being in lower priority than negative numbers.
the standard +2 and +4 to attributes on harder difficulties will be removed by default, but options will be provided to add them back on any difficulty (from 0 to +12).
P.S. A mini cluster of Coronavirus just exploded in Italy (9 confirmed infected today had potential contacts with nearly 200 individuals the last week), my brother lives and works very near that place, this might have to wait depending on how things unfold.
The system you describe sounds similar to the one I use in my own module, The Scroll.
After trying several approaches, I ended up using an On Perception from both creatures and PCs to run through various function that do things like:-
Check a bestiary entry required.
Check any scaling that may be rquired.
Check monster info. (Naming convention with coloured emphasis. E.g. Puny, Wary, Normal, etc)
Start ant TB Combat (if used).
When it comes to scaling, I also used a MAXIMUM possible with respect to some creature types and then also employed a + 1-3 levels (or scale to party level) approach subject to creature type. In fact, there is room for more scaling subject to what the creature is.
The system is TRUE level scaling as well. It is also balanced on things like:-
Party size.
Party level, especially low level considerations.
Game difficulty settings.
Creature actual physical scale if level scaled. (Some types only.)
My warning would be to players: Make sure NOT to use additional scaling alterations like this when playing my module (and other mods), which already employs such a balancing system. Personally, I would recommend you advertise this to builders as something to possibly use, rather than to players who may really mess something on a module if they are not careful.
Added options inside the “level_scale” script to customize the behaviour of the mod. This includes the possibility of setting a max level to scale npcs up to, and adjustment compared to PC’s level and the attribute bonus values depending on game difficulty.
Removed the +2 and +4 to attributes on harder difficulties by default, however it is possible to add them back via options inside the script.
Code refactoring with some potential issue fix and performance increase.
Fixed a bug that caused enemies to scale up to one more level than intended. (for example if you were level 15, they would scale up to 16)
Fixed a bug that caused characters of level 41 or higher to suffer an alignment shift towards evil.
The scaling is now much less severe than before, making enemies at very low or very high levels much more tolerable.
The coloring of names and attribute effect options have been removed. They were causing potential issues I found no way of fixing and were beyond the intended scope of this mod anyway.
Made some changes to scaling algorithm, this should adress certain scenarios where caster enemies were not scaling up properly or non caster enemies were scaling up too much. Overall, it should now feel much more balanced.
Added the possibility of making creatures scale above your level. The LEVELSCALE_ADJU variable will now scale above if it has positive values, to scale below your current level use negative values. Zero values on local variables for adjusment are now ignored.
Added detailed feedback when creatures scale up and to what level they scale up to. This can be disabled on options of the levelscale script.
Added the option to disable scale up for non-enemies. By default this is turned off. Use at your own risk, npcs that turn into enemies after a dialog might not scale up at all if this option is turned on.
It won’t activate if the PC is stealthed before the enemy sees them at least once.
Hide in plain sight bears no relevance, if they saw you once, they will scale up, so stealthing during combat will not affect the script.
I might provide a fix for 1.4 version for this, I’m not sure if I should do it via Heartbeat, I was convinced that the perception event that returned the perceived object happened before the stealth check, but apparently I was wrong.
The problem with spawn scripts is that they work well only with creatures from encounters, the creatures already placed would probably cause a massive lag as they spawn in all at once when the area is loaded. Either that or the spawn script won’t run at all.
The original campaign has a lot of placed creatures and does not rely on encounters too much and I suspect that several mods made by the community do as well.
There would also be some problems to deal with in multiplayer/persistent world setting.
My idea right now is provide a UI that will apply an area effect on the player, then whatever is close to the player will be scanned for levelup. This is gonna take a while though.
hey, what file should edit to increase the lvl mobs are scaled? i have edited the ncss file to 4 but the monsters always scale at my lvl.
also, wouldnt the lvl scale make the pc party lvl faster?
Keep in mind that after you edit the ncss files you must also recompile them via the Toolset, otherwise the changes will not be applied.
Specifically, to change the lvl at which mobs are scaled you must modify the following line in “level_scale.nss” file (and then compile it, which will affect the .ncs file).
const int LEVELSCALE_ADJU = 0;
The instructions are also commented to the right of this value.
doing it this way will apply it to every monster out there, but there is also a way to target specific monster with different scaling, to do that you must set a local variable on those creatures “LEVELSCALE_ADJU” with a number different than zero.
And yes, they do make the pc party level faster, this is intended (monsters will scale up as well anyway).
If you want to earn less exp per kill you can modify the XP weight value in the Campaign Editor settings, normally the campaigns of the OC have that value to 10 if I recall correctly, setting that value to 5 should reduce the exp you earn by 50%, for example.