Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

94 lines
2.5 KiB

//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef WEAPON_MOLOTOV_H
#define WEAPON_MOLOTOV_H
#ifdef _WIN32
#pragma once
#endif
#include "weapon_basecsgrenade.h"
#if defined( CLIENT_DLL )
#define CMolotovGrenade C_MolotovGrenade
#define CIncendiaryGrenade C_IncendiaryGrenade
#endif
//-----------------------------------------------------------------------------
// Molotov grenades
//-----------------------------------------------------------------------------
class CMolotovGrenade : public CBaseCSGrenade
{
public:
DECLARE_CLASS( CMolotovGrenade, CBaseCSGrenade );
DECLARE_NETWORKCLASS();
DECLARE_PREDICTABLE();
CMolotovGrenade() {}
virtual CSWeaponID GetCSWeaponID( void ) const { return WEAPON_MOLOTOV; }
#ifdef CLIENT_DLL
virtual bool Simulate( void );
virtual void UpdateParticles( void );
virtual void OnParticleEffectDeleted( CNewParticleEffect *pParticleEffect );
#else
DECLARE_DATADESC();
virtual void EmitGrenade( Vector vecSrc, QAngle vecAngles, Vector vecVel, AngularImpulse angImpulse, CBasePlayer *pPlayer, const CCSWeaponInfo& weaponInfo );
virtual void Precache( void );
#endif
virtual void Drop( const Vector& vecVelocity );
private:
CMolotovGrenade( const CMolotovGrenade& );
private:
#if defined( CLIENT_DLL )
CUtlReference<CNewParticleEffect> m_molotovParticleEffect;
#endif
};
//-----------------------------------------------------------------------------
// Incendiary grenades
//-----------------------------------------------------------------------------
class CIncendiaryGrenade : public CMolotovGrenade
{
public:
DECLARE_CLASS( CIncendiaryGrenade, CMolotovGrenade );
DECLARE_NETWORKCLASS();
//DECLARE_PREDICTABLE();
CIncendiaryGrenade() {}
virtual CSWeaponID GetCSWeaponID( void ) const { return WEAPON_INCGRENADE; }
#ifdef CLIENT_DLL
//virtual bool Simulate( void );
//virtual void UpdateParticles( void );
//virtual void OnParticleEffectDeleted( CNewParticleEffect *pParticleEffect );
#else
//DECLARE_DATADESC();
virtual void EmitGrenade( Vector vecSrc, QAngle vecAngles, Vector vecVel, AngularImpulse angImpulse, CBasePlayer *pPlayer, const CCSWeaponInfo& weaponInfo );
virtual void Precache( void );
#endif
private:
CIncendiaryGrenade( const CIncendiaryGrenade& );
/*
private:
#if defined( CLIENT_DLL )
CUtlReference<CNewParticleEffect> m_molotovParticleEffect;
#endif
*/
};
#endif // WEAPON_MOLOTOV_H