Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/base/spacemine.h')
-rw-r--r--src/game/base/spacemine.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/game/base/spacemine.h b/src/game/base/spacemine.h
index 632c48c..4f95849 100644
--- a/src/game/base/spacemine.h
+++ b/src/game/base/spacemine.h
@@ -9,6 +9,7 @@
#include "core/entity.h"
#include "base/template.h"
+#include "base/weapon.h"
namespace game
{
@@ -16,7 +17,7 @@ namespace game
class SpaceMine : public core::EntityDynamic
{
public:
- SpaceMine(const core::Info *info);
+ SpaceMine(const Weapon *weapon);
virtual ~SpaceMine();
virtual void upkeep(const unsigned long timestamp);
@@ -25,12 +26,34 @@ public:
virtual void frame(const unsigned long elapsed);
- static inline void set_template (const Template *entitytemplate) {
+ static inline void set_template (const Template *entitytemplate)
+ {
spacemine_template = entitytemplate;
}
+
+ /* --- inspectors ------------------------------------------ */
+
+ /**
+ * @brief the amount of damage this spacemine inflicts
+ * */
+ inline const float damage() const
+ {
+ return spacemine_damage;
+ }
+
+ /* --- mutators -------------------------------------------- */
+
+ /**
+ * @brief set the amount of damage this spacemine inflicts
+ * */
+ inline void set_damage(const float damage)
+ {
+ spacemine_damage = damage;
+ }
private:
unsigned long spacemine_detonated_timestamp;
+ float spacemine_damage;
static const Template *spacemine_template;
};