Jump to content

Warning : huge bug affecting level scaling in the creation kit


Question

Recommended Posts

Posted

When you place an actor in a cell, you can set the level modifier under the "leveled actor" tab for each actor. This is SUPPOSED to use the "fleveledactormult" game settings, ranging from easy at 0.33 to very hard at 1.25. So at easy level, it is supposed to look at the player's level and spawn an actor 1/3rd of the player's level.

 

This level modifier does not work properly. It basically breaks leveled lists. I tested this by placing the "LvlDraugrAmbushMelee1HMale" actor (which leads to a leveled list) 4 times in a test cell (i used ctest after deleting everything in it). My level 30 character then teleported to the cell using the "coc ctest" console command.

 

(this is after i unticked "calculate from all levels <= PC's level" in the leveled list, to make it always spawn the actor closest to the player's level, and set the fleveledactormulteasy to 1.0 to use the player's full level)

 

What is supposed to happen : The game sees that my level is 30, and so spawns 4x level 30 draugrs from the leveled list.

 

What happened : The game spawned draugrs from level 1 to level 30, completely ignoring my game settings and the leveled list settings.

 

If i use the console to spawn the draugrs, it always spawns the level 30 version. If i set the draugrs in the cell to have a level modiefer of "none" instead of "easy", it always spawns the level 30 version.

 

Changing the "fleveledactormulteasy" to a very high number like 100 made no difference whatsoever. It was still spawning low level draugrs for a level 30 character. Setting "flevelscalingmult" to 10 (so it uses 10x your character's level) also made no difference whatsoever.

 

Essentially the game completely ignores the "calculate from all levels <= PC's level" setting in a leveled list if you have a "level modifier" set for an actor. So it will spawn anything ranging from level 1 to the maximum level possible.

 

This essentially breaks level scaling for every actor with a level modifier, which is the majority of actors in the game. The game will not care what your game settings or leveled list settings are and will just spawn anything ranging from level 1 to whatever your level is.

 

I am not sure if there is any way to work around this short of changing every single actor in the game to have a level modifier of none...which will not only take ages to modify every actor individually, but also cause compatability issues and will potentially prevent bosses from spawning with a higher level than the player.

Posted

how are you spawning them? if papyrus did you use the correct function which includes actor level? what about the encounter level of the location/cell/encounterzone? i mean, the vanilla game and vanilla difficulties work fine so these features obviously are not that broke.

Posted

Its broken in the vanilla game too, you just dont notice it because most of the leveled lists in the vanilla game have "calculate from all levels <= PC's level" ticked, which allows the list to spawn anything from level 1 to your PC's level.

 

The broken part is that if you have unticked "calculate from all levels <= PC's level" for that leveled list...this setting is completely ignored as long as an actor has a level modifier set after being plaed in a cell. So it will always spawn anything ranging from the lowest level possible to your PC's level.

 

Looking at the creation kit wiki, the level modifier is NOT supposed to ignore that setting. Its only used to make certain fights easier or harder and is supposed to be controlled by the "fLeveledActorMult" game settings. Testing with "fLeveldActorMult" set to 10 and 100 showed no change, the game was still spawning low level versions.

 

The test mobs were spawned by being placed in a cell through the creation kit. The cell used was "ctest" which does not have an encounter zone or any other modifiers.

 

I noticed this problem in fallout 3 too, where low level enemies would keep spawning and basically ignored my leveled list and game settings. But at that point i couldnt figure out why it was doing it.

 

Edit : If you are interested, i attached a test.esp here. This makes changes to the game settings, leveled lists sand the test cell "ctest". Try this :

 

1. Make a save before you test anything.

 

2. Use the console command "player.setlevel 30". This sets your level to 30.

 

3. use the console command "coc ctest" to teleport to the test cell. There are 4 draugrs there, if the leveled list is working properly, all 4 should be level 30. The 4 draugrs will probably have a range of levels though.

 

4. If necessary, reload and repeat to get the 4 draugrs to spawn.

 

Another indication that it is broken is that if you use the console to spawn the same draugrs using the base ID, it will ALWAYS spawn the level 30 version, because it is the "level modifier" that is breaking the leveled list. If you use the console to spawn it, there is no "level modifier" so it works as it should. If you set the "level modifier" for the actor to none, it will also spawn the level 30 version all the time.

test.esp

Posted

What do you mean by "dont spawn correctly"? The draugr are spawning, they just arent spawning with the correct levels. I see the same behaviour when i enter dungeons through load doors.

Posted

What do you mean by "dont spawn correctly"? The draugr are spawning, they just arent spawning with the correct levels.

 

You just answered your own question.

 

COC into a cell and linked activators will not load correctly; some traps will be in the same position they are when viewed in the CK, torches linked to sconces will be floating at a 90 degree angle in front of the sconce instead of resting inside it, leveled enemies won't spawn like they should (the game will assign them a random level based on the player and ignore the values set in the Leveled Actor tab), ambush draugr will be standing next to their linked furniture, not inside it or on it.  ETC.

 

As for spawns not leveling when you enter through a load door; that's never happened to me and yes I would notice low level draugr spawning where they shouldn't.  I've looked in the CK to see why I would be getting 1st level draugr spawning when I'm 52nd level because that has happened to me.  Those low level spawns only happen if the leveled encounter is tagged as Easy in the Leveled Actor tab.  I never get Easy spawns when the values are set above that.  If I get a spawn for LvlDraugrMelee1HFemale set at Easy I will get a draugr from SubCharDraugr01Melee1HF.  If the same spawn is set to Very Hard I get a draugr from LCharDraugr05EbonyMelee1HFSublist.  I don't get 1st level draugr spawning when the Leveled Actor value is set to Very Hard.  That's never happened even with an added Leveled Actor value AND calculate from all levels <= PC's level checked in the Leveled Character object.  IF that is happening to you then it might be something going on with your game, IF you're actually using a load door to enter the cell.

Posted

 

 

Those low level spawns only happen if the leveled encounter is tagged as Easy in the Leveled Actor tab.

 

Yes, what im trying to say is that the "Easy" value is supposed to be controlled by the game setting i mentioned before. Setting it to 10 or 100 makes no difference. There's also the issue that the leveled list changes i make are supposed to make the list spawn only the monsters that are closest to my level (in this case, level 30).

 

To re-iterate, with the changes i made to the leveled lists/game settings, it shouldnt matter whether the level modifier is set to easy, medium or hard, because they all use the same value (1.0). But if you test with the .esp i loaded, you can see that it is still spawning low level enemies as long as the level modifier is set to easy. That should not be happening.

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...