diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-12-21 12:04:08 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-12-21 12:04:08 +0100 |
commit | 912a1e7adc650d20b0302a3dfe45816b5e541bc7 (patch) | |
tree | 65e7ffbf33d8f1335a4997fc5a727739f9dcdd34 /source/Mobs/PassiveMonster.cpp | |
parent | Extended player inventory by direct r/o access to armor slots (diff) | |
download | cuberite-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.cpp | 35 |
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 +} + + + + |