summaryrefslogtreecommitdiffstats
path: root/src/Entities/Entity.cpp
diff options
context:
space:
mode:
authorHowaner <franzi.moos@googlemail.com>2014-07-23 16:32:09 +0200
committerHowaner <franzi.moos@googlemail.com>2014-07-23 16:32:09 +0200
commit396739cc0faf01a099acbe669c5a9def98d3aaae (patch)
tree91cff4c6ac486b2158edefce878174fe95e2fb3d /src/Entities/Entity.cpp
parentCheckBasicStyle: Added a lua shebang. (diff)
downloadcuberite-396739cc0faf01a099acbe669c5a9def98d3aaae.tar
cuberite-396739cc0faf01a099acbe669c5a9def98d3aaae.tar.gz
cuberite-396739cc0faf01a099acbe669c5a9def98d3aaae.tar.bz2
cuberite-396739cc0faf01a099acbe669c5a9def98d3aaae.tar.lz
cuberite-396739cc0faf01a099acbe669c5a9def98d3aaae.tar.xz
cuberite-396739cc0faf01a099acbe669c5a9def98d3aaae.tar.zst
cuberite-396739cc0faf01a099acbe669c5a9def98d3aaae.zip
Diffstat (limited to 'src/Entities/Entity.cpp')
-rw-r--r--src/Entities/Entity.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp
index db0fd0fd6..6c3d7b40c 100644
--- a/src/Entities/Entity.cpp
+++ b/src/Entities/Entity.cpp
@@ -12,6 +12,7 @@
#include "../Bindings/PluginManager.h"
#include "../Tracer.h"
#include "Player.h"
+#include "Items/ItemHandler.h"
@@ -289,11 +290,6 @@ void cEntity::SetPitchFromSpeed(void)
bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI)
{
- if (cRoot::Get()->GetPluginManager()->CallHookTakeDamage(*this, a_TDI))
- {
- return false;
- }
-
if (m_Health <= 0)
{
// Can't take damage if already dead
@@ -306,10 +302,17 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI)
return false;
}
+ if (cRoot::Get()->GetPluginManager()->CallHookTakeDamage(*this, a_TDI))
+ {
+ return false;
+ }
+
if ((a_TDI.Attacker != NULL) && (a_TDI.Attacker->IsPlayer()))
{
cPlayer * Player = (cPlayer *)a_TDI.Attacker;
+ Player->GetEquippedItem().GetHandler()->OnEntityAttack(Player, this);
+
// IsOnGround() only is false if the player is moving downwards
// TODO: Better damage increase, and check for enchantments (and use magic critical instead of plain)
if (!Player->IsOnGround())