aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/mod/scripts/vscripts/_viewcone.gnut
diff options
context:
space:
mode:
Diffstat (limited to 'Northstar.CustomServers/mod/scripts/vscripts/_viewcone.gnut')
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/_viewcone.gnut520
1 files changed, 520 insertions, 0 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/_viewcone.gnut b/Northstar.CustomServers/mod/scripts/vscripts/_viewcone.gnut
new file mode 100644
index 00000000..025c9dfd
--- /dev/null
+++ b/Northstar.CustomServers/mod/scripts/vscripts/_viewcone.gnut
@@ -0,0 +1,520 @@
+
+global function Viewcone_Init
+
+ //DEFAULT: if you don't set one - defaults to this one
+global function ViewConeRampFree
+
+//misc
+global function ViewConeZero
+global function ViewConeZeroInstant
+global function ViewConeNarrow
+global function ViewConeTight
+global function ViewConeSmall
+global function ViewConeWide
+global function ViewConeFreeLookingForward
+global function ViewConeLockedForward
+global function ViewConeTDay
+global function ViewConeTDayZero
+global function ViewConeFastball
+
+//run out ramp
+global function ViewConeRampFrontLeft
+global function ViewConeRampFrontRight
+global function ViewConeRampBackLeft
+global function ViewConeRampBackRight
+
+//droppod
+global function ViewConeDropPodFrontR
+global function ViewConeDropPodFrontL
+global function ViewConeDropPodBackR
+global function ViewConeDropPodBackL
+global function ViewConeDropPod
+
+//right side jump
+global function ViewConeSideRightStandFront
+global function ViewConeSideRightStandBack
+global function ViewConeSideRightSitFront
+global function ViewConeSideRightSitBack
+
+//right side jump - focus on hero
+global function ViewConeSideRightWithHeroStandFront
+global function ViewConeSideRightWithHeroStandBack
+global function ViewConeSideRightWithHeroSitFront
+global function ViewConeSideRightWithHeroSitBack
+
+//right side jump - locked 180 view forward
+global function ViewConeSideRightLockedForwardStandFront
+global function ViewConeSideRightLockedForwardSitFront
+global function ViewConeSideRightLockedForwardStandBack
+global function ViewConeSideRightLockedForwardSitBack
+
+global function ViewConeSpSpawn
+global function InitView
+
+//evac
+global function ViewConeFree
+
+global function IsViewConeCurrent
+
+void function Viewcone_Init()
+{
+ AddGlobalAnimEvent( "ViewConeZero", ViewConeZero )
+ AddGlobalAnimEvent( "ViewConeTight", ViewConeTight )
+ AddGlobalAnimEvent( "ViewConeDropPod", ViewConeDropPod )
+ AddGlobalAnimEvent( "ViewConeDropPodFrontR", ViewConeDropPodFrontR )
+ AddGlobalAnimEvent( "ViewConeDropPodFrontL", ViewConeDropPodFrontL )
+ AddGlobalAnimEvent( "ViewConeDropPodBackR", ViewConeDropPodBackR )
+ AddGlobalAnimEvent( "ViewConeDropPodBackL", ViewConeDropPodBackL )
+ AddGlobalAnimEvent( "ViewConeNarrow", ViewConeNarrow )
+ AddGlobalAnimEvent( "ViewConeSmall", ViewConeSmall )
+ AddGlobalAnimEvent( "ViewConeRampFrontLeft", ViewConeRampFrontLeft )
+ AddGlobalAnimEvent( "ViewConeRampFrontRight", ViewConeRampFrontRight )
+ AddGlobalAnimEvent( "ViewConeRampBackLeft", ViewConeRampBackLeft )
+ AddGlobalAnimEvent( "ViewConeRampBackRight", ViewConeRampBackRight )
+ AddGlobalAnimEvent( "ViewConeRampFree", ViewConeRampFree )
+ AddGlobalAnimEvent( "ViewConeFree", ViewConeFree )
+ AddGlobalAnimEvent( "ViewConeFreeLookingForward", ViewConeFreeLookingForward )
+ AddGlobalAnimEvent( "ViewConeTDay", ViewConeTDay )
+ AddGlobalAnimEvent( "ViewConeTDayZero", ViewConeTDayZero )
+}
+
+void function ViewConeZero( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( 0 )
+ player.PlayerCone_SetMaxYaw( 0 )
+ player.PlayerCone_SetMinPitch( 0 )
+ player.PlayerCone_SetMaxPitch( 0 )
+}
+
+void function ViewConeZeroInstant( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.0 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( 0 )
+ player.PlayerCone_SetMaxYaw( 0 )
+ player.PlayerCone_SetMinPitch( 0 )
+ player.PlayerCone_SetMaxPitch( 0 )
+}
+
+void function ViewConeTight( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( -15 )
+ player.PlayerCone_SetMaxYaw( 15 )
+ player.PlayerCone_SetMinPitch( -15 )
+ player.PlayerCone_SetMaxPitch( 15 )
+}
+
+void function ViewConeSmall( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( -38 )
+ player.PlayerCone_SetMaxYaw( 38 )
+ player.PlayerCone_SetMinPitch( -25 )
+ player.PlayerCone_SetMaxPitch( 25 )
+}
+
+void function ViewConeWide( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( -50 )
+ player.PlayerCone_SetMaxYaw( 50 )
+ player.PlayerCone_SetMinPitch( -35 )
+ player.PlayerCone_SetMaxPitch( 35 )
+}
+
+void function ViewConeDropPod( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( -70 )
+ player.PlayerCone_SetMaxYaw( 70 )
+ player.PlayerCone_SetMinPitch( -30 )
+ player.PlayerCone_SetMaxPitch( 30 )
+}
+
+const FRONTDIF = -75
+const BACKDIF = -30
+
+void function ViewConeDropPodFrontR( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ //range is 140
+ player.PlayerCone_SetMinYaw( -70 - FRONTDIF )
+ player.PlayerCone_SetMaxYaw( 70 - FRONTDIF )
+ player.PlayerCone_SetMinPitch( -30 )
+ player.PlayerCone_SetMaxPitch( 30 )
+}
+
+void function ViewConeDropPodFrontL( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ //range is 140
+ player.PlayerCone_SetMinYaw( -70 + FRONTDIF )
+ player.PlayerCone_SetMaxYaw( 70 + FRONTDIF )
+ player.PlayerCone_SetMinPitch( -30 )
+ player.PlayerCone_SetMaxPitch( 30 )
+}
+
+void function ViewConeDropPodBackR( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ //range is 140
+ player.PlayerCone_SetMinYaw( -70 - BACKDIF )
+ player.PlayerCone_SetMaxYaw( 70 - BACKDIF )
+ player.PlayerCone_SetMinPitch( -30 )
+ player.PlayerCone_SetMaxPitch( 30 )
+}
+
+void function ViewConeDropPodBackL( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ //range is 140
+ player.PlayerCone_SetMinYaw( -70 + BACKDIF )
+ player.PlayerCone_SetMaxYaw( 70 + BACKDIF )
+ player.PlayerCone_SetMinPitch( -30 )
+ player.PlayerCone_SetMaxPitch( 30 )
+}
+
+void function ViewConeNarrow( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( -60 )
+ player.PlayerCone_SetMaxYaw( 60 )
+ player.PlayerCone_SetMinPitch( -60 )
+ player.PlayerCone_SetMaxPitch( 60 )
+}
+
+void function ViewConeTDay( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 1.0 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( -30 )
+ player.PlayerCone_SetMaxYaw( 30 )
+ player.PlayerCone_SetMinPitch( 0 )
+ player.PlayerCone_SetMaxPitch( 30 )
+}
+
+void function ViewConeTDayZero( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 1.5 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( 0 )
+ player.PlayerCone_SetMaxYaw( 0 )
+ player.PlayerCone_SetMinPitch( 0 )
+ player.PlayerCone_SetMaxPitch( 0 )
+}
+
+void function ViewConeFastball( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( -25 )
+ player.PlayerCone_SetMaxYaw( 25 )
+ player.PlayerCone_SetMinPitch( -15 )
+ player.PlayerCone_SetMaxPitch( 15 )
+}
+
+void function ViewConeFreeLookingForward( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeFree( player )
+
+ thread InitView( player, 0, 180, ViewConeFreeLookingForward )
+}
+
+void function ViewConeSpSpawn( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+
+ player.PlayerCone_SetLerpTime( 0.25 )
+ player.PlayerCone_FromAnim()
+
+ player.PlayerCone_SetMinYaw( 125 )
+ player.PlayerCone_SetMaxYaw( 125 )
+ player.PlayerCone_SetMinPitch( 7 )
+ player.PlayerCone_SetMaxPitch( 7 )
+
+ thread InitView( player, 7, 125, ViewConeSpSpawn )
+}
+
+void function ViewConeSideRightLockedForwardStandFront( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeLockedForward( player )
+
+ thread InitView( player, 15, 20, ViewConeSideRightLockedForwardStandFront )
+}
+
+void function ViewConeSideRightLockedForwardSitFront( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeLockedForward( player )
+
+ thread InitView( player, 0, 50, ViewConeSideRightLockedForwardSitFront )
+}
+
+void function ViewConeSideRightLockedForwardStandBack( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeLockedForward( player )
+
+ thread InitView( player, 15, 45, ViewConeSideRightLockedForwardStandBack )
+}
+
+void function ViewConeSideRightLockedForwardSitBack( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeLockedForward( player )
+
+ thread InitView( player, 0, 50, ViewConeSideRightLockedForwardSitBack )
+}
+
+void function ViewConeSideRightWithHeroStandFront( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeFree( player )
+
+ thread InitView( player, 15, 20, ViewConeSideRightWithHeroStandFront )
+}
+
+void function ViewConeSideRightWithHeroSitFront( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeFree( player )
+
+ thread InitView( player, 0, 50, ViewConeSideRightWithHeroSitFront )
+}
+
+void function ViewConeSideRightWithHeroStandBack( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeFree( player )
+
+ thread InitView( player, 15, 45, ViewConeSideRightWithHeroStandBack )
+}
+
+void function ViewConeSideRightWithHeroSitBack( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeFree( player )
+
+ thread InitView( player, 0, 50, ViewConeSideRightWithHeroSitBack )
+}
+
+void function ViewConeSideRightStandFront( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeFree( player )
+
+ thread InitView( player, 30, -10, ViewConeSideRightStandFront )
+}
+
+void function ViewConeSideRightSitFront( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeFree( player )
+
+ thread InitView( player, 20, -20, ViewConeSideRightSitFront )
+}
+
+void function ViewConeSideRightStandBack( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeFree( player )
+
+ thread InitView( player, 30, 20, ViewConeSideRightStandBack )
+}
+
+void function ViewConeSideRightSitBack( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeFree( player )
+
+ thread InitView( player, 20, 35, ViewConeSideRightSitBack )
+}
+
+void function ViewConeRampFrontLeft( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeRampFree( player )
+
+ thread InitView( player, 5, 70, ViewConeRampFrontLeft )
+}
+
+void function ViewConeRampFrontRight( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeRampFree( player )
+
+ thread InitView( player, 5, -70, ViewConeRampFrontRight )
+}
+
+void function ViewConeRampBackLeft( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeRampFree( player )
+
+ thread InitView( player, 5, 100, ViewConeRampBackLeft )
+}
+
+void function ViewConeRampBackRight( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ ViewConeRampFree( player )
+
+ thread InitView( player, 5, -100, ViewConeRampBackRight )
+}
+
+void function ViewConeRampFree( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+
+ player.PlayerCone_SetMinYaw( -179 )
+ player.PlayerCone_SetMaxYaw( 181 )
+ player.PlayerCone_SetMinPitch( -30 )
+ player.PlayerCone_SetMaxPitch( 30 )
+}
+
+void function ViewConeLockedForward( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+
+ player.PlayerCone_SetMinYaw( -89 )
+ player.PlayerCone_SetMaxYaw( 81 )
+ player.PlayerCone_SetMinPitch( -30 )
+ player.PlayerCone_SetMaxPitch( 60 )
+}
+
+void function ViewConeFree( entity player )
+{
+ if ( !player.IsPlayer() )
+ return
+ player.PlayerCone_SetLerpTime( 0.5 )
+
+ player.PlayerCone_FromAnim()
+ player.PlayerCone_SetMinYaw( -179 )
+ player.PlayerCone_SetMaxYaw( 181 )
+ player.PlayerCone_SetMinPitch( -60 )
+ player.PlayerCone_SetMaxPitch( 60 )
+}
+
+void function InitView( entity player, int pitch, int yaw, void functionref( entity )callFunction )
+{
+ if ( !player.IsPlayer() )
+ return
+
+ //have we already init the viewcone from this function before
+ if ( IsViewConeCurrent( player, callFunction ) )
+ return
+
+ player.EndSignal( "OnDestroy" )
+
+ entity dropship = player.GetParent()
+
+ while( !dropship )
+ {
+ wait 0.05
+ dropship = player.GetParent()
+ }
+
+ for ( int i = 0; i < 5; i++ )
+ {
+ player.SetLocalAngles( Vector( pitch, yaw, 0 ) )
+ wait 0.1
+ }
+}
+
+bool function IsViewConeCurrent( entity actor, void functionref(entity ) func )
+{
+ entity player = actor
+
+ if ( !IsValid( player ) )
+ return false
+
+ Assert( player.IsPlayer() )
+
+ if ( player.p.currViewConeFunction == func )
+ return true
+
+ player.p.currViewConeFunction = func
+ return false
+}