From dc0ade2bd08bb02ea5d396851014faeb52e89aa5 Mon Sep 17 00:00:00 2001 From: Eduardo Bart Date: Sat, 28 Apr 2012 23:02:50 -0300 Subject: [PATCH] fix teleport incompability with some servers --- src/otclient/core/map.cpp | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/src/otclient/core/map.cpp b/src/otclient/core/map.cpp index 50e7c7d0..1dd28a81 100644 --- a/src/otclient/core/map.cpp +++ b/src/otclient/core/map.cpp @@ -278,27 +278,18 @@ void Map::removeCreatureById(uint32 id) void Map::setCentralPosition(const Position& centralPosition) { - bool teleported = !m_centralPosition.isInRange(centralPosition, 1, 1); m_centralPosition = centralPosition; - // remove all creatures when teleporting, the server will resend them again - if(teleported) { - for(const auto& pair : m_knownCreatures) { - const CreaturePtr& creature = pair.second; - removeThing(creature); - } // remove creatures from tiles that we are not aware anymore - } else { - for(const auto& pair : m_knownCreatures) { - const CreaturePtr& creature = pair.second; - if(creature) { - if(!isAwareOfPosition(creature->getPosition())) { - removeThing(creature); - } + for(const auto& pair : m_knownCreatures) { + const CreaturePtr& creature = pair.second; + if(creature) { + if(!isAwareOfPosition(creature->getPosition())) { + removeThing(creature); } - else - logTraceError("invalid creature"); } + else + logTraceError("invalid creature"); } }