1 #using scripts\codescripts\struct;
3 #using scripts\shared\clientfield_shared;
4 #using scripts\shared\system_shared;
5 #using scripts\shared\util_shared;
7 #insert scripts\shared\shared.gsh;
8 #insert scripts\shared\version.gsh;
10 #precache( "client_fx", "_t6/weapon/riotshield/fx_riotshield_depoly_lights" );
11 #precache( "client_fx", "_t6/weapon/riotshield/fx_riotshield_depoly_dust" );
13 #using_animtree ( "mp_riotshield" );
15 #namespace riotshield;
21 level._effect[
"riotshield_light"] =
"_t6/weapon/riotshield/fx_riotshield_depoly_lights";
22 level._effect[
"riotshield_dust"] =
"_t6/weapon/riotshield/fx_riotshield_depoly_dust";
29 function shield_state_change( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
31 self endon(
"entityshutdown");
55 self endon(
"entityshutdown");
61 self UseAnimTree( #animtree );
65 self SetAnimTime( %o_riot_stand_deploy, 1.0 );
69 self SetAnim( %o_riot_stand_deploy, 1.0, 0.0, 1.0 );
70 PlayFXOnTag( localClientNum, level._effect[
"riotshield_dust"],
self,
"tag_origin" );
78 self.shieldLightFx = PlayFXOnTag( localClientNum, level._effect[
"riotshield_light"],
self,
"tag_fx" );
87 self endon(
"entityshutdown");
91 self waittill(
"damage", damage_loc, damage_type );
93 self UseAnimTree( #animtree );
97 if ( damage_type ==
"MOD_MELEE" || damage_type ==
"MOD_MELEE_WEAPON_BUTT" || damage_type ==
"MOD_MELEE_ASSASSINATE" )
99 self SetAnim( %o_riot_stand_melee_front, 1.0, 0.0, 1.0 );
103 self SetAnim( %o_riot_stand_shot, 1.0, 0.0, 1.0 );
114 self endon(
"entityshutdown");
116 if ( isdefined(
self.shieldLightFx ))
118 stopfx( localClientNum,
self.shieldLightFx );
124 self PlaySound( localClientNum,
"wpn_shield_destroy" );
126 self UseAnimTree( #animtree );
127 self SetAnim( %o_riot_stand_destroyed, 1.0, 0.0, 1.0 );
130 self SetForceNotSimple();