From 38f6fff3fbe7c90899b319f53b08d48714a3c845 Mon Sep 17 00:00:00 2001 From: STRWarrior Date: Sun, 10 Nov 2013 15:16:43 +0100 Subject: Wolves can now be owned by an entity. They only sit when right clicked by their owner. They beg if the closest player has meat or bones in his hand. They follow their owner. They teleport to their owner if they are more then 30 blocks away. They don't attack players if they are not angry anymore. They don't move if they are sitting. --- source/Mobs/Wolf.h | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'source/Mobs/Wolf.h') diff --git a/source/Mobs/Wolf.h b/source/Mobs/Wolf.h index 98074ba11..e1ce25200 100644 --- a/source/Mobs/Wolf.h +++ b/source/Mobs/Wolf.h @@ -2,6 +2,7 @@ #pragma once #include "PassiveAggressiveMonster.h" +#include "../Entities/Entity.h" @@ -19,11 +20,21 @@ public: virtual void DoTakeDamage(TakeDamageInfo & a_TDI) override; virtual void OnRightClicked(cPlayer & a_Player) override; - - bool IsSitting(void) const { return m_bIsSitting; } - bool IsTame(void) const { return m_bIsTame; } - bool IsBegging(void) const { return m_bIsBegging; } - bool IsAngry(void) const { return m_bIsAngry; } + virtual void Tick(float a_Dt, cChunk & a_Chunk) override; + + // Get functions + bool IsSitting(void) const { return m_bIsSitting; } + bool IsTame(void) const { return m_bIsTame; } + bool IsBegging(void) const { return m_bIsBegging; } + bool IsAngry(void) const { return m_bIsAngry; } + cEntity * GetOwner(void) const { return m_bOwner; } + + // Set functions + void SetIsSitting(bool a_IsSitting) { m_bIsSitting = a_IsSitting; } + void SetIsTame(bool a_IsTame) { m_bIsTame = a_IsTame; } + void SetIsBegging(bool a_IsBegging) { m_bIsBegging = a_IsBegging; } + void SetIsAngry(bool a_IsAngry) { m_bIsAngry = a_IsAngry; } + void SetOwner(cEntity * a_Entity) { m_bOwner = a_Entity; } private: @@ -31,7 +42,7 @@ private: bool m_bIsTame; bool m_bIsBegging; bool m_bIsAngry; - + cEntity * m_bOwner; } ; -- cgit v1.2.3