In the system I have slowly been working on (actually figuring out the algorithms to detect this has been hellish), the shot would fail because the natural chain would be RBer of Empowerer, Empowerer, RBer of Vigi, Vigi. (It’s not really a chain, but an RBer targeting another player goes before the player they’re targeting unless their target somehow affects the RBer, and an Empowerer similarly would go before their target, but the specific arrangement is irrelevant as long as those specific orderings are satisfied.)
Again, the detection algorithms are extremely complicated and potentially computationally expensive, so it’s a problem I pick up with and tinker around on for a bit before setting it back down. I think you’d need to construct graphs for scopes of influence, create a cycle detection algorithm for those graphs, and ways of breaking cycles that aren’t straight up deleting all of the problematic actions in the cycle which also asks a lot of questions. And when you start asking how abilities that trigger during resolution affect things timing wise that complicates things further, and then there are a lot of actions where it may not become clear to a program that things are potentially problematic until they’re partially resolved so it may require literally running resolution simulations or something. The point is it’s hard.