Filter for Leveled List Item

filterByLLs can be used to filter objects. (multiple separated by ,)

noFilterLL to use no filter
Example:
noFilterLL=true


filterByEditorIdContains allows you to filter by editorID(can also only contain a part of the editorID). The editorID filters are connected by AND. Multiple editorIDs need to be separated by ,

filterByEditorIdContainsOr editorIDs are connected with or. Multiple editorIDs need to be separated by ,

filterByEditorIdContainsExcluded allows you to exclude editorIDs. Multiple editorIDs need to be separated by ,


Filter for Leveled List NPC

filterByLLNPCs can be used to filter objects. (multiple separated by ,)

noFilterLLNPC to use no filter
Example:
noFilterLLNPC=true


Operations
(Shared by Item and Character)
addToLLs  allows you to add objects/items to LLs. Multiple have to be separated by ,  (object, level, count)
Example:
filterByLLsmyTestESP.esp|00001733:addToLLs=Skyrim.esm|4822~1~1
Adds the item to the filtered leveled list for level 1 and count 1 

addOnceToLLs allows you to add objects/items to LLs, only when the item is not already present. Multiple have to be separated by ,  (object, level, count)
Example:
filterByLLsmyTestESP.esp|00001733:addOnceToLLs=Skyrim.esm|4822~1~1
Adds the item to the filtered leveled list for level 1 and count 1 

objectMultCount allows you to multiply the count of the objects/items. Multiple have to be separated by , 
Example:
filterByLLsmyTestESP.esp|00001733:objectMultCount=Skyrim.esm|4822~1
Searches for the item and applies the multiplier to the count.  

removeFromLLs  allows you to remove objects/items from LLs. Multiple have to be separated by ,  (object, <optional>level, <optional>count)
You also have the option to do advanced cleaning by passing operators like <, >, <=, >=

Example:
filterByLLs= myTestESP.esp|00001733:removeFromLLs=Skyrim.esm|39BE4~none~>3
Removes all Potion of Extreme Healing from the filtered LL, where count is greater than 3.

filterByLLs= myTestESP.esp|00001734:removeFromLLs=Skyrim.esm|39BE4~<=3~none
Removes all Potion of Extreme Healingfrom the filtered LL, where level is smaller equal 3.

filterByLLs= myTestESP.esp|00001734:removeFromLLs=Skyrim.esm|39BE4
Removes all Potion of Extreme Healing  from the filtered LL.


removeObjectsByKeyword allows you to remove objects/items from LLs by Keyword
Example:
;WeapTypeBow [KYWD:0001E715]
filterByLLs= myTestESP.esp|00001733:removeObjectsByKeyword=Skyrim.esm|1E715
Removes all bows from the specified LL


formsToReplace  allows you to replace forms in place. Only FormID is supported
Example:
filterByLLs=Skyrim.esm|246EE7:formsToReplace=Skyrim.esm|59A71~Skyrim.esm|59A72 


chanceNone  allows you to set the chance of none in the LL.
Example:
filterByLLs=myTestESP.esp|00001734:chanceNone=15


clear  allows you to clear a LL of all items/object entries.
Example:
filterByLLs=myTestESP.esp|00001734:clear=yes


chanceGlobal  allows you to clear a LL of all items/object entries.
Example:
filterByLLs=myTestESP.esp|00001734:chanceGlobal=Skyrim.esm|1E715


(Only one flag at a time can be set)
calcForLevel allows you to set the flag: Calculate from all levels <= players level 
calcEachItem  allows you to set the flag: Calculate for each item in count
calcForLevelAndEachItem  allows you to set the flag: Calculate from all levels <= players level and for each item in count 
calcUseAll  allows you to set the flag: Use All
clearFlags removes all set flags.


Examples:
filterByLLs= myTestESP.esp|00001734:calcForLevel=true
filterByLLs= myTestESP.esp|00001734:calcEachItem=true
filterByLLs= myTestESP.esp|00001734:calcForLevelAndEachItem=true
filterByLLs= myTestESP.esp|00001734:calcUseAll=true
filterByLLs= myTestESP.esp|00001734:clearFlags=true

Article information

Added on

Edited on

Written by

Zzyxzz

