1 #using scripts\codescripts\struct;
3 #using scripts\shared\exploder_shared;
4 #using scripts\shared\scene_shared;
5 #using scripts\shared\util_shared;
7 #insert scripts\shared\shared.gsh;
9 #precache( "client_fx", "zombie/fx_glow_eye_orange" );
10 #precache( "client_fx", "electric/fx_elec_sparks_burst_sm_circuit_os" );
11 #precache( "client_fx", "electric/fx_elec_sparks_directional_orange" );
12 #precache( "client_fx", "electric/fx_elec_sparks_burst_sm_circuit_os" );
13 #precache( "client_fx", "maps/zombie/fx_zombie_light_glow_green" );
14 #precache( "client_fx", "maps/zombie/fx_zombie_light_glow_red" );
15 #precache( "client_fx", "electrical/fx_elec_wire_spark_dl_oneshot" );
16 #precache( "client_fx", "electric/fx_elec_sparks_burst_sm_circuit_os" );
17 #precache( "client_fx", "zombie/fx_glow_eye_orange" );
18 #precache( "client_fx", "zombie/fx_powerup_on_green_zmb" );
19 #precache( "client_fx", "zombie/fx_bul_flesh_head_fatal_zmb" );
20 #precache( "client_fx", "zombie/fx_bul_flesh_head_nochunks_zmb" );
21 #precache( "client_fx", "zombie/fx_bul_flesh_neck_spurt_zmb" );
22 #precache( "client_fx", "zombie/fx_blood_torso_explo_zmb" );
23 #precache( "client_fx", "trail/fx_trail_blood_streak" );
24 #precache( "client_fx", "env/fire/fx_embers_falling_sm" );
25 #precache( "client_fx", "zombie/fx_smk_stack_burning_zmb" );
26 #precache( "client_fx", "electric/fx_elec_sparks_burst_sm_circuit_os" );
27 #precache( "client_fx", "zombie/fx_elec_gen_idle_zmb" );
28 #precache( "client_fx", "zombie/fx_moon_eclipse_zmb" );
29 #precache( "client_fx", "zombie/fx_clock_hand_zmb" );
30 #precache( "client_fx", "zombie/fx_elec_pole_terminal_zmb" );
31 #precache( "client_fx", "electric/fx_elec_sparks_burst_sm_circuit_os" );
32 #precache( "client_fx", "dlc0/factory/fx_elec_trap_factory" );
46 disableFX = GetDvarInt(
"disable_fx" );
47 if( !IsDefined( disableFX ) || disableFX <= 0 )
53 level.teleport_pad_names = [];
54 level.teleport_pad_names[0] =
"a";
55 level.teleport_pad_names[1] =
"c";
56 level.teleport_pad_names[2] =
"b";
66 level.map_light_receiver_on =
false;
70 level thread
light_model_swap(
"smodel_light_electric_milit",
"lights_milit_lamp_single_int_on" );
71 level thread
light_model_swap(
"smodel_light_electric_tinhatlamp",
"lights_tinhatlamp_on" );
76 level._effect[
"electric_short_oneshot"] =
"electrical/fx_elec_sparks_burst_sm_circuit_os";
77 level._effect[
"switch_sparks"] =
"electric/fx_elec_sparks_directional_orange";
79 level._effect[
"elec_trail_one_shot"] =
"electric/fx_elec_sparks_burst_sm_circuit_os";
81 level._effect[
"zapper_light_ready"] =
"maps/zombie/fx_zombie_light_glow_green";
82 level._effect[
"zapper_light_notready"] =
"maps/zombie/fx_zombie_light_glow_red";
83 level._effect[
"wire_sparks_oneshot"] =
"electrical/fx_elec_wire_spark_dl_oneshot";
85 level._effect[
"wire_spark"] =
"electric/fx_elec_sparks_burst_sm_circuit_os";
87 level._effect[
"eye_glow"] =
"zombie/fx_glow_eye_orange";
88 level._effect[
"headshot"] =
"zombie/fx_bul_flesh_head_fatal_zmb";
89 level._effect[
"headshot_nochunks"] =
"zombie/fx_bul_flesh_head_nochunks_zmb";
90 level._effect[
"bloodspurt"] =
"zombie/fx_bul_flesh_neck_spurt_zmb";
92 level._effect[
"powerup_on"] =
"zombie/fx_powerup_on_green_zmb";
94 level._effect[
"animscript_gib_fx"] =
"zombie/fx_blood_torso_explo_zmb";
95 level._effect[
"animscript_gibtrail_fx"] =
"trail/fx_trail_blood_streak";
100 level._effect[
"a_embers_falling_sm"] =
"env/fire/fx_embers_falling_sm";
101 level._effect[
"mp_smoke_stack"] =
"zombie/fx_smk_stack_burning_zmb";
102 level._effect[
"mp_elec_spark_fast_random"] =
"electric/fx_elec_sparks_burst_sm_circuit_os";
103 level._effect[
"zombie_elec_gen_idle"] =
"zombie/fx_elec_gen_idle_zmb";
104 level._effect[
"zombie_moon_eclipse"] =
"zombie/fx_moon_eclipse_zmb";
105 level._effect[
"zombie_clock_hand"] =
"zombie/fx_clock_hand_zmb";
106 level._effect[
"zombie_elec_pole_terminal"] =
"zombie/fx_elec_pole_terminal_zmb";
107 level._effect[
"mp_elec_broken_light_1shot"] =
"electric/fx_elec_sparks_burst_sm_circuit_os";
108 level._effect[
"zapper"] =
"dlc0/factory/fx_elec_trap_factory";
113 level waittill(notify_wait);
115 players = getlocalplayers();
116 for(i = 0; i < players.size;i++)
127 if ( !IsDefined( targ ) )
132 mover =
spawn( clientnum, targ.origin,
"script_model" );
133 mover SetModel(
"tag_origin" );
134 fx = PlayFxOnTag( clientnum, level._effect[
"wire_spark"], mover,
"tag_origin" );
136 playsound( 0,
"tele_spark_hit", mover.origin );
137 mover playloopsound(
"tele_spark_loop");
139 while(isDefined(targ))
141 if(isDefined(targ.target))
147 mover MoveTo( target.origin, 0.1 );
157 level notify(
"spark_done" );
161 level notify( done_notify );
167 for ( localClientNum = 0; localClientNum < level.localPlayers.size; localClientNum++ )
169 SetLitFogBank( localClientNum, -1, 1, -1 );
170 SetWorldFogActiveBank( localClientNum, 2 );
175 for ( localClientNum = 0; localClientNum < level.localPlayers.size; localClientNum++ )
177 SetLitFogBank( localClientNum, -1, 0, -1 );
178 SetWorldFogActiveBank( localClientNum, 1 );
186 level waittill(
"pl1" );
188 players = getlocalplayers();
189 for ( p=0; p<players.size; p++ )
191 lamps = GetEntArray( p,
name,
"targetname" );
192 for ( i=0; i<lamps.size; i++ )
194 lamps[i] SetModel( model );
205 if ( guide_structs.size > 0 )
207 guide = guide_structs[0];
208 dist = DistanceSquared(ent.origin, guide.origin);
209 for ( i=1; i<guide_structs.size; i++ )
211 new_dist = DistanceSquared(ent.origin, guide_structs[i].origin);
212 if ( new_dist < dist )
214 guide = guide_structs[i];
229 level waittill(
"pl1" );
234 level waittill( on_msg );
239 level thread
scene::play(
"fxanim_diff_engine_zone_" + level.teleport_pad_names[index] +
"1",
"targetname" );
240 level thread
scene::play(
"fxanim_diff_engine_zone_" + level.teleport_pad_names[index] +
"2",
"targetname" );
242 level thread
scene::play(
"fxanim_powerline_" + level.teleport_pad_names[index],
"targetname" );
250 level waittill(
"pl1" );
256 level waittill(
"pap1" );
270 level endon(
"pap1" );
271 level waittill(
"TRf" );
275 level endon(
"TRs" );
287 level endon(
"pap1" );
289 level waittill(
"TRs" );