This falls within the standard capabilities of the Interactive Diagram,
so that it can be implemented without any programming.
Just specify two versions of each piece, one for in the bull's eye, one for everywhere else.
And then specify a morph board for each of those that makes them change into the version that belongs in the zone.
The morph board for the 'eye pieces' can also be used to make the bull's eye inaccessible to them.
[Edit] Refresh the cache for promotions to work;
I had to fix a bug in the vetting of promotion choices in the new Diagram script that is under development.
This falls within the standard capabilities of the Interactive Diagram, so that it can be implemented without any programming. Just specify two versions of each piece, one for in the bull's eye, one for everywhere else. And then specify a morph board for each of those that makes them change into the version that belongs in the zone. The morph board for the 'eye pieces' can also be used to make the bull's eye inaccessible to them.
[Edit] Refresh the cache for promotions to work; I had to fix a bug in the vetting of promotion choices in the new Diagram script that is under development.