Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.47 KB | None | 0 0
  1. void function EjectionSequence( entity player )
  2. {
  3. Remote_CallFunction_Replay( player, "ServerCallback_SetDOF", 600, 900, 1.0 )
  4.  
  5. entity core = GetEntByScriptName( "core_origin" )
  6. vector coreOrigin = core.GetOrigin()
  7. entity coreMover = CreateScriptMover( coreOrigin, <0,0,0> )
  8.  
  9. entity glowFX = StartParticleEffectOnEntity_ReturnEntity( coreMover, GetParticleSystemIndex( CORE_GLOW_ON_FX ), FX_PATTACH_ABSORIGIN_FOLLOW, 0 )
  10. entity runHurtTrigger = GetEntByScriptName( "sculptor_bottom_trigger" )
  11. runHurtTrigger.Disable()
  12.  
  13. entity sequenceRef = GetEntByScriptName( "injector_room_sequence_ref" )
  14.  
  15. player.SetInvulnerable()
  16.  
  17. entity injector = GetEntByScriptName( "injector_gun" )
  18.  
  19. entity animRef = CreateScriptMover( sequenceRef.GetOrigin(), sequenceRef.GetAngles(), 0 )
  20.  
  21.  
  22. FlagWait( "BliskFarewellRadioPlayDone" )
  23.  
  24. CheckPoint_ForcedSilent()
  25.  
  26. SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.BEGIN_PROTOCOLS )
  27.  
  28. wait 2.0
  29.  
  30. thread PlayDialogue( "BT_SACRIFICE_4", player )
  31.  
  32. 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
  33.  
  34. file.lastActionTime = Time()
  35. thread BTNags( player )
  36. SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.COMPLETE_PROTOCOL_1 )
  37. Objective_SetSilent( "#SKYWAY_OBJECTIVE_LOAD_BT" )
  38. thread RemindObjective( "MissionFailAfterDelay", 8.0 )
  39. thread KeepShowingStickHint( player )
  40. thread MissionFailAfterDelay( player, 25, 5 )
  41. while( player.GetInputAxisForward() < 0.2 )
  42. WaitFrame()
  43. player.Signal( "MissionFailAfterDelay" )
  44. Signal( level, "MissionFailAfterDelay" )
  45. SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.GOT_PLAYER_INPUT )
  46.  
  47. delaythread( 2 ) BTSacrificeDialogue( player )
  48.  
  49. Remote_CallFunction_Replay( player, "ServerCallback_StopCockpitLook" )
  50.  
  51. player.GetFirstPersonProxy().SetSkin( 3 )
  52.  
  53. Remote_CallFunction_Replay( player, "ServerCallback_SetDOF", 600, 900, 1.0 )
  54.  
  55. FirstPersonSequenceStruct sequenceBliskCardThrowGetup
  56. sequenceBliskCardThrowGetup.blendTime = 1.0
  57. sequenceBliskCardThrowGetup.attachment = "ref"
  58. sequenceBliskCardThrowGetup.firstPersonAnim = "btpov_skyway_core_railgun_get_up"
  59. sequenceBliskCardThrowGetup.thirdPersonAnim = "bt_skyway_core_railgun_get_up"
  60. sequenceBliskCardThrowGetup.viewConeFunction = ViewConeZero
  61. waitthread FirstPersonSequence( sequenceBliskCardThrowGetup, player, animRef )
  62.  
  63. int pt = 1
  64. int maxPt = 8
  65.  
  66. for ( int i=pt; i<=maxPt; i++ )
  67. {
  68. file.lastPlayerActionTime = Time() + 3.0
  69.  
  70. FirstPersonSequenceStruct btSequence
  71. btSequence.firstPersonAnim = "btpov_skyway_core_walk_to_railgun_pt" + pt
  72. btSequence.thirdPersonAnim = "bt_skyway_core_walk_to_railgun_pt" + pt
  73. btSequence.blendTime = 0.2
  74. btSequence.attachment = "ref"
  75. btSequence.viewConeFunction = ViewConeTight
  76. waitthread FirstPersonSequence( btSequence, player, animRef )
  77.  
  78. CreateShake( player.GetOrigin(), 6, 150, 0.75, 8000 ).kv.spawnflags = 4 // SF_SHAKE_INAIR
  79.  
  80. FirstPersonSequenceStruct btSequenceIdle
  81. btSequenceIdle.firstPersonAnim = "btpov_skyway_core_walk_to_railgun_pt" + pt + "_idle"
  82. btSequenceIdle.thirdPersonAnim = "bt_skyway_core_walk_to_railgun_pt" + pt + "_idle"
  83. btSequenceIdle.blendTime = 0.2
  84. btSequenceIdle.attachment = "ref"
  85. btSequenceIdle.viewConeFunction = ViewConeTight
  86. thread FirstPersonSequence( btSequenceIdle, player, animRef )
  87.  
  88. thread MissionFailAfterDelay( player, 2, 5 )
  89. while( player.GetInputAxisForward() < 0.2 )
  90. WaitFrame()
  91. player.Signal( "MissionFailAfterDelay" )
  92.  
  93. pt++
  94. }
  95.  
  96. delaythread( 3 ) Remote_CallFunction_Replay( player, "ServerCallback_SetDOF", 100.0, 2000.0, 1.0 )
  97. SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.COMPLETE_PROTOCOL_2 )
  98.  
  99. pt = 1
  100. maxPt = 6
  101.  
  102. for ( int i=pt; i<maxPt; i++ )
  103. {
  104. file.lastPlayerActionTime = Time() + 3.0
  105.  
  106. thread PlayAnim( injector, "skyway_core_railgun_bt_enter_short_pt" + pt, animRef )
  107.  
  108. FirstPersonSequenceStruct btSequence
  109. btSequence.firstPersonAnim = "btpov_skyway_core_railgun_climb_short_pt" + pt
  110. btSequence.thirdPersonAnim = "bt_skyway_core_railgun_climb_short_pt" + pt
  111. btSequence.blendTime = 0.2
  112. btSequence.attachment = "ref"
  113. btSequence.viewConeFunction = ViewConeTight
  114. waitthread FirstPersonSequence( btSequence, player, animRef )
  115.  
  116. FirstPersonSequenceStruct btSequenceIdle
  117. btSequenceIdle.firstPersonAnim = "btpov_skyway_core_railgun_climb_short_pt" + pt + "_idle"
  118. btSequenceIdle.thirdPersonAnim = "bt_skyway_core_railgun_climb_short_pt" + pt + "_idle"
  119. btSequenceIdle.blendTime = 0.2
  120. btSequenceIdle.attachment = "ref"
  121. btSequenceIdle.viewConeFunction = ViewConeTight
  122. thread FirstPersonSequence( btSequenceIdle, player, animRef )
  123.  
  124. thread MissionFailAfterDelay( player, 2, 5 )
  125. while( player.GetInputAxisForward() < 0.2 )
  126. WaitFrame()
  127. player.Signal( "MissionFailAfterDelay" )
  128.  
  129. pt++
  130. }
  131.  
  132. FlagSet( "BTSacrificeEnteredInjector" )
  133. Objective_Clear()
  134.  
  135. // pt should be maxPt
  136. delaythread( 13 ) Remote_CallFunction_Replay( player, "ServerCallback_GlowFlash", 2.0, 1 )
  137. delaythread( 3 ) Remote_CallFunction_Replay( player, "ServerCallback_SetDOF", 2000.0, 3000.0, 1.0 )
  138. EmitSoundOnEntity( player, "skyway_scripted_injector_bt_load_injector_start" )
  139. thread PlayAnim( injector, "skyway_core_railgun_bt_enter_short_pt" + pt, animRef )
  140. FirstPersonSequenceStruct btSequence
  141. btSequence.firstPersonAnim = "btpov_skyway_core_railgun_climb_short_pt" + pt
  142. btSequence.thirdPersonAnim = "bt_skyway_core_railgun_climb_short_pt" + pt
  143. btSequence.blendTime = 0.0
  144. btSequence.attachment = "ref"
  145. btSequence.viewConeFunction = ViewConeTight
  146. waitthread FirstPersonSequence( btSequence, player, animRef )
  147.  
  148. SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.BEGIN_PROTOCOL_3 )
  149.  
  150. FirstPersonSequenceStruct btSequenceIdle
  151. btSequenceIdle.firstPersonAnim = "btpov_skyway_core_railgun_climb_idle"
  152. btSequenceIdle.thirdPersonAnim = "bt_skyway_core_railgun_climb_idle"
  153. btSequenceIdle.blendTime = 0.0
  154. btSequenceIdle.attachment = "ref"
  155. btSequenceIdle.useAnimatedRefAttachment = true
  156. btSequenceIdle.viewConeFunction = ViewConeTight
  157. thread FirstPersonSequence( btSequenceIdle, player, animRef )
  158.  
  159. // FlagWait( "BTMemorySequenceDone" )
  160.  
  161. delaythread( 1 ) InjectorLightUp( player, 0.75, true )
  162. delaythread( 5 ) StopMusicTrack( "music_skyway_18_backblast" )
  163. delaythread( 2 ) PlayMusic( "music_skyway_19_btinplace" )
  164. AddConversationCallback( "BT_Sacrifice", ConvoCallback_BTReunion )
  165. thread PlayerConversation( "BT_Sacrifice", player )
  166.  
  167. table result = WaitSignal( svGlobal.levelEnt, "BT_Returns_ChoiceMade" )
  168. thread BT_Sacrifice_PlayFollowupDialogue( player, expect int( result.choice ) )
  169.  
  170. if ( result.choice == 0 )
  171. {
  172. waitthread PlayDialogue( "diag_sp_extra_GB101_95_03_mcor_bt", player )
  173. wait 0.5
  174. waitthread PlayDialogue( "diag_sp_extra_GB101_94_01_mcor_bt", player )
  175. }
  176. FlagSet( "InjectorConversationDone" )
  177.  
  178. FlagWait( "InjectorReadyToFire" )
  179.  
  180. EmitSoundOnEntity( player, "skyway_scripted_injector_shoot_bt" )
  181. SyncRingsToGunShot()
  182. ViewConeZero( player )
  183. SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.COMPLETE_PROTOCOL_3 )
  184. wait 1.5
  185. level.nv.coreSoundActive = 0
  186. Remote_CallFunction_Replay( player, "ServerCallback_ResetDOF" )
  187. CreateShake( player.GetOrigin(), 6, 150, 4, 800000 ).kv.spawnflags = 4 // SF_SHAKE_INAIR
  188. Remote_CallFunction_Replay( player, "ServerCallback_InjectorFireScreenFX" )
  189.  
  190. entity scriptRef = GetEntByScriptName( "bt_in_barrel" )
  191. //Create a mover and parent the player to the mover
  192. entity mover = CreateScriptMover( scriptRef.GetOrigin(), scriptRef.GetAngles(), 0 )
  193. mover.DisableHibernation()
  194. mover.SetPusher( true )
  195. animRef.SetParent( mover )
  196.  
  197. mover.NonPhysicsMoveTo( coreOrigin - < 0, 0, 256 > , 12, 0, 4.0 )
  198.  
  199. wait 3.4
  200.  
  201. // ScreenFadeToBlackForever( player, 0.2 )
  202. // wait 0.2
  203. // ScreenFadeFromBlack( player, 0.2 )
  204. thread FlashWhite( player, 0.2, 0.4, 155.0 )
  205. wait 0.1
  206.  
  207. //Eject the player
  208. player.ClearParent()
  209.  
  210. //Don't Fail Mission When BT Dies
  211. FlagSet( "TitanDeathPenalityDisabled" )
  212.  
  213. TitanSkipsDeathOnEject( player )
  214. SetGlobalNetInt( "titanRebootPhase", skywayTitanCockpitStatus.END )
  215. player.FreezeControlsOnServer()
  216. player.Server_SetDodgePower( 100.0 )
  217. player.SetDodgePowerDelayScale( 1.0 )
  218. player.SetPowerRegenRateScale( 1.0 )
  219. player.SetGroundFrictionScale( 0 )
  220.  
  221. waitthread BTThrowsPlayer( player, mover )
  222. RemoveCinematicFlag( player, CE_FLAG_TITAN_3P_CAM )
  223.  
  224. wait( .25 )
  225.  
  226. //vector shotDir = Normalize( coreOrigin - scriptRef.GetOrigin() )
  227. //CreateRockBurst(coreOrigin, 5, 0, shotDir, 45, 2000, "", 5)
  228.  
  229. wait( 2 )
  230. player.UnfreezeControlsOnServer()
  231. FlagSet( "BTSacrifice_BTExplodes" )
  232.  
  233. level.nv.coreSoundActive = 3
  234.  
  235. EffectStop( glowFX )
  236. FlagSet( "rising_world_core_FX" )
  237. thread BTSacrifice_BTExplodesFX( player, coreOrigin )
  238.  
  239. entity landTarget = GetEntByScriptName( "rising_world_run" )
  240. //RedirectPlayerForceToTarget( "", landTarget, 5 )
  241. vector velocity = GetPlayerVelocityForDestOverTime( player.GetOrigin(), landTarget.GetOrigin(), 9.00 ) //10.10
  242. player.SetVelocity( velocity )
  243. player.SetGroundFrictionScale( 1.0 )
  244. thread NoAirControl( player )
  245.  
  246. delaythread( 6 ) PlayDialogue( "RWR_1", player )
  247.  
  248. wait( 5.0 )
  249.  
  250. FlagSet( "PreLandingAreaRise" )
  251.  
  252. array<entity> chunks = GetEntArrayByScriptName( "start_chunk_flyby" )
  253. foreach( c in chunks )
  254. c.Show()
  255.  
  256. wait( 1.0 )
  257.  
  258. FlagSet( "StartLandingAreaRise" )
  259.  
  260. entity trigger = GetEntByScriptName( "rising_world_run_landing_trig" )
  261. trigger.WaitSignal( "OnTrigger" )
  262.  
  263. coreMover.Destroy()
  264. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement