diff options
Diffstat (limited to 'src/Mobs/Cow.h')
-rw-r--r-- | src/Mobs/Cow.h | 30 |
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; } ; |