summaryrefslogtreecommitdiffstats
path: root/src/Mobs/Monster.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mobs/Monster.cpp')
-rw-r--r--src/Mobs/Monster.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/Mobs/Monster.cpp b/src/Mobs/Monster.cpp
index 3f7153fb3..38bec857c 100644
--- a/src/Mobs/Monster.cpp
+++ b/src/Mobs/Monster.cpp
@@ -231,9 +231,21 @@ void cMonster::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk)
{
++m_TicksSinceLastDamaged;
}
- if ((m_Target != nullptr) && m_Target->IsDestroyed())
+ if ((m_Target != nullptr))
{
- m_Target = nullptr;
+ if (m_Target->IsDestroyed())
+ {
+ m_Target = nullptr;
+ }
+ else if (m_Target->IsPlayer())
+ {
+ if (static_cast<cPlayer *>(m_Target)->IsGameModeCreative())
+ {
+ m_Target = nullptr;
+ m_EMState = IDLE;
+ return;
+ }
+ }
}
// Process the undead burning in daylight.