When mods alter leveled lists one expects them to be merge processed.
However, when only one record for leveled lists has been altered, the Bashed Patch should not be taking that record into the resulting ESP file. It doesn't need to be there as the winning record should already take care of that.
https://i.imgur.com/LODx5sd.jpg
File attached to reproduce with.
LeveledListWinningRecordError.zip
As of 307.201610020028 this issue is still present.
This is currently expected behavior. Merging does no checks for ITMs and ITPOs, so changing this to an enhancement request to add such checks instead.
In hindsight, this is not feasible. Our ITM/ITPO checks work in reverse: basically, we keep a record around if we have made any changes to it through the patchers. But the merger works differently: it takes arbitrary records from plugins and forwards them into the BP. Adding ITM/ITPO detection to this would mean replicating what xEdit does for conflict detection, which is way out of scope for WB.
replicating what xEdit does for conflict detection
what that would be just out of curiosity
We'd need defaults, information about conflicts 'priority' for each subrecord (critical, normal, benign), etc.
Most of the implementation sits in https://github.com/TES5Edit/TES5Edit/blob/dev-4.1.4/Core/wbImplementation.pas.
Basically, we'd have to write a headless xEdit :P
Dear lord that looks like cint
Low level stuff, much of it built for performance. Here's some hand-written assembly: https://github.com/TES5Edit/TES5Edit/blob/5f33eed0075aea37b31ebec21cb7eafc0007f789/Core/wbImplementation.pas#L1889-L1916