diff options
Diffstat (limited to 'src/Mobs/Behaviors/BehaviorAggressive.h')
-rw-r--r-- | src/Mobs/Behaviors/BehaviorAggressive.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/Mobs/Behaviors/BehaviorAggressive.h b/src/Mobs/Behaviors/BehaviorAggressive.h new file mode 100644 index 000000000..840d925d5 --- /dev/null +++ b/src/Mobs/Behaviors/BehaviorAggressive.h @@ -0,0 +1,31 @@ +#pragma once + + +class cBehaviorAggressive; + +#include "Behavior.h" + +/** The mob is agressive toward specific mobtypes, or toward the player. +This Behavior has a dependency on BehaviorAttacker. */ +class cBehaviorAggressive : public cBehavior +{ + +public: + void AttachToMonster(cMonster & a_Parent); + + // cBehaviorAggressive(cMonster * a_Parent, bool a_HatesPlayer); + // TODO agression toward specific players, and specific mobtypes, etc + // Agression under specific conditions (nighttime, etc) + + // Functions our host Monster should invoke: + void PreTick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; + +private: + cPawn * FindNewTarget(); + + // Our parent + cMonster * m_Parent; + + // The mob we want to attack + cPawn * m_Target; +}; |