diff --git a/dlls/hornet.cpp b/dlls/hornet.cpp index 1e7025a0..99862bce 100644 --- a/dlls/hornet.cpp +++ b/dlls/hornet.cpp @@ -424,6 +424,8 @@ void CHornet::DieTouch( CBaseEntity *pOther ) break; } + if( !pev->owner ) + pev->owner = edict(); pOther->TakeDamage( pev, VARS( pev->owner ), pev->dmg, DMG_BULLET ); } diff --git a/dlls/hornet.h b/dlls/hornet.h index dc78fc40..d917da5f 100644 --- a/dlls/hornet.h +++ b/dlls/hornet.h @@ -48,6 +48,14 @@ public: void EXPORT TrackTouch( CBaseEntity *pOther ); void EXPORT DartTouch( CBaseEntity *pOther ); void EXPORT DieTouch( CBaseEntity *pOther ); + virtual float TouchGravGun( CBaseEntity *attacker, int stage ) + { + pev->owner = attacker->edict(); + pev->dmg *= 2; + if( m_pfnThink == &CBaseEntity::SUB_Remove ) + pev->nextthink = gpGlobals->time + 1; + return 1000; + } int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType );