//======== (C) Copyright 2002 Charles G. Cleveland All rights reserved. =========
//
// The copyright to the contents herein is the property of Charles G. Cleveland.
// The contents may be used and/or copied only with the written permission of
// Charles G. Cleveland, or in accordance with the terms and conditions stipulated in
// the agreement/contract under which the contents have been supplied.
//
// Purpose:
//
// $Workfile: AvHAlienTurret.h $
// $Date: 2002/07/23 16:57:05 $
//
//-------------------------------------------------------------------------------
// $Log: AvHAlienTurret.h,v $
// Revision 1.4 2002/07/23 16:57:05 Flayra
// - Alien turret refactoring and fixing (the view offset in spawn() was causing them to always miss crouched players)
//
//===============================================================================
ifndef AVH_ALIEN_TURRET_H
define AVH_ALIEN_TURRET_H
include "AvHTurret.h"
include "AvHAlienEquipmentConstants.h"
ifdef AVH_SERVER
class AvHSpike : public CBaseEntity
{
public:
virtual void Precache(void);
virtual void Spawn(void); void EXPORT SpikeTouch(CBaseEntity *pOther); void EXPORT SpikeDeath(); void SetDamage(float inDamage);
private:
float mDamage;
};
endif
class AvHAlienTurret : public AvHTurret
{
public:
AvHAlienTurret();
AvHAlienTurret(AvHTechID inTechID, AvHMessageID inMessageID, char* inClassName, int inUser3);
virtual bool Energize(float inEnergyAmount); virtual char* GetDeploySound() const; char* GetModelName() const; virtual bool GetIsOrganic() const; int GetIdle1Animation() const; int GetIdle2Animation() const; virtual int GetPointValue(void) const; virtual int GetXYRange() const; virtual int GetVerticalFOV() const; virtual int MoveTurret(void); virtual bool GetBaseClassAnimatesTurret() const; virtual int GetTakeDamageAnimation() const; virtual void ResetEntity(); virtual void Precache(void); virtual void SetNextAttack(); virtual void Shoot(const Vector &inOrigin, const Vector &inToEnemy, const Vector& inVecEnemyVelocity); virtual void Spawn();
protected:
virtual float GetRateOfFire() const;
private:
void EXPORT PreBuiltThink();
int mEvent; float mEnergy;
};
endif