Files
DoomRTX/neo/prey/Prey/prey_projectilehiderweapon.h
T
2026-05-05 15:01:01 -07:00

46 lines
1.5 KiB
C++

#ifndef __HH_PROJECTILE_HIDER_WEAPON_H
#define __HH_PROJECTILE_HIDER_WEAPON_H
/***********************************************************************
hhProjectileHider
***********************************************************************/
class hhProjectileHider : public hhProjectile {
CLASS_PROTOTYPE( hhProjectileHider );
protected:
virtual void ApplyDamageEffect( idEntity* entHit, const trace_t& collision, const idVec3& velocity, const char* damageDefName );
};
/***********************************************************************
hhProjectileHiderCanister
***********************************************************************/
class hhProjectileHiderCanister : public hhProjectileHider {
CLASS_PROTOTYPE( hhProjectileHiderCanister );
public:
void Spawn();
void Save( idSaveGame *savefile ) const;
void Restore( idRestoreGame *savefile );
protected:
virtual void SpawnRicochetSpray( const idVec3& bounceVelocity );
virtual void SpawnDebris( const idVec3& collisionNormal, const idVec3& collisionDir );
virtual void Killed( idEntity *inflicter, idEntity *attacker, int damage, const idVec3 &dir, int location );
void Event_Collision_Explode( const trace_t* collision, const idVec3& velocity );
void Event_Collision_ExplodeChaff( const trace_t* collision, const idVec3& velocity );
protected:
int numSubProjectiles;
idDict subProjectileDict;
float subSpread;
float subBounce;
bool bScatter;
};
#endif