mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-05-18 09:38:10 +03:00
75 lines
1.5 KiB
C++
75 lines
1.5 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef GRENADE_TRIPMINE_H
|
|
#define GRENADE_TRIPMINE_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "basegrenade_shared.h"
|
|
|
|
class CBeam;
|
|
|
|
#ifdef MAPBASE
|
|
#define SF_TRIPMINE_START_INACTIVE (1 << 0)
|
|
#endif
|
|
|
|
class CTripmineGrenade : public CBaseGrenade
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CTripmineGrenade, CBaseGrenade );
|
|
|
|
CTripmineGrenade();
|
|
void Spawn( void );
|
|
void Precache( void );
|
|
|
|
#if 0 // FIXME: OnTakeDamage_Alive() is no longer called now that base grenade derives from CBaseAnimating
|
|
int OnTakeDamage_Alive( const CTakeDamageInfo &info );
|
|
#endif
|
|
void WarningThink( void );
|
|
void PowerupThink( void );
|
|
void BeamBreakThink( void );
|
|
void DelayDeathThink( void );
|
|
void Event_Killed( const CTakeDamageInfo &info );
|
|
|
|
void MakeBeam( void );
|
|
void KillBeam( void );
|
|
|
|
#ifdef MAPBASE
|
|
void PowerUp();
|
|
|
|
void InputActivate( inputdata_t &inputdata );
|
|
void InputDeactivate( inputdata_t &inputdata );
|
|
void InputSetOwner( inputdata_t &inputdata ) { m_hOwner = inputdata.value.Entity(); }
|
|
|
|
COutputEvent m_OnExplode;
|
|
#endif
|
|
|
|
public:
|
|
EHANDLE m_hOwner;
|
|
|
|
#ifdef MAPBASE
|
|
float m_flPowerUpTime;
|
|
EHANDLE m_hAttacker;
|
|
#endif
|
|
|
|
private:
|
|
float m_flPowerUp;
|
|
Vector m_vecDir;
|
|
Vector m_vecEnd;
|
|
float m_flBeamLength;
|
|
|
|
CBeam *m_pBeam;
|
|
Vector m_posOwner;
|
|
Vector m_angleOwner;
|
|
|
|
DECLARE_DATADESC();
|
|
};
|
|
|
|
#endif // GRENADE_TRIPMINE_H
|