1 #using scripts\codescripts\struct;
3 #using scripts\shared\callbacks_shared;
4 #using scripts\shared\system_shared;
6 #insert scripts\shared\shared.gsh;
8 #precache( "material", "damage_feedback" );
10 #namespace damagefeedback;
26 self.hud_damagefeedback = newdamageindicatorhudelem(
self);
27 self.hud_damagefeedback.horzAlign =
"center";
28 self.hud_damagefeedback.vertAlign =
"middle";
29 self.hud_damagefeedback.x = -12;
30 self.hud_damagefeedback.y = -12;
31 self.hud_damagefeedback.alpha = 0;
32 self.hud_damagefeedback.archived =
true;
33 self.hud_damagefeedback setShader(
"damage_feedback", 24, 48 );
34 self.hitSoundTracker =
true;
39 if ( !isdefined( mod ) )
45 case "MOD_GRENADE_SPLASH":
46 case "MOD_HIT_BY_OBJECT":
47 case "MOD_MELEE_ASSASSINATE":
49 case "MOD_MELEE_WEAPON_BUTT":
58 if ( !isPlayer(
self ) || SessionModeIsZombiesGame() )
64 if ( isdefined( inflictor ) && isdefined( inflictor.soundMod ))
67 switch ( inflictor.soundMod )
105 if ( isdefined( perkFeedback ) )
110 self.hud_damagefeedback setShader(
"damage_feedback", 24, 48 );
113 self.hud_damagefeedback.alpha = 1;
114 self.hud_damagefeedback fadeOverTime(1);
115 self.hud_damagefeedback.alpha = 0;
119 self endon (
"disconnect");
121 if (
self.hitSoundTracker)
123 self.hitSoundTracker =
false;
125 self playlocalsound(alert);
129 self.hitSoundTracker =
true;
135 if ( !isPlayer(
self ) )
138 if ( !isdefined(hitEnt) )
141 if ( !isPlayer( hitEnt ) )
145 if ( !isdefined(
self.directionalHitArray ) )
147 self.directionalHitArray = [];
148 hitEntNum = hitEnt getEntityNumber();
149 self.directionalHitArray[hitEntNum] = 1;
154 hitEntNum = hitEnt getEntityNumber();
155 self.directionalHitArray[hitEntNum] = 1;
161 self endon (
"disconnect");
168 for ( i = 0; i < 32; i++ )
170 if (isdefined (
self.directionalHitArray[i]) &&
self.directionalHitArray[i] != 0 )
172 entBitArray0 += value;
178 for ( i = 33; i < 64; i++ )
180 if (isdefined (
self.directionalHitArray[i]) &&
self.directionalHitArray[i] != 0 )
182 entBitArray1 += value;
191 self directionalHitIndicator( entBitArray0, entBitArray1 );
193 self.directionalHitArray = undefined;