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..43747d0e2 --- /dev/null +++ b/src/Mobs/Behaviors/BehaviorAggressive.h @@ -0,0 +1,31 @@ +// The mob is agressive toward specific mobtypes, or toward the player. +// This Behavior has a dependency on BehaviorChaser. +#pragma once +class cPawn; +class cMonster; +class cBehaviorChaser; + +class cBehaviorAggressive +{ + +public: + cBehaviorAggressive(cMonster * a_Parent, int a_MinimumLight); + + // 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: + bool ActiveTick(); + void Destroyed(); + +private: + cPawn * FindNewTarget(); + + // Our parent + cMonster * m_Parent; + cBehaviorChaser * m_ParentChaser; + + // The mob we want to attack + cPawn * m_Target; +}; |