Oblivion Game Data

Select game:

Search:

Select a record type:

SESylScript (0x00014444)

  • Record Type: SCPT
  • Editor ID: SESylScript
  • Form ID: 0x00014444
  • Source File: Oblivion.esm.mod
  • Patch Status: FormID has not been modified.
Parameter Value
SCTX
scn SESylScript


short Refuse				;flag set in dialogue if player refuses to help her in SE05
short Speech
short EndGreetTrigger
short SylMad				;For use with Syl's Timer for Anger Talk in SE07B

float ConvTimer
float SE05Timer
float SylMadTalkLength		;Syl's timer for the delay of lines and events in her Anger Talk in SE07B
float SylTimer					;A float for the artifical delay in Syl's appearance before her Anger Talk in SE07B
float SylTimer2					;A float for the artifical delay in Syl's appearance before her Anger Talk in SE07B

; This is for killing her if SE07A is running

begin OnDeath

	if ( GetStage SE07A >= 22 )
		SetStage SE07A 30
	endif

	; this sets the SE12 variables if she is the traitor
	if GetQuestRunning SE12 == 1
		set SE12.TraitorDead to 1
		; which pool is still ordered?
		if SE12.ManiaPoolOrdered == 1
			; means we're at Mania side
			if SE12.ManiaPriestsDead >= SE12.ManiaPriestsCount
				SE12PoolManiaRef.activate SESylRef 1
				setstage SE12 150
			endif
		else
			; means we're at Dementia side
			if SE12.DementiaPriestsDead >= SE12.DementiaPriestsCount
				SE12PoolDementiaRef.activate SESylRef 1
				setstage SE12 160
			endif
		endif
	endif

end


; taunt at the beginning of combat in SE12
begin OnStartCombat player
	if getincell XPGloomstonePassage == 1
		sayto player SE12TraitorTaunts
		set SE12.TraitorTalk to 2
	endif
end

Begin OnAlarm 3 Player
	if SE12.TraitorTalk == 0
		set SE12.TraitorTalk to 1
	endif
end


;This ensures she goes into combat with player on sight

begin gamemode

	if ( GetStage SE07A >= 22 && GetStage SE07A < 200 )
		if ( GetDistance Player < 1000 )
			StartCombat Player
		endif
	endif

;Set SE05 Stage 20 after player has talked to Syl at the beginning
;Necessary so that player gets pop-up and can select this as Active Quest instead of SE04Shell

	if ( GetStageDone SE05 20 == 0 )
		if ( SE05.Stage20Update == 1 )
			SetStage SE05 20
		endif
	endif


;For use with SE07B This kicks off the end speech

	if ( GetStage SE07B >= 50 ) && ( SE07B.SylMove == 1 )
		DisablePlayerControls
		SESylRef.Enable
		SE07EndSeducer01Ref.Enable
		SE07EndSeducer02Ref.Enable
		Set SylTimer to 1
		SEDerveninRef.Evp
		SEArctusRef.Evp
		Set SE07B.SylMove to 2
	endif

	if ( SE07B.SylMove == 2 )
		if ( SylTimer > 0 )
			Set SylTimer to ( SylTimer - GetSecondsPassed )
		else
			SE07ThadonSpeaks.Say SE07BSylShout 1 SESyl 1
			Set SylTimer2 to 6
			Set SE07B.SylMove to 3
		endif
	endif

	if ( SE07B.SylMove == 3 )
		if ( SylTimer2 > 0 )
			Set SylTimer2 to ( SylTimer2 - GetSecondsPassed )
		else
			Set SE07B.SylMove to 4
		endif
	endif
			
	if ( GetStage SE07B >= 50 ) && ( SE07B.SylMove == 4 )
		if ( SylMad == 0 ) && ( SylMadTalkLength <= 0 )
			Set SylMadTalkLength to SESheogorathRef.Say SE07BSheoShout
			SESheogorathRef.Sayto SESylRef SE07BSheoShout 1
			Set SylMad to 1
		elseif ( SylMad == 1 ) && ( SylMadTalkLength <= 0 )
			Set SylMadTalkLength to SESheogorathRef.Say SE07BSheoShout02
			SESheogorathRef.Sayto SESylRef SE07BSheoShout02 1
			Set SylMad to 2
		elseif ( SylMad == 2 ) && ( SylMadTalkLength <= 0 )
			Set SylMadTalkLength to SESheogorathRef.Say SE07BSheoShout03
			SESheogorathRef.Sayto SESylRef SE07BSheoShout03 1
			Set SylMad to 3
		elseif (SylMad == 3 ) && ( SylMadTalkLength <= -6.5 )
			Set SE07B.SylMove to 5
			Set SylMad to 4
		endif
	endif

	if ( SylMad > 0 ) && ( SylMad < 4 )
		Set SylMadTalkLength to SylMadTalkLength - GetSecondsPassed
	endif

	if ( GetStage SE07B >= 50 ) && ( SE07B.Convo != 12 ) && ( SE07B.SylMove == 5 )
		startconversation SESheogorathRef SE07BSylLeaves
		Set SE07B.SylMove to 6
	endif

;SE05 Speech

	if ( Speech == 0 )
		if ( GetStage SE05 == 130 )
			if ( GetDistance SE05SylChamberMarker < 300 )
				set Speech to 1
			endif
		endif
	elseif ( Speech == 1 )
		Set ConvTimer to SeSylRef.SayTo SEMuurineRef SE05SylEndSpeech	
		set Speech to 2
	elseif ( Speech == 2 )
		if ( ConvTimer <= 0 )
			set Speech to 3
			SeSylRef.EvaluatePackage
		else
			set ConvTimer to ( ConvTimer - GetSecondsPassed )
		endif
	endif

	if ( EndGreetTrigger == 0 )
		if ( SEMuurineRef.GetDead == 1 )
			set EndGreetTrigger to 1
			set SE05Timer to 3
		endif
	elseif ( EndGreetTrigger == 1 )
		if ( SE05Timer <= 0 )
			set EndGreetTrigger to -1
			StartConversation Player
		else
			set SE05Timer to ( SE05Timer - GetSecondsPassed )
		endif
	endif

	if SE12.TraitorTalk == 1
		if getincell XPGloomstonePassage == 1 && GetDead == 0
			if ConvTimer > 0
				set ConvTimer to ConvTimer - getSecondsPassed
			else
				; taunt player
				if IsInCombat == 1
					; turn off taunts when he enters combat
					set SE12.TraitorTalk to 2
					setav aggression 50
				endif
				; taunt player
				set ConvTimer to sayto player SE12TraitorTaunts 1
				set ConvTimer to ConvTimer + 1
			endif
		endif	
	endif


end

begin OnPackageEnd SE07BSylExitsSacellum

	if ( GetStage SE07B >= 50 )
		SESylRef.Disable
		SE07EndSeducer01Ref.Disable
		SE07EndSeducer02Ref.Disable
		EnablePlayerControls
		SetStage SE07B 55
	endif



end

Database last updated 11/02/2011
SCPT records last updated 10/31/2011