1
Fork 0

Updated MQ12b, removed the No Respawn flag from MQ12b_SC4_Market_Linker

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

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

Loading…
Cancel
Save