Firstly, in your hit by explosions events, you want to iterate for each enemy, not for each explosion. You are updating the enemies, so it makes no sense to iterate over explosions (to which there appears to be no reference in the actions either).
Ignore the above paragraph - as @Keith_1357 pointed out in the next post, I missed the iteration over all the enemies.
Secondly, I think the problem is that you have a trigger once on the ragelevel checks in the hit by explosion code. It’ll action for the first enemy, but not again for any other explosion & enemy collision until ragelevel changes. The condition just checks the value of ragelevel. If it’s not different from the last time it was checked, then it returns false. It doesn’t care about the other conditions or objects being iterated over.
I’m guessing you want the explosion to deal damage once for each enemy, rather than multiple times when enemy & explosion are colliding.
Here’s a solution to that problem. You can replace NPO with enemies. At the time, I used an object string variable, but you can also make it a boolean.