SCTX |
scn SE07BScript
;Actors
;SEWideEye - Thadon's steward and main source of help for the player
;SEGundlar - The chef for Thadon. No real interaction is required, but Gundlar figures into the feast portion of the quest and has a key
;SEThadon - The target of the quest, the Duke of Mania
;Objects
;SE07AltarMania - The altar in the Sacellum that must be activated with Thadon's Blood to finish quest
;SE07ThadonBlood - When Thadon dies, this item will be in his inventory. This is the quest's main goal.
;SE07BWatchTrigger - When this trigger is broken, the player will be observing Wide-Eye's entry to Greenmote Silo
;SE07GreenmotePile01 - The actual pile of Greenmote in Greenmote Silo that yields Greenmote ingrediant
;SE07ThadonMealPreDrug - Thadon's meal tray when encountered in his quarters in the kitchen area
;SE07ThadonMealPreDrugWine - Thadon's wine when encountered in his quarters in the kitchen area
;SE07ThadonMealSpiked - Thadon's meal when encountered at the feast table in the main hall of the House of Mania
;SE07ThadonWineSpiked - Thadon's wine when encountered at the feast table in the main hall of the House of Mania
;SE07TrophyBlood - The trophy for completing SE07B that appears in the Palace of Sheogorath
;SE07Greenmote - The drug the player uses to spike Thadon's meal and his wine and can be ingested if desired
short DoOnce ;DoOnce variable
short DoOnce1 ;DoOnce variable
short DoOnce2 ;DoOnce variable
short DoOnce3 ;DoOnce variable
short DoOnce4 ;DoOnce variable
short DoOnce5 ;DoOnce variable
short Seducers ;DoOnce variable
short WEPatrol ;Notes Wide-Eye is on his Patrol mode where she may be suspicious of player following
short Serves ;For marking which phase of Gundlar's serving finds he is in (package toggle)
short DerveninMove ;For triggering an Ambush package on Dervenin
short SylMove ;For triggering an Ambush package on Thadon
short SylLeaves ;For triggering a gamemode block that makes Thadon vanish
short MoteCount ;This counts how many doses the player has picked up and pops journal at right time
short Alarm ;This counts the levels of alarm for Wide-Eye (2 Stages)
short WideEyeAttack ;Wide-Eye's attack trigger
short Convo ;Conversation trigger
short Go ;Doonce variable
short FoodBeenDrugged ;This is a blocker so you can't re-spike the food and lose the other dose of Greenmote
short WineBeenDrugged ;This is a blocker so you can't re-spike the wine and lose the other dose of Greenmote
short DrugsDone ;When this variable is set to 1, it sets up the final part of SE07B
short Failsafe ;This guarantees the wine/food will appear whether Gundlar is loaded or not
short Guard01Go ;This is used for the patrols in Thadon's Living Quarters
short Guard02Go ;This is used for the patrols in Thadon's Living Quarters
short Silo01Go ;This is used for the patrols in Greenmote Silo
short Silo02Go ;This is used for the patrols in Greenmote Silo
short Silo03Go ;This is used for the patrols in Greenmote Silo
short Silo04Go ;This is used for the patrols in Greenmote Silo
short MealSetUp ;This is a failsafe backup to make sure meal and wine appears at the right time
short MealServed ;This is a failsafe backup to make sure served meal and wine appears at the right time
short MoveGundlar ;This is a failsafe backup to make sure Gundlar makes it to the feast in timely manner
short MoveWideEye ;This is a failsafe backup to make sure WideEye makes it to the feast in timely manner
short OffScreenKill ;Kill Thadon offscreen
short OffScreenKillSS ;DoOnce for the Offscreen Kill Distance Check
short MiniTalk ;Variable used for the last 2 lines of the endgame speech between Thadon and Sheogorath (to get them to run)
float fQuestDelayTime ; Makes the script run more frequently than every 5 seconds
float DayServed
float MiniTalkTimer ;A float variable used to measure the line length for the Says in the endgame speech between Thadon and Sheo
float DelayTimer ;A float variable used to measure a tiny delay needed in endgame speech between weapons drawn and last 2 lines of it
begin gamemode
;This makes the Seducers flanking Syl and the Saints flanking Sheo draw weapons at the right point in the endgame conversation
if ( DoOnce5 == 0 )
if ( SE07B.Convo == 11 )
SE07SaintEnd01Ref.SetAlert 1
SE07SaintEnd02Ref.SetAlert 1
SE07EndSeducer01Ref.SetAlert 1
SE07EndSeducer02Ref.SetAlert 1
Set DelayTimer to 1
Set DoOnce5 to 1
endif
endif
if ( DoOnce5 == 1 )
if ( DelayTimer > 0 )
Set DelayTimer to ( DelayTimer - GetSecondsPassed )
else
Set DoOnce5 to 2
endif
endif
if ( DoOnce5 == 2 )
if ( MiniTalk == 0 ) && ( MiniTalkTimer == 0 )
Set MiniTalkTimer to SESheogorathRef.Say SE07BSylLeaves
SESheogorathRef.SayTo SEThadonRef SE07BSylLeaves
Set Convo to 12
Set MiniTalk to 1
elseif ( MiniTalk == 1 ) && ( MiniTalkTimer <= 0 )
Set MiniTalkTimer to SESylRef.Say SE07BSylLeaves
SESheogorathRef.Look SESylRef
SESylRef.SayTo SESheogorathRef SE07BSylLeaves
Set MiniTalk to 2
elseif ( MiniTalk == 2 ) && ( MiniTalkTimer <= 0 )
Set SE07B.SylLeaves to 1
SE07SaintEnd01Ref.SetAlert 0
SE07SaintEnd02Ref.SetAlert 0
SESheogorathRef.StopLook SESylRef
SESylRef.StopLook SESheogorathRef
Set MiniTalk to 3
Set DoOnce5 to 3
endif
endif
if ( MiniTalk > 0 ) && ( MiniTalk < 3 )
Set MiniTalkTimer to MiniTalkTimer - GetSecondsPassed
endif
;This handles Syl's quick exit
if ( GetStage SE07B >= 50 ) && ( DoOnce == 0 )
if ( SylLeaves == 1 )
SESylRef.Evp
SE07EndSeducer01Ref.Evp
SE07EndSeducer02Ref.Evp
Set DoOnce to 1
endif
endif
;This denotes that both the wine and the food was spiked, which progresses the quest
if ( DrugsDone == 0 )
if ( SE07B.FoodBeenDrugged == 1 ) && ( SE07B.WineBeenDrugged == 1 )
SetStage SE07B 30
Set DrugsDone to 1
endif
endif
;This is a failsafe in case Gundlar is not loaded, so the player can't observe him making the food
; if ( MealSetUp == 0 )
; if ( GetStage SE07B >= 15 ) && ( GetStage SE07B < 30 )
; if ( GameHour >= 12 ) && ( GameHour < 20 )
; if ( Player.GetInCell SENSDukesQuarters == 0 )
; SE07ThadonMealRef.Enable
; Set MealSetUp to 1
; endif
; endif
; endif
; endif
;This is a failsafe in case Gundlar is not loaded, so the player can't observe him serving the food
; if ( MealServed == 0 )
; if ( GetStage SE07B >= 25 ) && ( GetStage SE07B < 30 )
; if ( GameHour >= 20 ) && ( GameHour < 21 )
; if ( Player.GetInCell SENSHouseofMania == 0 )
; SE07ThadonMealServedRef.Enable
; SE07ThadonMealRef.Disable
; Set Serves to 2
; Set DayServed to GameDaysPassed
; SEGundlarRef.Evp
; SEWideEyeRef.Evp
; SEThadonRef.Evp
; Set MealSetUp to 0
; Set SEGundlarRef.MealDone to 0
; Set MealServed to 1
; endif
; endif
; endif
; endif
;This moves Gundlar and WideEye to the feast at 20 in case they are at Level 2 or 3
if ( MoveGundlar == 0 )
if ( GetStage SE07B >= 30 ) && ( GetStage SE07B < 40 )
if ( GameHour >= 20 ) && ( GameHour < 21 )
if ( SEGundlarRef.GetInCell SENSHouseofMania == 0 )
SEGundlarRef.Moveto SE07BMealTimeMarker
Set SE07B.Serves to 1
SEGundlarRef.Evp
set MoveGundlar to 1
endif
endif
endif
endif
if ( MoveWideEye == 0 )
if ( GetStage SE07B >= 30 ) && ( GetStage SE07B < 40 )
if ( GameHour >= 20 ) && ( GameHour < 21 )
if ( SEWideEyeRef.GetInCell SENSHouseofMania == 0 )
SEWideEyeRef.Moveto SE07BMealTimeMarker
SEWideEyeRef.Evp
set MoveWideEye to 1
endif
endif
endif
endif
;This is a failsafe for people who don't go see Thadon die (which is beyond me).
if ( OffScreenKill == 0 )
if ( GetStage SE07B >= 30 ) && ( GetStage SE07B < 35 )
if ( GameHour >= 22 ) || ( DayServed < GameDaysPassed )
if ( Player.GetInCell SENSHouseofMania == 0 )
if ( Serves == 2 )
SetEssential SEThadon 0
SEThadonRef.Moveto SE07WEServingMarker
SEThadonRef.Kill
Set OffScreenKill to 1
endif
endif
endif
endif
endif
if ( OffScreenKill == 1 )
SEWideEyeRef.Evp
SEGundlarRef.Evp
Set OffScreenKill to 2
endif
;This is the distance check from Thadon's corpse that sets Stage 35 if OffScreenKill was in effect
if ( OffScreenKillSS == 0 )
if ( Player.GetDistance SEThadonRef < 500 )
if ( OffScreenKill >= 1 )
Set SEThadonRef.CleanUp to 0
SetStage SE07B 35
Set OffScreenKillSS to 1
endif
endif
endif
end |