]> git.localhorst.tv Git - blobs.git/blob - src/creature/AttackGoal.hpp
aggression
[blobs.git] / src / creature / AttackGoal.hpp
1 #ifndef BLOBS_CREATURE_ATTACKGOAL_HPP_
2 #define BLOBS_CREATURE_ATTACKGOAL_HPP_
3
4 #include "Goal.hpp"
5
6 namespace blobs {
7 namespace creature {
8
9 class AttackGoal
10 : public Goal {
11
12 public:
13         AttackGoal(Creature &self, Creature &target);
14         ~AttackGoal() override;
15
16 public:
17         std::string Describe() const override;
18         void Tick(double dt) override;
19         void Action() override;
20         void OnBackground() override;
21
22         void SetDamageTarget(double t) noexcept { damage_target = t; }
23
24 private:
25         Creature ⌖
26         double damage_target;
27         double damage_dealt;
28         double cooldown;
29
30 };
31
32 }
33 }
34
35 #endif