summaryrefslogtreecommitdiffstats
path: root/src/Mobs/Behaviors/BehaviorItemFollower.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mobs/Behaviors/BehaviorItemFollower.cpp')
-rw-r--r--src/Mobs/Behaviors/BehaviorItemFollower.cpp48
1 files changed, 22 insertions, 26 deletions
diff --git a/src/Mobs/Behaviors/BehaviorItemFollower.cpp b/src/Mobs/Behaviors/BehaviorItemFollower.cpp
index 7cc0f8dfc..89e25ed57 100644
--- a/src/Mobs/Behaviors/BehaviorItemFollower.cpp
+++ b/src/Mobs/Behaviors/BehaviorItemFollower.cpp
@@ -5,16 +5,12 @@
#include "../../World.h"
#include "../../Entities/Player.h"
-iBehaviorItemFollower::~iBehaviorItemFollower()
-{
-
-}
-cBehaviorItemFollower::cBehaviorItemFollower(iBehaviorItemFollower * a_ParentInterface) :
- m_ParentInterface(a_ParentInterface)
+cBehaviorItemFollower::cBehaviorItemFollower(cMonster * a_Parent) :
+ m_ParentInterface(a_ParentInterface)
{
- m_Parent = dynamic_cast<cMonster *>(m_ParentInterface);
- ASSERT(m_Parent != nullptr);
+ m_Parent = a_Parent;
+ ASSERT(m_Parent != nullptr);
}
@@ -23,22 +19,22 @@ cBehaviorItemFollower::cBehaviorItemFollower(iBehaviorItemFollower * a_ParentInt
bool cBehaviorItemFollower::ActiveTick()
{
- cWorld * World = m_Parent->GetWorld();
- cItems FollowedItems;
- m_ParentInterface->GetFollowedItems(FollowedItems);
- if (FollowedItems.Size() > 0)
- {
- cPlayer * a_Closest_Player = m_Parent->GetNearestPlayer();
- if (a_Closest_Player != nullptr)
- {
- cItem EquippedItem = a_Closest_Player->GetEquippedItem();
- if (FollowedItems.ContainsType(EquippedItem))
- {
- Vector3d PlayerPos = a_Closest_Player->GetPosition();
- m_Parent->MoveToPosition(PlayerPos);
- return true; // We took control of the monster, prevent other Behaviors from doing so
- }
- }
- }
- return false;
+ cWorld * World = m_Parent->GetWorld();
+ cItems FollowedItems;
+ m_ParentInterface->GetFollowedItems(FollowedItems);
+ if (FollowedItems.Size() > 0)
+ {
+ cPlayer * a_Closest_Player = m_Parent->GetNearestPlayer();
+ if (a_Closest_Player != nullptr)
+ {
+ cItem EquippedItem = a_Closest_Player->GetEquippedItem();
+ if (FollowedItems.ContainsType(EquippedItem))
+ {
+ Vector3d PlayerPos = a_Closest_Player->GetPosition();
+ m_Parent->MoveToPosition(PlayerPos);
+ return true; // We took control of the monster, prevent other Behaviors from doing so
+ }
+ }
+ }
+ return false;
}