summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Mobs/Behaviors/BehaviorCoward.cpp4
-rw-r--r--src/Mobs/Behaviors/BehaviorCoward.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/Mobs/Behaviors/BehaviorCoward.cpp b/src/Mobs/Behaviors/BehaviorCoward.cpp
index 132735e0f..e1b0d2a25 100644
--- a/src/Mobs/Behaviors/BehaviorCoward.cpp
+++ b/src/Mobs/Behaviors/BehaviorCoward.cpp
@@ -40,6 +40,9 @@ bool cBehaviorCoward::ControlStarting(std::chrono::milliseconds a_Dt, cChunk & a
{
UNUSED(a_Dt);
UNUSED(a_Chunk);
+ m_OldDontCare = m_Parent->GetPathFinder().getDontCare();
+ m_Parent->GetPathFinder().setDontCare(true); // We don't care we're we are going when
+ // wandering. If a path is not found, the pathfinder just modifies our destination.
m_Parent->SetRelativeWalkSpeed(m_Parent->GetRelativeWalkSpeed() * 3);
return true;
}
@@ -50,6 +53,7 @@ bool cBehaviorCoward::ControlEnding(std::chrono::milliseconds a_Dt, cChunk & a_C
UNUSED(a_Dt);
UNUSED(a_Chunk);
m_Parent->SetRelativeWalkSpeed(m_Parent->GetRelativeWalkSpeed() / 3);
+ m_Parent->GetPathFinder().setDontCare(m_OldDontCare);
return true;
}
diff --git a/src/Mobs/Behaviors/BehaviorCoward.h b/src/Mobs/Behaviors/BehaviorCoward.h
index 3232f807b..16d68872c 100644
--- a/src/Mobs/Behaviors/BehaviorCoward.h
+++ b/src/Mobs/Behaviors/BehaviorCoward.h
@@ -19,4 +19,5 @@ public:
private:
cMonster * m_Parent; // Our Parent
cEntity * m_Attacker; // The entity we're running away from
+ bool m_OldDontCare;
};