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.
66 lines
1.5 KiB
66 lines
1.5 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
//
|
|
//
|
|
//=============================================================================
|
|
|
|
#ifndef TF_OBJ_CATAPULT_H
|
|
#define TF_OBJ_CATAPULT_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "tf_obj.h"
|
|
|
|
class CTFPlayer;
|
|
|
|
#define CATAPULT_MAX_HEALTH 150
|
|
|
|
#ifdef STAGING_ONLY
|
|
|
|
// ------------------------------------------------------------------------ //
|
|
// Base catapult object
|
|
// ------------------------------------------------------------------------ //
|
|
class CObjectCatapult : public CBaseObject
|
|
{
|
|
DECLARE_CLASS( CObjectCatapult, CBaseObject );
|
|
DECLARE_DATADESC();
|
|
public:
|
|
//DECLARE_SERVERCLASS();
|
|
|
|
CObjectCatapult();
|
|
|
|
virtual void Spawn();
|
|
virtual void Precache();
|
|
virtual bool IsPlacementPosValid( void );
|
|
|
|
virtual void StartTouch( CBaseEntity *pOther );
|
|
virtual void EndTouch( CBaseEntity *pOther );
|
|
|
|
void CatapultThink();
|
|
|
|
virtual void OnGoActive();
|
|
|
|
// Wrench hits
|
|
//virtual bool Command_Repair( CTFPlayer *pActivator, float flRepairMod );
|
|
//virtual bool InputWrenchHit( CTFPlayer *pPlayer, CTFWrench *pWrench, Vector hitLoc );
|
|
|
|
// Upgrading
|
|
//virtual bool IsUpgrading( void ) const { return false; }
|
|
//virtual bool CheckUpgradeOnHit( CTFPlayer *pPlayer );
|
|
|
|
virtual int GetBaseHealth( void ) { return CATAPULT_MAX_HEALTH; }
|
|
private:
|
|
void Launch( CBaseEntity* pEnt );
|
|
|
|
struct Jumper_t
|
|
{
|
|
CHandle< CBaseEntity > m_hJumper;
|
|
float flTouchTime;
|
|
};
|
|
CUtlVector< Jumper_t > m_jumpers;
|
|
};
|
|
|
|
#endif // STAGING_ONLY
|
|
|
|
#endif // TF_OBJ_CATAPULT_H
|