diff options
author | Aki <please@ignore.pl> | 2022-04-01 21:23:39 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-04-01 21:23:39 +0200 |
commit | 3c487c5cd69c53d6fea948643c0a76df03516605 (patch) | |
tree | 72730c7b8b26a5ef8fc9a987ec4c16129efd5aac /Stars45/Shot.h | |
parent | 8f353abd0bfe18baddd8a8250ab7c4f2d1c83a6e (diff) | |
download | starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.zip starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.gz starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.bz2 |
Moved Stars45 to StarsEx
Diffstat (limited to 'Stars45/Shot.h')
-rw-r--r-- | Stars45/Shot.h | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/Stars45/Shot.h b/Stars45/Shot.h deleted file mode 100644 index aae242c..0000000 --- a/Stars45/Shot.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Starshatter: The Open Source Project - Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors - Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors - Copyright (c) 1997-2006, Destroyer Studios LLC. - - AUTHOR: John DiCamillo - - - OVERVIEW - ======== - Laser and Missile class -*/ - -#ifndef Shot_h -#define Shot_h - -#include "Types.h" -#include "Geometry.h" -#include "SimObject.h" -#include "Color.h" - -// +--------------------------------------------------------------------+ - -class Camera; -class Ship; -class Trail; -class System; -class WeaponDesign; -class Sprite; -class Sound; - -// +--------------------------------------------------------------------+ - -class Shot : public SimObject, -public SimObserver -{ -public: - static const char* TYPENAME() { return "Shot"; } - - Shot(const Point& pos, const Camera& cam, WeaponDesign* design, const Ship* ship=0); - virtual ~Shot(); - - virtual void SeekTarget(SimObject* target, System* sub=0); - virtual void ExecFrame(double factor); - static void Initialize(); - static void Close(); - - virtual void Activate(Scene& scene); - virtual void Deactivate(Scene& scene); - - const Ship* Owner() const { return owner; } - double Damage() const; - int ShotType() const { return type; } - virtual SimObject* GetTarget() const; - - virtual bool IsPrimary() const { return primary; } - virtual bool IsDrone() const { return false; } - virtual bool IsDecoy() const { return false; } - virtual bool IsProbe() const { return false; } - virtual bool IsMissile() const { return !primary; } - virtual bool IsArmed() const { return armed; } - virtual bool IsBeam() const { return beam; } - virtual bool IsFlak() const; - virtual bool IsHostileTo(const SimObject* o) const; - - bool HitTarget() const { return hit_target; } - void SetHitTarget(bool h) { hit_target = h; } - - virtual bool IsTracking(Ship* tgt) const; - virtual double PCS() const { return 0; } - virtual double ACS() const { return 0; } - virtual int GetIFF() const; - virtual Color MarkerColor() const; - - const Point& Origin() const { return origin; } - float Charge() const { return charge; } - void SetCharge(float c); - double Length() const; - Graphic* GetTrail() const { return (Graphic*) trail; } - void SetFuse(double seconds); - - void SetBeamPoints(const Point& from, const Point& to); - virtual void Disarm(); - virtual void Destroy(); - - const WeaponDesign* Design() const { return design; } - const char* DesignName() const; - int GetEta() const { return eta; } - void SetEta(int t) { eta = t; } - - double AltitudeMSL() const; - double AltitudeAGL() const; - - // SimObserver interface: - virtual bool Update(SimObject* obj); - virtual const char* GetObserverName() const; - - int operator == (const Shot& s) const { return id == s.id; } - -protected: - const Ship* owner; - - int type; - float base_damage; - float charge; - float offset; - float altitude_agl; - short eta; - BYTE iff_code; - bool first_frame; - bool primary; - bool beam; - bool armed; - bool hit_target; - - Sprite* flash; // muzzle flash - Sprite* flare; // drive flare - Trail* trail; // exhaust trail - - Sound* sound; - WeaponDesign* design; - - // for beam weapons: - Point origin; -}; - -#endif // Shot_h - |