So I wrote:
--> subSubEvent: Pick all IceBlocks && IceBlock.PinnedUID = Enemies.UID: destroy IceBlock
This was my short-hand for two conditions:
---> subSubEvent: Cond1: Pick all IceBlocks
----------------> Cond2: IceBlock.Pin.PinnedUID = Enemies.UID
--------------------------> Action: Destroy IceBlock
So just to be precise, there are multiple conditions:
1st the .1 second timer triggers.
2nd, a specific enemy is being processed at a given instant, and only from the subset of enemies that have their Freeze variable equal to 0, be that 0, 1, or 13 different enemies at once...
Then the Pick All IceBlocks has a second condition that you also use above in your code, which discards any IceBlocks that are not pinned to the specific enemy being processed at that moment, meaning it only does this action on one IceBlock, or none if for some reason no IceBlock is pinned to the specific enemy being processed. Of course, if somehow two enemies are selected because they each are at Freeze = 0 state, then they will still be processed in turn, and only one IceBlock will be destroyed in turn for each enemy.