SCTX |
scn SE02QuestScript
;Actors:
;SESheldenScript -- runs the talking about Orcs scene
;SEFelasSarandasScript -- ends the talking about Orcs scene if attacked by player
;SEJayredIceVeinsScript -- package handling, wait/follow toggle, and dialog handling
;SERelmynaVerenimScript -- runs the spying on Gatekeeper and Sorceress scene (also has scripting for SE09)
;SEGatekeeperScript -- scripted for "leash" behavior to allow player a chance to run away, and adds the keys on death and sets stage
;SE02OrcCaptainScript -- runs the Orc attack on the Gatekeeper scene
;SE02OrcAdventurerScript -- on death of Orc Adventurers trigger the spectators to say something
;Objects
;SE02MaidenTearsEffectScript -- the spell effect that hurts the Gatekeeper
;OBSOLETE SE02NanettesBookScript -- when player adds this it sets quest stage
;SE02GatesKeysScript -- sets stage when you pick up both keys
;SEGatesOfMadnessDoorScript
;"Meta stages" and "Meta Active Quest" help me conditionalize dialog and quest tagets in overlapping branches
short metaStageArrows ;this holds a value of the current "quest stage" for the Arrows branch... set by results fields in SE02 Stages
short metaStageTears ;this holds a value of the current "quest stage" for the Tears branch... set by results fields in SE02 Stages
short metaActiveQuest 0 = not set or both, 1 = arrows, 2 = tears -- used to "turn on and off" the branches so only one set QTs are up at once
short JayredWillEscort ;used as condition on package
short orcSpectate ;0 = not set, 1 = NPCs should go watch the orcs get killed by the Gatekeeper scene ;set In SESheldenScript and SEFelasSarandasScript
short NanetteSecretTears ;used as a condition for a "I'm done talking to you" dialog choice... I prevent the player from leaving dialog until he has heard all of Nanette's secrets about the Sorceress
short NanetteSecretJayred ;OBSOLETE used as a condition for a "I'm done talking to you" dialog choice... I prevent the player from leaving dialog until he has heard all of Nanette's secrets about the Sorceress
short JayredGardens ;used as as a topic block condition (Jayred won't display the Gardens topic until the player has talked to him about the Gatekeeper topic)
short haskillGreet ;used to summon Haskill after getting keys from Gatekeeper
short pickedDoor ;used when giving player power for going through a madness door. He only gets one power for the first door he goes thru - see SEGatesOfMadnessDoorScript
;GATEKEEPER
;there are multiple "levels" of Gatekeeper, these are originally disabled in the world (near the Gates of Madness).
;Since he needs to process in low so we aren't pulling from a list
ref GatekeeperRef ;holds the reference to the actual Gatekeeper the player will fight
short whichGatekeeper ;1, 2, 3, 4, 5, 6, 7, 8 -- used on quest target conditions to point to each Gatekeeper
;SHEOGORATH SPEECH
short SpeechVAR
Begin GameMode
if getStage SE02 < 22
if getStageDone SE02 20 == 1 && getStageDone SE02 21 == 1
setStage SE02 22
endif
endif
if getStage SE02 >= 150
if getStage SE02 < 162
if player.getItemCount SE02KeyToMania > 0
if player.getItemCount SE02KeyToDementia > 0
;player has both
setStage SE02 162
else
;player has just mania key
setStage SE02 160
endif
elseif player.getItemCount SE02KeyToDementia > 0
;player only has the key to dementia
setStage SE02 161
endif
endif
endif
if getStage SE02 >= 160
if haskillGreet == 0
SEHaskillRef.Moveto player
SEHaskillRef.look player
SEHaskillRef.pme STRP 5
set haskillGreet to 1
SEHaskillRef.evp
elseif haskillGreet == 2 ;set in dialog
;set variables on Haskill to make him disappear as if he was summoned
set SEHaskillRef.summoned to 1
set SEHaskillRef.summontimer to 5
set SEHaskillRef.summonblocker to 0
set haskillGreet to 3
endif
endif
if getStage SE02 < 190
if player.getInCell SEGatesOfMadness == 1
setStage SE02 190
endif
endif
End |