I dont feel comfortable to post the cap. I've been working on this game for a few months now and would not want someone coming along and steal my work.
That's absolutely ok and understandable. But most then create a new example cap that shows the error. Helps a lot when several aspects come together that you are not aware of when trying to help.
I have found the Event that's causing the problem When an enemy=<0 a set of events is run to check if the enemy drops an item then destroys the enemy.
The event basically calls a random value then checks what item it should drop.
I haven't implemented this fully in the game (I also would like to reedit this event) so the only true option right now is the else at the end that just destroys the enemy. This is whats causing all the enemies to destroy themselves.
I'm going to rework the event group to fix it. Although this does not explain the abnormality(else destroying all objects).
This for example: I don't see the exact event. Basically, using 'else' can explain it.
When it comes to the action destroy, 'else' seems to not pick anything (not picking the opposite as one would expect). And if nothing is picked, Construct always refers to all instances.
Enemy's health <= 0 and Already dropped = 0 -> do something
else -> destroy[/code:242yuwix]
Such a construct does not pick anything on the 'else' part and therefore destroy any enemy
[code:242yuwix]Enemy's health <= 0
Already dropped = 0 -> do something
else and Pick by enemy('health') <= 0 -> destroy[/code:242yuwix]
Such a construct would first make sure that any enemy with health <= 0 will drop and then destroy any enemy with health <= 0
But as I said, I don't see the exact events, so I don't know why 'else' is used. It isn't needed to let them drop and destroy them. This can be done in one step.