mirror of
https://github.com/ProjectSWGCore/Holocore.git
synced 2026-10-08 23:13:25 -04:00
Fixed LD within buildings and non-object awareness on zone in
This commit is contained in:
@@ -88,6 +88,7 @@ public class TerrainMap {
|
||||
aware = getNearbyAware(obj);
|
||||
else
|
||||
aware = superParent.getAware(AwarenessType.OBJECT);
|
||||
aware.removeIf(a -> !AwarenessUtilities.isInAwareness(a));
|
||||
recursiveAdd(aware, obj);
|
||||
return aware;
|
||||
}
|
||||
|
||||
@@ -104,6 +104,19 @@ public class CreatureObject extends TangibleObject {
|
||||
awareness.flushAware(getOwner());
|
||||
}
|
||||
|
||||
public void resetObjectsAware() {
|
||||
if (isPlayer())
|
||||
awareness.resetObjectsAware();
|
||||
}
|
||||
|
||||
public void addObjectsAware() {
|
||||
if (isPlayer()) {
|
||||
for (SWGObject obj : getAware()) {
|
||||
awareness.addAware(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addObject(SWGObject obj) {
|
||||
super.addObject(obj);
|
||||
|
||||
+6
@@ -93,6 +93,12 @@ public class CreatureObjectAwareness {
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void resetObjectsAware() {
|
||||
aware.clear();
|
||||
pendingAdd.clear();
|
||||
pendingRemove.clear();
|
||||
}
|
||||
|
||||
List<SWGObject> getCreateList() {
|
||||
List<SWGObject> list = new ArrayList<>();
|
||||
List<SWGObject> sortedDepth = new ArrayList<>(pendingAdd);
|
||||
|
||||
@@ -166,8 +166,10 @@ public class AwarenessService extends Service {
|
||||
creature.systemMove(parent, loc);
|
||||
creature.setOwner(null);
|
||||
creature.setAware(AwarenessType.OBJECT, Collections.emptyList());
|
||||
creature.resetObjectsAware();
|
||||
creature.setOwner(player);
|
||||
startZone(creature, firstZone);
|
||||
creature.addObjectsAware();
|
||||
awareness.updateObject(creature);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user