The challenge is to have a trigger that allows any player to view the first three cards in a deck, without showing any other player the cards or card backs, or allowing the player to manipulate the cards in any way.
The solution I came up with almost works, but has one really annoying flaw.
The trigger sends gkcs to first 3 cards, sending them to 3 different private-to-everyone windows and flipping them face up, then hotkeys open an inventory window that can’t be opened any other way, which sorts the cards by $CurrentMap$, then issues an Alert() to pause the process. When the player clicks OK, the cards are sent back to the deck in the original order, but the inventory window still shows them face up until it is refreshed.
The problem is that the default size of the inventory window is too small, and resizing it refreshes it.
After resizing it and closing it, the size is saved and works for future peeks, but that’s not ideal.
I know there are many ways to view card text markers, but a more elegant way to privately view the card images in a one click solution currently escapes me.
I suppose ending the peek could be another manual trigger, and there are many other ways to sort the cards than using three maps, but still… Any better ideas?
Seems like youve got the general gist. I just wouldn’t use 3 private windows…Use a single player window that is only accessible to the triggering player. As you trigger, you can send the cards with offset so they are by each other (or alternatively use a player hand which should take care of this). Once viewed a close action button would return cards, close window etc…
I just realized that if I give up on the one-click solution, and use private maps instead of the game piece inventory, I could use a transparent overlay on a higher Game Piece Layer and the new forced deselect feature to prevent manipulation of the cards.
Unless I’m mistaken, that would mean six different player hands for six players though.
Another option would be, instead of actually moving the 3 cards from the deck to a new window, instead put just the information that needs to be viewable for each card into a prototype, and give each card a Place Marker trait that creates a new card using that prototype (so it wouldn’t even have any of commands that you want to prevent the player from using). Then, you add a Delete command to the new piece created by Place Marker so you can delete the copy, plus a Send to Location that’s triggered after creation to get the copy where it’s needed.
Nice idea. That is a way to view the 3 cards without revealing the card back of the 4th card in the deck. I just don’t feel like adding 200+ unique images to place marker traits right now.
You wouldn’t be adding unique images though based on jr’s solution if I get what he is thinking. your essentially creating a copy that will ref the proto that created the card in the first place. Its a bit circular but should be doable perhaps? Investigate if you can select the top three cards and issue a clone trait without having to pull them. These clones can then be viewed and destroyed. Would that work?
I mean, it would be easy if the prototypes contained layers with the card images, but not when the cards have Basic piece images, which is what I have. Clone is not useful here, we’re talking about Place Marker?