1 #using scripts\codescripts\struct;
3 #using scripts\shared\callbacks_shared;
4 #using scripts\shared\clientfield_shared;
5 #using scripts\shared\filter_shared;
6 #using scripts\shared\util_shared;
7 #using scripts\shared\array_shared;
9 #insert scripts\shared\shared.gsh;
10 #insert scripts\shared\version.gsh;
12 #using scripts\zm\_filter;
13 #using scripts\shared\util_shared;
15 #insert scripts\zm\_zm_perks.gsh;
35 if(
IS_TRUE( level.zombiemode_using_perk_intro_fx))
42 if ( level._custom_perks.size > 0 )
44 a_keys = GetArrayKeys( level._custom_perks );
45 for ( i = 0; i < a_keys.size; i++ )
47 if ( IsDefined( level._custom_perks[ a_keys[ i ] ].clientfield_register ) )
49 level [[ level._custom_perks[ a_keys[ i ] ].clientfield_register ]]();
62 if ( level._custom_perks.size > 0 )
64 a_keys = GetArrayKeys( level._custom_perks );
66 for ( i = 0; i < a_keys.size; i++ )
68 if ( IsDefined( level._custom_perks[ a_keys[ i ] ].clientfield_code_callback ) )
70 level [[ level._custom_perks[ a_keys[ i ] ].clientfield_code_callback ]]();
78 if ( !IsDefined( level._custom_perks ) )
80 level._custom_perks = [];
100 if ( !IsDefined( level._custom_perks[ str_perk ].clientfield_register ) )
102 level._custom_perks[ str_perk ].clientfield_register = func_clientfield_register;
105 if ( !IsDefined( level._custom_perks[ str_perk ].clientfield_code_callback ) )
107 level._custom_perks[ str_perk ].clientfield_code_callback = func_code_callback;
126 if ( !IsDefined( level._custom_perks[ str_perk ].machine_light_effect ) )
128 level._custom_perks[ str_perk ].machine_light_effect = str_light_effect;
146 if ( !IsDefined( level._custom_perks[ str_perk ].init_thread ) )
148 level._custom_perks[ str_perk ].init_thread = func_init_thread;
154 if ( level._custom_perks.size > 0 )
156 a_keys = GetArrayKeys( level._custom_perks );
157 for ( i = 0; i < a_keys.size; i++ )
159 if ( IsDefined( level._custom_perks[ a_keys[ i ] ].init_thread ) )
161 level thread [[ level._custom_perks[ a_keys[ i ] ].init_thread ]]();
169 if ( !IsDefined( level._custom_perks ) )
171 level._custom_perks = [];
174 if ( !IsDefined( level._custom_perks[ str_perk ] ) )
176 level._custom_perks[ str_perk ] = SpawnStruct();
180 function perk_meteor_fx (localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
184 self.meteor_fx = playfxontag( localClientNum, level._effect[
"perk_meteor" ],
self,
"tag_origin" );
188 if(isDefined(
self.meteor_fx))
190 StopFX(localClientNum,
self.meteor_fx);
198 if( !level.enable_magic )
211 if(IsDefined(
self.script_int))
213 power_zone =
self.script_int;
216 while(
int != power_zone)
218 level waittill(
"power_on",
int);
223 level waittill(
"power_on");
231 if ( IsDefined( level._custom_perks[
self.script_noteworthy ] ) && IsDefined( level._custom_perks[
self.script_noteworthy ].machine_light_effect ) )
242 waitrealtime( duration );
248 players = level.localPlayers;
249 for( i = 0; i < players.size; i++ )
257 fxObj =
spawn( client_num,
self.origin +( 0, 0, -50 ),
"script_model" );
258 fxobj setmodel(
"tag_origin" );
260 playfxontag( client_num, level._effect[fx_light], fxObj,
"tag_origin" );
261 waitrealtime( duration );