Oblivion Game Data

Select game:

Search:

Select a record type:

SE06SCRIPT (0x000120eb)

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

; Actors
; SEUlfri - Dark Seducer commander
; SEKaneh - Golden Saint commander
; SEMirel - Golden Saint lieutenant
; SE06GoldenSaintWardenSCRIPT -- script on GS warden, used to trigger them to unlock the door
; SE06DarkSeducerWardenSCRIPT -- script on DS warden, used to trigger them to unlock the door

; Objects used by scripts
; SE06DoorSidePassageToDespair - script sets PlayerScout variable
; SE06FlameOfAgnon - script on flame which lights player on fire when he walks into it
; SE06FlameEffectScript - magic effect script, puts shader on player when on fire
; SE06TrigZoneAltarScoutSCRIPT -- script on trigger zones, used to set PlayerScout variables
 

int DSDeployment			; 0 = main passage, 1 = side passage
int GSDeployment			; 0 = main passage, 1 = side passage
int PlayerScout				; 1 = player has scouted Dark Seducer position (i.e. is aware of which passage they are defending) -- set when both PlayerScoutMain and PlayerScountSide are 1
int convStage				; used to track conversation stage
int ManiaSolution			; 1 = player solved this quest in a "Mania" way; 0 = Dementia solution

int LastStage				; set by quest stages to the _last_ stage set (for middle part). Helps quest targets work right with multiple paths.

int TotalSaints				; how many saints to kill before victory -- initialized in stage 5
int TotalSeducers			; how many seducers to kill before victory - init in stage 5
int DeadSaints				; count number killed
int DeadSeducers			; count number killed

float timer					; timer for speeches

float fQuestDelayTime		; Makes the script run more frequently than every 5 seconds

short maniagateVAR			;handles opening one of the two gates for the sacellum
short dementiagateVAR
short SheoMove				;handles moving Sheogorath to the Sacellum when flame is ignited

short SheoIntroVAR			;handles Sheo's intro speech

int resetAggression			; set to 1 when GS aggro set to 0
									; set to 2 when GS aggro set back to 10

begin gamemode

	if timer > 0
		set timer to timer - getSecondsPassed
	else
		; trigger certain events:

		; Ulfri's speech done
		if getstagedone SE06 70 == 1 && getstagedone SE06 71 == 0
			setstage SE06 71
		endif

		; Kaneh's speech done
		if getstagedone SE06 50 == 1 && getstagedone SE06 51 == 0
			setstage SE06 51
		endif

		; *****************************************************************************
		; try to get Saints to progress past the first ambush room in side passage

		; set aggression back if it got set to 0
		if resetAggression == 1
			SE06GoldenSaint01REF.setav aggression 10
			SE06GoldenSaint02REF.setav aggression 10
			SE06GoldenSaint03REF.setav aggression 10
			SE06GoldenSaint04REF.setav aggression 10
			set resetAggression to 2
		endif

		if getStage SE06Battle >= 100 && getStage SE06Battle < 120
			if resetAggression == 0
				; pick 4 saints and set aggression to 0, stopcombat to get them to go
				SE06GoldenSaint01REF.setav aggression 0
				SE06GoldenSaint02REF.setav aggression 0
				SE06GoldenSaint03REF.setav aggression 0
				SE06GoldenSaint04REF.setav aggression 0
				SE06GoldenSaint01REF.stopcombat
				SE06GoldenSaint02REF.stopcombat
				SE06GoldenSaint03REF.stopcombat
				SE06GoldenSaint04REF.stopcombat
				set resetAggression to 1
				set timer to 60
			endif
		endif
		; *****************************************************************************

	endif

	; trigger conversation between Kaneh and Mirel
	if convStage == 0
		; quest is started, haven't agreed to help either side yet
		if getstage SE06 > 0 && getstagedone SE06 50 == 0 && getstagedone SE06 70 == 0 && getstagedone SE06 35 == 0 && getstagedone SE06 30 == 0
			if player.getdistance SEKanehRef < 1100 && player.getdistance SEMirelRef < 1100 
				SEMirelRef.startconversation SEKanehRef SE06KanehMirel
			endif
		endif 
	endif

	; trigger battle stages
	if getstage SE06 == 100
		if GSDeployment == 0
			; main passage attack
			if SEKanehRef.getincell XPCylarne01 == 1 && ( SEKanehRef.getdistance player < 750 || getstagedone SE06 70 == 1 )
				setstage SE06Battle 5
			endif
		else
			; side passage attack
			if SEKanehRef.getincell XPCylarne02 == 1 && SEKanehRef.getdistance player < 750
				setstage SE06Battle 100
			endif
		endif
	endif

	;open gates in sacellum
	if ( maniagateVAR == 1 )
		SE06TorchGateManiaRef.playgroup forward 1
		set maniagateVAR to 2
	endif
	
	if ( dementiagateVAR == 1 )
		SE06TorchGateDementiaRef.playgroup forward 1
		set dementiagateVAR to 2
	endif

end

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