diff options
author | STRWarrior <niels.breuker@hotmail.nl> | 2013-11-04 21:46:56 +0100 |
---|---|---|
committer | STRWarrior <niels.breuker@hotmail.nl> | 2013-11-04 21:46:56 +0100 |
commit | 7cfcfc5f398f133f339a4dd8c87b5e02d8043fd3 (patch) | |
tree | 8ace65bcb978257250c6b767abd29457700c07b4 /source/Mobs/Monster.cpp | |
parent | Skeleton.cpp doesn't have to load ProjectileEntity.h and Entity.h. (diff) | |
download | cuberite-7cfcfc5f398f133f339a4dd8c87b5e02d8043fd3.tar cuberite-7cfcfc5f398f133f339a4dd8c87b5e02d8043fd3.tar.gz cuberite-7cfcfc5f398f133f339a4dd8c87b5e02d8043fd3.tar.bz2 cuberite-7cfcfc5f398f133f339a4dd8c87b5e02d8043fd3.tar.lz cuberite-7cfcfc5f398f133f339a4dd8c87b5e02d8043fd3.tar.xz cuberite-7cfcfc5f398f133f339a4dd8c87b5e02d8043fd3.tar.zst cuberite-7cfcfc5f398f133f339a4dd8c87b5e02d8043fd3.zip |
Diffstat (limited to '')
-rw-r--r-- | source/Mobs/Monster.cpp | 70 |
1 files changed, 6 insertions, 64 deletions
diff --git a/source/Mobs/Monster.cpp b/source/Mobs/Monster.cpp index 0b91df90b..9d2be1e29 100644 --- a/source/Mobs/Monster.cpp +++ b/source/Mobs/Monster.cpp @@ -440,70 +440,12 @@ void cMonster::InStateEscaping(float a_Dt) void cMonster::Attack(float a_Dt) { m_AttackInterval += a_Dt * m_AttackRate; - if ((m_Target != NULL) && (m_AttackInterval > 3.0)) - // Setting this higher gives us more wiggle room for attackrate - { - switch (GetMobType()) - { - case mtSkeleton: - { - Vector3d Speed = GetLookVector() * 20; - Speed.y = Speed.y + 1; - cArrowEntity * Arrow = new cArrowEntity(this, GetPosX(), GetPosY() + 1, GetPosZ(), Speed); - if (Arrow == NULL) - { - return; - } - if (!Arrow->Initialize(m_World)) - { - delete Arrow; - return; - } - m_World->BroadcastSpawnEntity(*Arrow); - break; - } - case mtGhast: - { - Vector3d Speed = GetLookVector() * 20; - Speed.y = Speed.y + 1; - cGhastFireballEntity * GhastBall = new cGhastFireballEntity(this, GetPosX(), GetPosY() + 1, GetPosZ(), Speed); - if (GhastBall == NULL) - { - return; - } - if (!GhastBall->Initialize(m_World)) - { - delete GhastBall; - return; - } - m_World->BroadcastSpawnEntity(*GhastBall); - break; - } - case mtBlaze: - { - Vector3d Speed = GetLookVector() * 20; - Speed.y = Speed.y + 1; - cFireChargeEntity * FireCharge = new cFireChargeEntity(this, GetPosX(), GetPosY() + 1, GetPosZ(), Speed); - if (FireCharge == NULL) - { - return; - } - if (!FireCharge->Initialize(m_World)) - { - delete FireCharge; - return; - } - m_World->BroadcastSpawnEntity(*FireCharge); - break; - // ToDo: Shoot 3 fireballs instead of 1. - } - default: - { - ((cPawn *)m_Target)->TakeDamage(*this); - } - } - m_AttackInterval = 0.0; - } + if ((m_Target != NULL) && (m_AttackInterval > 3.0)) + { + // Setting this higher gives us more wiggle room for attackrate + m_AttackInterval = 0.0; + ((cPawn *)m_Target)->TakeDamage(*this); + } } |