diff --git a/src/org/apollo/game/sync/task/NpcSynchronizationTask.java b/src/org/apollo/game/sync/task/NpcSynchronizationTask.java index fc0179f2..bb34123a 100644 --- a/src/org/apollo/game/sync/task/NpcSynchronizationTask.java +++ b/src/org/apollo/game/sync/task/NpcSynchronizationTask.java @@ -49,7 +49,7 @@ public final class NpcSynchronizationTask extends SynchronizationTask { for (Iterator it = localNpcs.iterator(); it.hasNext();) { Npc npc = it.next(); - if (!npc.isActive() || npc.isTeleporting() || npc.getPosition().getLongestDelta(playerPosition) > player.getViewingDistance()) { + if (!npc.isActive() || npc.isTeleporting() || npc.getPosition().getLongestDelta(playerPosition) > player.getViewingDistance() || !npc.getPosition().isWithinDistance(playerPosition, player.getViewingDistance())) { it.remove(); segments.add(new RemoveMobSegment()); } else { @@ -68,7 +68,7 @@ public final class NpcSynchronizationTask extends SynchronizationTask { } Position npcPosition = npc.getPosition(); - if (npcPosition.isWithinDistance(playerPosition, player.getViewingDistance()) && !localNpcs.contains(npc) && npcPosition.getHeight() == playerPosition.getHeight()) { + if (npcPosition.isWithinDistance(playerPosition, player.getViewingDistance()) && !localNpcs.contains(npc)) { localNpcs.add(npc); added++; npc.turnTo(npc.getFacingPosition()); diff --git a/src/org/apollo/game/sync/task/PlayerSynchronizationTask.java b/src/org/apollo/game/sync/task/PlayerSynchronizationTask.java index 550a7654..c1fffe57 100644 --- a/src/org/apollo/game/sync/task/PlayerSynchronizationTask.java +++ b/src/org/apollo/game/sync/task/PlayerSynchronizationTask.java @@ -69,7 +69,7 @@ public final class PlayerSynchronizationTask extends SynchronizationTask { for (Iterator it = localPlayers.iterator(); it.hasNext();) { Player other = it.next(); - if (!other.isActive() || other.isTeleporting() || other.getPosition().getLongestDelta(player.getPosition()) > player.getViewingDistance()) { + if (!other.isActive() || other.isTeleporting() || other.getPosition().getLongestDelta(player.getPosition()) > player.getViewingDistance() || !other.getPosition().isWithinDistance(player.getPosition(), player.getViewingDistance())) { it.remove(); segments.add(new RemoveMobSegment()); } else {