]> git.lizzy.rs Git - minetest.git/commitdiff
Ignore punches with no damage in the actionstream
authorSmallJoker <mk939@ymail.com>
Wed, 11 Mar 2015 19:52:47 +0000 (20:52 +0100)
committerest31 <MTest31@outlook.com>
Sun, 14 Jun 2015 22:10:13 +0000 (00:10 +0200)
src/content_sao.cpp

index 318dd367a25fc2c394d0fd7f6ebe8a70dd4fdd51..984d2ffa3468dbe610c7fce27b22fc135226d798 100644 (file)
@@ -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<<getDescription()<<" punched by "
-                               <<punchername<<", damage "<<result.damage
-                               <<" hp, health now "<<getHP()<<" hp"<<std::endl;
-
-               {
-                       std::string str = gob_cmd_punched(result.damage, getHP());
-                       // create message and add to list
-                       ActiveObjectMessage aom(getId(), true, str);
-                       m_messages_out.push(aom);
+                       actionstream << getDescription() << " punched by "
+                                       << punchername << ", damage " << result.damage
+                                       << " hp, health now " << getHP() << " hp" << std::endl;
                }
 
-               if(getHP() == 0)
-                       m_removed = true;
+               std::string str = gob_cmd_punched(result.damage, getHP());
+               // create message and add to list
+               ActiveObjectMessage aom(getId(), true, str);
+               m_messages_out.push(aom);
        }
 
+       if (getHP() == 0)
+               m_removed = true;
+
        m_env->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);
 }