1 #using scripts\codescripts\struct;
2 #using scripts\shared\clientfield_shared;
3 #using scripts\shared\system_shared;
4 #using scripts\shared\util_shared;
6 #insert scripts\shared\shared.gsh;
7 #insert scripts\shared\version.gsh;
8 #insert scripts\zm\_zm_weap_octobomb.gsh;
10 #using scripts\zm\_zm_utility;
11 #using scripts\zm\_zm_weapons;
13 #precache( "client_fx", "zombie/fx_octobomb_explo_death_zod_zmb" );
15 #precache( "client_fx", "zombie/fx_octobomb_spore_burn_leg_zod_zmb" );
16 #precache( "client_fx", "zombie/fx_octobomb_spore_burn_torso_zod_zmb" );
17 #precache( "client_fx", "zombie/fx_octobomb_sporesplosion_zod_zmb" );
18 #precache( "client_fx", "zombie/fx_octobomb_sporesplosion_tell_zod_zmb" );
20 #precache( "client_fx", "zombie/fx_octobomb_spore_burn_leg_ee_zod_zmb" );
21 #precache( "client_fx", "zombie/fx_octobomb_spore_burn_torso_ee_zod_zmb" );
22 #precache( "client_fx", "zombie/fx_octobomb_sporesplosion_ee_zod_zmb" );
23 #precache( "client_fx", "zombie/fx_octobomb_sporesplosion_tell_ee_zod_zmb" );
25 #precache( "client_fx", "impacts/fx_flesh_hit_knife_lg_zmb" );
26 #precache( "client_fx", "zombie/fx_bmode_attack_grapple_zod_zmb" );
41 SetupClientFieldCodeCallbacks(
"toplayer", 1,
"octobomb_state" );
51 level._effect[
"octobomb_explode_fx" ] =
"zombie/fx_octobomb_explo_death_zod_zmb";
53 level._effect[
"octobomb_spores" ] =
"zombie/fx_octobomb_sporesplosion_zod_zmb";
54 level._effect[
"octobomb_spores_spine" ] =
"zombie/fx_octobomb_spore_burn_torso_zod_zmb";
55 level._effect[
"octobomb_spores_legs" ] =
"zombie/fx_octobomb_spore_burn_leg_zod_zmb";
56 level._effect[
"octobomb_sporesplosion" ] =
"zombie/fx_octobomb_sporesplosion_tell_zod_zmb";
58 level._effect[
"octobomb_ug_spores" ] =
"zombie/fx_octobomb_sporesplosion_ee_zod_zmb";
59 level._effect[
"octobomb_ug_spores_spine" ] =
"zombie/fx_octobomb_spore_burn_torso_ee_zod_zmb";
60 level._effect[
"octobomb_ug_spores_legs" ] =
"zombie/fx_octobomb_spore_burn_leg_zod_zmb";
61 level._effect[
"octobomb_ug_sporesplosion" ] =
"zombie/fx_octobomb_sporesplosion_tell_ee_zod_zmb";
63 level._effect[
"octobomb_tentacle_hit" ] =
"impacts/fx_flesh_hit_knife_lg_zmb";
64 level._effect[
"zombie_explode" ] =
"zombie/fx_bmode_attack_grapple_zod_zmb";
72 self.fx_octobomb_tentacle_hit = PlayFXOnTag( localClientNum, level._effect[
"octobomb_tentacle_hit" ],
self,
"j_spineupper" );
76 if ( isdefined(
self.fx_octobomb_tentacle_hit ) )
78 StopFX( localClientNum,
self.fx_octobomb_tentacle_hit );
79 self.fx_octobomb_tentacle_hit = undefined;
85 function octobomb_fx( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
90 PlayFX( localClientNum, level._effect[
"octobomb_explode_fx" ],
self.origin, AnglesToUp(
self.angles ) );
93 fx_octobomb = level._effect[
"octobomb_ug_spores" ];
94 PlayFXOnTag( localClientNum, fx_octobomb,
self,
"tag_origin" );
97 fx_octobomb = level._effect[
"octobomb_spores" ];
98 PlayFXOnTag( localClientNum, fx_octobomb,
self,
"tag_origin" );
105 function octobomb_spores_fx( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
117 self endon(
"entityshutdown" );
122 fx_spine = level._effect[
"octobomb_ug_spores_spine" ];
123 fx_legs = level._effect[
"octobomb_ug_spores_legs" ];
127 fx_spine = level._effect[
"octobomb_spores_spine" ];
128 fx_legs = level._effect[
"octobomb_spores_legs" ];
131 self.fx_octobomb_spores_spine = PlayFXOnTag( localClientNum, fx_spine,
self,
"j_spine4" );
135 self.fx_octobomb_spores_leg_ri = PlayFXOnTag( localClientNum, fx_legs,
self,
"j_hip_ri" );
136 self.fx_octobomb_spores_leg_le = PlayFXOnTag( localClientNum, fx_legs,
self,
"j_hip_le" );
140 StopFX( localClientNum,
self.fx_octobomb_spores_spine );
141 StopFX( localClientNum,
self.fx_octobomb_spores_leg_ri );
142 StopFX( localClientNum,
self.fx_octobomb_spores_leg_le );
150 PlayFXOnTag( localClientNum, level._effect[
"zombie_explode"],
self,
"j_spinelower" );
155 function octobomb_spit_fx( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
159 fx_spit = level._effect[
"octobomb_ug_sporesplosion" ];
163 fx_spit = level._effect[
"octobomb_sporesplosion" ];
171 fx_id = PlayFX( localClientNum, fx_spit, v_origin, AnglesToUp( v_angles ) );
173 StopFx( localClientNum, fx_id );