init
This commit is contained in:
7
animscripts/shark/shark_combat.gsc
Normal file
7
animscripts/shark/shark_combat.gsc
Normal file
@ -0,0 +1,7 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
|
||||
}
|
117
animscripts/shark/shark_death.gsc
Normal file
117
animscripts/shark/shark_death.gsc
Normal file
@ -0,0 +1,117 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("animals");
|
||||
|
||||
main()
|
||||
{
|
||||
self clearanim( %root, 0.2 );
|
||||
var_0 = spawn( "script_model", self.origin );
|
||||
var_0.angles = self.angles;
|
||||
var_0 setmodel( self.model );
|
||||
var_0 useanimtree( #animtree );
|
||||
var_0 hide();
|
||||
self linkto( var_0 );
|
||||
var_0 find_available_collision_model();
|
||||
|
||||
if ( randomintrange( 0, 100 ) < 50 )
|
||||
{
|
||||
var_1 = %shark_death_1;
|
||||
var_2 = %shark_death_loop_1;
|
||||
var_3 = %shark_death_settle_1;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_1 = %shark_death_2;
|
||||
var_2 = %shark_death_loop_2;
|
||||
var_3 = %shark_death_settle_2;
|
||||
}
|
||||
|
||||
self setanimknobrestart( var_1, 1, 0, 1 );
|
||||
var_4 = getanimlength( var_1 );
|
||||
playfxontag( level._effect["swim_ai_death_blood"], var_0, "j_spineupper" );
|
||||
var_5 = [ "j_tail1", "j_spineupper", "j_tail2", "j_fin_le", "j_fin_ri", "j_head", "j_jaw" ];
|
||||
|
||||
foreach ( var_7 in var_5 )
|
||||
playfxontag( level._effect["water_bubbles_wide_sm_lp"], var_0, var_7 );
|
||||
|
||||
var_9 = 1;
|
||||
var_0 moveto( var_0.origin - ( 0, 0, 1000 ), 100, 0, 100 );
|
||||
|
||||
while ( var_9 )
|
||||
{
|
||||
var_10 = bullettracepassed( var_0.origin, var_0.origin - ( 0, 0, 10 ), 1, self );
|
||||
var_11 = bullettracepassed( var_0.origin, var_0.origin - ( 0, 0, 10 ), 1, level.player );
|
||||
|
||||
if ( !var_10 && !var_11 )
|
||||
var_9 = 0;
|
||||
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
self setanimknobrestart( var_3, 1, 0, 1 );
|
||||
var_0 moveto( var_0.origin - ( 0, 0, 10 ), 5, 0, 5 );
|
||||
|
||||
foreach ( var_7 in var_5 )
|
||||
{
|
||||
stopfxontag( level._effect["water_bubbles_wide_sm_lp"], var_0, var_7 );
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
wait 50;
|
||||
var_0 return_collision_model();
|
||||
var_0 delete();
|
||||
self delete();
|
||||
}
|
||||
|
||||
find_available_collision_model()
|
||||
{
|
||||
if ( !isdefined( level.shark_collsions ) )
|
||||
return;
|
||||
|
||||
for ( var_0 = 0; var_0 < level.shark_collsions.size; var_0++ )
|
||||
{
|
||||
if ( level.shark_collsions[var_0].is_available )
|
||||
{
|
||||
level.shark_collsions[var_0].is_available = 0;
|
||||
level.shark_collsions[var_0] solid();
|
||||
level.shark_collsions[var_0].origin = self.origin;
|
||||
level.shark_collsions[var_0].angles = self.angles;
|
||||
level.shark_collsions[var_0] linkto( self );
|
||||
self.shark_collision_model = level.shark_collsions[var_0];
|
||||
|
||||
foreach ( var_2 in level.players )
|
||||
var_2 thread track_collision_with_player( level.shark_collsions[var_0] );
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
track_collision_with_player( var_0 )
|
||||
{
|
||||
var_0 endon( "released" );
|
||||
|
||||
for (;;)
|
||||
{
|
||||
if ( self istouching( var_0 ) )
|
||||
{
|
||||
var_0 notsolid();
|
||||
return;
|
||||
}
|
||||
|
||||
wait 0.1;
|
||||
}
|
||||
}
|
||||
|
||||
return_collision_model()
|
||||
{
|
||||
if ( !isdefined( level.shark_collsions ) || !isdefined( self.shark_collision_model ) )
|
||||
return;
|
||||
|
||||
self.shark_collision_model notify( "released" );
|
||||
self.shark_collision_model unlink();
|
||||
self.shark_collision_model notsolid();
|
||||
self.shark_collision_model.origin = self.shark_collision_model.original_origin;
|
||||
self.shark_collision_model.is_available = 1;
|
||||
}
|
7
animscripts/shark/shark_flashed.gsc
Normal file
7
animscripts/shark/shark_flashed.gsc
Normal file
@ -0,0 +1,7 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
|
||||
}
|
39
animscripts/shark/shark_init.gsc
Normal file
39
animscripts/shark/shark_init.gsc
Normal file
@ -0,0 +1,39 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("animals");
|
||||
|
||||
main()
|
||||
{
|
||||
self useanimtree( #animtree );
|
||||
initsharkanimations();
|
||||
animscripts\init::firstinit();
|
||||
self.ignoresuppression = 1;
|
||||
self.newenemyreactiondistsq = 0;
|
||||
self.ignoreall = 1;
|
||||
self.ignoreme = 1;
|
||||
self.chatinitialized = 0;
|
||||
self.nododgemove = 1;
|
||||
self.root_anim = %root;
|
||||
self.meleeattackdist = 0;
|
||||
self.a = spawnstruct();
|
||||
self.a.pose = "stand";
|
||||
self.a.nextstandinghitdying = 0;
|
||||
self.a.movement = "run";
|
||||
animscripts\init::set_anim_playback_rate();
|
||||
self.suppressionthreshold = 1;
|
||||
self.disablearrivals = 0;
|
||||
self.stopanimdistsq = anim.dogstoppingdistsq;
|
||||
self.usechokepoints = 0;
|
||||
self.turnrate = 0.6;
|
||||
self.pathenemyfightdist = 512;
|
||||
self settalktospecies( "dog" );
|
||||
self.health = 200;
|
||||
self.swimmer = 1;
|
||||
self.pathrandompercent = 0;
|
||||
}
|
||||
|
||||
initsharkanimations()
|
||||
{
|
||||
|
||||
}
|
55
animscripts/shark/shark_move.gsc
Normal file
55
animscripts/shark/shark_move.gsc
Normal file
@ -0,0 +1,55 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("animals");
|
||||
|
||||
main()
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self clearanim( %root, 0.2 );
|
||||
self clearanim( %shark_swim_f, 0.2 );
|
||||
|
||||
for (;;)
|
||||
moveloop();
|
||||
}
|
||||
|
||||
moveloop()
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self endon( "stop_soon" );
|
||||
self.moveloopcleanupfunc = undefined;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
if ( self.disablearrivals )
|
||||
self.stopanimdistsq = 0;
|
||||
else
|
||||
self.stopanimdistsq = anim.dogstoppingdistsq;
|
||||
|
||||
moveloopstep();
|
||||
}
|
||||
}
|
||||
|
||||
moveloopstep()
|
||||
{
|
||||
self endon( "move_loop_restart" );
|
||||
shark_updateleananim();
|
||||
self setflaggedanim( "shark_swim", %shark_swim_f_2, 1, 0.2, self.moveplaybackrate );
|
||||
animscripts\notetracks::donotetracksfortime( 0.2, "shark_swim" );
|
||||
}
|
||||
|
||||
shark_updateleananim()
|
||||
{
|
||||
var_0 = clamp( self.leanamount / 8.0, -1, 1 );
|
||||
|
||||
if ( var_0 > 0 )
|
||||
{
|
||||
self setanim( %shark_add_turn_l, var_0, 0.2, 1, 1 );
|
||||
self setanim( %shark_add_turn_r, 0.0, 0.2, 1, 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
self setanim( %shark_add_turn_l, 0.0, 0.2, 1, 1 );
|
||||
self setanim( %shark_add_turn_r, 0 - var_0, 0.2, 1, 1 );
|
||||
}
|
||||
}
|
7
animscripts/shark/shark_pain.gsc
Normal file
7
animscripts/shark/shark_pain.gsc
Normal file
@ -0,0 +1,7 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
|
||||
}
|
7
animscripts/shark/shark_reactions.gsc
Normal file
7
animscripts/shark/shark_reactions.gsc
Normal file
@ -0,0 +1,7 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
main()
|
||||
{
|
||||
|
||||
}
|
39
animscripts/shark/shark_scripted.gsc
Normal file
39
animscripts/shark/shark_scripted.gsc
Normal file
@ -0,0 +1,39 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("animals");
|
||||
|
||||
main()
|
||||
{
|
||||
self endon( "death" );
|
||||
self notify( "killanimscript" );
|
||||
self.codescripted["root"] = %root;
|
||||
self endon( "end_sequence" );
|
||||
self startscriptedanim( self.codescripted["notifyName"], self.codescripted["origin"], self.codescripted["angles"], self.codescripted["anim"], self.codescripted["animMode"], self.codescripted["root"], self.codescripted["goalTime"] );
|
||||
self.codescripted = undefined;
|
||||
|
||||
if ( isdefined( self.deathstring_passed ) )
|
||||
self.deathstring = self.deathstring_passed;
|
||||
|
||||
self waittill( "killanimscript" );
|
||||
}
|
||||
|
||||
init( var_0, var_1, var_2, var_3, var_4, var_5, var_6 )
|
||||
{
|
||||
self.codescripted["notifyName"] = var_0;
|
||||
self.codescripted["origin"] = var_1;
|
||||
self.codescripted["angles"] = var_2;
|
||||
self.codescripted["anim"] = var_3;
|
||||
|
||||
if ( isdefined( var_4 ) )
|
||||
self.codescripted["animMode"] = var_4;
|
||||
else
|
||||
self.codescripted["animMode"] = "normal";
|
||||
|
||||
if ( isdefined( var_5 ) )
|
||||
self.codescripted["root"] = var_5;
|
||||
else
|
||||
self.codescripted["root"] = %root;
|
||||
|
||||
self.codescripted["goalTime"] = var_6;
|
||||
}
|
17
animscripts/shark/shark_stop.gsc
Normal file
17
animscripts/shark/shark_stop.gsc
Normal file
@ -0,0 +1,17 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
#using_animtree("animals");
|
||||
|
||||
main()
|
||||
{
|
||||
self endon( "killanimscript" );
|
||||
self clearanim( %root, 0.1 );
|
||||
self clearanim( %shark_swim_f_2, 0.2 );
|
||||
|
||||
for (;;)
|
||||
{
|
||||
self setflaggedanimrestart( "shark_idle", %shark_swim_f, 1, 0.2, self.animplaybackrate );
|
||||
animscripts\shared::donotetracks( "shark_idle" );
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user