mirror of
https://github.com/ENSL/NS.git
synced 2024-11-24 05:21:16 +00:00
90 lines
2.5 KiB
C
90 lines
2.5 KiB
C
|
//======== (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: AvHAlienWeapon.h $
|
||
|
// $Date: 2002/09/23 22:08:59 $
|
||
|
//
|
||
|
//-------------------------------------------------------------------------------
|
||
|
// $Log: AvHAlienWeapon.h,v $
|
||
|
// Revision 1.6 2002/09/23 22:08:59 Flayra
|
||
|
// - Updates to allow marine weapons stick around
|
||
|
//
|
||
|
// Revision 1.5 2002/08/16 02:32:09 Flayra
|
||
|
// - Added damage types
|
||
|
// - Swapped umbra and bile bomb
|
||
|
//
|
||
|
// Revision 1.4 2002/06/25 17:29:56 Flayra
|
||
|
// - Better default behavior
|
||
|
//
|
||
|
// Revision 1.3 2002/06/03 16:25:10 Flayra
|
||
|
// - Switch alien weapons quickly, renamed CheckValidAttack()
|
||
|
//
|
||
|
// Revision 1.2 2002/05/28 17:37:14 Flayra
|
||
|
// - Reduced times where alien weapons are dropped and picked up again (but didn't eliminate, they are still being instantiated somewhere)
|
||
|
//
|
||
|
// Revision 1.1 2002/05/23 02:34:00 Flayra
|
||
|
// - Post-crash checkin. Restored @Backup from around 4/16. Contains changes for last four weeks of development.
|
||
|
//
|
||
|
//===============================================================================
|
||
|
#ifndef AVH_ALIEN_WEAPON_H
|
||
|
#define AVH_ALIEN_WEAPON_H
|
||
|
|
||
|
#include "util/nowarnings.h"
|
||
|
#include "dlls/weapons.h"
|
||
|
#include "mod/AvHBasePlayerWeapon.h"
|
||
|
#include "mod/AvHConstants.h"
|
||
|
#include "mod/AvHMessage.h"
|
||
|
|
||
|
class AvHAlienWeapon : public AvHBasePlayerWeapon
|
||
|
{
|
||
|
public:
|
||
|
AvHAlienWeapon();
|
||
|
|
||
|
virtual float ComputeAttackInterval() const;
|
||
|
|
||
|
virtual void DeductCostForShot(void);
|
||
|
|
||
|
// Cannot ever drop alien weapons
|
||
|
virtual void Drop(void);
|
||
|
|
||
|
bool GetAllowedForUser3(AvHUser3 inUser3);
|
||
|
|
||
|
virtual int GetDamageType() const;
|
||
|
|
||
|
virtual float GetDeployTime() const;
|
||
|
|
||
|
virtual float GetEnergyForAttack() const;
|
||
|
|
||
|
virtual bool GetFiresUnderwater() const;
|
||
|
|
||
|
virtual int GetGroundLifetime() const;
|
||
|
|
||
|
virtual bool GetIsDroppable() const;
|
||
|
|
||
|
virtual bool GetIsGunPositionValid() const;
|
||
|
|
||
|
virtual BOOL IsUseable(void);
|
||
|
|
||
|
virtual void Precache(void);
|
||
|
|
||
|
virtual bool ProcessValidAttack(void);
|
||
|
|
||
|
virtual void Spawn(void);
|
||
|
|
||
|
virtual bool UsesAmmo(void) const;
|
||
|
|
||
|
virtual BOOL UseDecrement(void);
|
||
|
virtual BOOL GetTakesEnergy() { return true; }
|
||
|
|
||
|
private:
|
||
|
float& GetEnergyLevel();
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif
|