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
|
|