summaryrefslogtreecommitdiffstats
path: root/source/Mobs/PassiveMonster.cpp
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-12-21 12:04:08 +0100
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-12-21 12:04:08 +0100
commit912a1e7adc650d20b0302a3dfe45816b5e541bc7 (patch)
tree65e7ffbf33d8f1335a4997fc5a727739f9dcdd34 /source/Mobs/PassiveMonster.cpp
parentExtended player inventory by direct r/o access to armor slots (diff)
downloadcuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar
cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.gz
cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.bz2
cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.lz
cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.xz
cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.zst
cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.zip
Diffstat (limited to '')
-rw-r--r--source/Mobs/PassiveMonster.cpp35
1 files changed, 23 insertions, 12 deletions
diff --git a/source/Mobs/PassiveMonster.cpp b/source/Mobs/PassiveMonster.cpp
index bc3f70b4b..6224b284a 100644
--- a/source/Mobs/PassiveMonster.cpp
+++ b/source/Mobs/PassiveMonster.cpp
@@ -8,39 +8,50 @@
-cPassiveMonster::cPassiveMonster()
+cPassiveMonster::cPassiveMonster(void)
{
m_EMPersonality = PASSIVE;
}
-cPassiveMonster::~cPassiveMonster()
-{
-}
-void cPassiveMonster::TakeDamage(int a_Damage, cEntity* a_Instigator)
+
+
+
+void cPassiveMonster::DoTakeDamage(TakeDamageInfo & a_TDI)
{
- cMonster::TakeDamage(a_Damage, a_Instigator);
- if(a_Instigator != this)
+ super::DoTakeDamage(a_TDI);
+ if ((a_TDI.Attacker != this) && (a_TDI.Attacker != NULL))
+ {
m_EMState = ESCAPING;
+ }
}
+
+
+
+
void cPassiveMonster::Tick(float a_Dt)
{
cMonster::Tick(a_Dt);
m_SeePlayerInterval += a_Dt;
- if(m_SeePlayerInterval > 1)
+ if (m_SeePlayerInterval > 1) // Check every second
{
MTRand r1;
- int rem = r1.randInt() % 3 + 1; //check most of the time but miss occasionally
+ int rem = r1.randInt() % 3 + 1; // Check most of the time but miss occasionally
m_SeePlayerInterval = 0.0;
- if(rem >= 2) {
- if(m_EMState == ESCAPING)
+ if (rem >= 2)
+ {
+ if (m_EMState == ESCAPING)
{
CheckEventLostPlayer();
}
}
}
-} \ No newline at end of file
+}
+
+
+
+