From bb5f830d1653927cf6f712fc241006f00e1b70e8 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Wed, 11 Mar 2015 20:52:47 +0100 Subject: [PATCH] Ignore punches with no damage in the actionstream --- src/content_sao.cpp | 41 ++++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/src/content_sao.cpp b/src/content_sao.cpp index 318dd367a..984d2ffa3 100644 --- a/src/content_sao.cpp +++ b/src/content_sao.cpp @@ -419,19 +419,19 @@ int LuaEntitySAO::punch(v3f dir, ServerActiveObject *puncher, float time_from_last_punch) { - if(!m_registered){ + if (!m_registered){ // Delete unknown LuaEntities when punched m_removed = true; return 0; } // It's best that attachments cannot be punched - if(isAttached()) + if (isAttached()) return 0; ItemStack *punchitem = NULL; ItemStack punchitem_static; - if(puncher){ + if (puncher) { punchitem_static = puncher->getWieldedItem(); punchitem = &punchitem_static; } @@ -442,31 +442,26 @@ int LuaEntitySAO::punch(v3f dir, punchitem, time_from_last_punch); - if(result.did_punch) - { + if (result.did_punch) { setHP(getHP() - result.damage); + if (result.damage > 0) { + std::string punchername = puncher ? puncher->getDescription() : "nil"; - std::string punchername = "nil"; - - if ( puncher != 0 ) - punchername = puncher->getDescription(); - - actionstream<getScriptIface()->luaentity_Punch(m_id, puncher, time_from_last_punch, toolcap, dir); @@ -475,10 +470,10 @@ int LuaEntitySAO::punch(v3f dir, void LuaEntitySAO::rightClick(ServerActiveObject *clicker) { - if(!m_registered) + if (!m_registered) return; // It's best that attachments cannot be clicked - if(isAttached()) + if (isAttached()) return; m_env->getScriptIface()->luaentity_Rightclick(m_id, clicker); }