Piercing projectile not properly working

What is the expected result

Projectile goes through enemies while damaging all of them.

What is the actual result

When a bunch of enemies are super close together, only 1 of them get damaged while the rest of them are unscathed unless the enemies are spread out.

Related screenshots

For a trigger once to trigger again it needs to go from true to false and back to true. It works on a per object not per instance. So, once 1 object triggers then the others won’t until nothing is in collision.

To repeatedly process collisions, you would have to remove the trigger once’s and stop the collision either separation the objects through a force or the separate action or object timers to add a delay or cooldown.

As for efficiency, I would reverse your event strategy. Check for collision 1st then go through the objects that have collided. There’s no need to cycle though each object when you can just go through the ones that are in collision.

Here’s a simple example: I frequently use the angle action as a visual for debugging.

If there are multiple newsprite2 objects you might need to use the collision again inside the loop to pick the correct newsprite2 but it’s still fewer times than going through all of them on every frame.