1 #using scripts\codescripts\struct;
3 #using scripts\shared\aat_shared;
4 #using scripts\shared\array_shared;
5 #using scripts\shared\clientfield_shared;
6 #using scripts\shared\flag_shared;
7 #using scripts\shared\math_shared;
8 #using scripts\shared\system_shared;
9 #using scripts\shared\util_shared;
10 #using scripts\shared\ai\systems\gib;
12 #insert scripts\shared\aat_zm.gsh;
13 #insert scripts\shared\shared.gsh;
14 #insert scripts\shared\version.gsh;
16 #using scripts\zm\_zm_stats;
17 #using scripts\zm\_zm_utility;
19 #insert scripts\zm\aats\_zm_aat_blast_furnace.gsh;
21 #insert scripts\zm\_zm_utility.gsh;
23 #precache( "material", ZM_AAT_BLAST_FURNACE_DAMAGE_FEEDBACK_ICON );
25 #namespace zm_aat_blast_furnace;
57 if ( IsVehicle(
self ) )
67 a_e_blasted_zombies = array::get_all_closest(
self.origin, GetAITeamArray(
"axis" ), undefined, undefined,
ZM_AAT_BLAST_FURNACE_RANGE );
69 if ( a_e_blasted_zombies.size > 0 )
72 while ( i < a_e_blasted_zombies.size )
74 if ( IsAlive( a_e_blasted_zombies[i] ) )
80 ArrayRemoveValue( a_e_blasted_zombies, a_e_blasted_zombies[i] );
88 if ( IsVehicle( a_e_blasted_zombies[i] ) )
97 ArrayRemoveValue( a_e_blasted_zombies, a_e_blasted_zombies[i] );
101 if ( IsVehicle( a_e_blasted_zombies[i] ) )
116 a_e_blasted_zombies = array::remove_dead( a_e_blasted_zombies );
126 self endon(
"death" );
134 if(
self.health < n_damage )
139 self DoDamage( n_damage,
self.origin, e_attacker, undefined,
"none",
"MOD_UNKNOWN", 0, w_weapon );
149 gibserverutils::gibhead(
self );
153 gibserverutils::gibleftarm(
self );
157 gibserverutils::gibrightarm(
self );
160 gibserverutils::giblegs(
self );
162 self DoDamage(
self.health,
self.origin, e_attacker );
164 if ( IsDefined( e_attacker ) && IsPlayer( e_attacker ) )