4
Fork 0

Updated MQ12b, removed the No Respawn flag from MQ12b_SC4_Market_Linker

development
Eddoursul 2 months ago
parent b410dd4e62
commit d49e423ce5
  1. BIN
      Skyrim.esm
  2. BIN
      scripts/_00E_MQ12b_NPCControl.pex
  3. BIN
      scripts/_00e_mq12b_functions.pex
  4. 21
      source/scripts/_00E_MQ12b_NPCControl.psc
  5. 4
      source/scripts/_00e_mq12b_functions.psc

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -54,11 +54,12 @@ Function PrepareNPC(Actor akMoveActor, Bool bOnlyGhost = False)
EndFunction
Function _RegisterDisabledNPC(Actor akMoveActor)
int iSlot = nRegisteredDisabledNPCs
if iSlot + 1 <= 128
nRegisteredDisabledNPCs += 1
nRegisteredDisabledNPCs += 1
; In case an actor slips in here, RegisteredDisabledNPCs may have an empty slot in the middle, and it's fine
int iSlot = nRegisteredDisabledNPCs - 1
if iSlot <= 127
RegisteredDisabledNPCs[iSlot] = akMoveActor
Debug.Trace("Registered disabled " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String))
;Debug.Trace("Registered disabled " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String))
else
; Added overflow to the ghosted
_RegisterGhostedNPC(akMoveActor)
@ -66,11 +67,11 @@ Function _RegisterDisabledNPC(Actor akMoveActor)
EndFunction
Function _RegisterGhostedNPC(Actor akMoveActor)
int iSlot = nRegisteredGhostedNPCs
if iSlot + 1 <= 128
nRegisteredGhostedNPCs += 1
nRegisteredGhostedNPCs += 1
int iSlot = nRegisteredGhostedNPCs - 1
if iSlot <= 127
RegisteredGhostedNPCs[iSlot] = akMoveActor
Debug.Trace("Registered ghosted " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String))
;Debug.Trace("Registered ghosted " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String))
else
; oh well
endif
@ -86,7 +87,7 @@ Function ReEnableNPCs()
Actor akActor = RegisteredDisabledNPCs[Index]
if akActor != None && ( ! bSKSE || akActor.GetEnableParent() == None )
akActor.EnableNoWait()
Debug.Trace("Re-enabled: " + akActor.GetActorBase().GetName())
;Debug.Trace("Re-enabled: " + akActor.GetActorBase().GetName())
RegisteredDisabledNPCs[Index] = None
endif
EndWhile
@ -102,7 +103,7 @@ Function ReEnableNPCs()
akActor.EnableNoWait()
endif
akActor.SetGhost(False)
Debug.Trace("Unghosted: " + akActor.GetActorBase().GetName())
;Debug.Trace("Unghosted: " + akActor.GetActorBase().GetName())
RegisteredGhostedNPCs[Index] = None
endif
EndWhile

@ -325,8 +325,6 @@ EndFunction
Function StartSC07()
bArkUnderAttackPrelude = False ; stop disabling NPCs
_00E_Func_SetNPCAsCompanion.SetNPCAsCompanion(_00E_MC_TealorREF, False)
SetObjectiveCompleted(10)
@ -369,6 +367,8 @@ EndFunction
Function StartSC09()
bArkUnderAttackPrelude = False ; stop disabling NPCs
_00E_Func_SetNPCAsCompanion.SetNPCAsCompanion(_00E_MC_TealorREF, False)
MQ12b_SC9_PlayerRepairsMechanism.ForceStart()

Loading…
Cancel
Save