How to make block have a fifferent animation if another block is above it?

I mean you need remove the condition “Trigger once” and change for another condition that can make your event runs only one time. I’ve made an example:

My object have 3 animations:

When the rock collides with it, it will randomize between the last two animations. Using trigger once, only the first instance will change the animation.

Result:
TriggerOnce

Now, I removed the trigger once and I put a condition checking if the animation number is less than 1.

Result:
SemTriggerOnce

Which conditions are best for changing the trigger once depends on your game. But I hope the example has clarified a bit.

Edit.: just to reinforce this “problem” just happens when you use the Trigger Once with the event “Repeat for each instance…”
Here’s a thread about it that I tried to explain in a more elaborate way: "Trigger once" with "Repeat for each instance": different result than expected