Damage: Remove damage ignore timer
authorSmallJoker <mk939@ymail.com>
Sun, 13 Aug 2017 07:49:29 +0000 (09:49 +0200)
committerSmallJoker <mk939@ymail.com>
Sun, 3 Jun 2018 15:32:00 +0000 (17:32 +0200)
src/client.cpp
src/client.h
src/network/clientpackethandler.cpp

index a5228132d629c5eae1927fc5f01cda0e36c0e66b..abc84b7cf8a0d66c35465ed4f6a0697a62fe3cf9 100644 (file)
@@ -73,7 +73,6 @@ Client::Client(
        m_connection_reinit_timer(0.1),
        m_avg_rtt_timer(0.0),
        m_playerpos_send_timer(0.0),
-       m_ignore_damage_timer(0.0),
        m_tsrc(tsrc),
        m_shsrc(shsrc),
        m_itemdef(itemdef),
@@ -275,14 +274,9 @@ void Client::step(float dtime)
        DSTACK(FUNCTION_NAME);
 
        // Limit a bit
-       if(dtime > 2.0)
+       if (dtime > 2.0)
                dtime = 2.0;
 
-       if(m_ignore_damage_timer > dtime)
-               m_ignore_damage_timer -= dtime;
-       else
-               m_ignore_damage_timer = 0.0;
-
        m_animation_time += dtime;
        if(m_animation_time > 60.0)
                m_animation_time -= 60.0;
@@ -429,18 +423,16 @@ void Client::step(float dtime)
                ClientEnvEvent envEvent = m_env.getClientEnvEvent();
 
                if (envEvent.type == CEE_PLAYER_DAMAGE) {
-                       if (m_ignore_damage_timer <= 0) {
-                               u8 damage = envEvent.player_damage.amount;
+                       u8 damage = envEvent.player_damage.amount;
 
-                               if (envEvent.player_damage.send_to_server)
-                                       sendDamage(damage);
+                       if (envEvent.player_damage.send_to_server)
+                               sendDamage(damage);
 
-                               // Add to ClientEvent queue
-                               ClientEvent event;
-                               event.type = CE_PLAYER_DAMAGE;
-                               event.player_damage.amount = damage;
-                               m_client_event_queue.push(event);
-                       }
+                       // Add to ClientEvent queue
+                       ClientEvent event;
+                       event.type = CE_PLAYER_DAMAGE;
+                       event.player_damage.amount = damage;
+                       m_client_event_queue.push(event);
                }
                // Protocol v29 or greater obsoleted this event
                else if (envEvent.type == CEE_PLAYER_BREATH && m_proto_ver < 29) {
index b4145c76ff207127c08084f2dfcdb9f29e72e053..644549d7f353ae34a35f5157ce389a990edf4621 100644 (file)
@@ -574,7 +574,6 @@ private:
        float m_connection_reinit_timer;
        float m_avg_rtt_timer;
        float m_playerpos_send_timer;
-       float m_ignore_damage_timer; // Used after server moves player
        IntervalLimiter m_map_timer_and_unload_interval;
 
        IWritableTextureSource *m_tsrc;
index 8935ed90cf90bc1e232c21368b448d7c497c3f8f..0d4b792de634a80f772569327ed1402fe7ef1c1a 100644 (file)
@@ -580,10 +580,6 @@ void Client::handleCommand_MovePlayer(NetworkPacket* pkt)
        event.player_force_move.pitch = pitch;
        event.player_force_move.yaw = yaw;
        m_client_event_queue.push(event);
-
-       // Ignore damage for a few seconds, so that the player doesn't
-       // get damage from falling on ground
-       m_ignore_damage_timer = 3.0;
 }
 
 void Client::handleCommand_DeathScreen(NetworkPacket* pkt)