diff --git a/Enderal - Forgotten Stories.esm b/Enderal - Forgotten Stories.esm index f9c7bad9..2d53939d 100644 Binary files a/Enderal - Forgotten Stories.esm and b/Enderal - Forgotten Stories.esm differ diff --git a/Separate NPC disabler.esp b/Separate NPC disabler.esp deleted file mode 100644 index 89593220..00000000 Binary files a/Separate NPC disabler.esp and /dev/null differ diff --git a/Skyrim.esm b/Skyrim.esm index 4fa393f2..3ecb799d 100644 Binary files a/Skyrim.esm and b/Skyrim.esm differ diff --git a/scripts/_00E_MQ12b_NPCControl.pex b/scripts/_00E_MQ12b_NPCControl.pex index 2de173ad..3e890cf0 100644 Binary files a/scripts/_00E_MQ12b_NPCControl.pex and b/scripts/_00E_MQ12b_NPCControl.pex differ diff --git a/source/scripts/_00E_MQ12b_NPCControl.psc b/source/scripts/_00E_MQ12b_NPCControl.psc index 427ab6ec..326c8cd3 100644 --- a/source/scripts/_00E_MQ12b_NPCControl.psc +++ b/source/scripts/_00E_MQ12b_NPCControl.psc @@ -27,8 +27,8 @@ Function PrepareNPC(Actor akMoveActor, Bool bOnlyGhost = False) Return EndIf - If bOnlyGhost == False && RegisteredDisabledNPCs.Find(akMoveActor) < 0 - If akMoveActor.IsDisabled() + If bOnlyGhost == False + If RegisteredDisabledNPCs.Find(akMoveActor) >= 0 || akMoveActor.IsDisabled() Return EndIf @@ -54,9 +54,10 @@ Function PrepareNPC(Actor akMoveActor, Bool bOnlyGhost = False) EndFunction Function _RegisterDisabledNPC(Actor akMoveActor) - if nRegisteredDisabledNPCs + 1 <= 128 - RegisteredDisabledNPCs[nRegisteredDisabledNPCs] = akMoveActor + int iSlot = nRegisteredDisabledNPCs + if iSlot + 1 <= 128 nRegisteredDisabledNPCs += 1 + RegisteredDisabledNPCs[iSlot] = akMoveActor Debug.Trace("Registered disabled " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String)) else ; Added overflow to the ghosted @@ -65,9 +66,10 @@ Function _RegisterDisabledNPC(Actor akMoveActor) EndFunction Function _RegisterGhostedNPC(Actor akMoveActor) - if nRegisteredGhostedNPCs + 1 <= 128 - RegisteredGhostedNPCs[nRegisteredGhostedNPCs] = akMoveActor + int iSlot = nRegisteredGhostedNPCs + if iSlot + 1 <= 128 nRegisteredGhostedNPCs += 1 + RegisteredGhostedNPCs[iSlot] = akMoveActor Debug.Trace("Registered ghosted " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String)) else ; oh well