diff --git a/src/de/gurkenlabs/litiengine/entities/Trigger.java b/src/de/gurkenlabs/litiengine/entities/Trigger.java index bdd14af0f..0d4defc06 100644 --- a/src/de/gurkenlabs/litiengine/entities/Trigger.java +++ b/src/de/gurkenlabs/litiengine/entities/Trigger.java @@ -263,7 +263,6 @@ private boolean activate(final IEntity activator, final int tar) { return false; } - this.isActivated = true; List triggerTargets = this.getTargets(tar); final TriggerEvent te = new TriggerEvent(this, activator, triggerTargets); @@ -272,6 +271,8 @@ private boolean activate(final IEntity activator, final int tar) { return false; } + this.isActivated = true; + // if we actually have a trigger target, we send the message to the target if (!triggerTargets.isEmpty()) { for (final int target : triggerTargets) { @@ -315,7 +316,7 @@ private boolean checkActivationPredicates(TriggerEvent te) { private List getEntitiesInCollisionBox() { final List collEntities = new CopyOnWriteArrayList<>(); for (final ICollisionEntity coll : Game.getPhysicsEngine().getCollisionEntities()) { - if (!this.activators.isEmpty() && !this.activators.contains(coll.getMapId())) { + if (coll == this || !this.activators.isEmpty() && !this.activators.contains(coll.getMapId())) { continue; }