Invisible trait - I don't know if this is how it's supposed to work or a bug

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.

Your analysis of the Invisible trait is correct:

  • If Can be hidden by is set to Any player, then any player may indeed trigger the trait and hide/un-hide the piece.
  • If Can be hidden by is set to Any side, then only the side that initially hid the piece can make it visible again.

Global Key Commands are always executed in the context of the current player (identified by a password - not user name) and current side (the side associated with a player).

From your above description, it sounds like you are playing in “hotseat” mode. When you retire, you are actually not changing the player (as identified by the password), only the current side. That’s why you, as the same player, with Can be hidden by set to Any player, can still see the transparent piece and make it fully visible again.

If you play in PBEM or network mode, each player will be distinct, and they will not see the piece when Can be hidden by is set to Any player.

I guess what you a trying to achieve is something akin to

  • Side A places a submarine, submerged, on the map. It is invisible to the other sides.
  • Side B flies a recce plane across the map and executes a Global Key Command with some range, which should make the submerged submarine visible if in range.
  • Side B can now target the submarine with Anti-Submarine-Warfare (ASW) from a near-by destroyer.

That would indeed be a very nice thing to have. However, I fear that it isn’t really possible, unless I’ve overlooked something. I tried to do something like the above in Littoral Commander: Indo-Pacific, but I don’t think I got it to work properly.

Yours,
Christian