Убежище
Убежище
Advertisement
Убежище

MQ11Script — технический файл, который относится к квесту «Забери его!» и который можно посмотреть в G.E.C.K..

Содержимое[]

Transcript

ScriptName MQ11Script


Scripting and vars for quest MQ11


Also used

ElderLyonsScript
MQ11LaunchLibertyPrimeScript




short LyonsSpeech ;var incremented during Elder Lyons' speech to the troops, used in quest MainQuestConversations
short SarahSpeech ;var incremented during Sarah's briefing to the Pride, used in quest MainQuestConversations
short SarahMoreTime ;var set if player says he's not ready to go; used for dialogue
short AutumnLeave ;var set if Autumn is talked out of fighting
short AutumnDead ;flag set if Autumn is killed
short Path ;var set in dialogue -- 1 for following Sarah, 2 for following robot
short IntercomSayTo ;flag set to trigger initial line from Intercom
short IntercomConv ;var incremented during intercom conversation in Project Purity, used in quest MainQuestConversations
short Code ;var set in dialogue; determines who's going into the chamber. 1 for player, 2 for Sarah. 3 if player refuses to give Sarah the code.
short IntConvInit ;flag set to start conversation between Sarah and Intercom
short Split ;flag set when player is supposed to leave Pride if in Tunnel. Used in dialogue conditions ****OLD****
short PrimeActivate ;flag set after Sarah's speech, activates Liberty Prime
short PresPASpeech ;var incremented during President's PA speech
short WallEnabled ;flag set when energy fields are enabled; used to check for player disabling them
short FieldsDisabled ;flag incremented as the player disables energy fields
short PrimeTest ;var used for scale test of Liberty Prime
short LDSarahLines ;ver used for tracking which lines sarah should say in topic MQ11LDSarahLines
short LDSequenceStart ;flag set when Sarah reaches Prime's location; used for starting the whole LD sequence]
short SarahPrimeLine ;flag set when Sarah says line to Activate Prime
short ChangedMind ;flag set if player changes mind after making decision about code; used for checking dialogue
short SarahVoiceVar ;flag incremented for lines in PPurity02
short PrimeVoiceStep ;flag incremented for Prime's lines at last gate
short cueMusic ;flag set to 1 during Prime sequence, set to 0 after final gate off. Handles action music perpetuation.
short SarahFollow ;flag set based on trigger outside PPurity entrance, used for keeping Sarah following player before going in



short IntercomTimedLines ;flag incremented as intercom counts down the amount of time left before exploding

short LineTest ;test var used for checking Prime SayTos


following variables are handled in MQ11PPurityControlPanelScript



short EndTimerInit ;flag set when EndTimer starts running; set in dialogue with Sarah
float EndTimer ;var used for timer at end of sequence -- controls whether the purifier blows up before putting code in

float HoldTimer ;timer var used to keep player locked in place at beginning of quest

Begin GameMode

Do the whole "whee, Liberty Prime works!" thing


if ( PrimeActivate == 1 )
ScribeRothchildRef.PlayIdle UseOpenTerminalStanding
set PrimeActivate to 2
MQ11LibertyPrimeCraneRef.Enable
MQ11BaileyMasterEnableRef.Disable
PrimeElevatorRef.playgroup forward 0
PrimeBlastDoorsRef.playgroup forward 0
PrimeKlax01.playgroup left 0
PrimeKlaxLight01.playgroup left 0
PrimeKlax02.playgroup left 0
PrimeKlaxLight02.playgroup left 0
MQ01SarahRef.EVP
MQ01VargasRef.EVP
PaladinKodiakRef.EVP
PaladinGladeRef.EVP
KnightCaptainGallowsRef.EVP
set HoldTimer to 25
CitadelPrimeVoiceEmitterRef.Say MQ11PrimeActivationLine
endif

release player controls after a few seconds, so he has a chance to watch Prime activating


if ( PrimeActivate == 2 )
if ( HoldTimer <= 0 )
EnablePlayerControls
ScribeRothchildRef.PlayIdle LooseScientistInspectTerminalB
if ( GetStage MQ09 < 200 )
SetStage MQ09 200
endif
SetStage MQ11 30

set PrimeActivate to -1
else
set HoldTimer to ( HoldTimer - GetSecondsPassed )
endif
endif


During Prime sequence, check player's distance from the robot.
If he gets too far away, stop Sarah from following him


if ( GetStage MQ11 == 30 )
if ( MQ01SarahRef.MQ11SarahTravel == 2 )
if ( MQ01SarahRef.MQ11Follow == 1 )
if ( Player.GetDistance MQ11LDPrimeREF >= 15000 )
Set MQ01SarahRef.MQ11Follow to 0
MQ01SarahRef.EVP
endif

...and start her following again if the player comes back


elseif ( MQ01SarahRef.MQ11Follow == 0 )
if ( Player.GetDistance MQ11LDPrimeRef < 15000 )
Set MQ01SarahRef.MQ11Follow to 1
MQ01SarahRef.EVP
endif
endif
endif
endif


Loop to perpetuate action/battle music during Liberty Prime Sequence


if getStage MQ11LD >= 10 && cueMusic == 0 ; Prime's been deployed; begin the music
set cueMusic to 1
endif


if cueMusic == 1 && getStage MQ11LD < 50  ; Music has been cued
if MQ11LD.PCisAway == 0 ; ensure that player is neary (<= 4000u from Prime)
playMusic defaultBattle ; calling every frame to ensure it remains queued.
endif
elseif cueMusic == 1 && getStage MQ11LD >= 50 ; Prime has shut down final gate - cut the music
set cueMusic to 2 ; let current battle track finish naturally
endif


End

Advertisement