@ -395,48 +395,48 @@ Function MoveLeora()
EndFunction
EndFunction
Function LeoraUnequipTorch()
_00E_MC_LeoraREF.UnequipItem(Torch01, true)
_00E_MC_LeoraREF.RemoveItem(Torch01)
EndFunction
Function FillTraitorScene()
Function FillTraitorScene()
MQ14_SC06_TraitorRef.Enable()
MQ14_SC06_TraitorRef.Enable()
MQ14_SC06_FlammentrunkREF.MoveTo(MQ14_SC06_TraitorRef)
akCompanion.MoveTo(MQ14_SC06_CompanionMarker)
akCompanion.MoveTo(MQ14_SC06_CompanionMarker)
_00E_BloodyFXShader.Play(MQ14_SC06_TraitorRef)
_00E_MC_YuslanREF.MoveTo(MQ14_SC06_CompanionMarker001)
_00E_MC_YuslanREF.MoveTo(MQ14_SC06_CompanionMarker001)
int iIndex = MQ14_SC06_AvoidNPCFormlist.GetSize() - 1
; _00E_MQ14_SC04_RemoveNPCsFromBeaconSC makes a mess in SC08_SpectatorNPCArray, better clear it
int iIndex = SC08_SpectatorNPCArray.Length - 1
While iIndex >= 0
SC08_SpectatorNPCArray[iIndex].Clear()
iIndex -= 1
Endwhile
iIndex = MQ14_SC06_AvoidNPCFormlist.GetSize() - 1
While iIndex >= 0
While iIndex >= 0
Actor akCurrentActor = MQ14_SC06_AvoidNPCFormlist.GetAt(iIndex) as Actor
Actor akCurrentActor = MQ14_SC06_AvoidNPCFormlist.GetAt(iIndex) as Actor
akCurrentActor.UnequipItem(Torch01, true, false)
akCurrentActor.RemoveItem(Torch01)
Debug.SendAnimationEvent(akCurrentActor, "returnToDefault")
akCurrentActor.MoveTo(MQ14_SC06_TraitorMarker)
akCurrentActor.SetLookAt(MQ14_SC06_TraitorRef)
if Utility.RandomInt(0, 1) >= 0.5
if Utility.RandomInt(0, 1) >= 0.5
MQ14_SC06_ArkanistFormlist.AddForm(akCurrentActor)
MQ14_SC06_ArkanistFormlist.AddForm(akCurrentActor)
akCurrentActor.SetName("Arkanist" )
;akCurrentActor.GetActorBase().SetName(MQ14_SC04_ArcanistREF.GetActorBase().GetName())
akCurrentActor.SetOutfit(_25E_HolyOrder_ArcanistOutfitNoHood)
akCurrentActor.SetOutfit(_25E_HolyOrder_ArcanistOutfitNoHood)
EndIf
EndIf
int NPCsFilled
akCurrentActor.UnequipItem(Torch01, true, false)
NPCsFilled += 1
akCurrentActor.RemoveItem(Torch01, 99)
SC06_AvoidNPCArray[iIndex].ForceRefTo(akCurrentActor)
akCurrentActor.MoveTo(MQ14_SC06_StandMarkerFormlist.GetAt(iIndex) as ObjectReference)
akCurrentActor.MoveTo(MQ14_SC06_StandMarkerFormlist.GetAt(iIndex) as ObjectReference)
_00E_QuestFunctions.WaitForReferenceToLoad(akCurrentActor as ObjectReference)
Debug.SendAnimationEvent(akCurrentActor, "IdleStop_Loose")
SC06_AvoidNPCArray[iIndex].ForceRefTo(akCurrentActor)
akCurrentActor.SetLookAt(MQ14_SC06_TraitorRef)
iIndex -= 1
iIndex -= 1
Endwhile
Endwhile
MQ14_SC06_FlammentrunkREF.MoveTo(MQ14_SC06_TraitorRef)
; SE: Moved teleporting MQ14_SC06_FlammentrunkREF to the beginning of his scene package, he goes home if teleported at this point
_00E_QuestFunctions.WaitForReferenceToLoad(MQ14_SC06_TraitorRef as ObjectReference)
_00E_BloodyFXShader.Play(MQ14_SC06_TraitorRef)
EndFunction
EndFunction
@ -452,14 +452,20 @@ Function FadeToBlackTraitor()
Utility.Wait(3)
Utility.Wait(3)
MQ14_SC06_TraitorRef.MoveTo(MQ06_SC2_CaliaPortToMarkerSceneDUPLICATE003)
MQ14_SC06_TraitorRef.MoveTo(MQ06_SC2_CaliaPortToMarkerSceneDUPLICATE003)
MQ14_SC07_KurariumGuard.Enable()
MQ14_SC07_KurariumGuard.Enable()
_00E_MC_LeoraREF.UnequipItem(Torch01, True, True)
_00E_MC_LeoraREF.RemoveItem(Torch01, 1)
MQ14_SC06_FlammentrunkREF.MoveToMyEditorLocation()
MQ14_SC06_FlammentrunkREF.MoveToMyEditorLocation()
_00E_MC_LexREF.MoveTo(MQ14_SC06_SpectatorMarker009)
_00E_MC_LexREF.MoveTo(MQ14_SC06_SpectatorMarker009)
int iIndex = MQ14_SC06_AvoidNPCFormlist.GetSize() - 1
While iIndex >= 0
(MQ14_SC06_AvoidNPCFormlist.GetAt(iIndex) as Actor).SetLookAt(_00E_MC_TealorREF)
iIndex -= 1
Endwhile
FadeToBlackBackIMOD.ApplyCrossFade(afFadeDuration = 3.0)
FadeToBlackBackIMOD.ApplyCrossFade(afFadeDuration = 3.0)
Utility.Wait(1)
Utility.Wait(1)
MQ14_SC07_Planning.ForceStart()
MQ14_SC07_Planning.ForceStart()
EndFunction
EndFunction
Function AddMusic()
Function AddMusic()
@ -474,22 +480,7 @@ Function StartSC08()
MQ14_SC08_LastSpeech.ForceStart()
MQ14_SC08_LastSpeech.ForceStart()
int iIndex = MQ14_SC08_SpectatorFormlist.GetSize() - 1
int iIndex = 0
While iIndex >= 0
Actor akCurrentActor = MQ14_SC08_SpectatorFormlist.GetAt(iIndex) as Actor
akCurrentActor.UnequipItem(Torch01, true, false)
akCurrentActor.RemoveItem(Torch01)
Debug.SendAnimationEvent(akCurrentActor, "returnToDefault")
SC06_AvoidNPCArray[iIndex].ForceRefTo(akCurrentActor)
akCurrentActor.SetLookAt(_00E_MC_TealorREF)
SC08_SpectatorNPCArray[iIndex].ForceRefTo(akCurrentActor)
iIndex -= 1
Endwhile
iIndex = 0
While iIndex < MQ14_SC06_AvoidNPCFormlist.GetSize()
While iIndex < MQ14_SC06_AvoidNPCFormlist.GetSize()
@ -498,8 +489,6 @@ Function StartSC08()
akCurrentActor.RemoveItem(Torch01)
akCurrentActor.RemoveItem(Torch01)
SC06_AvoidNPCArray[iIndex].ForceRefTo(akCurrentActor)
SC06_AvoidNPCArray[iIndex].ForceRefTo(akCurrentActor)
int NPCsFilled
NPCsFilled += 1
Debug.SendAnimationEvent(akCurrentActor, "returnToDefault")
Debug.SendAnimationEvent(akCurrentActor, "returnToDefault")
akCurrentActor.SetLookAt(_00E_MC_TealorREF)
akCurrentActor.SetLookAt(_00E_MC_TealorREF)
@ -507,6 +496,32 @@ Function StartSC08()
iIndex += 1
iIndex += 1
Endwhile
Endwhile
iIndex = MQ14_SC08_SpectatorFormlist.GetSize() - 1
While iIndex >= 0
Actor akCurrentActor = MQ14_SC08_SpectatorFormlist.GetAt(iIndex) as Actor
akCurrentActor.UnequipItem(Torch01, true, false)
akCurrentActor.RemoveItem(Torch01)
SC08_SpectatorNPCArray[iIndex].ForceRefTo(akCurrentActor)
; SE: Spectators never reach the speech location through doors in time, so we teleport them to doors, and they go by foot from there
if akCurrentActor.GetWorldspace() != SuntempleWorldspace
if Utility.RandomInt(0, 1) >= 0.5
akCurrentActor.MoveTo(SunTempleEmporiumFrontDoorREF)
else
akCurrentActor.MoveTo(SunTempleQuartersDoorREF)
EndIf
Utility.wait(2.0)
akCurrentActor.ResetAI()
endif
akCurrentActor.SetLookAt(_00E_MC_TealorREF)
iIndex -= 1
Endwhile
EndFunction
EndFunction
@ -590,21 +605,21 @@ Function PlayApplauseAndCheer()
MQ14_SC09_Tealor.ForceStart()
MQ14_SC09_Tealor.ForceStart()
iIndex = 0
iIndex = SC 06_AvoidNPCArray.Length - 1
While iIndex <= MQ14_SC06_AvoidNPCFormlist.GetSize()
While iIndex >= 0
SC06_AvoidNPCArray[iIndex].Clear()
SC06_AvoidNPCArray[iIndex].Clear()
iIndex + = 1
iIndex - = 1
Endwhile
Endwhile
iIndex = 0
iIndex = SC 08_SpectatorNPCArray.Length - 1
While iIndex <= MQ14_SC08_SpectatorFormlist.GetSize()
While iIndex >= 0
SC08_SpectatorNPCArray[iIndex].Clear()
SC08_SpectatorNPCArray[iIndex].Clear()
iIndex + = 1
iIndex - = 1
Endwhile
Endwhile
@ -777,4 +792,7 @@ Scene Property MQ14_SC07_Planning Auto
Scene Property MQ14_SC08_LastSpeech Auto
Scene Property MQ14_SC08_LastSpeech Auto
Scene Property MQ14_SC09_Tealor Auto
Scene Property MQ14_SC09_Tealor Auto
Worldspace Property SuntempleWorldspace Auto
Worldspace Property SuntempleWorldspace Auto
ObjectReference Property SunTempleEmporiumFrontDoorREF Auto
ObjectReference Property SunTempleQuartersDoorREF Auto