aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/cpp/Actor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/cpp/Actor.cpp')
-rw-r--r--src/main/cpp/Actor.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/cpp/Actor.cpp b/src/main/cpp/Actor.cpp
new file mode 100644
index 0000000..219488d
--- /dev/null
+++ b/src/main/cpp/Actor.cpp
@@ -0,0 +1,27 @@
+#include "Actor.hpp"
+
+Actor::Actor(std::string _name, unsigned _maxHp, Type _type) :
+ name(_name), maxHp(_maxHp), type(_type)
+{}
+
+Actor::~Actor()
+{}
+
+void Actor::damage(int amt)
+{
+ _hp -= amt;
+
+ if (_hp < 0) {
+ _hp = 0;
+ _alive = false;
+ }
+}
+
+void Actor::heal(int amt)
+{
+ _hp += amt;
+
+ if (_hp > maxHp) {
+ _hp = maxHp;
+ }
+}