1 #using scripts\codescripts\struct;
3 #using scripts\shared\array_shared;
4 #using scripts\shared\callbacks_shared;
5 #using scripts\shared\clientfield_shared;
6 #using scripts\shared\system_shared;
7 #using scripts\shared\util_shared;
8 #using scripts\shared\scene_shared;
9 #using scripts\shared\flag_shared;
10 #using scripts\shared\ai\systems\gib;
11 #using scripts\shared\exploder_shared;
13 #using scripts\zm\_filter;
15 #insert scripts\shared\shared.gsh;
16 #insert scripts\shared\version.gsh;
17 #insert scripts\zm\_zm_perks.gsh;
19 #precache( "client_fx", "dlc1/castle/fx_packapunch_castle" );
25 level._effect[
"pap_working_fx"] =
"dlc1/castle/fx_packapunch_castle";
41 if ( isdefined(
self.n_pap_fx ) )
43 StopFx( localClientNum,
self.n_pap_fx );
44 self.n_pap_fx = undefined;
49 if ( isdefined(
self.mdl_fx ) )
56 function private pap_play_fx( localClientNum, n_piece_index, str_tag )
58 mdl_piece =
self ZBarrierGetPiece( n_piece_index );
60 if ( isdefined(
self.mdl_fx ) )
65 if ( isdefined(
self.n_pap_fx ) )
67 DeleteFX( localClientNum,
self.n_pap_fx );
68 self.n_pap_fx = undefined;
71 self.mdl_fx =
util::spawn_model(localClientNum,
"tag_origin", mdl_piece GetTagOrigin( str_tag ), mdl_piece GetTagAngles( str_tag ) );
72 self.mdl_fx LinkTo( mdl_piece, str_tag );
74 self.n_pap_fx = PlayFXOnTag( localClientNum, level._effect[
"pap_working_fx"],
self.mdl_fx,
"tag_origin" );