summaryrefslogtreecommitdiffstats
path: root/src/Mobs/Cow.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mobs/Cow.h')
-rw-r--r--src/Mobs/Cow.h30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/Mobs/Cow.h b/src/Mobs/Cow.h
index 569c6e619..58380065a 100644
--- a/src/Mobs/Cow.h
+++ b/src/Mobs/Cow.h
@@ -1,30 +1,36 @@
-
#pragma once
-#include "PassiveMonster.h"
-
-
-
+#include "Behaviors/BehaviorBreeder.h"
+#include "Behaviors/BehaviorItemFollower.h"
+#include "Behaviors/BehaviorCoward.h"
+#include "Behaviors/BehaviorWanderer.h"
+#include "Behaviors/BehaviorItemReplacer.h"
+#include "Monster.h"
-
-class cCow :
- public cPassiveMonster
+class cCow : public cMonster
{
- typedef cPassiveMonster super;
-
public:
cCow();
+ ~cCow() {}
+ typedef cMonster super;
CLASS_PROTODEF(cCow)
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
- virtual void OnRightClicked(cPlayer & a_Player) override;
virtual void GetFollowedItems(cItems & a_Items) override
{
a_Items.Add(E_ITEM_WHEAT);
}
-
+private:
+ // Tick controlling behaviors
+ cBehaviorBreeder m_BehaviorBreeder;
+ cBehaviorItemFollower m_BehaviorItemFollower;
+ cBehaviorCoward m_BehaviorCoward;
+ cBehaviorWanderer m_BehaviorWanderer;
+
+ // Non tick controlling behaviors
+ cBehaviorItemReplacer m_BehaviorItemReplacer;
} ;