Oblivion Game Data

Select game:

Search:

Select a record type:

SERakheranScript (0x00019fc7)

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

;Variables
	short 	IsHostile						;Variable for apostle being hostile to player
	short	FindPlayer					;Set to 1 when player enters the cell XPHowlingHalls02
	short	HasSpokenTo Player		;Set to 1 after Rakheran greets the player
	short	PlayerHasAcceptedOffer	;Set to 1 when the player accepts Rakheran's offer
	short	TraitorReady
	short 	TraitorDead
	short 	LineSaid
	short	HelloSaid
	short 	DoOnce
	short 	DoOnce2

	float	LineLength

;Scripts

BEGIN GameMode
;Controls disposition to player
	
	if ( SE11.OutcomeRakheranBetrayCiirta == 0 ) && ( IsInCombat == 0 )
		if ( GetInSameCell Player == 1 )
			if ( SE11.IsDisguised == 0 )
				if ( GetDetectionLevel Player >= 3 )
					ModDisposition Player -200
				endif
			endif
		endif
	endif

;Controls Scene - Rakheran runs to meet the traitors

	if ( SE11.CiirtaBetrayalBegin == 1 ) && ( IsInCombat == 0 ) && ( GetDead == 0 ) && ( GetDistance SE11RakheranMeetingMarker <= 420 )
		if ( DoOnce == 0 )
			evp
			set DoOnce to 1
		endif

		if ( GetDistance Player <= 525 )
			Set SE11.CiirtaBetrayalBegin to 0 
			Set SE11.CiirtaDaggersGive to 1
		endif
	endif

;Controls Scene -  Rakheran and his traitors exchanging daggers

	if ( SE11.CiirtaDaggersGive == 1 ) && ( IsInCombat == 0 ) && ( GetDead == 0 )  && ( TraitorDead < 2 )

		Set LineLength to ( LineLength - GetSecondsPassed )

		if ( LineSaid == 0 ) && ( LineLength <= -2 )
			SE11RakheranRef.Look SE11ApostleTraitor01Ref
			SE11ApostleTraitor01Ref.Look SE11RakheranRef
			Set LineLength to SE11RakheranRef.Say SE11RakheranGiveDaggers1
			SE11RakheranRef.SayTo SE11ApostleTraitor01Ref SE11RakheranGiveDaggers1 1
			SE11ApostleTraitor01Ref.evp
			SE11ApostleTraitor02Ref.evp
			SE11RakheranRef.PickIdle
			SE11ApostleTraitor01Ref.PickIdle
			SE11RakheranRef.RemoveItem SE11ApostleDagger 1
			SE11ApostleTraitor01Ref.AddItem SE11ApostleDagger 1
			Set LineSaid to 1

		elseif (  LineSaid == 1 ) && ( LineLength <= 0 )
			SE11RakheranRef.Look SE11ApostleTraitor02Ref
			SE11ApostleTraitor02Ref.Look SE11RakheranRef
			Set LineLength to SE11RakheranRef.Say SE11RakheranGiveDaggers2
			SE11RakheranRef.SayTo SE11ApostleTraitor02Ref SE11RakheranGiveDaggers2 1
			SE11ApostleTraitor01Ref.evp
			SE11ApostleTraitor02Ref.evp
			SE11RakheranRef.PickIdle
			SE11ApostleTraitor02Ref.PickIdle
			SE11RakheranRef.RemoveItem SE11ApostleDagger 1
			SE11ApostleTraitor02Ref.AddItem SE11ApostleDagger 1
			Set LineSaid to 2

		elseif (  LineSaid == 2 ) && ( LineLength <= 0 )
			Set LineLength to SE11RakheranRef.Say SE11RakheranGiveDaggers3
			SE11RakheranRef.Say SE11RakheranGiveDaggers3 1
			Set LineSaid to 3
			SE11ApostleTraitor01Ref.evp
			SE11ApostleTraitor02Ref.evp
			SE11RakheranRef.PickIdle

		elseif ( LineSaid == 3 )  && ( LineLength <= -1 )
				SE11RakheranRef.SetAlert 1

				if ( LineLength <= -1.5 ) && ( LineLength > -1.8 )
					SE11ApostleTraitor01Ref.SetAlert 1

				elseif ( LineLength <= -0.8 )
					SE11ApostleTraitor02Ref.SetAlert 1

					Set SE11.CiirtaDaggersGive to 0
					Set SE11.TraitorsRunToCiirta to 1
					SE11ApostleTraitor01Ref.evp
					SE11ApostleTraitor02Ref.evp
					Set DoOnce to 0
					Set DoOnce2 to 0
					Set LineSaid to 0
					Set LineLength to 0
				endif
		endif
	endif

	if ( SE11.CiirtaDaggersGive == 1 ) && ( IsInCombat == 0 ) && ( GetDead == 0 )  && ( TraitorDead >= 2 )
		Set SE11.CiirtaDaggersGive to 0
		Set SE11.TraitorsRunToCiirta to 1
	endif

