diff options
Diffstat (limited to 'src/game/base/spacemine.h')
-rw-r--r-- | src/game/base/spacemine.h | 27 |
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; }; |