aboutsummaryrefslogtreecommitdiffstats
path: root/src/weapon.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/weapon.hpp')
-rw-r--r--src/weapon.hpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/weapon.hpp b/src/weapon.hpp
index d7f8df3..5e8fde4 100644
--- a/src/weapon.hpp
+++ b/src/weapon.hpp
@@ -9,6 +9,7 @@
#ifndef WEAPON_H_
#define WEAPON_H_
+#include "projectile.hpp"
#include "raylib.h"
#include <iostream>
@@ -30,6 +31,8 @@ class AWeapon {
unsigned int const damage;
const std::string name;
+ Projectile projectile;
+
public:
AWeapon(float const rg, // range
unsigned int const& dmg, // damage
@@ -37,14 +40,18 @@ class AWeapon {
double const& cooldown, // duh
const char* s, // shot sound path
const char* r, // reload sound path
- std::string const& nm); // name
+ std::string const& nm, // name
+ bool const& hasProj); // projectiles ? yea/nay
~AWeapon();
virtual int bang(std::vector<Entity>* enemies, Entity* player) = 0;
void refill();
+ virtual Projectile const& getProjectile() const = 0;
+
bool empty;
unsigned int barrel;
+ bool hasProjectiles;
};
#endif // WEAPON_H_