init
This commit is contained in:
16
animscripts/traverse/berlin_jumpdown_28.gsc
Normal file
16
animscripts/traverse/berlin_jumpdown_28.gsc
Normal file
@ -0,0 +1,16 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %berlin_traverse_jumpdown_28;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
42
animscripts/traverse/carrier_ladder_up_fast_exit.gsc
Normal file
42
animscripts/traverse/carrier_ladder_up_fast_exit.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
if ( isdefined( self.type ) && self.type == "dog" )
|
||||
return;
|
||||
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = %carrier_deck_tilt_ladder_climbup;
|
||||
var_1 = %carrier_deck_tilt_ladder_exit_hesh;
|
||||
var_2 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_2.angles[1] );
|
||||
var_3 = 1;
|
||||
|
||||
if ( isdefined( self.moveplaybackrate ) )
|
||||
var_3 = self.moveplaybackrate;
|
||||
|
||||
self setflaggedanimknoballrestart( "climbanim", var_0, %body, 1, 0.1, var_3 );
|
||||
var_4 = getmovedelta( var_1, 0, 1 );
|
||||
var_5 = self getnegotiationendnode();
|
||||
var_6 = var_5.origin - var_4 + ( 0, 0, 1 );
|
||||
var_7 = getmovedelta( var_0, 0, 1 );
|
||||
var_8 = var_7[2] * var_3 / getanimlength( var_0 );
|
||||
var_9 = ( var_6[2] - self.origin[2] ) / var_8;
|
||||
|
||||
if ( var_9 > 0 )
|
||||
{
|
||||
self.allowpain = 1;
|
||||
animscripts\notetracks::donotetracksfortime( var_9, "climbanim" );
|
||||
self setflaggedanimknoballrestart( "climbanim", var_1, %body, 1, 0.1, var_3 );
|
||||
animscripts\shared::donotetracks( "climbanim" );
|
||||
}
|
||||
|
||||
self traversemode( "gravity" );
|
||||
self.a.movement = "run";
|
||||
}
|
18
animscripts/traverse/crawl.gsc
Normal file
18
animscripts/traverse/crawl.gsc
Normal file
@ -0,0 +1,18 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
animscripts\setposemovement::pronerun_begin();
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
self setflaggedanimknoballrestart( "crawlanim", %prone_crawl, %body, 1, 0.1, 1 );
|
||||
animscripts\shared::donotetracks( "crawlanim" );
|
||||
self.a.movement = "run";
|
||||
self.a.pose = "crouch";
|
||||
}
|
16
animscripts/traverse/creepwalk_traverse_over_large.gsc
Normal file
16
animscripts/traverse/creepwalk_traverse_over_large.gsc
Normal file
@ -0,0 +1,16 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
creepwalk_traverse_over_large();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
creepwalk_traverse_over_large()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %creepwalk_traverse_over_large;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
16
animscripts/traverse/creepwalk_traverse_over_small.gsc
Normal file
16
animscripts/traverse/creepwalk_traverse_over_small.gsc
Normal file
@ -0,0 +1,16 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
creepwalk_traverse_over_small();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
creepwalk_traverse_over_small()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %creepwalk_traverse_over_small;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
16
animscripts/traverse/creepwalk_traverse_over_smaller.gsc
Normal file
16
animscripts/traverse/creepwalk_traverse_over_smaller.gsc
Normal file
@ -0,0 +1,16 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
creepwalk_traverse_over_smaller();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
creepwalk_traverse_over_smaller()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %creepwalk_traverse_over_smaller;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
16
animscripts/traverse/creepwalk_traverse_under.gsc
Normal file
16
animscripts/traverse/creepwalk_traverse_under.gsc
Normal file
@ -0,0 +1,16 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
creepwalk_traverse_under();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
creepwalk_traverse_under()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %creepwalk_traverse_under;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/crouch_jump_down_40.gsc
Normal file
19
animscripts/traverse/crouch_jump_down_40.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self.a.movement = "walk";
|
||||
self traversemode( "nogravity" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
self setflaggedanimknoballrestart( "stepanim", %jump_across_72, %body, 1, 0.1, 1 );
|
||||
wait 0.15;
|
||||
self traversemode( "gravity" );
|
||||
animscripts\shared::donotetracks( "stepanim" );
|
||||
}
|
20
animscripts/traverse/dog_jump_down_24.gsc
Normal file
20
animscripts/traverse/dog_jump_down_24.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 24.0, 5, "jump_down_24", 1 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a;
|
||||
var_0["traverseHeight"] = 32.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/dog_jump_down_40.gsc
Normal file
20
animscripts/traverse/dog_jump_down_40.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 40.0, 5, "jump_down_40", 1 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a;
|
||||
var_0["traverseHeight"] = 32.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/dog_jump_down_70.gsc
Normal file
20
animscripts/traverse/dog_jump_down_70.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 70.0, 5, "jump_down_70", 1 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a;
|
||||
var_0["traverseHeight"] = 32.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
34
animscripts/traverse/dog_jump_over_40.gsc
Normal file
34
animscripts/traverse/dog_jump_over_40.gsc
Normal file
@ -0,0 +1,34 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = "dog_jump_over_40";
|
||||
var_0["linkMe"] = 1;
|
||||
|
||||
if ( !animscripts\dog\dog_kill_traversal::check_kill_traversal( var_0 ) )
|
||||
{
|
||||
return animscripts\traverse\shared::dog_wall_and_window_hop( "window_40", 40 );
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse40;
|
||||
var_0["traverseToCoverAnim"] = %traverse40_2_cover;
|
||||
var_0["coverType"] = "Cover Crouch";
|
||||
var_0["traverseHeight"] = 40.0;
|
||||
var_0["interruptDeathAnim"][0] = animscripts\utility::array( %traverse40_death_start, %traverse40_death_start_2 );
|
||||
var_0["interruptDeathAnim"][1] = animscripts\utility::array( %traverse40_death_end, %traverse40_death_end_2 );
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/dog_jump_up_24.gsc
Normal file
20
animscripts/traverse/dog_jump_up_24.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_up( 24.0, 5, "jump_up_24", 1 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a;
|
||||
var_0["traverseHeight"] = 32.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/dog_jump_up_40.gsc
Normal file
20
animscripts/traverse/dog_jump_up_40.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_up( 40.0, 5, "jump_up_40", 1 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a;
|
||||
var_0["traverseHeight"] = 32.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
7
animscripts/traverse/dog_jump_up_70.gsc
Normal file
7
animscripts/traverse/dog_jump_up_70.gsc
Normal file
@ -0,0 +1,7 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
animscripts\traverse\shared::dog_jump_up( 70, 5, "jump_up_80", 1 );
|
||||
}
|
24
animscripts/traverse/dog_over_40.gsc
Normal file
24
animscripts/traverse/dog_over_40.gsc
Normal file
@ -0,0 +1,24 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "window_40", 40 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse40;
|
||||
var_0["traverseToCoverAnim"] = %traverse40_2_cover;
|
||||
var_0["coverType"] = "Cover Crouch";
|
||||
var_0["traverseHeight"] = 40.0;
|
||||
var_0["interruptDeathAnim"][0] = animscripts\utility::array( %traverse40_death_start, %traverse40_death_start_2 );
|
||||
var_0["interruptDeathAnim"][1] = animscripts\utility::array( %traverse40_death_end, %traverse40_death_end_2 );
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/duck_under_56.gsc
Normal file
19
animscripts/traverse/duck_under_56.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
self setflaggedanimknoballrestart( "jumpanim", %gulag_pipe_traverse, %body, 1, 0.1, 1 );
|
||||
self waittillmatch( "jumpanim", "finish" );
|
||||
self traversemode( "gravity" );
|
||||
animscripts\shared::donotetracks( "jumpanim" );
|
||||
}
|
16
animscripts/traverse/flood_jump_down_water.gsc
Normal file
16
animscripts/traverse/flood_jump_down_water.gsc
Normal file
@ -0,0 +1,16 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %flood_rooftop_traversal_ally02_secondjump;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/flood_jumpdown_126.gsc
Normal file
19
animscripts/traverse/flood_jumpdown_126.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 5, 1.0 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %flood_garage_jump_opfor_01;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/flood_jumpdown_126_v2.gsc
Normal file
19
animscripts/traverse/flood_jumpdown_126_v2.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 5, 1.0 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %flood_garage_jump_opfor_02;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/flood_rail_over_34_down_72.gsc
Normal file
20
animscripts/traverse/flood_rail_over_34_down_72.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
return;
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %flood_rail_over_34_down_72;
|
||||
var_0["traverseHeight"] = 34.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/flood_stepup_32.gsc
Normal file
20
animscripts/traverse/flood_stepup_32.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = [];
|
||||
var_0[var_0.size] = %flood_traverse_stepup_32_v1;
|
||||
var_0[var_0.size] = %flood_traverse_stepup_32_v2;
|
||||
var_0[var_0.size] = %flood_traverse_stepup_32_v3;
|
||||
var_1 = [];
|
||||
var_1["traverseAnim"] = var_0[randomint( var_0.size )];
|
||||
animscripts\traverse\shared::dotraverse( var_1 );
|
||||
}
|
17
animscripts/traverse/hesco_barrier_over.gsc
Normal file
17
animscripts/traverse/hesco_barrier_over.gsc
Normal file
@ -0,0 +1,17 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
human_traverse();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
human_traverse()
|
||||
{
|
||||
var_0 = [ %hc_hesco_climb_a, %hc_hesco_climb_b ];
|
||||
var_1 = [];
|
||||
var_1["traverseAnim"] = var_0[randomint( var_0.size )];
|
||||
animscripts\traverse\shared::dotraverse( var_1 );
|
||||
}
|
16
animscripts/traverse/hesco_barrier_over_v2.gsc
Normal file
16
animscripts/traverse/hesco_barrier_over_v2.gsc
Normal file
@ -0,0 +1,16 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
human_traverse();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
human_traverse()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %hc_hesco_climb_c;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/hjk_tree_hop.gsc
Normal file
20
animscripts/traverse/hjk_tree_hop.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "wallhop", 40 );
|
||||
else
|
||||
tree_hop_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
tree_hop_human()
|
||||
{
|
||||
if ( isdefined( self.type ) && self.type == "civilian" )
|
||||
animscripts\traverse\shared::advancedtraverse( %so_hijack_civ_log_jump, 39.875 );
|
||||
else
|
||||
animscripts\traverse\shared::advancedtraverse( %traverse_wallhop_3, 39.875 );
|
||||
}
|
19
animscripts/traverse/iw6_creep_stepdown_16.gsc
Normal file
19
animscripts/traverse/iw6_creep_stepdown_16.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 7, 0.7 );
|
||||
else
|
||||
human_traverse();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
human_traverse()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %creepwalk_step_down_a1;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/iw6_jumpdown_40.gsc
Normal file
19
animscripts/traverse/iw6_jumpdown_40.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 7, 0.7 );
|
||||
else
|
||||
human_traverse();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
human_traverse()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_jumpdown_40_iw6;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/iw6_jumpdown_56.gsc
Normal file
19
animscripts/traverse/iw6_jumpdown_56.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 7, 0.7 );
|
||||
else
|
||||
human_traverse();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
human_traverse()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_jumpdown_56_iw6;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/iw6_jumpdown_72.gsc
Normal file
19
animscripts/traverse/iw6_jumpdown_72.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 7, 0.7 );
|
||||
else
|
||||
human_traverse();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
human_traverse()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_jumpdown_72_iw6;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/iw6_jumpdown_88.gsc
Normal file
19
animscripts/traverse/iw6_jumpdown_88.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 7, 0.7 );
|
||||
else
|
||||
human_traverse();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
human_traverse()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_jumpdown_88_iw6;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
102
animscripts/traverse/iw6_jumpup_72.gsc
Normal file
102
animscripts/traverse/iw6_jumpup_72.gsc
Normal file
@ -0,0 +1,102 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_up( 72.0, 5 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_72_up_run;
|
||||
var_0["traverseHeight"] = 72.0;
|
||||
dotraversegravity( var_0 );
|
||||
}
|
||||
|
||||
dotraversegravity( var_0 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
var_1 = self getnegotiationstartnode();
|
||||
var_1.traverse_height = var_1.origin[2] + var_1.traverse_height_delta;
|
||||
var_2 = self getnegotiationendnode();
|
||||
self orientmode( "face angle", var_1.angles[1] );
|
||||
self.traverseheight = var_0["traverseHeight"];
|
||||
self.traversestartnode = var_1;
|
||||
var_3 = var_0["traverseAnim"];
|
||||
var_4 = var_0["traverseToCoverAnim"];
|
||||
self traversemode( "gravity" );
|
||||
self.traversestartz = self.origin[2];
|
||||
|
||||
if ( !animhasnotetrack( var_3, "traverse_align" ) )
|
||||
animscripts\traverse\shared::handletraversealignment();
|
||||
|
||||
var_5 = 0;
|
||||
|
||||
if ( isdefined( var_4 ) && isdefined( self.node ) && self.node.type == var_0["coverType"] && distancesquared( self.node.origin, var_2.origin ) < 625 )
|
||||
{
|
||||
if ( animscripts\utility::absangleclamp180( self.node.angles[1] - var_2.angles[1] ) > 160 )
|
||||
{
|
||||
var_5 = 1;
|
||||
var_3 = var_4;
|
||||
}
|
||||
}
|
||||
|
||||
if ( var_5 )
|
||||
{
|
||||
if ( isdefined( var_0["traverseToCoverSound"] ) )
|
||||
thread maps\_utility::play_sound_on_entity( var_0["traverseToCoverSound"] );
|
||||
}
|
||||
else if ( isdefined( var_0["traverseSound"] ) )
|
||||
thread maps\_utility::play_sound_on_entity( var_0["traverseSound"] );
|
||||
|
||||
self.traverseanim = var_3;
|
||||
self.traverseanimroot = %body;
|
||||
self setflaggedanimknoballrestart( "traverseAnim", var_3, %body, 1, 0.2, 1 );
|
||||
self.traversedeathindex = 0;
|
||||
self.traversedeathanim = var_0["interruptDeathAnim"];
|
||||
animscripts\shared::donotetracks( "traverseAnim", ::handletraversenotetracksgravity );
|
||||
self traversemode( "gravity" );
|
||||
|
||||
if ( self.delayeddeath )
|
||||
return;
|
||||
|
||||
self.a.nodeath = 0;
|
||||
|
||||
if ( var_5 && isdefined( self.node ) && distancesquared( self.origin, self.node.origin ) < 256 )
|
||||
{
|
||||
self.a.movement = "stop";
|
||||
self teleport( self.node.origin );
|
||||
}
|
||||
else if ( isdefined( var_0["traverseStopsAtEnd"] ) )
|
||||
self.a.movement = "stop";
|
||||
else
|
||||
{
|
||||
self.a.movement = "run";
|
||||
self clearanim( var_3, 0.2 );
|
||||
}
|
||||
|
||||
self.traverseanimroot = undefined;
|
||||
self.traverseanim = undefined;
|
||||
self.deathanim = undefined;
|
||||
}
|
||||
|
||||
handletraversenotetracksgravity( var_0 )
|
||||
{
|
||||
if ( var_0 == "traverse_death" )
|
||||
return animscripts\traverse\shared::handletraversedeathnotetrack();
|
||||
else if ( var_0 == "traverse_align" )
|
||||
{
|
||||
self.traversestartz = self.origin[2];
|
||||
return animscripts\traverse\shared::handletraversealignment();
|
||||
}
|
||||
else if ( var_0 == "traverse_drop" )
|
||||
return animscripts\traverse\shared::handletraversedrop();
|
||||
}
|
24
animscripts/traverse/iw6_traverse_over_40_a.gsc
Normal file
24
animscripts/traverse/iw6_traverse_over_40_a.gsc
Normal file
@ -0,0 +1,24 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "window_40", 40 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_over_40_a_iw6;
|
||||
var_0["traverseToCoverAnim"] = %traverse40_2_cover;
|
||||
var_0["coverType"] = "Cover Crouch";
|
||||
var_0["traverseHeight"] = 40.0;
|
||||
var_0["interruptDeathAnim"][0] = animscripts\utility::array( %traverse40_death_start, %traverse40_death_start_2 );
|
||||
var_0["interruptDeathAnim"][1] = animscripts\utility::array( %traverse40_death_end, %traverse40_death_end_2 );
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
24
animscripts/traverse/iw6_traverse_over_40_b.gsc
Normal file
24
animscripts/traverse/iw6_traverse_over_40_b.gsc
Normal file
@ -0,0 +1,24 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "window_40", 40 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_over_40_b_iw6;
|
||||
var_0["traverseToCoverAnim"] = %traverse40_2_cover;
|
||||
var_0["coverType"] = "Cover Crouch";
|
||||
var_0["traverseHeight"] = 40.0;
|
||||
var_0["interruptDeathAnim"][0] = animscripts\utility::array( %traverse40_death_start, %traverse40_death_start_2 );
|
||||
var_0["interruptDeathAnim"][1] = animscripts\utility::array( %traverse40_death_end, %traverse40_death_end_2 );
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
28
animscripts/traverse/jump_across_100.gsc
Normal file
28
animscripts/traverse/jump_across_100.gsc
Normal file
@ -0,0 +1,28 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
{
|
||||
animscripts\traverse\shared::dog_long_jump( "window_40", 20 );
|
||||
return;
|
||||
}
|
||||
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
var_1 = [];
|
||||
var_1[0] = %jump_across_100_spring;
|
||||
var_1[1] = %jump_across_100_lunge;
|
||||
var_1[2] = %jump_across_100_stumble;
|
||||
var_2 = var_1[randomint( var_1.size )];
|
||||
self setflaggedanimknoballrestart( "jumpanim", var_2, %body, 1, 0.1, 1 );
|
||||
animscripts\shared::donotetracks( "jumpanim" );
|
||||
}
|
25
animscripts/traverse/jump_across_72.gsc
Normal file
25
animscripts/traverse/jump_across_72.gsc
Normal file
@ -0,0 +1,25 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
{
|
||||
animscripts\traverse\shared::dog_long_jump( "wallhop", 20 );
|
||||
return;
|
||||
}
|
||||
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
self setflaggedanimknoballrestart( "jumpanim", %jump_across_72, %body, 1, 0.1, 1 );
|
||||
self waittillmatch( "jumpanim", "gravity on" );
|
||||
self traversemode( "gravity" );
|
||||
animscripts\shared::donotetracks( "jumpanim" );
|
||||
}
|
25
animscripts/traverse/jump_over_high_wall.gsc
Normal file
25
animscripts/traverse/jump_over_high_wall.gsc
Normal file
@ -0,0 +1,25 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
self clearanim( %stand_and_crouch, 0.1 );
|
||||
self setflaggedanimknoballrestart( "diveanim", %jump_over_high_wall, %body, 1, 0.1, 1 );
|
||||
self playsound( "dive_wall" );
|
||||
self waittillmatch( "diveanim", "gravity on" );
|
||||
self traversemode( "nogravity" );
|
||||
self waittillmatch( "diveanim", "noclip" );
|
||||
self traversemode( "noclip" );
|
||||
self waittillmatch( "diveanim", "gravity on" );
|
||||
self traversemode( "gravity" );
|
||||
animscripts\shared::donotetracks( "diveanim" );
|
||||
}
|
18
animscripts/traverse/jump_up_80.gsc
Normal file
18
animscripts/traverse/jump_up_80.gsc
Normal file
@ -0,0 +1,18 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("dog");
|
||||
|
||||
main()
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
var_1 = var_0.traverse_height - var_0.origin[2];
|
||||
thread animscripts\traverse\shared::teleportthread( var_1 - 80 );
|
||||
self clearanim( %root, 0.2 );
|
||||
self setflaggedanimrestart( "jump_up_80", anim.dogtraverseanims["jump_up_80"], 1, 0.2, 1 );
|
||||
animscripts\shared::donotetracks( "jump_up_80" );
|
||||
}
|
19
animscripts/traverse/jumpdown_130.gsc
Normal file
19
animscripts/traverse/jumpdown_130.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 7, 0.7 );
|
||||
else
|
||||
jumpdown_130_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
jumpdown_130_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_jumpdown_130;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/jumpdown_40.gsc
Normal file
19
animscripts/traverse/jumpdown_40.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 3, 1.0 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_jumpdown_40;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/jumpdown_56.gsc
Normal file
19
animscripts/traverse/jumpdown_56.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 5, 1.0 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_jumpdown_56;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
19
animscripts/traverse/jumpdown_96.gsc
Normal file
19
animscripts/traverse/jumpdown_96.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 7, 0.8 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_jumpdown_96;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
33
animscripts/traverse/ladder_down.gsc
Normal file
33
animscripts/traverse/ladder_down.gsc
Normal file
@ -0,0 +1,33 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationendnode();
|
||||
var_1 = var_0.origin;
|
||||
var_2 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_2.angles[1] );
|
||||
var_3 = 1;
|
||||
|
||||
if ( isdefined( self.moveplaybackrate ) )
|
||||
var_3 = self.moveplaybackrate;
|
||||
|
||||
self setflaggedanimknoballrestart( "climbanim", %ladder_climbon, %body, 1, 0.1, var_3 );
|
||||
animscripts\shared::donotetracks( "climbanim" );
|
||||
var_4 = %ladder_climbdown;
|
||||
self setflaggedanimknoballrestart( "climbanim", var_4, %body, 1, 0.1, var_3 );
|
||||
var_5 = getmovedelta( var_4, 0, 1 );
|
||||
var_6 = var_5[2] * var_3 / getanimlength( var_4 );
|
||||
var_7 = ( var_1[2] - self.origin[2] ) / var_6;
|
||||
animscripts\notetracks::donotetracksfortime( var_7, "climbanim" );
|
||||
self traversemode( "gravity" );
|
||||
self.a.movement = "stop";
|
||||
self.a.pose = "stand";
|
||||
}
|
43
animscripts/traverse/ladder_up.gsc
Normal file
43
animscripts/traverse/ladder_up.gsc
Normal file
@ -0,0 +1,43 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
if ( isdefined( self.type ) && self.type == "dog" )
|
||||
return;
|
||||
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = %ladder_climbup;
|
||||
var_1 = %ladder_climboff;
|
||||
var_2 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_2.angles[1] );
|
||||
var_3 = 1;
|
||||
|
||||
if ( isdefined( self.moveplaybackrate ) )
|
||||
var_3 = self.moveplaybackrate;
|
||||
|
||||
self setflaggedanimknoballrestart( "climbanim", var_0, %body, 1, 0.1, var_3 );
|
||||
var_4 = getmovedelta( var_1, 0, 1 );
|
||||
var_5 = self getnegotiationendnode();
|
||||
var_6 = var_5.origin - var_4 + ( 0, 0, 1 );
|
||||
var_7 = getmovedelta( var_0, 0, 1 );
|
||||
var_8 = var_7[2] * var_3 / getanimlength( var_0 );
|
||||
var_9 = ( var_6[2] - self.origin[2] ) / var_8;
|
||||
|
||||
if ( var_9 > 0 )
|
||||
{
|
||||
self.allowpain = 1;
|
||||
animscripts\notetracks::donotetracksfortime( var_9, "climbanim" );
|
||||
self setflaggedanimknoballrestart( "climbanim", var_1, %body, 1, 0.1, var_3 );
|
||||
animscripts\shared::donotetracks( "climbanim" );
|
||||
}
|
||||
|
||||
self traversemode( "gravity" );
|
||||
self.a.movement = "run";
|
||||
self.a.pose = "crouch";
|
||||
}
|
73
animscripts/traverse/platform_off.gsc
Normal file
73
animscripts/traverse/platform_off.gsc
Normal file
@ -0,0 +1,73 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %creepwalk_to_cqb_run_iw6;
|
||||
dotraverse_custom( var_0 );
|
||||
}
|
||||
|
||||
dotraverse_custom( var_0 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
var_1 = self getnegotiationstartnode();
|
||||
var_1.traverse_height = var_1.origin[2];
|
||||
var_2 = self getnegotiationendnode();
|
||||
self orientmode( "face angle", var_1.angles[1] );
|
||||
self.traverseheight = var_0["traverseHeight"];
|
||||
self.traversestartnode = var_1;
|
||||
var_3 = var_0["traverseAnim"];
|
||||
var_4 = var_0["traverseToCoverAnim"];
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
self.traversestartz = self.origin[2];
|
||||
|
||||
if ( !animhasnotetrack( var_3, "traverse_align" ) )
|
||||
animscripts\traverse\shared::handletraversealignment();
|
||||
|
||||
var_5 = 0;
|
||||
|
||||
if ( isdefined( var_4 ) && isdefined( self.node ) && self.node.type == var_0["coverType"] && distancesquared( self.node.origin, var_2.origin ) < 625 )
|
||||
{
|
||||
if ( animscripts\utility::absangleclamp180( self.node.angles[1] - var_2.angles[1] ) > 160 )
|
||||
{
|
||||
var_5 = 1;
|
||||
var_3 = var_4;
|
||||
}
|
||||
}
|
||||
|
||||
self.traverseanim = var_3;
|
||||
self.traverseanimroot = %body;
|
||||
self setflaggedanimknoballrestart( "traverseAnim", var_3, %body, 1, 0.2, 1 );
|
||||
self.traversedeathindex = 0;
|
||||
self.traversedeathanim = var_0["interruptDeathAnim"];
|
||||
animscripts\shared::donotetracks( "traverseAnim", animscripts\traverse\shared::handletraversenotetracks );
|
||||
self traversemode( "gravity" );
|
||||
|
||||
if ( self.delayeddeath )
|
||||
return;
|
||||
|
||||
self.a.nodeath = 0;
|
||||
|
||||
if ( var_5 && isdefined( self.node ) && distancesquared( self.origin, self.node.origin ) < 256 )
|
||||
{
|
||||
self.a.movement = "stop";
|
||||
self teleport( self.node.origin );
|
||||
}
|
||||
else if ( isdefined( var_0["traverseStopsAtEnd"] ) )
|
||||
self.a.movement = "stop";
|
||||
else
|
||||
{
|
||||
self.a.movement = "run";
|
||||
self clearanim( var_3, 0.2 );
|
||||
}
|
||||
|
||||
self.traverseanimroot = undefined;
|
||||
self.traverseanim = undefined;
|
||||
self.deathanim = undefined;
|
||||
}
|
424
animscripts/traverse/shared.gsc
Normal file
424
animscripts/traverse/shared.gsc
Normal file
@ -0,0 +1,424 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
advancedtraverse( var_0, var_1 )
|
||||
{
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_2 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_2.angles[1] );
|
||||
var_2.traverse_height = var_2.origin[2] + var_2.traverse_height_delta;
|
||||
var_3 = var_2.traverse_height - var_2.origin[2];
|
||||
thread teleportthread( var_3 - var_1 );
|
||||
var_4 = 0.15;
|
||||
self clearanim( %body, var_4 );
|
||||
self setflaggedanimknoballrestart( "traverse", var_0, %root, 1, var_4, 1 );
|
||||
var_5 = 0.2;
|
||||
var_6 = 0.2;
|
||||
thread animscripts\notetracks::donotetracksforever( "traverse", "no clear" );
|
||||
|
||||
if ( !animhasnotetrack( var_0, "gravity on" ) )
|
||||
{
|
||||
var_7 = 1.23;
|
||||
wait( var_7 - var_5 );
|
||||
self traversemode( "gravity" );
|
||||
wait( var_5 );
|
||||
}
|
||||
else
|
||||
{
|
||||
self waittillmatch( "traverse", "gravity on" );
|
||||
self traversemode( "gravity" );
|
||||
|
||||
if ( !animhasnotetrack( var_0, "blend" ) )
|
||||
wait( var_5 );
|
||||
else
|
||||
self waittillmatch( "traverse", "blend" );
|
||||
}
|
||||
}
|
||||
|
||||
teleportthread( var_0 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self notify( "endTeleportThread" );
|
||||
self endon( "endTeleportThread" );
|
||||
var_1 = 5;
|
||||
var_2 = ( 0, 0, var_0 / var_1 );
|
||||
|
||||
for ( var_3 = 0; var_3 < var_1; var_3++ )
|
||||
{
|
||||
self forceteleport( self.origin + var_2 );
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
|
||||
teleportthreadex( var_0, var_1, var_2, var_3 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self notify( "endTeleportThread" );
|
||||
self endon( "endTeleportThread" );
|
||||
|
||||
if ( var_0 == 0 || var_2 <= 0 )
|
||||
return;
|
||||
|
||||
if ( var_1 > 0 )
|
||||
wait( var_1 );
|
||||
|
||||
var_4 = ( 0, 0, var_0 / var_2 );
|
||||
|
||||
if ( isdefined( var_3 ) && var_3 < 1.0 )
|
||||
self setflaggedanimknoball( "traverseAnim", self.traverseanim, self.traverseanimroot, 1, 0.2, var_3 );
|
||||
|
||||
for ( var_5 = 0; var_5 < var_2; var_5++ )
|
||||
{
|
||||
self forceteleport( self.origin + var_4 );
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
if ( isdefined( var_3 ) && var_3 < 1.0 )
|
||||
self setflaggedanimknoball( "traverseAnim", self.traverseanim, self.traverseanimroot, 1, 0.2, 1.0 );
|
||||
}
|
||||
|
||||
dotraverse( var_0 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
var_1 = self getnegotiationstartnode();
|
||||
var_1.traverse_height = var_1.origin[2] + var_1.traverse_height_delta;
|
||||
var_2 = self getnegotiationendnode();
|
||||
self orientmode( "face angle", var_1.angles[1] );
|
||||
self.traverseheight = var_0["traverseHeight"];
|
||||
self.traversestartnode = var_1;
|
||||
var_3 = var_0["traverseAnim"];
|
||||
var_4 = var_0["traverseToCoverAnim"];
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
self.traversestartz = self.origin[2];
|
||||
|
||||
if ( !animhasnotetrack( var_3, "traverse_align" ) )
|
||||
handletraversealignment();
|
||||
|
||||
var_5 = 0;
|
||||
|
||||
if ( isdefined( var_4 ) && isdefined( self.node ) && self.node.type == var_0["coverType"] && distancesquared( self.node.origin, var_2.origin ) < 625 )
|
||||
{
|
||||
if ( animscripts\utility::absangleclamp180( self.node.angles[1] - var_2.angles[1] ) > 160 )
|
||||
{
|
||||
var_5 = 1;
|
||||
var_3 = var_4;
|
||||
}
|
||||
}
|
||||
|
||||
if ( var_5 )
|
||||
{
|
||||
if ( isdefined( var_0["traverseToCoverSound"] ) )
|
||||
thread maps\_utility::play_sound_on_entity( var_0["traverseToCoverSound"] );
|
||||
}
|
||||
else if ( isdefined( var_0["traverseSound"] ) )
|
||||
thread maps\_utility::play_sound_on_entity( var_0["traverseSound"] );
|
||||
|
||||
self.traverseanim = var_3;
|
||||
self.traverseanimroot = %body;
|
||||
self setflaggedanimknoballrestart( "traverseAnim", var_3, %body, 1, 0.2, 1 );
|
||||
self.traversedeathindex = 0;
|
||||
self.traversedeathanim = var_0["interruptDeathAnim"];
|
||||
animscripts\shared::donotetracks( "traverseAnim", ::handletraversenotetracks );
|
||||
self traversemode( "gravity" );
|
||||
|
||||
if ( self.delayeddeath )
|
||||
return;
|
||||
|
||||
self.a.nodeath = 0;
|
||||
|
||||
if ( var_5 && isdefined( self.node ) && distancesquared( self.origin, self.node.origin ) < 256 )
|
||||
{
|
||||
self.a.movement = "stop";
|
||||
self teleport( self.node.origin );
|
||||
}
|
||||
else if ( isdefined( var_0["traverseStopsAtEnd"] ) )
|
||||
self.a.movement = "stop";
|
||||
else
|
||||
{
|
||||
self.a.movement = "run";
|
||||
self clearanim( var_3, 0.2 );
|
||||
}
|
||||
|
||||
self.traverseanimroot = undefined;
|
||||
self.traverseanim = undefined;
|
||||
self.deathanim = undefined;
|
||||
self.traversestartnode = undefined;
|
||||
}
|
||||
|
||||
handletraversenotetracks( var_0 )
|
||||
{
|
||||
if ( var_0 == "traverse_death" )
|
||||
return handletraversedeathnotetrack();
|
||||
else if ( var_0 == "traverse_align" )
|
||||
return handletraversealignment();
|
||||
else if ( var_0 == "traverse_drop" )
|
||||
return handletraversedrop();
|
||||
}
|
||||
|
||||
handletraversedeathnotetrack()
|
||||
{
|
||||
if ( isdefined( self.traversedeathanim ) )
|
||||
{
|
||||
var_0 = self.traversedeathanim[self.traversedeathindex];
|
||||
self.deathanim = var_0[randomint( var_0.size )];
|
||||
self.traversedeathindex++;
|
||||
}
|
||||
}
|
||||
|
||||
handletraversealignment()
|
||||
{
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
|
||||
if ( isdefined( self.traverseheight ) && isdefined( self.traversestartnode.traverse_height ) )
|
||||
{
|
||||
var_0 = self.traversestartnode.traverse_height - self.traversestartz;
|
||||
thread teleportthread( var_0 - self.traverseheight );
|
||||
}
|
||||
}
|
||||
|
||||
handletraversedrop()
|
||||
{
|
||||
var_0 = self.origin + ( 0, 0, 32 );
|
||||
var_1 = physicstrace( var_0, self.origin + ( 0, 0, -512 ) );
|
||||
var_2 = distance( var_0, var_1 );
|
||||
var_3 = var_2 - 32 - 0.5;
|
||||
var_4 = self getanimtime( self.traverseanim );
|
||||
var_5 = getmovedelta( self.traverseanim, var_4, 1.0 );
|
||||
var_6 = getanimlength( self.traverseanim );
|
||||
var_7 = 0 - var_5[2];
|
||||
var_8 = var_7 - var_3;
|
||||
|
||||
if ( var_7 < var_3 )
|
||||
var_9 = var_7 / var_3;
|
||||
else
|
||||
var_9 = 1;
|
||||
|
||||
var_10 = ( var_6 - var_4 ) / 3.0;
|
||||
var_11 = ceil( var_10 * 20 );
|
||||
thread teleportthreadex( var_8, 0, var_11, var_9 );
|
||||
thread finishtraversedrop( var_1[2] );
|
||||
}
|
||||
|
||||
finishtraversedrop( var_0 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
var_0 = var_0 + 4.0;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
if ( self.origin[2] < var_0 )
|
||||
{
|
||||
self traversemode( "gravity" );
|
||||
break;
|
||||
}
|
||||
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
|
||||
donothingfunc()
|
||||
{
|
||||
self animmode( "zonly_physics" );
|
||||
self waittill( "killanimscript" );
|
||||
}
|
||||
|
||||
dog_handle_traverse_notetracks( var_0 )
|
||||
{
|
||||
var_1 = undefined;
|
||||
var_2 = 0;
|
||||
var_3 = 0;
|
||||
|
||||
if ( var_0 == "traverse_jump_start" )
|
||||
{
|
||||
var_2 = 1;
|
||||
var_4 = getnotetracktimes( self.traverseanim, "traverse_align" );
|
||||
|
||||
if ( var_4.size > 0 )
|
||||
var_1 = var_4;
|
||||
else
|
||||
{
|
||||
var_1 = getnotetracktimes( self.traverseanim, "traverse_jump_end" );
|
||||
var_3 = 1;
|
||||
}
|
||||
}
|
||||
else if ( var_0 == "gravity on" )
|
||||
{
|
||||
var_2 = 1;
|
||||
var_1 = getnotetracktimes( self.traverseanim, "traverse_jump_end" );
|
||||
var_3 = 1;
|
||||
}
|
||||
|
||||
if ( var_2 )
|
||||
{
|
||||
var_5 = getnotetracktimes( self.traverseanim, var_0 );
|
||||
var_6 = var_5[0];
|
||||
var_7 = getmovedelta( self.traverseanim, 0, var_5[0] );
|
||||
var_8 = var_7[2];
|
||||
var_7 = getmovedelta( self.traverseanim, 0, var_1[0] );
|
||||
var_9 = var_7[2];
|
||||
var_10 = var_1[0];
|
||||
var_11 = getanimlength( self.traverseanim );
|
||||
var_12 = int( ( var_10 - var_6 ) * var_11 * 30 );
|
||||
var_13 = max( 1, var_12 - 2 );
|
||||
var_14 = var_9 - var_8;
|
||||
|
||||
if ( var_3 )
|
||||
{
|
||||
var_7 = getmovedelta( self.traverseanim, 0, 1 );
|
||||
var_15 = var_7[2] - var_9;
|
||||
var_16 = self.traverseendnode.origin[2] - self.origin[2] - var_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_17 = self.traversestartnode;
|
||||
var_16 = var_17.traverse_height_delta - ( self.origin[2] - var_17.origin[2] );
|
||||
}
|
||||
|
||||
thread teleportthreadex( var_16 - var_14, 0, var_13 );
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
dog_traverse_cleanup_on_end()
|
||||
{
|
||||
self waittill( "killanimscript" );
|
||||
self.traversestartnode = undefined;
|
||||
self.traverseendnode = undefined;
|
||||
}
|
||||
|
||||
#using_animtree("dog");
|
||||
|
||||
dog_wall_and_window_hop( var_0, var_1, var_2 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
thread dog_traverse_cleanup_on_end();
|
||||
var_3 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_3.angles[1] );
|
||||
|
||||
if ( !isdefined( var_2 ) )
|
||||
{
|
||||
var_4 = var_3.traverse_height - var_3.origin[2];
|
||||
thread teleportthread( var_4 - var_1 );
|
||||
}
|
||||
|
||||
self.traverseanim = anim.dogtraverseanims[var_0];
|
||||
self.traversestartnode = var_3;
|
||||
self.traverseendnode = self getnegotiationendnode();
|
||||
self clearanim( %body, 0.2 );
|
||||
self setflaggedanimrestart( "dog_traverse", self.traverseanim, 1, 0.2, 1 );
|
||||
self.moveanimtype = "land";
|
||||
animscripts\notetracks::donotetracksintercept( "dog_traverse", ::dog_handle_traverse_notetracks );
|
||||
self.moveanimtype = undefined;
|
||||
self.traverseanim = undefined;
|
||||
}
|
||||
|
||||
dog_jump_down( var_0, var_1, var_2, var_3 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "noclip" );
|
||||
thread dog_traverse_cleanup_on_end();
|
||||
var_4 = self getnegotiationstartnode();
|
||||
var_5 = self getnegotiationendnode();
|
||||
self orientmode( "face angle", var_4.angles[1] );
|
||||
|
||||
if ( !isdefined( var_2 ) )
|
||||
var_2 = "jump_down_40";
|
||||
|
||||
self.traverseanim = anim.dogtraverseanims[var_2];
|
||||
self.traverseanimroot = %body;
|
||||
self.traversestartnode = var_4;
|
||||
self.traverseendnode = var_5;
|
||||
|
||||
if ( !isdefined( var_3 ) )
|
||||
var_3 = 0;
|
||||
|
||||
if ( !var_3 )
|
||||
{
|
||||
var_6 = var_4.origin[2] - var_5.origin[2];
|
||||
thread teleportthreadex( 40.0 - var_6, 0.1, var_0, var_1 );
|
||||
}
|
||||
|
||||
self.moveanimtype = "land";
|
||||
self clearanim( %body, 0.2 );
|
||||
self setflaggedanimrestart( "traverseAnim", self.traverseanim, 1, 0.2, 1 );
|
||||
|
||||
if ( !var_3 )
|
||||
animscripts\shared::donotetracks( "traverseAnim" );
|
||||
else
|
||||
animscripts\notetracks::donotetracksintercept( "traverseAnim", ::dog_handle_traverse_notetracks );
|
||||
|
||||
self.moveanimtype = undefined;
|
||||
self traversemode( "gravity" );
|
||||
self.traverseanimroot = undefined;
|
||||
self.traverseanim = undefined;
|
||||
}
|
||||
|
||||
dog_jump_up( var_0, var_1, var_2, var_3 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "noclip" );
|
||||
thread dog_traverse_cleanup_on_end();
|
||||
var_4 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_4.angles[1] );
|
||||
|
||||
if ( !isdefined( var_2 ) )
|
||||
var_2 = "jump_up_40";
|
||||
|
||||
self.traverseanim = anim.dogtraverseanims[var_2];
|
||||
self.traverseanimroot = %body;
|
||||
self.traversestartnode = var_4;
|
||||
self.traverseendnode = self getnegotiationendnode();
|
||||
|
||||
if ( !isdefined( var_3 ) )
|
||||
var_3 = 0;
|
||||
|
||||
if ( !var_3 )
|
||||
thread teleportthreadex( var_0 - 40.0, 0.2, var_1 );
|
||||
|
||||
self.moveanimtype = "land";
|
||||
self clearanim( %body, 0.2 );
|
||||
self setflaggedanimrestart( "traverseAnim", self.traverseanim, 1, 0.2, 1 );
|
||||
|
||||
if ( !var_3 )
|
||||
animscripts\shared::donotetracks( "traverseAnim" );
|
||||
else
|
||||
animscripts\notetracks::donotetracksintercept( "traverseAnim", ::dog_handle_traverse_notetracks );
|
||||
|
||||
self.moveanimtype = undefined;
|
||||
self traversemode( "gravity" );
|
||||
self.traverseanim = undefined;
|
||||
self.traverseanimroot = undefined;
|
||||
}
|
||||
|
||||
dog_long_jump( var_0, var_1 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
thread dog_traverse_cleanup_on_end();
|
||||
var_2 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_2.angles[1] );
|
||||
|
||||
if ( !isdefined( var_2.traverse_height ) )
|
||||
var_2.traverse_height = var_2.origin[2];
|
||||
|
||||
var_3 = var_2.traverse_height - var_2.origin[2];
|
||||
thread teleportthread( var_3 - var_1 );
|
||||
self.moveanimtype = "land";
|
||||
self clearanim( %body, 0.2 );
|
||||
self setflaggedanimknoballrestart( "dog_traverse", anim.dogtraverseanims[var_0], 1, 0.2, 1 );
|
||||
animscripts\shared::donotetracks( "dog_traverse" );
|
||||
self.moveanimtype = undefined;
|
||||
}
|
43
animscripts/traverse/slide_across_car.gsc
Normal file
43
animscripts/traverse/slide_across_car.gsc
Normal file
@ -0,0 +1,43 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
slide_across_car_dog();
|
||||
else
|
||||
slide_across_car_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
slide_across_car_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %slide_across_car;
|
||||
var_0["traverseToCoverAnim"] = %slide_across_car_2_cover;
|
||||
var_0["coverType"] = "Cover Crouch";
|
||||
var_0["traverseHeight"] = 38.0;
|
||||
var_0["interruptDeathAnim"][0] = animscripts\utility::array( %slide_across_car_death );
|
||||
var_0["traverseSound"] = "npc_car_slide_hood";
|
||||
var_0["traverseToCoverSound"] = "npc_car_slide_cover";
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
||||
|
||||
#using_animtree("dog");
|
||||
|
||||
slide_across_car_dog()
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
self clearanim( %root, 0.1 );
|
||||
self setflaggedanimrestart( "traverse", anim.dogtraverseanims["jump_up_40"], 1, 0.1, 1 );
|
||||
animscripts\shared::donotetracks( "traverse" );
|
||||
thread common_scripts\utility::play_sound_in_space( "anml_dog_bark", self gettagorigin( "tag_eye" ) );
|
||||
self clearanim( %root, 0 );
|
||||
self setflaggedanimrestart( "traverse", anim.dogtraverseanims["jump_down_40"], 1, 0, 1 );
|
||||
animscripts\shared::donotetracks( "traverse" );
|
||||
self traversemode( "gravity" );
|
||||
}
|
18
animscripts/traverse/space_jump_left_90.gsc
Normal file
18
animscripts/traverse/space_jump_left_90.gsc
Normal file
@ -0,0 +1,18 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
if ( !isdefined( self.swimmer ) || !self.swimmer )
|
||||
return;
|
||||
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self.turnrate = 2000;
|
||||
self orientmode( "face angle 3d", var_0.angles );
|
||||
self clearanim( %root, 0 );
|
||||
self setflaggedanimknoballrestart( "3dtraverseAnim", %space_traversal_jump_90_r, %root, 1, 0.1, 1 );
|
||||
animscripts\shared::donotetracks( "3dtraverseAnim" );
|
||||
}
|
18
animscripts/traverse/space_jump_to_inverted_192.gsc
Normal file
18
animscripts/traverse/space_jump_to_inverted_192.gsc
Normal file
@ -0,0 +1,18 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
if ( !isdefined( self.swimmer ) || !self.swimmer )
|
||||
return;
|
||||
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self.turnrate = 2000;
|
||||
self orientmode( "face angle 3d", var_0.angles );
|
||||
self clearanim( %root, 0 );
|
||||
self setflaggedanimknoballrestart( "3dtraverseAnim", %space_traversal_jump_180_u, %root, 1, 0.1, 1 );
|
||||
animscripts\shared::donotetracks( "3dtraverseAnim" );
|
||||
}
|
30
animscripts/traverse/space_shared.gsc
Normal file
30
animscripts/traverse/space_shared.gsc
Normal file
@ -0,0 +1,30 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
dospacetraverse( var_0 )
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
var_1 = self getnegotiationstartnode();
|
||||
var_2 = self getnegotiationendnode();
|
||||
self.traverseheight = var_0["traverseHeight"];
|
||||
self.traversestartnode = var_1;
|
||||
var_3 = var_0["traverseAnim"];
|
||||
var_4 = var_0["traverseToCoverAnim"];
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_5 = 0;
|
||||
self.traverseanim = var_3;
|
||||
self.traverseanimroot = %root;
|
||||
self setflaggedanimknoballrestart( "traverseAnim", var_3, %root, 1, 0.2, 1 );
|
||||
self.traversedeathindex = 0;
|
||||
self.traversedeathanim = var_0["interruptDeathAnim"];
|
||||
animscripts\shared::donotetracks( "traverseAnim", animscripts\traverse\shared::handletraversenotetracks );
|
||||
iprintlnbold( "after notetracks" );
|
||||
self.traverseanimroot = undefined;
|
||||
self.traverseanim = undefined;
|
||||
self.deathanim = undefined;
|
||||
}
|
19
animscripts/traverse/step_down_24.gsc
Normal file
19
animscripts/traverse/step_down_24.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_down( 7, 0.7 );
|
||||
else
|
||||
human_traverse();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
human_traverse()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %sw_traversal_suspension_off;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
22
animscripts/traverse/step_up_12.gsc
Normal file
22
animscripts/traverse/step_up_12.gsc
Normal file
@ -0,0 +1,22 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
var_1 = var_0.traverse_height - var_0.origin[2];
|
||||
var_2 = var_1;
|
||||
var_3 = 6;
|
||||
var_4 = ( 0, 0, var_2 / var_3 );
|
||||
self traversemode( "noclip" );
|
||||
|
||||
for ( var_5 = 0; var_5 < var_3; var_5++ )
|
||||
{
|
||||
self teleport( self.origin + var_4 );
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
self traversemode( "gravity" );
|
||||
}
|
20
animscripts/traverse/step_up_24.gsc
Normal file
20
animscripts/traverse/step_up_24.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_up( 24.0, 5 );
|
||||
else
|
||||
human_traverse();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
human_traverse()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %sw_traversal_suspension_on;
|
||||
var_0["traverseHeight"] = 24.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/step_up_32.gsc
Normal file
20
animscripts/traverse/step_up_32.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_up( 32.0, 5 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %ch_pragueb_7_5_crosscourt_aimantle_a;
|
||||
var_0["traverseHeight"] = 32.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/stepup_38.gsc
Normal file
20
animscripts/traverse/stepup_38.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_up( 38.0, 5 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_stepup_52;
|
||||
var_0["traverseHeight"] = 38.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/stepup_52.gsc
Normal file
20
animscripts/traverse/stepup_52.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_up( 52.0, 5 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_stepup_52;
|
||||
var_0["traverseHeight"] = 52.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
20
animscripts/traverse/stepup_52_fast.gsc
Normal file
20
animscripts/traverse/stepup_52_fast.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_jump_up( 52.0, 5 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_stepup_52_fast;
|
||||
var_0["traverseHeight"] = 52.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
132
animscripts/traverse/sw_blended_linked_traversal.gsc
Normal file
132
animscripts/traverse/sw_blended_linked_traversal.gsc
Normal file
@ -0,0 +1,132 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
self endon( "death" );
|
||||
self.desired_anim_pose = "stand";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "death" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
var_1 = getent( var_0.script_parameters + "_1", "targetname" );
|
||||
var_2 = getent( var_0.script_parameters + "_2", "targetname" );
|
||||
var_3 = 0;
|
||||
var_4 = 0;
|
||||
|
||||
if ( isdefined( var_1.script_parameters ) && var_1.script_parameters == "linkto_cargo" )
|
||||
{
|
||||
var_2 = var_2 spawn_adjusted_train_node( var_1, var_0 );
|
||||
var_4 = 1;
|
||||
}
|
||||
else if ( isdefined( var_2.script_parameters ) && var_2.script_parameters == "linkto_cargo" )
|
||||
{
|
||||
var_1 = var_1 spawn_adjusted_train_node( var_2, var_0 );
|
||||
var_3 = 1;
|
||||
}
|
||||
|
||||
var_5 = var_1 common_scripts\utility::spawn_tag_origin();
|
||||
var_5 linkto( var_1, "tag_origin", ( 0, 0, 0 ), ( 0, 0, 0 ) );
|
||||
var_6 = level.scr_anim["generic"][var_0.script_animation];
|
||||
var_7 = getnotetracktimes( var_6, "blend_start" )[0] * getanimlength( var_6 );
|
||||
var_8 = getnotetracktimes( var_6, "blend_stop" )[0] * getanimlength( var_6 ) - var_7;
|
||||
var_9 = self.script_forcegoal;
|
||||
self.script_forcegoal = 1;
|
||||
self linkto( var_5 );
|
||||
thread traverse_allow_death( var_5 );
|
||||
var_5 maps\_utility::delaythread( var_7, ::traverse_blend_link, var_1, var_2, var_8 );
|
||||
self forcedeathfall( 1 );
|
||||
var_5 maps\_anim::anim_single_solo( self, var_0.script_animation, undefined, 0.1, "generic" );
|
||||
self unlink();
|
||||
self forcedeathfall( 0 );
|
||||
wait 0.1;
|
||||
self.script_forcegoal = var_9;
|
||||
self notify( "rt_traverse_done" );
|
||||
var_5 notify( "rt_traverse_done" );
|
||||
var_5 maps\_utility::anim_stopanimscripted();
|
||||
var_5 delete();
|
||||
|
||||
if ( var_3 )
|
||||
var_1 delete();
|
||||
|
||||
if ( var_4 )
|
||||
var_2 delete();
|
||||
}
|
||||
|
||||
traverse_allow_death( var_0 )
|
||||
{
|
||||
self endon( "rt_traverse_done" );
|
||||
self.allowdeath = 1;
|
||||
self waittill( "death" );
|
||||
self unlink();
|
||||
var_0 notify( "rt_traverse_done" );
|
||||
var_0 delete();
|
||||
}
|
||||
|
||||
traverse_blend_link( var_0, var_1, var_2 )
|
||||
{
|
||||
self endon( "rt_traverse_done" );
|
||||
var_3 = 0;
|
||||
var_4 = getpartname( var_0.model, 0 );
|
||||
|
||||
for ( var_5 = getpartname( var_1.model, 0 ); var_3 < var_2; var_3 = var_3 + 0.05 )
|
||||
{
|
||||
var_6 = var_3 / var_2;
|
||||
var_7 = var_0 gettagangles( var_4 );
|
||||
var_8 = var_1 gettagangles( var_5 );
|
||||
var_9 = anglestoaxis( var_7 );
|
||||
var_10 = anglestoaxis( var_8 );
|
||||
var_11 = var_10["forward"] * var_6 + var_9["forward"] * ( 1 - var_6 );
|
||||
var_12 = var_10["right"] * var_6 + var_9["right"] * ( 1 - var_6 );
|
||||
var_13 = var_10["up"] * var_6 + var_9["up"] * ( 1 - var_6 );
|
||||
var_14 = axistoangles( var_11, var_12, var_13 );
|
||||
var_15 = var_0 gettagorigin( var_4 );
|
||||
var_16 = var_1 gettagorigin( var_5 );
|
||||
var_17 = var_16 * var_6 + var_15 * ( 1 - var_6 );
|
||||
|
||||
if ( var_6 < 0.5 )
|
||||
self linkto( var_0, var_4, rotatevectorinverted( var_17 - var_15, var_7 ), var_14 - var_7 );
|
||||
else
|
||||
self linkto( var_1, var_5, rotatevectorinverted( var_17 - var_16, var_8 ), var_14 - var_8 );
|
||||
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
self linkto( var_1, "tag_origin", ( 0, 0, 0 ), ( 0, 0, 0 ) );
|
||||
}
|
||||
|
||||
spawn_adjusted_train_node( var_0, var_1 )
|
||||
{
|
||||
var_2 = vectornormalize( self.origin - var_0.origin );
|
||||
var_3 = 1;
|
||||
var_4 = undefined;
|
||||
|
||||
switch ( var_1.script_nodestate )
|
||||
{
|
||||
case "forward":
|
||||
var_4 = anglestoforward( level._train.cars[self.script_noteworthy].body.angles );
|
||||
break;
|
||||
case "right":
|
||||
var_4 = anglestoright( level._train.cars[self.script_noteworthy].body.angles );
|
||||
break;
|
||||
case "left":
|
||||
var_4 = anglestoright( level._train.cars[self.script_noteworthy].body.angles ) * -1;
|
||||
break;
|
||||
}
|
||||
|
||||
var_5 = var_4 * var_3;
|
||||
var_6 = vectordot( var_2, var_5 );
|
||||
var_7 = common_scripts\utility::spawn_tag_origin();
|
||||
|
||||
if ( var_6 != 0 )
|
||||
{
|
||||
var_5 = var_4 * var_6;
|
||||
var_8 = acos( length( var_5 ) / var_3 );
|
||||
var_9 = var_3 * sin( var_8 ) * ( var_6 / var_6 );
|
||||
var_7.origin = var_7.origin + anglestoright( self.angles ) * var_9;
|
||||
}
|
||||
|
||||
var_7 linkto( level._train.cars[self.script_noteworthy].body, "j_spineupper" );
|
||||
return var_7;
|
||||
}
|
57
animscripts/traverse/teargas_window1.gsc
Normal file
57
animscripts/traverse/teargas_window1.gsc
Normal file
@ -0,0 +1,57 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "wallhop", 40 );
|
||||
else
|
||||
teargas_traverse_window();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
teargas_traverse_window()
|
||||
{
|
||||
var_0 = randomintrange( 1, 6 );
|
||||
|
||||
switch ( var_0 )
|
||||
{
|
||||
case 1:
|
||||
var_1 = [];
|
||||
var_1["traverseAnim"] = %teargas_window_1;
|
||||
var_1["traverseHeight"] = 36.0;
|
||||
animscripts\traverse\shared::dotraverse( var_1 );
|
||||
break;
|
||||
case 2:
|
||||
var_1 = [];
|
||||
var_1["traverseAnim"] = %teargas_window_2;
|
||||
var_1["traverseHeight"] = 36.0;
|
||||
animscripts\traverse\shared::dotraverse( var_1 );
|
||||
break;
|
||||
case 3:
|
||||
var_1 = [];
|
||||
var_1["traverseAnim"] = %teargas_window_3;
|
||||
var_1["traverseHeight"] = 36.0;
|
||||
animscripts\traverse\shared::dotraverse( var_1 );
|
||||
break;
|
||||
case 4:
|
||||
var_1 = [];
|
||||
var_1["traverseAnim"] = %teargas_window_4;
|
||||
var_1["traverseHeight"] = 36.0;
|
||||
animscripts\traverse\shared::dotraverse( var_1 );
|
||||
break;
|
||||
case 5:
|
||||
var_1 = [];
|
||||
var_1["traverseAnim"] = %teargas_window_5;
|
||||
var_1["traverseHeight"] = 36.0;
|
||||
animscripts\traverse\shared::dotraverse( var_1 );
|
||||
break;
|
||||
case 6:
|
||||
var_1 = [];
|
||||
var_1["traverseAnim"] = %teargas_window_6;
|
||||
var_1["traverseHeight"] = 36.0;
|
||||
animscripts\traverse\shared::dotraverse( var_1 );
|
||||
break;
|
||||
}
|
||||
}
|
67
animscripts/traverse/wall_climb_90.gsc
Normal file
67
animscripts/traverse/wall_climb_90.gsc
Normal file
@ -0,0 +1,67 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
self.traversedeath = 1;
|
||||
advancedtraverse2( %traverse90, 90 );
|
||||
}
|
||||
|
||||
advancedtraverse2( var_0, var_1 )
|
||||
{
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_2 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_2.angles[1] );
|
||||
var_3 = var_2.traverse_height - var_2.origin[2];
|
||||
thread animscripts\traverse\shared::teleportthread( var_3 - var_1 );
|
||||
self setflaggedanimknoballrestart( "traverse", var_0, %body, 1, 0.15, 1 );
|
||||
var_4 = gettime();
|
||||
thread animscripts\notetracks::donotetracksforever( "traverse", "no clear", ::handle_death );
|
||||
|
||||
if ( !animhasnotetrack( var_0, "gravity on" ) )
|
||||
{
|
||||
var_4 = 1.23;
|
||||
var_5 = 0.2;
|
||||
wait 5.9;
|
||||
self traversemode( "gravity" );
|
||||
wait( var_5 );
|
||||
}
|
||||
else
|
||||
{
|
||||
self waittillmatch( "traverse", "gravity on" );
|
||||
self traversemode( "gravity" );
|
||||
|
||||
if ( !animhasnotetrack( var_0, "blend" ) )
|
||||
wait 0.2;
|
||||
else
|
||||
self waittillmatch( "traverse", "blend" );
|
||||
}
|
||||
}
|
||||
|
||||
handle_death( var_0 )
|
||||
{
|
||||
if ( var_0 != "traverse_death" )
|
||||
return;
|
||||
|
||||
self endon( "killanimscript" );
|
||||
|
||||
if ( self.health == 1 )
|
||||
{
|
||||
self.a.nodeath = 1;
|
||||
|
||||
if ( self.traversedeath > 1 )
|
||||
self setflaggedanimknoball( "deathanim", %traverse90_end_death, %body, 1, 0.2, 1 );
|
||||
else
|
||||
self setflaggedanimknoball( "deathanim", %traverse90_start_death, %body, 1, 0.2, 1 );
|
||||
|
||||
animscripts\face::saygenericdialogue( "death" );
|
||||
}
|
||||
|
||||
self.traversedeath++;
|
||||
}
|
20
animscripts/traverse/wall_hop.gsc
Normal file
20
animscripts/traverse/wall_hop.gsc
Normal file
@ -0,0 +1,20 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "wallhop", 40 );
|
||||
else
|
||||
wall_hop_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
wall_hop_human()
|
||||
{
|
||||
if ( randomint( 100 ) < 30 )
|
||||
animscripts\traverse\shared::advancedtraverse( %traverse_wallhop_3, 39.875 );
|
||||
else
|
||||
animscripts\traverse\shared::advancedtraverse( %traverse_wallhop, 39.875 );
|
||||
}
|
24
animscripts/traverse/wall_over_40.gsc
Normal file
24
animscripts/traverse/wall_over_40.gsc
Normal file
@ -0,0 +1,24 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "window_40", 40 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse40;
|
||||
var_0["traverseToCoverAnim"] = %traverse40_2_cover;
|
||||
var_0["coverType"] = "Cover Crouch";
|
||||
var_0["traverseHeight"] = 40.0;
|
||||
var_0["interruptDeathAnim"][0] = animscripts\utility::array( %traverse40_death_start, %traverse40_death_start_2 );
|
||||
var_0["interruptDeathAnim"][1] = animscripts\utility::array( %traverse40_death_end, %traverse40_death_end_2 );
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
66
animscripts/traverse/wall_over_96.gsc
Normal file
66
animscripts/traverse/wall_over_96.gsc
Normal file
@ -0,0 +1,66 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
self.traversedeath = 1;
|
||||
advancedtraverse2( %traverse90, 96 );
|
||||
}
|
||||
|
||||
advancedtraverse2( var_0, var_1 )
|
||||
{
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_2 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_2.angles[1] );
|
||||
var_3 = var_2.traverse_height - var_2.origin[2];
|
||||
self setflaggedanimknoballrestart( "traverse", var_0, %body, 1, 0.15, 1 );
|
||||
var_4 = gettime();
|
||||
thread animscripts\notetracks::donotetracksforever( "traverse", "no clear", ::handle_death );
|
||||
|
||||
if ( !animhasnotetrack( var_0, "gravity on" ) )
|
||||
{
|
||||
var_4 = 1.23;
|
||||
var_5 = 0.2;
|
||||
wait 5.0;
|
||||
self traversemode( "gravity" );
|
||||
wait( var_5 );
|
||||
}
|
||||
else
|
||||
{
|
||||
self waittillmatch( "traverse", "gravity on" );
|
||||
self traversemode( "gravity" );
|
||||
|
||||
if ( !animhasnotetrack( var_0, "blend" ) )
|
||||
wait 0.2;
|
||||
else
|
||||
self waittillmatch( "traverse", "blend" );
|
||||
}
|
||||
}
|
||||
|
||||
handle_death( var_0 )
|
||||
{
|
||||
if ( var_0 != "traverse_death" )
|
||||
return;
|
||||
|
||||
self endon( "killanimscript" );
|
||||
|
||||
if ( self.health == 1 )
|
||||
{
|
||||
self.a.nodeath = 1;
|
||||
|
||||
if ( self.traversedeath > 1 )
|
||||
self setflaggedanimknoball( "deathanim", %traverse90_end_death, %body, 1, 0.2, 1 );
|
||||
else
|
||||
self setflaggedanimknoball( "deathanim", %traverse90_start_death, %body, 1, 0.2, 1 );
|
||||
|
||||
animscripts\face::saygenericdialogue( "death" );
|
||||
}
|
||||
|
||||
self.traversedeath++;
|
||||
}
|
19
animscripts/traverse/window.gsc
Normal file
19
animscripts/traverse/window.gsc
Normal file
@ -0,0 +1,19 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_0 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_0.angles[1] );
|
||||
self setflaggedanimknoballrestart( "diveanim", %windowclimb, %body, 1, 0.1, 1 );
|
||||
self waittillmatch( "diveanim", "gravity on" );
|
||||
self traversemode( "gravity" );
|
||||
animscripts\shared::donotetracks( "diveanim" );
|
||||
}
|
30
animscripts/traverse/window_2.gsc
Normal file
30
animscripts/traverse/window_2.gsc
Normal file
@ -0,0 +1,30 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "wallhop", 40 );
|
||||
else
|
||||
advancedwindowtraverse( %windowclimb, 35 );
|
||||
}
|
||||
|
||||
advancedwindowtraverse( var_0, var_1 )
|
||||
{
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "nogravity" );
|
||||
self traversemode( "noclip" );
|
||||
var_2 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_2.angles[1] );
|
||||
var_3 = var_2.traverse_height - var_2.origin[2];
|
||||
self setflaggedanimknoballrestart( "traverse", var_0, %body, 1, 0.15, 1 );
|
||||
wait 0.7;
|
||||
thread animscripts\traverse\shared::teleportthread( var_3 - var_1 );
|
||||
wait 0.9;
|
||||
self traversemode( "gravity" );
|
||||
animscripts\shared::donotetracks( "traverse" );
|
||||
}
|
21
animscripts/traverse/window_divethrough_36.gsc
Normal file
21
animscripts/traverse/window_divethrough_36.gsc
Normal file
@ -0,0 +1,21 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "window_40", 40 );
|
||||
else
|
||||
low_wall_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
low_wall_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_window_m_2_dive;
|
||||
var_0["traverseStopsAtEnd"] = 1;
|
||||
var_0["traverseHeight"] = 36.0;
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
84
animscripts/traverse/window_down.gsc
Normal file
84
animscripts/traverse/window_down.gsc
Normal file
@ -0,0 +1,84 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
main()
|
||||
{
|
||||
var_0 = %windowclimb_fall;
|
||||
var_1 = %windowclimb_land;
|
||||
var_2 = 35;
|
||||
self.desired_anim_pose = "crouch";
|
||||
animscripts\utility::updateanimpose();
|
||||
self endon( "killanimscript" );
|
||||
self traversemode( "noclip" );
|
||||
var_3 = self getnegotiationstartnode();
|
||||
self orientmode( "face angle", var_3.angles[1] );
|
||||
var_4 = var_3.traverse_height - var_3.origin[2];
|
||||
self setflaggedanimknoballrestart( "traverse", var_0, %body, 1, 0.15, 1 );
|
||||
thread animscripts\notetracks::donotetracksforever( "traverse", "stop_traverse_notetracks" );
|
||||
wait 1.5;
|
||||
var_5 = ( 0, var_3.angles[1], 0 );
|
||||
var_6 = anglestoforward( var_5 );
|
||||
var_6 = var_6 * 85;
|
||||
var_7 = bullettrace( var_3.origin + var_6, var_3.origin + var_6 + ( 0, 0, -500 ), 0, undefined );
|
||||
var_8 = var_7["position"][2];
|
||||
var_9 = var_3.origin[2] - var_8;
|
||||
var_10 = 0;
|
||||
|
||||
for ( var_11 = 0; var_11 < level.window_down_height.size; var_11++ )
|
||||
{
|
||||
if ( var_9 < level.window_down_height[var_11] )
|
||||
continue;
|
||||
|
||||
var_10 = var_9 - level.window_down_height[var_11];
|
||||
}
|
||||
|
||||
thread animscripts\traverse\shared::teleportthread( var_10 * -1 );
|
||||
var_12 = self.origin[2];
|
||||
var_13 = 0;
|
||||
level.traversefall = [];
|
||||
|
||||
for (;;)
|
||||
{
|
||||
var_13 = var_12 - self.origin[2];
|
||||
|
||||
if ( self.origin[2] - var_13 < var_8 )
|
||||
break;
|
||||
|
||||
var_12 = self.origin[2];
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
if ( isdefined( self.groundtype ) )
|
||||
self playsound( "Land_" + self.groundtype );
|
||||
|
||||
self notify( "stop_traverse_notetracks" );
|
||||
self setflaggedanimknoballrestart( "traverse", var_1, %body, 1, 0.15, 1 );
|
||||
self traversemode( "gravity" );
|
||||
animscripts\shared::donotetracks( "traverse" );
|
||||
}
|
||||
|
||||
printer( var_0 )
|
||||
{
|
||||
level notify( "print_this_" + var_0 );
|
||||
level endon( "print_this_" + var_0 );
|
||||
|
||||
for (;;)
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
showline( var_0, var_1 )
|
||||
{
|
||||
for (;;)
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
printerdebugger( var_0, var_1 )
|
||||
{
|
||||
level notify( "prrint_this_" + var_1 );
|
||||
level endon( "prrint_this_" + var_1 );
|
||||
|
||||
for (;;)
|
||||
wait 0.05;
|
||||
}
|
24
animscripts/traverse/window_over_40.gsc
Normal file
24
animscripts/traverse/window_over_40.gsc
Normal file
@ -0,0 +1,24 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "window_40", 40 );
|
||||
else
|
||||
jump_through_window_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
jump_through_window_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_window_m_2_run;
|
||||
var_0["traverseToCoverAnim"] = %traverse_window_m_2_stop;
|
||||
var_0["coverType"] = "Cover Crouch";
|
||||
var_0["traverseHeight"] = 36.0;
|
||||
var_0["interruptDeathAnim"][0] = animscripts\utility::array( %traverse_window_death_start );
|
||||
var_0["interruptDeathAnim"][1] = animscripts\utility::array( %traverse_window_death_end );
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
23
animscripts/traverse/window_over_quick.gsc
Normal file
23
animscripts/traverse/window_over_quick.gsc
Normal file
@ -0,0 +1,23 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
if ( self.type == "dog" )
|
||||
animscripts\traverse\shared::dog_wall_and_window_hop( "window_40", 40 );
|
||||
else
|
||||
jump_through_window_human();
|
||||
}
|
||||
|
||||
#using_animtree("generic_human");
|
||||
|
||||
jump_through_window_human()
|
||||
{
|
||||
var_0 = [];
|
||||
var_0["traverseAnim"] = %traverse_window_quick;
|
||||
var_0["coverType"] = "Cover Crouch";
|
||||
var_0["traverseHeight"] = 36.0;
|
||||
var_0["interruptDeathAnim"][0] = animscripts\utility::array( %traverse_window_death_start );
|
||||
var_0["interruptDeathAnim"][1] = animscripts\utility::array( %traverse_window_death_end );
|
||||
animscripts\traverse\shared::dotraverse( var_0 );
|
||||
}
|
Reference in New Issue
Block a user