21 comments

  1. PelagiusWing
    PelagiusWing
    • premium
    • 3 kudos
    An undocumented catch with this patcher is that there is a hardcoded limit on leveled list entries - if the list has more than 120 entries, it is skipped and logged to the logfile ("leveled lists [...] skipped. Too huge progress. This Leveled List also may provide performance issues ingame."). This tripped me up until I looked at the source code and realized what was going on.

    This limit gave me issues with the LItemBooksBlutter leveled list which has more entries than that (124) in Skyrim.esm, meaning  addToLLs here will never add items to that list. In this case I used Leveled List Object Swapper instead.

    In the code
  2. kraag
    kraag
    • premium
    • 87 kudos
    Can this add NPC_ to LVLN? I'm trying to add things like so:

    Spoiler:  
    Show

    ;Kithkins SkyPatcher LL Injection

    ;LCharBanditMissile [LVLN:0x1E770]
    ;ENCKithkinFarmer "Kithkin Rogue Archer" [NPC_:0xAA03]
    ;ENCKithkinFarmer3F "Kithkin Rogue Archer" [NPC_:0x19D0D]
    filterByLLs=Skyrim.esm|1E770:addToLLs=Kithkins.esp|AA03~1~1, Kithkins.esp|19D0D~1~1, Kithkins.esp|AA03~5~1, Kithkins.esp|19D0D~5~1, Kithkins.esp|AA03~9~1, Kithkins.esp|19D0D~9~1, Kithkins.esp|AA03~14~1, Kithkins.esp|19D0D~14~1, Kithkins.esp|AA03~19~1, Kithkins.esp|19D0D~19~1, Kithkins.esp|AA03~25~1, Kithkins.esp|19D0D~25~1

    ;LCharBanditMelee1H [LVLN:0x39CFC]
    ;ENCKithkinFarmer2 "Kithkin Rogue" [NPC_:0xFB05]
    ;ENCKithkinFarmer2F "Kithkin Rogue" [NPC_:0x19D0C]
    ;ENCKithkinBandit1 "Kithkin Bandit" [NPC_:0x19D12]
    ;ENCKithkinBandit2 "Kithkin Bandit" [NPC_:0x19D13]
    filterByLLs=Skyrim.esm|39CFC:addToLLs=Kithkins.esp|FB05~1~1, Kithkins.esp|19D0C~1~1, Kithkins.esp|19D12~1~1, Kithkins.esp|19D13~1~1, Kithkins.esp|FB05~5~1, Kithkins.esp|19D0C~5~1, Kithkins.esp|19D12~5~1, Kithkins.esp|19D13~5~1, Kithkins.esp|FB05~9~1, Kithkins.esp|19D0C~9~1, Kithkins.esp|19D12~9~1, Kithkins.esp|19D13~9~1, Kithkins.esp|FB05~14~1, Kithkins.esp|19D0C~14~1, Kithkins.esp|19D12~14~1, Kithkins.esp|19D13~14~1, Kithkins.esp|FB05~19~1, Kithkins.esp|19D0C~19~1, Kithkins.esp|19D12~19~1, Kithkins.esp|19D13~19~1, Kithkins.esp|FB05~25~1, Kithkins.esp|19D0C~25~1, Kithkins.esp|19D12~25~1, Kithkins.esp|19D13~25~1

    ;LCharBanditMelee1HTank [LVLN:0x3DEC9]
    ;ENCKithkinFarmer3 "Kithkin Rogue" [NPC_:0xFB0A]
    ;ENCKithkinBandit1 "Kithkin Bandit" [NPC_:0x19D12]
    ;ENCKithkinBandit2 "Kithkin Bandit" [NPC_:0x19D13]
    filterByLLs=Skyrim.esm|3DEC9:addToLLs=Kithkins.esp|FB0A~1~1, Kithkins.esp|19D12~1~1, Kithkins.esp|19D13~1~1, Kithkins.esp|FB0A~1~1, Kithkins.esp|19D12~1~1, Kithkins.esp|19D13~1~1, Kithkins.esp|FB0A~5~1, Kithkins.esp|19D12~5~1, Kithkins.esp|19D13~5~1, Kithkins.esp|FB0A~9~1, Kithkins.esp|19D12~9~1, Kithkins.esp|19D13~9~1, Kithkins.esp|FB0A~14~1, Kithkins.esp|19D12~14~1, Kithkins.esp|19D13~14~1, Kithkins.esp|FB0A~19~1, Kithkins.esp|19D12~19~1, Kithkins.esp|19D13~19~1, Kithkins.esp|FB0A~25~1, Kithkins.esp|19D12~25~1, Kithkins.esp|19D13~25~1

    ;LCharBanditMeleeAny [LVLN:0x3DECD]
    ;ENCKithkinFarmer2F "Kithkin Rogue" [NPC_:0x19D0C]
    ;ENCKithkinBandit1 "Kithkin Bandit" [NPC_:0x19D12]
    filterByLLs=Skyrim.esm|3DECD:addToLLs=Kithkins.esp|19D0C~1~1, Kithkins.esp|19D12~1~1

    ;LCharHunter [LVLN:0x73FC2]
    ;EncKithkinHunter "Kithkin Hunter" [NPC_:0x33214]
    ;EncKithkinHunterF "Kithkin Hunter" [NPC_:0x33215]
    ;EncKithkinHunter2 "Kithkin Hunter" [NPC_:0x33216]
    ;EncKithkinHunter2F "Kithkin Hunter" [NPC_:0x33217]
    filterByLLs=Skyrim.esm|73FC2:addToLLs=Kithkins.esp|33214~1~1, Kithkins.esp|33215~1~1, Kithkins.esp|33216~1~1, Kithkins.esp|33217~1~1



    The Skypatcher log says it processed OK but in game, spawning from the lists spawns only regular bandits, no kithkins.
    Edit: Tried on both existing game save and a new game. Same result.

    Spoiler:  
    Show

    [08:24:38:662][info] ************************************************************
    [08:24:38:662][info] Processing config file .\Data\SKSE\Plugins\SkyPatcher\leveledList\\Kithkins\Kithkins.esp.ini...
    [08:24:38:662][info] ************************************************************
    [08:24:38:664][info] >>>>>>>>>>>>>>>>>>>>>>>>>>> Leveled List Patcher finished in 0.016639 seconds
    [08:24:38:665][info] ************************************************************

  3. davidgilbertking
    davidgilbertking
    • premium
    • 35 kudos
    Spoiler:  
    Show
    I'm trying something, and it doesn't seem to work.

    1) I added a keyword to certain items with SkyPatcher, and it works. Now I want to remove these items that I marked with that keyword from leveled NPCs (Vampires).

    I tried removing them in the npc module, filtering by faction and by race. Didn't work.
    I tried removing them in the leveledList module, filterByEditorIdContains=LootVampire. Didn't work either.
    I also tried filterByLLs on the three LootVampireJewelry records. It doesn't work, the NPCs I spam on me still sometimes have the items I don't want them to have.

    The thing is, these leveled lists are one inside of another. It's like a tree. Every Vampire has LootVampireRandom in Items:
    LootVampireRandom -> LootVampireJewelry15 -> LItemJewelryAll -> LItemJewelryNecklace -> JewelryNecklaceSilverGems_CCO

    So the last one is actually the item with the keyword. How do I remove it?

    If I remove them from LItemJewelryNecklace - then it will be removed for everyone, not just the Vampires.
    2) Does SkyPatcher go all the levels deep to remove items, or it only looks at the one level below?

    3) Is there an operation to entirely duplicate an entire leveled list contents into another leveled list?

    4) How does formsToReplace work? It replaces inside the filtered leveled list the form to the left of ~ with the form to the right of the ~, right? Even if there are multiple forms of the same kind inside, right?

    I am sorry for the quantity of my questions, but better safe than sorry, and what better place and person to ask than here and you.

    EDIT: if it matters, I spawn these NPCs on me with placeatme console command and then loot them. Could it be because of that, and SkyPatcher will work differently and remove the items if I meet the Vampires in "natural" conditions?

    Hi! I had a few questions, but I think I figured it out. Please, correct my if any of my statements is wrong:

    1) When editing leveled lists, SkyPatcher doesn't go all the levels deep to remove items, but only looks at the exact contents of the filtered leveled list(s).
    2) There is no operation to duplicate an entire leveled list contents into another leveled list.
    3) formsToReplace works this way: inside the filtered leveled list, it replaces the form to the left of ~ with the form to the right of the ~. If there are multiple forms with the same formID inside, it will replace them all with the form to the right of the ~.
  4. davidgilbertking
    davidgilbertking
    • premium
    • 35 kudos
    Hey guys, what the synthax for filterByEditorIdContains?
    Is it filterByEditorIdContains=sometext:someaction ?
    1. Zzyxzz
      Zzyxzz
      • premium
      • 2,053 kudos
      filterByEditorIdContains=spellTome
    2. davidgilbertking
      davidgilbertking
      • premium
      • 35 kudos
      Thank you!
    3. davidgilbertking
      davidgilbertking
      • premium
      • 35 kudos
      This is one of the greatest mods I've seen on Nexus. It's Thanos-level powerful
  5. MonkutPaik
    MonkutPaik
    • supporter
    • 14 kudos
    How do I add a guarantee spawn from a random pool of items into boss chests?
    1. LummoxJR
      LummoxJR
      • premium
      • 47 kudos
      You would either need to use the container patcher, or use a different mod like Container Item Distributor or Container Distribution Framework.

      The boss chests are all container records (TreasDwarvenChestBoss for example) and contain a number of leveled lists or items. If you want to add a leveled list to the container, end users need to enable that specially in the new versions of SkyPatcher, because injecting leveled lists to containers causes a crash for some people that the author is still trying to track down.
  6. reissue1426
    reissue1426
    • supporter
    • 12 kudos
    I'm getting a crash when I try and use formsToReplace. Is this the correct format if I want to replace the item from example.esp with the one from Skyrim.esm?
    filterByLLs=example.esp|8D0BE0:formsToReplace=example.esp|8D0BE1=Skyrim.esm|65C9D
    1. kafoaai2
      kafoaai2
      • member
      • 0 kudos
      Same here. I tried to use EditorID but it failed with that as well. I was using mod specific ini files if that is relevant.

      Here is the crash report:
      skypatcher error - Pastebin.com
      (in the log you may see guard_outfit_overhaul, that is the mod I try to develop, and is 'causing' the crash)

      This is the line crashing:
      filterByLLs=GOO_LVLI_GuardRiftenThiefBody:formsToReplace=ArmorGuardCuirassRiften=GOO_ARMO_GuardCuirassRiftenVGAR
  7. kangaroocdub
    kangaroocdub
    • premium
    • 12 kudos
    I feel like this may be a silly question but for the chance for an item to appear would I do the same as I would have for robco patcher such as something like filterByLLs= Skyrim.esm|00001234:addToLLs=example.esp|1234~1~1~40 . For said item to have sixty percent chance to spawn?
    1. pancake0723
      pancake0723
      • premium
      • 79 kudos
      does this work?
  8. kuczaja
    kuczaja
    • premium
    • 71 kudos
    Hey king. Any chance we could get option to filter LLs by their contents? 

    I figured that ultimate, best way to purge Daedric, Dragonbone and Ebony items from leveled lists, would be to target leveled lists by their content. Blank - if the list contains iron swords then it shouldn't contain daedric swords because it would mean that it's having all sorts of stuff and not just high quality stuff
    1. daken72127
      daken72127
      • premium
      • 56 kudos
      removeObjectsByKeyword="add material keywords for Daedric, Dragonbone and Ebony seperated by comas here"

      if you don't use a filter, it should hit every LL in the game, repeat for containers.

      also, there is this, but it doesn't include Ebony
      No Daedric and Dragon items on Leveled List - SkyPatcher Patch
  9. Faarok
    Faarok
    • premium
    • 86 kudos
    Can you explain this line :
    filterByLLNPCs can be used to filter objects. (multiple separated by ,)

    What does it mean ? I think its different from "filterByLLs", probably an option for specific NPCs, but thats not clear.
    Could you at least give an example ?

    Thanks a lot ^^
    1. Zzyxzz
      Zzyxzz
      • premium
      • 2,053 kudos
      filterByNpcs=Skyrim.esm|123,Skyrim.esm|234
  10. LummoxJR
    LummoxJR
    • premium
    • 47 kudos
    I was working on a mod and I have a question about addToLLs. If I add an item that's already in the leveled list, does the count increase, or does the new count replace the old count? I ask because I'm trying to modify vendor gold through a combination of container and LL patches, and the LL portion doesn't appear to be correct in all cases. But maybe there's some randomizing of the vendor gold (separate from SkyPatcher) that I don't fully understand.

    Edit: I understand what I did wrong. I was adding an item to the leveled list, but it didn't have the Use All flag on it, so sometimes the game drew from my new item and sometimes it drew from the original. If I add the Use All flag, I can make the vendor gold update the way I expected. Another option of course would be removing gold from the leveled list and then re-adding it.