How to draw a card as an action given by a card ?

My deck has a Deck GKC using DrawCard as a KeyCommand.
All the cards in that Deck have a trigger that reacts to DrawCard to define the destination by keystroke DrawToHand.
The trait SendToLocation waits for DrawToHand to send the card to map $PlayerSide$ Hand.

Once the cards are played, they are on another map, named cards.
Some cards can then activate another draw.

How do I code this ? How can I make that DrawToHand be called from another card ?
I failed so far.

I tried with a Global Key Command on the cards that allow that behavior … with a Fixed number of pieces = 1

Then each time I use that action, all the cards already in that map are immediately stacked !

Why would a new card modify the position of cards already present ?

Can I ajust the matching property to fix them ?

As I suspected, using the mathcing property : map==“playground” works only if the card is really on my main board.
I gave that trait to 1 single card for testing …
If the card is in a deck, on playground, it won’t be picked up …
If it’s the last card of the deck, then it’s considered on the map … and it is picked up.
Problem is: if it’s the last card of the discard deck … it’s picked up ! and I don’t want that ! I only want to pick it, from the original deck, randomly !
When all the cards have the trait, I want to be certain it’s picked randomly from the deck.

So, is there a position/property that says : card still in deck ? vs cards in discard ?

Only solution I found : flag a cards as indeck==0 by the trigger that drawed the card.
Then each time I want to pick a new card, it must be indeck==1 to be available.
Next part is to set the reshuffle from the discard to the deck to call & unflag the cards as indeck==1 back again.
I don’t like that solution. It’s heavy.
but it works.

Ok, so I found the $DeckName$ property I can use to define where the card is … all is much easier now :slight_smile:
I can then define how to draw only if {DeckName==“Projects”} and I don’t need flags