at moment only what i could think of is, you here making 20 pieces every frame if you here making trace to that object. Try to put variable in glass skill for letting it break once.

But now i see wait statement and ent_remove. hard to tell if ent_remove is terminating all other functions as it could happen there is function in next frame which tries to do same thing.

So make skill for breaking. In event you will set my.broken = true <-- or anything like that and destroy it from action. Put there while(my != NULL) cycle or so which will check moment when it needs to create sprite effect and destroy himself.

Just fast ideas - possibly it helps. If that not helps then problem could be in effect_sprite. Easy way to check that is to comment that line and see what happens.


Arrovs once will publish game