Files
HL2Overcharged/game/server/hl2/grenade_tripmine.h
2025-05-21 21:20:08 +03:00

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