1 #using scripts\codescripts\struct;
3 #using scripts\shared\array_shared;
4 #using scripts\shared\clientfield_shared;
5 #using scripts\shared\flag_shared;
6 #using scripts\shared\util_shared;
8 #insert scripts\shared\shared.gsh;
9 #insert scripts\shared\version.gsh;
11 #using scripts\zm\_util;
12 #using scripts\zm\_zm;
13 #using scripts\zm\_zm_weapons;
15 #insert scripts\zm\_zm_perks.gsh;
16 #insert scripts\zm\_zm_utility.gsh;
18 #namespace zm_pap_util;
22 if ( !isdefined( level.pack_a_punch ) )
24 level.pack_a_punch = SpawnStruct();
25 level.pack_a_punch.timeout = 15;
26 level.pack_a_punch.interaction_height = 35;
29 level.pack_a_punch.grabbable_by_anyone =
false;
30 level.pack_a_punch.swap_attachments_on_reuse =
false;
31 level.pack_a_punch.triggers = [];
38 level.pack_a_punch.timeout = n_timeout_s;
44 level.pack_a_punch.interaction_height = n_height;
50 level.pack_a_punch.interaction_trigger_radius = n_radius;
56 level.pack_a_punch.set_interaction_trigger_height = n_height;
62 level.pack_a_punch.move_in_func = fn_move_weapon_in;
68 level.pack_a_punch.move_out_func = fn_move_weapon_out;
74 level.pack_a_punch.grabbable_by_anyone =
true;
80 return level.pack_a_punch.triggers;
85 return isdefined(
self.script_noteworthy ) &&
self.script_noteworthy ==
"pack_a_punch";
91 level.pack_a_punch.swap_attachments_on_reuse =
true;
96 if( !isdefined(level.pack_a_punch) )
98 return level.pack_a_punch.swap_attachments_on_reuse;
108 self SetHintString( &
"ZOMBIE_GET_UPGRADED_FILL" );
113 w_curr_player_weapon = player GetCurrentWeapon();
117 self SetHintString( &
"ZOMBIE_PERK_PACKAPUNCH_AAT",
self.aat_cost );
122 self SetHintString( &
"ZOMBIE_PERK_PACKAPUNCH",
self.cost );
128 level endon(
"Pack_A_Punch_off");
129 trigger endon(
"pap_player_disconnected");
134 level endon(
"Pack_A_Punch_off");
135 trigger endon(
"pap_player_disconnected");