Untap before discarding

Hello all,

FIrst of all, sorry for the noobish question, I’m tackling my first module :frowning:

In my module, there are cards that are tapped at the end of the turn. They have a trait to send them to their respective discard piles, but if they are tapped, the whole pile looks so, what is definitely not right. I’m trying to untap them before the discard by using a triggered action, but my trial and error method seems to be exhausted.

May you guys give me a hint about how to proceed?

Thanks in advance!

I don’t know what you mean by tapped.

Sorry, by tapped I meant rotated 90º; what I want to achieve is that the card straightens up when using the command to send it to the corresponding discard pile.


In your rotation trait, you probably have a command to rotate the card 90 degrees clockwise. Include a command to rotate 90 degrees counterclockwise. Let’s say ResetRotate (or CTRL R, if you’re using a key command). Let’s assume the command you have to return the card to deck is ReturnCard (or CTRL X)

Put a Trigger Action on the card (or a prototype) with the following traits:

Menu Command - Discard
Keyboard Command - DiscardCard
Perform these keystrokes:
ResetRotate (or CTRL R)
ReturnCard (or CTRL X)

Make sure the Can Rotate and Return to Deck traits are above the Trigger Action trait in the trait list.

If you are currently turning the cards clockwise during play, this trigger should turn the card counterclockwise back to it’s original position and then send the card to the deck you want.

Thank you very much, DrNostromo!

I have a similar question to this one, but with a slight additional complication. I am building a module where the player must draw cards and can rotate them by 90 degrees arbitrarily both clockwise and counter-clockwise prior to play. Once they play the card, they will want to discard it. I have discard action, but If it happens to be sideways when discarded, it goes back into the discard pile that way and causes the entire deck to display sideways.

I would like to figure out how to make the card vertical as part of the discard step. In this case, a single trigger tuning the card 90 degrees will be insufficient, since I don’t know what orientation the card is in. Is there some way to simply “clear the rotation” of a piece no matter what it’s current orientation?

Thanks for any assistance.


You could maintain a Dynamic Property trait on the card, that would be adjusted each time the piece is rotated, essentially “remembering” what direction the card is currently rotated in. This information could then be used at the time of discard to rotate it the right number of steps (if any) in the right direction, to get it correct.

As Brian suggests, but a rotated card already knows where it is facing, no need to keep track. I am presuming you have set up a Can Rotate trait with 4 allowed Facings? If the Description (Which should really be labelled Name) in the CanRotate trait is ‘Tapped’, then the property ‘Tapped_Facing’ will return a number telling you which of the 4 Facings the Card is currently in. You can use Trigger Actions to test this an unrotate as required.

You guys are great. That was the solution. Using the name of the rotation property (ManorOrientation), I had a trigger run the rotate right command key in a loop until ManorOrientation_Facing==1, and then triggered the discard hotkey. Perfection.


I want to do something identical, and I just can’t do it! I am sure it is a basic thing, but I can’t find it. I get an Infinite Loop error. Here are my parameters:

VASSAL 3.5.0 on Windows 10

My game piece prototype has the following traits:
Return To Deck
Can Rotate – TokenOrientation
Trigger Action

The Return to Deck trait has a keyboard shortcut (CTRL+X) and a selected deck (WoodTokens).

The Can Rotate trait has a Description (TokenOrientation), 4 allowed facings and the default Rotate CW and CCW shortcuts.

This is where it fails, I guess. The Trigger Action has a Menu command (Return to Stack) with its keyboard shortcut (CTRL+R). There is one “Perform these Key Commands” (CTRL+]). The Loop checkbox is checked, the type of loop is Repeat while condition is true, and the Loop while condition is {TokenOrientation_Facing!=1}. And the keyboard command to Perform after looping completes is CTRL+X.

What am I missing?

I found it! In VASSAL 3.5.0, it is not the Description field to you need to use, but the Rotator name field.