Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void function EjectionSequence( entity player )
- {
- Remote_CallFunction_Replay( player, "ServerCallback_SetDOF", 600, 900, 1.0 )
- entity core = GetEntByScriptName( "core_origin" )
- vector coreOrigin = core.GetOrigin()
- entity coreMover = CreateScriptMover( coreOrigin, <0,0,0> )
- entity glowFX = StartParticleEffectOnEntity_ReturnEntity( coreMover, GetParticleSystemIndex( CORE_GLOW_ON_FX ), FX_PATTACH_ABSORIGIN_FOLLOW, 0 )
- entity runHurtTrigger = GetEntByScriptName( "sculptor_bottom_trigger" )
- runHurtTrigger.Disable()
- entity sequenceRef = GetEntByScriptName( "injector_room_sequence_ref" )
- player.SetInvulnerable()
- entity injector = GetEntByScriptName( "injector_gun" )
- entity animRef = CreateScriptMover( sequenceRef.GetOrigin(), sequenceRef.GetAngles(), 0 )
- FlagWait( "BliskFarewellRadioPlayDone" )
- CheckPoint_ForcedSilent()
- SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.BEGIN_PROTOCOLS )
- wait 2.0
- thread PlayDialogue( "BT_SACRIFICE_4", player )
- wait 11.0 // can't reliably wait for the previous line to end since it has some echoey bits what we don't want to wait for
- file.lastActionTime = Time()
- thread BTNags( player )
- SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.COMPLETE_PROTOCOL_1 )
- Objective_SetSilent( "#SKYWAY_OBJECTIVE_LOAD_BT" )
- thread RemindObjective( "MissionFailAfterDelay", 8.0 )
- thread KeepShowingStickHint( player )
- thread MissionFailAfterDelay( player, 25, 5 )
- while( player.GetInputAxisForward() < 0.2 )
- WaitFrame()
- player.Signal( "MissionFailAfterDelay" )
- Signal( level, "MissionFailAfterDelay" )
- SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.GOT_PLAYER_INPUT )
- delaythread( 2 ) BTSacrificeDialogue( player )
- Remote_CallFunction_Replay( player, "ServerCallback_StopCockpitLook" )
- player.GetFirstPersonProxy().SetSkin( 3 )
- Remote_CallFunction_Replay( player, "ServerCallback_SetDOF", 600, 900, 1.0 )
- FirstPersonSequenceStruct sequenceBliskCardThrowGetup
- sequenceBliskCardThrowGetup.blendTime = 1.0
- sequenceBliskCardThrowGetup.attachment = "ref"
- sequenceBliskCardThrowGetup.firstPersonAnim = "btpov_skyway_core_railgun_get_up"
- sequenceBliskCardThrowGetup.thirdPersonAnim = "bt_skyway_core_railgun_get_up"
- sequenceBliskCardThrowGetup.viewConeFunction = ViewConeZero
- waitthread FirstPersonSequence( sequenceBliskCardThrowGetup, player, animRef )
- int pt = 1
- int maxPt = 8
- for ( int i=pt; i<=maxPt; i++ )
- {
- file.lastPlayerActionTime = Time() + 3.0
- FirstPersonSequenceStruct btSequence
- btSequence.firstPersonAnim = "btpov_skyway_core_walk_to_railgun_pt" + pt
- btSequence.thirdPersonAnim = "bt_skyway_core_walk_to_railgun_pt" + pt
- btSequence.blendTime = 0.2
- btSequence.attachment = "ref"
- btSequence.viewConeFunction = ViewConeTight
- waitthread FirstPersonSequence( btSequence, player, animRef )
- CreateShake( player.GetOrigin(), 6, 150, 0.75, 8000 ).kv.spawnflags = 4 // SF_SHAKE_INAIR
- FirstPersonSequenceStruct btSequenceIdle
- btSequenceIdle.firstPersonAnim = "btpov_skyway_core_walk_to_railgun_pt" + pt + "_idle"
- btSequenceIdle.thirdPersonAnim = "bt_skyway_core_walk_to_railgun_pt" + pt + "_idle"
- btSequenceIdle.blendTime = 0.2
- btSequenceIdle.attachment = "ref"
- btSequenceIdle.viewConeFunction = ViewConeTight
- thread FirstPersonSequence( btSequenceIdle, player, animRef )
- thread MissionFailAfterDelay( player, 2, 5 )
- while( player.GetInputAxisForward() < 0.2 )
- WaitFrame()
- player.Signal( "MissionFailAfterDelay" )
- pt++
- }
- delaythread( 3 ) Remote_CallFunction_Replay( player, "ServerCallback_SetDOF", 100.0, 2000.0, 1.0 )
- SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.COMPLETE_PROTOCOL_2 )
- pt = 1
- maxPt = 6
- for ( int i=pt; i<maxPt; i++ )
- {
- file.lastPlayerActionTime = Time() + 3.0
- thread PlayAnim( injector, "skyway_core_railgun_bt_enter_short_pt" + pt, animRef )
- FirstPersonSequenceStruct btSequence
- btSequence.firstPersonAnim = "btpov_skyway_core_railgun_climb_short_pt" + pt
- btSequence.thirdPersonAnim = "bt_skyway_core_railgun_climb_short_pt" + pt
- btSequence.blendTime = 0.2
- btSequence.attachment = "ref"
- btSequence.viewConeFunction = ViewConeTight
- waitthread FirstPersonSequence( btSequence, player, animRef )
- FirstPersonSequenceStruct btSequenceIdle
- btSequenceIdle.firstPersonAnim = "btpov_skyway_core_railgun_climb_short_pt" + pt + "_idle"
- btSequenceIdle.thirdPersonAnim = "bt_skyway_core_railgun_climb_short_pt" + pt + "_idle"
- btSequenceIdle.blendTime = 0.2
- btSequenceIdle.attachment = "ref"
- btSequenceIdle.viewConeFunction = ViewConeTight
- thread FirstPersonSequence( btSequenceIdle, player, animRef )
- thread MissionFailAfterDelay( player, 2, 5 )
- while( player.GetInputAxisForward() < 0.2 )
- WaitFrame()
- player.Signal( "MissionFailAfterDelay" )
- pt++
- }
- FlagSet( "BTSacrificeEnteredInjector" )
- Objective_Clear()
- // pt should be maxPt
- delaythread( 13 ) Remote_CallFunction_Replay( player, "ServerCallback_GlowFlash", 2.0, 1 )
- delaythread( 3 ) Remote_CallFunction_Replay( player, "ServerCallback_SetDOF", 2000.0, 3000.0, 1.0 )
- EmitSoundOnEntity( player, "skyway_scripted_injector_bt_load_injector_start" )
- thread PlayAnim( injector, "skyway_core_railgun_bt_enter_short_pt" + pt, animRef )
- FirstPersonSequenceStruct btSequence
- btSequence.firstPersonAnim = "btpov_skyway_core_railgun_climb_short_pt" + pt
- btSequence.thirdPersonAnim = "bt_skyway_core_railgun_climb_short_pt" + pt
- btSequence.blendTime = 0.0
- btSequence.attachment = "ref"
- btSequence.viewConeFunction = ViewConeTight
- waitthread FirstPersonSequence( btSequence, player, animRef )
- SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.BEGIN_PROTOCOL_3 )
- FirstPersonSequenceStruct btSequenceIdle
- btSequenceIdle.firstPersonAnim = "btpov_skyway_core_railgun_climb_idle"
- btSequenceIdle.thirdPersonAnim = "bt_skyway_core_railgun_climb_idle"
- btSequenceIdle.blendTime = 0.0
- btSequenceIdle.attachment = "ref"
- btSequenceIdle.useAnimatedRefAttachment = true
- btSequenceIdle.viewConeFunction = ViewConeTight
- thread FirstPersonSequence( btSequenceIdle, player, animRef )
- // FlagWait( "BTMemorySequenceDone" )
- delaythread( 1 ) InjectorLightUp( player, 0.75, true )
- delaythread( 5 ) StopMusicTrack( "music_skyway_18_backblast" )
- delaythread( 2 ) PlayMusic( "music_skyway_19_btinplace" )
- AddConversationCallback( "BT_Sacrifice", ConvoCallback_BTReunion )
- thread PlayerConversation( "BT_Sacrifice", player )
- table result = WaitSignal( svGlobal.levelEnt, "BT_Returns_ChoiceMade" )
- thread BT_Sacrifice_PlayFollowupDialogue( player, expect int( result.choice ) )
- if ( result.choice == 0 )
- {
- waitthread PlayDialogue( "diag_sp_extra_GB101_95_03_mcor_bt", player )
- wait 0.5
- waitthread PlayDialogue( "diag_sp_extra_GB101_94_01_mcor_bt", player )
- }
- FlagSet( "InjectorConversationDone" )
- FlagWait( "InjectorReadyToFire" )
- EmitSoundOnEntity( player, "skyway_scripted_injector_shoot_bt" )
- SyncRingsToGunShot()
- ViewConeZero( player )
- SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.COMPLETE_PROTOCOL_3 )
- wait 1.5
- level.nv.coreSoundActive = 0
- Remote_CallFunction_Replay( player, "ServerCallback_ResetDOF" )
- CreateShake( player.GetOrigin(), 6, 150, 4, 800000 ).kv.spawnflags = 4 // SF_SHAKE_INAIR
- Remote_CallFunction_Replay( player, "ServerCallback_InjectorFireScreenFX" )
- entity scriptRef = GetEntByScriptName( "bt_in_barrel" )
- //Create a mover and parent the player to the mover
- entity mover = CreateScriptMover( scriptRef.GetOrigin(), scriptRef.GetAngles(), 0 )
- mover.DisableHibernation()
- mover.SetPusher( true )
- animRef.SetParent( mover )
- mover.NonPhysicsMoveTo( coreOrigin - < 0, 0, 256 > , 12, 0, 4.0 )
- wait 3.4
- // ScreenFadeToBlackForever( player, 0.2 )
- // wait 0.2
- // ScreenFadeFromBlack( player, 0.2 )
- thread FlashWhite( player, 0.2, 0.4, 155.0 )
- wait 0.1
- //Eject the player
- player.ClearParent()
- //Don't Fail Mission When BT Dies
- FlagSet( "TitanDeathPenalityDisabled" )
- TitanSkipsDeathOnEject( player )
- SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.END )
- player.FreezeControlsOnServer()
- player.Server_SetDodgePower( 100.0 )
- player.SetDodgePowerDelayScale( 1.0 )
- player.SetPowerRegenRateScale( 1.0 )
- player.SetGroundFrictionScale( 0 )
- waitthread BTThrowsPlayer( player, mover )
- RemoveCinematicFlag( player, CE_FLAG_TITAN_3P_CAM )
- wait( .25 )
- //vector shotDir = Normalize( coreOrigin - scriptRef.GetOrigin() )
- //CreateRockBurst(coreOrigin, 5, 0, shotDir, 45, 2000, "", 5)
- wait( 2 )
- player.UnfreezeControlsOnServer()
- FlagSet( "BTSacrifice_BTExplodes" )
- level.nv.coreSoundActive = 3
- EffectStop( glowFX )
- FlagSet( "rising_world_core_FX" )
- thread BTSacrifice_BTExplodesFX( player, coreOrigin )
- entity landTarget = GetEntByScriptName( "rising_world_run" )
- //RedirectPlayerForceToTarget( "", landTarget, 5 )
- vector velocity = GetPlayerVelocityForDestOverTime( player.GetOrigin(), landTarget.GetOrigin(), 9.00 ) //10.10
- player.SetVelocity( velocity )
- player.SetGroundFrictionScale( 1.0 )
- thread NoAirControl( player )
- delaythread( 6 ) PlayDialogue( "RWR_1", player )
- wait( 5.0 )
- FlagSet( "PreLandingAreaRise" )
- array<entity> chunks = GetEntArrayByScriptName( "start_chunk_flyby" )
- foreach( c in chunks )
- c.Show()
- wait( 1.0 )
- FlagSet( "StartLandingAreaRise" )
- entity trigger = GetEntByScriptName( "rising_world_run_landing_trig" )
- trigger.WaitSignal( "OnTrigger" )
- coreMover.Destroy()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement