// IW6 GSC SOURCE // Generated by https://github.com/xensik/gsc-tool main() { self.current_event = "none"; self.shoot_while_driving_thread = undefined; snowmobile_geton(); if ( isdefined( self.drivingvehicle ) ) main_driver(); else main_passenger(); } snowmobile_geton() { self.grenadeawareness = 0; self.a.pose = "crouch"; maps\_utility::disable_surprise(); self.allowpain = 0; self.flashbangimmunity = 1; self.getoffvehiclefunc = ::snowmobile_getoff; self.specialdeathfunc = ::snowmobile_normal_death; self.disablebulletwhizbyreaction = 1; } snowmobile_getoff() { self.allowpain = 1; self.flashbangimmunity = 0; maps\_utility::gun_recall(); self.onsnowmobile = undefined; self.getoffvehiclefunc = undefined; self.specialdeathfunc = undefined; self.a.specialshootbehavior = undefined; self.disablebulletwhizbyreaction = undefined; } main_driver() { var_0 = self.ridingvehicle.driver_shooting || self.ridingvehicle.riders.size == 1; snowmobile_setanim_driver( var_0 ); if ( var_0 ) { animscripts\shared::placeweaponon( self.primaryweapon, "left" ); self.rightaimlimit = 90; self.leftaimlimit = -90; animscripts\track::setanimaimweight( 1, 0.2 ); thread snowmobile_trackshootentorpos_driver(); thread snowmobile_loop_driver_shooting(); } else { animscripts\shared::placeweaponon( self.primaryweapon, "none" ); thread snowmobile_loop_driver(); } snowmobile_handle_events( "driver" ); } main_passenger() { snowmobile_setanim_passenger( self.ridingvehicle.passenger_shooting ); if ( self.ridingvehicle.passenger_shooting ) { self.rightaimlimit = 180; self.leftaimlimit = -180; self.diraimlimit = 1; animscripts\track::setanimaimweight( 1, 0.2 ); thread snowmobile_trackshootentorpos_passenger(); thread snowmobile_loop_passenger_shooting(); } else thread snowmobile_loop_passenger(); snowmobile_handle_events( "passenger" ); } #using_animtree("generic_human"); snowmobile_loop_driver() { self endon( "death" ); self endon( "killanimscript" ); var_0 = "left2right"; var_1 = []; var_1["left2right"] = getanimlength( animscripts\utility::animarray( "left2right" ) ); var_1["right2left"] = getanimlength( animscripts\utility::animarray( "right2left" ) ); self setanimknoball( %sm_turn, %body, 1, 0 ); self setanim( animscripts\utility::animarray( "drive" ), 1, 0 ); self setanimknob( animscripts\utility::animarray( var_0 ), 1, 0 ); self setanimtime( animscripts\utility::animarray( var_0 ), 0.5 ); for (;;) { if ( self.ridingvehicle.steering_enable ) { var_2 = 0.5 * ( 1 + maps\_vehicle_code::update_steering( self.ridingvehicle ) ); var_3 = self getanimtime( animscripts\utility::animarray( var_0 ) ); if ( var_0 == "right2left" ) var_3 = 1 - var_3; var_4 = 20 * abs( var_3 - var_2 ); if ( var_3 < var_2 ) { var_0 = "left2right"; var_4 = var_4 * var_1["left2right"]; } else { var_0 = "right2left"; var_4 = var_4 * var_1["right2left"]; var_3 = 1 - var_3; } } else { var_0 = "left2right"; var_4 = 0; var_3 = 0.5; } self setanimknoblimited( animscripts\utility::animarray( var_0 ), 1, 0.1, var_4 ); self setanimtime( animscripts\utility::animarray( var_0 ), var_3 ); wait 0.05; } } snowmobile_loop_passenger() { self endon( "death" ); self endon( "killanimscript" ); self setanimknoball( animscripts\utility::animarray( "hide" ), %body, 1, 0 ); self setanimknob( animscripts\utility::animarray( "drive" ), 1, 0 ); for (;;) { var_0 = maps\_vehicle_code::update_steering( self.ridingvehicle ); self setanimlimited( %sm_lean, abs( var_0 ), 0.05 ); if ( var_0 >= 0 ) self setanimknoblimited( animscripts\utility::animarray( "lean_right" ), 1, 0.05 ); else self setanimknoblimited( animscripts\utility::animarray( "lean_left" ), 1, 0.05 ); wait 0.05; } } snowmobile_loop_driver_shooting() { self endon( "death" ); self endon( "killanimscript" ); var_0 = 0.05; var_1 = 0; self setanimknoball( %sm_aiming, %body, 1, 0 ); self setanimknob( animscripts\utility::animarray( "idle" ), 1, 0 ); for (;;) { if ( self.current_event != "none" ) { self waittill( "snowmobile_event_finished" ); continue; } var_2 = maps\_vehicle_code::update_steering( self.ridingvehicle ); var_3 = 1 - abs( var_2 ); var_4 = max( 0, 0 - var_2 ); var_5 = max( 0, var_2 ); self setanimlimited( animscripts\utility::animarray( "straight_level_center" ), var_3, var_0 ); self setanimlimited( animscripts\utility::animarray( "straight_level_left" ), var_4, var_0 ); self setanimlimited( animscripts\utility::animarray( "straight_level_right" ), var_5, var_0 ); if ( self.bulletsinclip <= 0 ) { animscripts\weaponlist::refillclip(); var_1 = gettime() + 3000; } if ( var_1 <= gettime() ) snowmobile_start_shooting(); self setanimknoblimited( animscripts\utility::animarray( "add_aim_left_center" ), var_3, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_left_left" ), var_4, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_left_right" ), var_5, var_0 ); self setanimknoblimited( animscripts\utility::animarray( "add_aim_right_center" ), var_3, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_right_left" ), var_4, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_right_right" ), var_5, var_0 ); thread snowmobile_stop_shooting(); wait 0.05; } } snowmobile_loop_passenger_shooting() { self endon( "death" ); self endon( "killanimscript" ); var_0 = 0.05; self setanimknoball( %sm_aiming, %body, 1, 0 ); self setanimknob( animscripts\utility::animarray( "idle" ), 1, 0 ); for (;;) { if ( self.current_event != "none" ) { self waittill( "snowmobile_event_finished" ); continue; } if ( snowmobile_reload() ) continue; var_1 = maps\_vehicle_code::update_steering( self.ridingvehicle ); var_2 = 1 - abs( var_1 ); var_3 = max( 0, 0 - var_1 ); var_4 = max( 0, var_1 ); self setanimlimited( animscripts\utility::animarray( "straight_level_center" ), var_2, var_0 ); self setanimlimited( animscripts\utility::animarray( "straight_level_left" ), var_3, var_0 ); self setanimlimited( animscripts\utility::animarray( "straight_level_right" ), var_4, var_0 ); snowmobile_start_shooting(); self setanimlimited( animscripts\utility::animarray( "aim_left_center" ), var_2, var_0 ); self setanimlimited( animscripts\utility::animarray( "aim_left_left" ), var_3, var_0 ); self setanimlimited( animscripts\utility::animarray( "aim_left_right" ), var_4, var_0 ); self setanimlimited( animscripts\utility::animarray( "aim_right_center" ), var_2, var_0 ); self setanimlimited( animscripts\utility::animarray( "aim_right_left" ), var_3, var_0 ); self setanimlimited( animscripts\utility::animarray( "aim_right_right" ), var_4, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_backleft_center" ), var_2, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_backleft_left" ), var_3, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_backleft_right" ), var_4, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_backright_center" ), var_2, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_backright_left" ), var_3, var_0 ); self setanimlimited( animscripts\utility::animarray( "add_aim_backright_right" ), var_4, var_0 ); if ( isplayer( self.enemy ) ) self updateplayersightaccuracy(); wait 0.05; thread snowmobile_stop_shooting(); } } snowmobile_do_event( var_0 ) { self endon( "death" ); self.ridingvehicle.steering_enable = 0; self setflaggedanimknoblimitedrestart( "snowmobile_event", var_0, 1, 0.17 ); animscripts\shared::donotetracks( "snowmobile_event", ::snowmobile_waitfor_start_lean ); self setanimknoblimited( animscripts\utility::animarray( "event_restore" ), 1, 0.1 ); self.ridingvehicle.steering_enable = 1; self.current_event = "none"; self notify( "snowmobile_event_finished" ); } snowmobile_handle_events( var_0 ) { self endon( "death" ); self endon( "killanimscript" ); var_1 = self.ridingvehicle; for (;;) { if ( var_1.event["jump"][var_0] ) { var_1.event["jump"][var_0] = 0; self notify( "snowmobile_event_occurred" ); self.current_event = "jump"; var_1.steering_enable = 0; self setflaggedanimknoblimitedrestart( "jump", animscripts\utility::animarray( "event_jump" ), 1, 0.17 ); } if ( var_1.event["bump"][var_0] ) { var_1.event["bump"][var_0] = 0; self notify( "snowmobile_event_occurred" ); if ( self.current_event != "bump_big" ) thread snowmobile_do_event( animscripts\utility::animarray( "event_bump" ) ); } if ( var_1.event["bump_big"][var_0] ) { var_1.event["bump_big"][var_0] = 0; self notify( "snowmobile_event_occurred" ); self.current_event = "bump_big"; thread snowmobile_do_event( animscripts\utility::animarray( "event_bump_big" ) ); } if ( var_1.event["sway_left"][var_0] ) { var_1.event["sway_left"][var_0] = 0; self notify( "snowmobile_event_occurred" ); if ( self.current_event != "bump_big" ) thread snowmobile_do_event( animscripts\utility::animarray( "event_sway" )["left"] ); } if ( var_1.event["sway_right"][var_0] ) { var_1.event["sway_right"][var_0] = 0; self notify( "snowmobile_event_occurred" ); if ( self.current_event != "bump_big" ) thread snowmobile_do_event( animscripts\utility::animarray( "event_sway" )["right"] ); } wait 0.05; } } snowmobile_start_shooting() { self notify( "want_shoot_while_driving" ); self setanim( %sm_add_fire, 1, 0.2 ); if ( isdefined( self.shoot_while_driving_thread ) ) return; self.shoot_while_driving_thread = 1; thread snowmobile_decide_shoot(); thread snowmobile_shoot(); } snowmobile_stop_shooting() { self endon( "killanimscript" ); self endon( "want_shoot_while_driving" ); wait 0.05; self notify( "end_shoot_while_driving" ); self.shoot_while_driving_thread = undefined; self clearanim( %sm_add_fire, 0.2 ); } snowmobile_decide_shoot() { self endon( "killanimscript" ); self endon( "end_shoot_while_driving" ); self.a.specialshootbehavior = ::snowmobileshootbehavior; snowmobile_decide_shoot_internal(); self.shoot_while_driving_thread = undefined; } snowmobile_decide_shoot_internal() { self endon( "snowmobile_event_occurred" ); animscripts\shoot_behavior::decidewhatandhowtoshoot( "normal" ); } snowmobileshootbehavior() { if ( !isdefined( self.enemy ) ) { self.shootent = undefined; self.shootpos = undefined; self.shootstyle = "none"; return; } self.shootent = self.enemy; self.shootpos = self.enemy getshootatpos(); var_0 = distancesquared( self.origin, self.enemy.origin ); if ( var_0 < 1000000 ) self.shootstyle = "full"; else if ( var_0 < 4000000 ) self.shootstyle = "burst"; else self.shootstyle = "single"; if ( isdefined( self.enemy.vehicle ) ) { var_1 = 0.5; var_2 = self.shootent.vehicle; var_3 = self.ridingvehicle; var_4 = var_3.origin - var_2.origin; var_5 = anglestoforward( var_2.angles ); var_6 = anglestoright( var_2.angles ); var_7 = vectordot( var_4, var_5 ); if ( var_7 < 0 ) { var_8 = var_2 vehicle_getspeed() * var_1; var_8 = var_8 * 17.6; if ( var_8 > 50 ) { var_9 = vectordot( var_4, var_6 ); var_9 = var_9 / 3; if ( var_9 > 128 ) var_9 = 128; else if ( var_9 < -128 ) var_9 = -128; if ( var_9 > 0 ) var_9 = 128 - var_9; else var_9 = -128 - var_9; self.shootent = undefined; self.shootpos = var_2.origin + var_8 * var_5 + var_9 * var_6; return; } } } } snowmobile_shoot() { self endon( "killanimscript" ); self endon( "end_shoot_while_driving" ); self notify( "doing_shootWhileDriving" ); self endon( "doing_shootWhileDriving" ); for (;;) { if ( !self.bulletsinclip ) { wait 0.5; continue; } animscripts\combat_utility::shootuntilshootbehaviorchange(); } } snowmobile_reload() { if ( !self.ridingvehicle.steering_enable ) return 0; if ( !animscripts\combat_utility::needtoreload( 0 ) ) return 0; if ( !animscripts\utility::usingriflelikeweapon() ) return 0; snowmobile_reload_internal(); self notify( "abort_reload" ); return 1; } snowmobile_reload_internal() { self endon( "snowmobile_event_occurred" ); self.stop_aiming_for_reload = 1; self waittill( "start_blending_reload" ); self setanim( %sm_aiming, 0, 0.25 ); self setflaggedanimrestart( "gun_down", animscripts\utility::animarray( "gun_down" ), 1, 0.25 ); animscripts\shared::donotetracks( "gun_down" ); self clearanim( animscripts\utility::animarray( "gun_down" ), 0 ); self setflaggedanimknoballrestart( "reload_anim", animscripts\utility::animarray( "reload" ), %body, 1, 0.25 ); animscripts\shared::donotetracks( "reload_anim" ); self clearanim( %sm_reload, 0.2 ); self setflaggedanimrestart( "gun_up", animscripts\utility::animarray( "gun_up" ), 1, 0.25 ); self.gun_up_for_reload = 1; animscripts\shared::donotetracks( "gun_up", ::snowmobile_waitfor_start_aim ); self.stop_aiming_for_reload = undefined; self clearanim( %sm_reload, 0.1 ); self setanim( %sm_aiming, 1, 0.1 ); if ( isdefined( self.gun_up_for_reload ) ) { self.gun_up_for_reload = undefined; animscripts\shared::donotetracks( "gun_up", ::snowmobile_waitfor_end ); self clearanim( animscripts\utility::animarray( "gun_up" ), 0 ); } } snowmobile_waitfor_start_aim( var_0 ) { if ( var_0 == "start_aim" ) return 1; } snowmobile_waitfor_end( var_0 ) { if ( var_0 == "end" ) return 1; } snowmobile_waitfor_start_lean( var_0 ) { if ( var_0 == "start_lean" ) return 1; } snowmobile_trackshootentorpos_driver() { self endon( "killanimscript" ); self endon( "stop tracking" ); var_0 = 0.05; var_1 = 8; var_2 = 0; var_3 = 0; var_4 = 1; for (;;) { animscripts\track::incranimaimweight(); var_5 = ( self.origin[0], self.origin[1], self geteye()[2] ); var_6 = self.shootpos; if ( isdefined( self.shootent ) ) var_6 = self.shootent getshootatpos(); if ( !isdefined( var_6 ) ) { var_3 = 0; var_7 = self getanglestolikelyenemypath(); if ( isdefined( var_7 ) ) var_3 = angleclamp180( self.angles[1] - var_7[1] ); } else { var_8 = var_6 - var_5; var_9 = vectortoangles( var_8 ); var_3 = self.angles[1] - var_9[1]; var_3 = angleclamp180( var_3 ); } if ( var_3 > self.rightaimlimit || var_3 < self.leftaimlimit ) var_3 = 0; if ( var_4 ) var_4 = 0; else { var_10 = var_3 - var_2; if ( abs( var_10 ) > var_1 ) var_3 = var_2 + var_1 * common_scripts\utility::sign( var_10 ); } var_2 = var_3; var_11 = min( max( 0 - var_3, 0 ), 90 ) / 90 * self.a.aimweight; var_12 = min( max( var_3, 0 ), 90 ) / 90 * self.a.aimweight; self setanimlimited( %sm_aim_4, var_11, var_0 ); self setanimlimited( %sm_aim_6, var_12, var_0 ); wait 0.05; } } snowmobile_trackshootentorpos_passenger() { self endon( "killanimscript" ); self endon( "stop tracking" ); var_0 = 0.05; var_1 = 5; var_2 = 20; var_3 = 15; var_4 = 40; var_5 = 30; var_6 = 0; var_7 = 0; var_8 = 1; for (;;) { animscripts\track::incranimaimweight(); var_9 = ( self.origin[0], self.origin[1], self geteye()[2] ); var_10 = self.shootpos; if ( isdefined( self.shootent ) ) var_10 = self.shootent getshootatpos(); if ( !isdefined( var_10 ) ) { var_7 = 0; var_11 = self getanglestolikelyenemypath(); if ( isdefined( var_11 ) ) var_7 = angleclamp180( self.angles[1] - var_11[1] ); } else { var_12 = var_10 - var_9; var_13 = vectortoangles( var_12 ); var_7 = self.angles[1] - var_13[1]; var_7 = angleclamp180( var_7 ); } if ( isdefined( self.stop_aiming_for_reload ) || var_7 > 0 && ( var_7 - self.rightaimlimit ) * self.diraimlimit > 0 || var_7 < 0 && ( var_7 - self.leftaimlimit ) * self.diraimlimit < 0 ) var_7 = 0; if ( var_8 ) var_8 = 0; else { if ( var_6 < -180 + var_4 && var_7 > 180 - var_5 ) var_7 = -179; if ( var_6 > 180 - var_4 && var_7 < -180 + var_5 ) var_7 = 179; var_14 = var_7 - var_6; var_15 = ( var_2 - var_1 ) * abs( var_14 ) / 180 + var_1; if ( isdefined( self.stop_aiming_for_reload ) ) { var_15 = var_3; if ( abs( var_6 ) < 45 ) self notify( "start_blending_reload" ); } if ( abs( var_14 ) > var_15 ) var_7 = var_6 + var_15 * common_scripts\utility::sign( var_14 ); } var_6 = var_7; var_16 = max( -90 - var_7, 0 ) / 90 * self.a.aimweight; var_17 = min( max( 0 - var_7, 0 ), 90 ) / 90 * self.a.aimweight; var_18 = max( 90 - abs( var_7 ), 0 ) / 90 * self.a.aimweight; var_19 = min( max( var_7, 0 ), 90 ) / 90 * self.a.aimweight; var_20 = max( -90 + var_7, 0 ) / 90 * self.a.aimweight; self setanimlimited( %sm_aim_1, var_16, var_0 ); self setanimlimited( %sm_aim_4_delta, var_17, var_0 ); self setanimlimited( %sm_aim_5_delta, var_18, var_0 ); self setanimlimited( %sm_aim_6_delta, var_19, var_0 ); self setanimlimited( %sm_aim_3, var_20, var_0 ); wait 0.05; } } snowmobile_get_death_anim( var_0, var_1, var_2 ) { var_3 = undefined; var_4 = undefined; var_5 = 0; for ( var_6 = 0; var_6 < var_0.size; var_6++ ) { var_7 = animscripts\utility::absangleclamp180( var_2 - var_1[var_6] ); if ( !isdefined( var_3 ) || var_7 < var_5 ) { var_4 = var_3; var_3 = var_0[var_6]; var_5 = var_7; continue; } if ( !isdefined( var_4 ) ) var_4 = var_0[var_6]; } var_8 = var_3; if ( isdefined( anim.prevsnowmobiledeath ) && var_8 == anim.prevsnowmobiledeath && gettime() - anim.prevsnowmobiledeathtime < 500 ) var_8 = var_4; anim.prevsnowmobiledeath = var_8; anim.prevsnowmobiledeathtime = gettime(); return var_8; } snowmobile_death_launchslide() { var_0 = self.ridingvehicle; var_1 = var_0.prevframevelocity; var_1 = ( var_1[0], var_1[1], randomfloatrange( 200, 400 ) ) * 0.75; if ( lengthsquared( var_1 ) > 1000000 ) var_1 = vectornormalize( var_1 ) * 1000; var_2 = spawn( "script_origin", self.origin ); var_2 moveslide( ( 0, 0, 40 ), 15, var_1 ); self linkto( var_2 ); var_2 thread deleteshortly(); } snowmobile_normal_death() { var_0 = []; var_0[0] = level.scr_anim["snowmobile"]["small"]["death"]["back"]; var_0[1] = level.scr_anim["snowmobile"]["small"]["death"]["right"]; var_0[2] = level.scr_anim["snowmobile"]["small"]["death"]["left"]; var_1 = []; var_1[0] = -180; var_1[1] = -90; var_1[2] = 90; var_2 = snowmobile_get_death_anim( var_0, var_1, self.damageyaw ); animscripts\death::playdeathanim( var_2 ); return 1; } snowmobile_collide_death() { var_0 = self.ridingvehicle; if ( !isdefined( var_0 ) ) return snowmobile_normal_death(); var_1 = var_0.prevframevelocity; snowmobile_death_launchslide(); var_2 = vectortoangles( var_1 ); var_3 = angleclamp180( var_2[1] - self.angles[1] ); var_4 = []; var_4[0] = level.scr_anim["snowmobile"]["big"]["death"]["back"]; var_4[1] = level.scr_anim["snowmobile"]["big"]["death"]["left"]; var_4[2] = level.scr_anim["snowmobile"]["big"]["death"]["front"]; var_4[3] = level.scr_anim["snowmobile"]["big"]["death"]["right"]; var_5 = []; var_5[0] = -180; var_5[1] = -90; var_5[2] = 0; var_5[3] = 90; var_6 = snowmobile_get_death_anim( var_4, var_5, var_3 ); animscripts\death::playdeathanim( var_6 ); return 1; } deleteshortly() { var_0 = self.origin; for ( var_1 = 0; var_1 < 60; var_1++ ) { wait 0.05; var_0 = self.origin; } wait 3; if ( isdefined( self ) ) self delete(); } snowmobile_setanim_common( var_0 ) { self.a.array["idle"] = level.scr_anim["snowmobile"][var_0]["idle"]; self.a.array["drive"] = level.scr_anim["snowmobile"][var_0]["drive"]; self.a.array["fire"] = level.scr_anim["snowmobile"][var_0]["fire"]; self.a.array["single"] = animscripts\utility::array( level.scr_anim["snowmobile"][var_0]["single"] ); self.a.array["burst2"] = level.scr_anim["snowmobile"][var_0]["fire"]; self.a.array["burst3"] = level.scr_anim["snowmobile"][var_0]["fire"]; self.a.array["burst4"] = level.scr_anim["snowmobile"][var_0]["fire"]; self.a.array["burst5"] = level.scr_anim["snowmobile"][var_0]["fire"]; self.a.array["burst6"] = level.scr_anim["snowmobile"][var_0]["fire"]; self.a.array["semi2"] = level.scr_anim["snowmobile"][var_0]["fire"]; self.a.array["semi3"] = level.scr_anim["snowmobile"][var_0]["fire"]; self.a.array["semi4"] = level.scr_anim["snowmobile"][var_0]["fire"]; self.a.array["semi5"] = level.scr_anim["snowmobile"][var_0]["fire"]; } snowmobile_setanim_driver( var_0 ) { self.a.array = []; snowmobile_setanim_common( "driver" ); self.a.array["left2right"] = level.scr_anim["snowmobile"]["driver"]["left2right"]; self.a.array["right2left"] = level.scr_anim["snowmobile"]["driver"]["right2left"]; self.a.array["straight_level_left"] = level.scr_anim["snowmobile"]["driver"]["straight_level"]["left"]; self.a.array["straight_level_center"] = level.scr_anim["snowmobile"]["driver"]["straight_level"]["center"]; self.a.array["straight_level_right"] = level.scr_anim["snowmobile"]["driver"]["straight_level"]["right"]; self.a.array["add_aim_left_left"] = level.scr_anim["snowmobile"]["driver"]["add_aim_left"]["left"]; self.a.array["add_aim_left_center"] = level.scr_anim["snowmobile"]["driver"]["add_aim_left"]["center"]; self.a.array["add_aim_left_right"] = level.scr_anim["snowmobile"]["driver"]["add_aim_left"]["right"]; self.a.array["add_aim_right_left"] = level.scr_anim["snowmobile"]["driver"]["add_aim_right"]["left"]; self.a.array["add_aim_right_center"] = level.scr_anim["snowmobile"]["driver"]["add_aim_right"]["center"]; self.a.array["add_aim_right_right"] = level.scr_anim["snowmobile"]["driver"]["add_aim_right"]["right"]; if ( var_0 ) { self.a.array["event_jump"] = level.scr_anim["snowmobile"]["driver"]["shoot_jump"]; self.a.array["event_bump"] = level.scr_anim["snowmobile"]["driver"]["shoot_bump"]; self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["driver"]["shoot_bump_big"]; self.a.array["event_sway"] = []; self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["driver"]["shoot_sway_left"]; self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["driver"]["shoot_sway_right"]; self.a.array["event_restore"] = %sm_aiming; } else { self.a.array["event_jump"] = level.scr_anim["snowmobile"]["driver"]["drive_jump"]; self.a.array["event_bump"] = level.scr_anim["snowmobile"]["driver"]["drive_bump"]; self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["driver"]["drive_bump_big"]; self.a.array["event_sway"] = []; self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["driver"]["drive_sway_left"]; self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["driver"]["drive_sway_right"]; self.a.array["event_restore"] = %sm_turn; } } snowmobile_setanim_passenger( var_0 ) { self.a.array = []; snowmobile_setanim_common( "passenger" ); self.a.array["hide"] = level.scr_anim["snowmobile"]["passenger"]["hide"]; self.a.array["lean_left"] = level.scr_anim["snowmobile"]["passenger"]["add_lean"]["left"]; self.a.array["lean_right"] = level.scr_anim["snowmobile"]["passenger"]["add_lean"]["right"]; self.a.array["reload"] = level.scr_anim["snowmobile"]["passenger"]["reload"]; self.a.array["gun_up"] = level.scr_anim["snowmobile"]["passenger"]["gun_up"]; self.a.array["gun_down"] = level.scr_anim["snowmobile"]["passenger"]["gun_down"]; self.a.array["aim_left_left"] = level.scr_anim["snowmobile"]["passenger"]["aim_left"]["left"]; self.a.array["aim_left_center"] = level.scr_anim["snowmobile"]["passenger"]["aim_left"]["center"]; self.a.array["aim_left_right"] = level.scr_anim["snowmobile"]["passenger"]["aim_left"]["right"]; self.a.array["aim_right_left"] = level.scr_anim["snowmobile"]["passenger"]["aim_right"]["left"]; self.a.array["aim_right_center"] = level.scr_anim["snowmobile"]["passenger"]["aim_right"]["center"]; self.a.array["aim_right_right"] = level.scr_anim["snowmobile"]["passenger"]["aim_right"]["right"]; self.a.array["add_aim_backleft_left"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backleft"]["left"]; self.a.array["add_aim_backleft_center"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backleft"]["center"]; self.a.array["add_aim_backleft_right"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backleft"]["right"]; self.a.array["add_aim_backright_left"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backright"]["left"]; self.a.array["add_aim_backright_center"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backright"]["center"]; self.a.array["add_aim_backright_right"] = level.scr_anim["snowmobile"]["passenger"]["add_aim_backright"]["right"]; self.a.array["straight_level_left"] = level.scr_anim["snowmobile"]["passenger"]["straight_level"]["left"]; self.a.array["straight_level_center"] = level.scr_anim["snowmobile"]["passenger"]["straight_level"]["center"]; self.a.array["straight_level_right"] = level.scr_anim["snowmobile"]["passenger"]["straight_level"]["right"]; if ( var_0 ) { self.a.array["event_jump"] = level.scr_anim["snowmobile"]["passenger"]["drive_jump"]; self.a.array["event_bump"] = level.scr_anim["snowmobile"]["passenger"]["drive_bump"]; self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["passenger"]["drive_bump_big"]; self.a.array["event_sway"] = []; self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["passenger"]["drive_sway_left"]; self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["passenger"]["drive_sway_right"]; self.a.array["event_restore"] = %sm_aiming; } else { self.a.array["event_jump"] = level.scr_anim["snowmobile"]["passenger"]["hide_jump"]; self.a.array["event_bump"] = level.scr_anim["snowmobile"]["passenger"]["hide_bump"]; self.a.array["event_bump_big"] = level.scr_anim["snowmobile"]["passenger"]["hide_bump_big"]; self.a.array["event_sway"] = []; self.a.array["event_sway"]["left"] = level.scr_anim["snowmobile"]["passenger"]["hide_sway_left"]; self.a.array["event_sway"]["right"] = level.scr_anim["snowmobile"]["passenger"]["hide_sway_right"]; self.a.array["event_restore"] = %sm_turn; } }