From 6818fff6ed2964f6681a733b79b28bf25b41fcb4 Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Sun, 31 Dec 2017 07:10:52 +0000 Subject: [PATCH] Delay creation of inverse entity updates This fixes the recording of projectile updates in a region. --- game/src/main/java/org/apollo/game/model/area/Region.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/game/src/main/java/org/apollo/game/model/area/Region.java b/game/src/main/java/org/apollo/game/model/area/Region.java index df7a9a17..0f269336 100644 --- a/game/src/main/java/org/apollo/game/model/area/Region.java +++ b/game/src/main/java/org/apollo/game/model/area/Region.java @@ -400,7 +400,7 @@ public final class Region { */ private void record(T entity, EntityUpdateType update) { UpdateOperation operation = entity.toUpdateOperation(this, update); - RegionUpdateMessage message = operation.toMessage(), inverse = operation.inverse(); + RegionUpdateMessage message = operation.toMessage(); int height = entity.getPosition().getHeight(); Set updates = this.updates.get(height); @@ -411,12 +411,12 @@ public final class Region { if (update == EntityUpdateType.REMOVE) { removedObjects.get(height).add(message); } else { // TODO should this really be possible? - removedObjects.get(height).remove(inverse); + removedObjects.get(height).remove(operation.inverse()); } } if (update == EntityUpdateType.REMOVE && !type.isTransient()) { - updates.remove(inverse); + updates.remove(operation.inverse()); } updates.add(message);