Triggers happen outside of the event loop so you can't use them as conditions as you did in 17,21,27. They generally need to be top level, and you do you logic below it. This is closer to what you want: event 43.
In 46, you need to release and then re-target. You may need to shuffle for your rules.