Skip to content

Adding support for mod added NPCs

Raulfin edited this page Feb 3, 2015 · 2 revisions

To add exclusions for an NPC, the following information is needed, it can all be found in the mods esp. Excluding an NPC will block it from using all PerMa combat logic, NPCs should almost never be excluded unless the Combat Logic is causing issues. Currently only Chickens, a few types of Spriggans and some NPCs added by 3DNPC are excluded. The only race currently excluded is the Manakin race.

  1. NPC Name.
  2. NPC EDID.
  3. Is there any possibility of the NPC ever entering combat?

With that info open NPCs.xml.

  1. n1 If #3 is false, create an entry in npc_exclusions;

      <exclusion>
     	<text>Info</text>
     	<target>NAME</target>
     	<type>CONTAINS</type>
     </exclusion>
    

What goes here can vary, the <target> can be NAME, EDID or FORMID n2. The <text> is what the <target> checks for, and the <type> is how it is checked. <type> can be either;
CONTAINS - If the text is matched anywhere in the target the exclusion is true.
STARTSWITH - If the text is matched at the begining of the target the exclusion is true.
EQUALS or EQUALS_IGNORECASE. - If the text is matched exactly in the target the exclusion is true.


Notes

n1An Exclusion needs to be as exclusive as possible, EDID exclusions such as Armor or Ench will exclude nearly every Vanilla and DLC armor and cannot be used, most mods use a custom prefix, like Skyrim Immersive Creatures uses 00_ for everything, every EDID exclusion should be as long as possible, at least 4-5+ characters long, or 3+ characters long if it uses an underscore (_) near the start.

n2FORMID is extremely rare and should almost never be used, I only use it for 1 item from Skyrim.esm and only because the item had to be excluded and the name was the same as a common weapon. Anything submitted with a FormID check will need a very good reason and absolutely no other way of doing it. FormID checks should only be used for Skyrim.esm and Update.esm, using it for DLC or USKPs will force requirements on every user.