@@ -51,6 +51,7 @@ class CRGrunt : public CHGrunt
51
51
52
52
void Killed ( entvars_t *pevInflictor, entvars_t *pevAttacker, int iGib );
53
53
void BecomeDead ();
54
+ int TakeDamage ( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType );
54
55
void TraceAttack ( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
55
56
56
57
float m_flSparkTime;
@@ -361,6 +362,15 @@ void CRGrunt::BecomeDead()
361
362
362
363
#define ROBOGRUNT_DAMAGE (DMG_ENERGYBEAM|DMG_CRUSH|DMG_MORTAR|DMG_BLAST|DMG_SHOCK|DMG_FREEZE|DMG_ACID)
363
364
365
+ int CRGrunt::TakeDamage ( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType )
366
+ {
367
+ if ((bitsDamageType & ROBOGRUNT_DAMAGE) == 0 )
368
+ {
369
+ flDamage *= 0 .2f ;
370
+ }
371
+ return CHGrunt::TakeDamage ( pevInflictor, pevAttacker, flDamage, bitsDamageType );
372
+ }
373
+
364
374
void CRGrunt::TraceAttack (entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
365
375
{
366
376
if ((bitsDamageType & ROBOGRUNT_DAMAGE) == 0 )
@@ -370,7 +380,6 @@ void CRGrunt::TraceAttack(entvars_t *pevInflictor, entvars_t *pevAttacker, float
370
380
UTIL_Ricochet ( ptr->vecEndPos , RANDOM_FLOAT ( 1 , 2 ) );
371
381
pev->dmgtime = gpGlobals->time ;
372
382
}
373
- flDamage *= 0.2 ;
374
383
}
375
384
CSquadMonster::TraceAttack ( pevInflictor, pevAttacker, flDamage, vecDir, ptr, bitsDamageType );
376
385
}
0 commit comments