NS/main/source/mod/AvHAlienTurret.h

87 lines
2.2 KiB
C
Raw Normal View History

//======== (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