Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function marksman_additional_fire( is_not_upgraded )
- {
- fire_angles = self getPlayerAngles();
- fire_origin = self getPlayerCameraPos();
- v_player_angles = vectorToAngles( self getWeaponForwardDir() );
- v_player_angles = blundersplat_randomize_angles( v_player_angles );
- v_shot_start = self getWeaponMuzzlePoint();
- a_targets = arrayCombine( getaiarray( "axis" ), getvehiclearray( "axis" ), 0, 0 );
- a_targets = util::get_array_of_closest( self.origin, a_targets, undefined, undefined, 1500 );
- n_fuse_timer = randomFloatRange( 3, 4 );
- _a161 = a_targets;
- _k161 = getFirstArrayKey( _a161 );
- while ( isDefined( _k161 ) )
- {
- target = _a161[ _k161 ];
- if ( util::within_fov( v_shot_start, v_player_angles, target.origin, cos( 30 ) ) )
- {
- if ( isAi( target ) )
- {
- if ( !isDefined( target.blundersplat_marked ) )
- {
- a_tags = [];
- a_tags[ 0 ] = "j_hip_le";
- a_tags[ 1 ] = "j_hip_ri";
- a_tags[ 2 ] = "j_spine4";
- a_tags[ 3 ] = "j_elbow_le";
- a_tags[ 4 ] = "j_elbow_ri";
- a_tags[ 5 ] = "j_clavicle_le";
- a_tags[ 6 ] = "j_clavicle_ri";
- str_tag = a_tags[ randomInt( a_tags.size ) ];
- b_trace_pass = bulletTracePassed( v_shot_start, target gettagorigin( str_tag ), 1, self, target );
- if ( b_trace_pass )
- {
- target thread blundersplat_marked();
- e_dart = self magicMissile( getWeapon( "h1_m1911_proj" ), v_shot_start, target getTagOrigin( str_tag ), self );
- return;
- }
- }
- }
- }
- _k161 = getNextArrayKey( _a161, _k161 );
- }
- v_shot_end = v_shot_start + ( anglesToForward( v_player_angles ) * 20000 );
- e_dart = self magicMissile( getWeapon( BLUNDERSPLAT_PROJECTILE_WEAPONFILE ), v_shot_start, v_shot_end, self );
- }
- function blundersplat_randomize_angles( angles )
- {
- n_x = angles[ 0 ] - 5 + randomInt( 5 );
- n_y = angles[ 1 ] - 5 + randomInt( 5 );
- n_z = angles[ 2 ] - 5 + randomInt( 5 );
- return ( n_x, n_y, n_z );
- }
- function blundersplat_marked()
- {
- self endon( "death" );
- self.blundersplat_marked = 1;
- wait 1;
- self.blundersplat_marked = undefined;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement