summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/Protocol/Protocol16x.cpp13
-rw-r--r--source/Protocol/Protocol16x.h1
2 files changed, 13 insertions, 1 deletions
diff --git a/source/Protocol/Protocol16x.cpp b/source/Protocol/Protocol16x.cpp
index 7036dfbca..d06980228 100644
--- a/source/Protocol/Protocol16x.cpp
+++ b/source/Protocol/Protocol16x.cpp
@@ -100,7 +100,7 @@ void cProtocol161::SendHealth(void)
WriteByte (PACKET_UPDATE_HEALTH);
WriteFloat((float)m_Client->GetPlayer()->GetHealth());
WriteShort(m_Client->GetPlayer()->GetFoodLevel());
- WriteFloat(m_Client->GetPlayer()->GetFoodSaturationLevel());
+ WriteFloat((float)m_Client->GetPlayer()->GetFoodSaturationLevel());
Flush();
}
@@ -123,6 +123,17 @@ void cProtocol161::SendPlayerMaxSpeed(void)
+void cProtocol161::SendRespawn(void)
+{
+ // Besides sending the respawn, we need to also send the player max speed, otherwise the client reverts to super-fast
+ super::SendRespawn();
+ SendPlayerMaxSpeed();
+}
+
+
+
+
+
void cProtocol161::SendWindowOpen(char a_WindowID, char a_WindowType, const AString & a_WindowTitle, char a_NumSlots)
{
if (a_WindowType < 0)
diff --git a/source/Protocol/Protocol16x.h b/source/Protocol/Protocol16x.h
index 4395108b9..e012585d1 100644
--- a/source/Protocol/Protocol16x.h
+++ b/source/Protocol/Protocol16x.h
@@ -38,6 +38,7 @@ protected:
virtual void SendGameMode (eGameMode a_GameMode) override;
virtual void SendHealth (void) override;
virtual void SendPlayerMaxSpeed(void) override;
+ virtual void SendRespawn (void) override;
virtual void SendWindowOpen (char a_WindowID, char a_WindowType, const AString & a_WindowTitle, char a_NumSlots) override;
virtual int ParseEntityAction (void) override;