summaryrefslogtreecommitdiffstats
path: root/source/Mobs/AggressiveMonster.cpp
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-12-21 13:52:14 +0100
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-12-21 13:52:14 +0100
commitafaf104b4086dbc5245f92a209cb68a088780ebb (patch)
tree82bdb4f173cda642566206066f8fdd27b9f725b5 /source/Mobs/AggressiveMonster.cpp
parentAdded "Latest version" to the PrimaryServerVersion in webadmin settings (patch contributed by STR_Warrior) (diff)
downloadcuberite-afaf104b4086dbc5245f92a209cb68a088780ebb.tar
cuberite-afaf104b4086dbc5245f92a209cb68a088780ebb.tar.gz
cuberite-afaf104b4086dbc5245f92a209cb68a088780ebb.tar.bz2
cuberite-afaf104b4086dbc5245f92a209cb68a088780ebb.tar.lz
cuberite-afaf104b4086dbc5245f92a209cb68a088780ebb.tar.xz
cuberite-afaf104b4086dbc5245f92a209cb68a088780ebb.tar.zst
cuberite-afaf104b4086dbc5245f92a209cb68a088780ebb.zip
Diffstat (limited to 'source/Mobs/AggressiveMonster.cpp')
-rw-r--r--source/Mobs/AggressiveMonster.cpp62
1 files changed, 41 insertions, 21 deletions
diff --git a/source/Mobs/AggressiveMonster.cpp b/source/Mobs/AggressiveMonster.cpp
index d178ce8f8..eabfb6669 100644
--- a/source/Mobs/AggressiveMonster.cpp
+++ b/source/Mobs/AggressiveMonster.cpp
@@ -8,26 +8,30 @@
#include "../MersenneTwister.h"
+
+
+
cAggressiveMonster::cAggressiveMonster()
: m_ChaseTime(999999)
{
m_EMPersonality = AGGRESSIVE;
}
-cAggressiveMonster::~cAggressiveMonster()
-{
-}
-//What to do if in Chasing State
-void cAggressiveMonster::InStateChasing(float a_Dt) {
- cMonster::InStateChasing(a_Dt);
+
+
+
+// What to do if in Chasing State
+void cAggressiveMonster::InStateChasing(float a_Dt)
+{
+ super::InStateChasing(a_Dt);
m_ChaseTime += a_Dt;
- if( m_Target )
+ if (m_Target != NULL)
{
- if(m_Target->GetEntityType() == cEntity::eEntityType_Player)
+ if (m_Target->IsPlayer())
{
cPlayer * Player = (cPlayer *) m_Target;
- if(Player->GetGameMode() == 1)
+ if (Player->GetGameMode() == 1)
{
m_EMState = IDLE;
return;
@@ -36,11 +40,14 @@ void cAggressiveMonster::InStateChasing(float a_Dt) {
Vector3f Pos = Vector3f( m_Pos );
Vector3f Their = Vector3f( m_Target->GetPosition() );
- if( (Their - Pos).Length() <= m_AttackRange) {
+ if ((Their - Pos).Length() <= m_AttackRange)
+ {
cMonster::Attack(a_Dt);
}
- MoveToPosition( Their + Vector3f(0, 0.65f, 0) );
- } else if( m_ChaseTime > 5.f ) {
+ MoveToPosition(Their + Vector3f(0, 0.65f, 0));
+ }
+ else if (m_ChaseTime > 5.f)
+ {
m_ChaseTime = 0;
m_EMState = IDLE;
}
@@ -48,31 +55,44 @@ void cAggressiveMonster::InStateChasing(float a_Dt) {
-void cAggressiveMonster::EventSeePlayer(cEntity *a_Entity)
+
+
+void cAggressiveMonster::EventSeePlayer(cEntity * a_Entity)
{
- cMonster::EventSeePlayer(a_Entity);
+ super::EventSeePlayer(a_Entity);
m_EMState = CHASING;
}
+
+
+
+
void cAggressiveMonster::Tick(float a_Dt)
{
- cMonster::Tick(a_Dt);
+ super::Tick(a_Dt);
m_SeePlayerInterval += a_Dt;
- if(m_SeePlayerInterval > 1)
+ if (m_SeePlayerInterval > 1)
{
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 (rem >= 2)
{
- if(m_EMState == CHASING){
+ if (m_EMState == CHASING)
+ {
CheckEventLostPlayer();
- } else {
+ }
+ else
+ {
CheckEventSeePlayer();
}
}
}
-} \ No newline at end of file
+}
+
+
+
+