From 66dcc7159e12d4cb03371ba2a1fc7bf93cdf3760 Mon Sep 17 00:00:00 2001 From: Ziggeh Date: Thu, 21 May 2015 20:21:18 +0200 Subject: [PATCH] Fixed lots of issues caused by child objects not sending packets to those aware of their parent object --- src/resources/objects/SWGObject.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/resources/objects/SWGObject.java b/src/resources/objects/SWGObject.java index 5521bcac..cd2acd74 100644 --- a/src/resources/objects/SWGObject.java +++ b/src/resources/objects/SWGObject.java @@ -251,7 +251,13 @@ public class SWGObject implements Serializable, Comparable { } public Player getOwner() { - return owner; + if (owner != null) + return owner; + + if (getParent() != null) + return getParent().getOwner(); // Ziggy: Player owner is found recursively + + return null; } public SWGObject getParent() { @@ -376,10 +382,17 @@ public class SWGObject implements Serializable, Comparable { continue; p.sendPacket(packets); } + + SWGObject parent = getParent(); + + if(parent != null) + parent.sendObservers(packets); + } } public void sendSelf(Packet ... packets) { + Player owner = getOwner(); if (owner != null) owner.sendPacket(packets); }