From 52ba1f867e5edb579a59a44fbb8286d4f1e54931 Mon Sep 17 00:00:00 2001
From: Loic Blot <loic.blot@unix-experience.fr>
Date: Sun, 1 Jan 2017 16:13:01 +0100
Subject: Breath cheat fix: server side

Breath is now handled server side. Changing this behaviour required some modifications to core:

* Ignore TOSERVER_BREATH package, marking it as obsolete
* Clients doesn't send the breath to server anymore
* Use PlayerSAO pointer instead of peer_id in Server::SendPlayerBreath to prevent a useless lookup (little perf gain)
* drop a useless static_cast in emergePlayer
---
 src/script/lua_api/l_object.cpp | 5 -----
 1 file changed, 5 deletions(-)

(limited to 'src/script/lua_api')

diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp
index 2a8b8a64e..cfdceb28e 100644
--- a/src/script/lua_api/l_object.cpp
+++ b/src/script/lua_api/l_object.cpp
@@ -1152,13 +1152,8 @@ int ObjectRef::l_set_breath(lua_State *L)
 	PlayerSAO* co = getplayersao(ref);
 	if (co == NULL) return 0;
 	u16 breath = luaL_checknumber(L, 2);
-	// Do it
 	co->setBreath(breath);
 
-	// If the object is a player sent the breath to client
-	if (co->getType() == ACTIVEOBJECT_TYPE_PLAYER)
-			getServer(L)->SendPlayerBreath(((PlayerSAO*)co)->getPeerID());
-
 	return 0;
 }
 
-- 
cgit v1.2.3