;Controls Scene - Rakheran and traitors run to assassinate Ciirta

	if ( SE11.TraitorsRunToCiirta == 1 ) && ( IsInCombat == 0 ) && ( GetDead == 0 )  && ( GetDistance SE11RakheranBetrayalMarker <= 420 )
		if ( DoOnce == 0 )
			evp
			SECiirtaRef.MoveTo SE11CiirtaBetrayalMarker
			SE11Apostle05Ref.MoveTo SE11ApostleBetrayalMarker
			set DoOnce to 1
		endif

		if ( GetDistance Player <= 420 )
			Set SE11.OutcomeRakheranBetrayCiirta to 1
			Set SE11.TraitorsRunToCiirta to 0 
			Set SE11.CiirtaBetrayalScene to 1
		endif
	endif

;Controls Scene - Rakheran and traitors assassinate Ciirta

	if ( SE11.CiirtaBetrayalScene == 1 ) && ( IsInCombat == 0 ) && ( GetDead == 0 ) 

		Set LineLength to LineLength - GetSecondsPassed

		if ( LineSaid == 0 ) && ( LineLength <= 0 )
			SE11RakheranRef.Look SECiirtaRef
			SECiirtaRef.Look SE11RakheranRef
			SE11ApostleTraitor01Ref.Look SECiirtaRef
			SE11ApostleTraitor02Ref.Look SECiirtaRef
			Set LineLength to SECiirtaRef.Say SE11RakheranConfrontCiirta01
			SECiirtaRef.SayTo SE11RakheranRef SE11RakheranConfrontCiirta01
			SE11RakheranRef.PickIdle
			SECiirtaRef.PickIdle
			Set LineSaid to 1

		elseif (  LineSaid == 1 ) && ( LineLength <= 0 )
			SE11RakheranRef.Look SECiirtaRef
			SECiirtaRef.Look SE11RakheranRef
			SE11ApostleTraitor01Ref.Look SECiirtaRef
			SE11ApostleTraitor02Ref.Look SECiirtaRef
			Set LineLength to SE11RakheranRef.Say SE11RakheranConfrontCiirta02
			SE11RakheranRef.SayTo SECiirtaRef SE11RakheranConfrontCiirta02
			SE11RakheranRef.PickIdle
			SECiirtaRef.PickIdle
			Set LineSaid to 2

		elseif (  LineSaid == 2 ) && ( LineLength <= 0 )
			SE11RakheranRef.Look SECiirtaRef
			SECiirtaRef.Look SE11RakheranRef
			SE11ApostleTraitor01Ref.Look SECiirtaRef
			SE11ApostleTraitor02Ref.Look SECiirtaRef
			Set LineLength to SE11RakheranRef.Say SE11RakheranConfrontCiirta03
			SE11RakheranRef.SayTo SECiirtaRef SE11RakheranConfrontCiirta03
			SE11RakheranRef.PickIdle
			SECiirtaRef.PickIdle
			Set LineSaid to 3

		elseif ( LineSaid == 3 ) && ( LineLength <= 0 )
			SE11RakheranRef.Look SECiirtaRef
			SECiirtaRef.Look SE11RakheranRef
			SE11ApostleTraitor01Ref.Look SECiirtaRef
			SE11ApostleTraitor02Ref.Look SECiirtaRef
			Set LineLength to SECiirtaRef.Say SE11RakheranConfrontCiirta04
			SECiirtaRef.SayTo SE11RakheranRef SE11RakheranConfrontCiirta04
			SE11RakheranRef.PickIdle
			SECiirtaRef.PickIdle
			Set LineSaid to 4

		elseif ( LineSaid == 4 )  && ( LineLength <= 0 )
			SE11Apostle05REF.SetFactionRank SE11ApostleFaction -1
			SECiirtaRef.SetFactionRank SE11ApostleFaction -1
			SE11Apostle05Ref.SetFactionRank SE11ApostleFaction -1

			SE11RakheranRef.StartCombat SECiirtaRef
			SE11ApostleTraitor01Ref.StartCombat SECiirtaRef
			SE11ApostleTraitor02Ref.StartCombat SECiirtaRef
			SE11ApostleTraitor02Ref.StartCombat SECiirtaRef
			SE11Apostle05Ref.StartCombat Player
			SECiirtaRef.ModDisposition SE11RakheranRef -200
			SECiirtaRef.ModDisposition SE11ApostleTraitor01Ref -200
			SECiirtaRef.ModDisposition SE11ApostleTraitor02Ref -200

			Set SE11.OutcomeRakheranBetrayCiirta to 1
			Set SE11.CiirtaBetrayalScene to 0
			Set DoOnce to 0
			Set DoOnce2 to 0
			Set TraitorReady to 0
			Set LineSaid to 0
			Set LineLength to 0
		endif
	endif

;Forces Rakheran to greet the player

	if (	HelloSaid == 0 ) && ( GetDistance Player <= 420 ) 
		SayTo Player HELLO
		look player
	endif


END

BEGIN OnDeath

	if ( PlayerHasAcceptedOffer == 1 ) && ( GetStageDone SE11 140 == 0 )
		setstage SE11 111
	endif

END


BEGIN OnPackageEnd SE11RakheranRunToMeeting

	Set TraitorReady to TraitorReady + 1

END

BEGIN OnPackageEnd SE11RakheranRunToCiirta

	Set TraitorReady to TraitorReady + 1

END

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