My expectation is that this is a tool that provides a fog of war dynamic such that an opponent cannot see your piece(s) unless some condition is met. This would imply that if my opponent is invisible, there is something I can do to make them visible. And this is the heart of the problem. That dynamic doesn’t seem to work.
What works: (but doesn’t provide the expected functionality.)
Assume side A and side B. Side A has a piece with the invisible trait and a trigger action that will respond to a global key command to activate CTRL-I. Side B has a GKC that sends a command (such as SHOW_ME) which activates the trigger action.
This part is the crux: If I set the invisible trait parameter “Can be hidden by” to “Any player,” this sequence works. (but with non-optimal results.) –
Player A hides the piece. Retire and move to side B. Side B Now sees the transparent version of the piece and can unhide it. The non-optimal part is that player B can see the transparent “hidden” piece, defeating the entire purpose of it being hidden. But, the following process works mechanically:
Now, let’s add a GKC and some trigger commands. I have a GKC that will send a SHOW_ME command to trigger action traits for all pieces on the board. I know, from watching Reports that those pieces are, in fact, receiving the SHOW_ME command in their trigger actions. The trigger actions then fire CTRL-I just fine. The reason for all this complexity is an attempt to get around the Any player setting. I was hoping GKCs and trigger commands were agnostic of piece ownership and command “ownership”. They are not.
Once again, IF I set “Can be hidden by” to “Any player,” the GKC and trigger actions work fine, but since I can already see the transparent version of my opponent’s piece, the result is trivially useless.
If I set “Can be hidden by” to “Any side” of if I specify sides, then the invisibility mechanic works as expected, BUT I cannot change my opponents invisibility. In this case, Player A sets the piece to invisible. Retire and come in as Player B. Piece is, in fact, invisible - no longer transparent. HOWEVER, the GKC will no longer change the invisibility state via the trigger actions. Report traits reveal that the SHOW_ME command is being received by the trigger actions, but the Invisible and InvisableToOthers properties do not change. The triggers receive the GKC but do not act on it.
Net result: I can only reveal my opponent’s pieces if I can already see them. If they are properly hidden, I can’t reveal them. Thus the concept of sending a scout piece into a zone and having it look around is not implementable with the invisible trait as it exists today.
If I’m all wrong and have missed something in my implementation, please advise. Honestly, I would like to be wrong here.