Ok, let's go with calling them "events", as we have sometimes done in this thread, although "instructions" would be better probably.
Movement events (the essence of the event is to move a card or cards)call - move from Tavern mat to play area
discard - move from specified location (or else: hand) to discard pile
draw - move from top of deck to hand
gain - move from specified location (or else: supply) to discard pile, but the destination can be changed by the gain instruction (or Nomad Camp) before actually moving the card
set aside - move from specified location to set-aside area
trash - move from specified location to trash pile
put - move from specified location to specified location
Events to give players information, but in terms of game state they are also movement events:look at from deck - move from deck to "set-aside area"
reveal from deck - move from deck to "set-aside area"
Non-movement eventsbuy -
pay the cost of the chosen card (when-buy happens after this) [see below]
play - nothing (when-play happens after this, whether or not the card was moved in the
put event) [see below]
choose - information is given to the game
resolve - carry out the specified events
(There are also book-keeping events like
pay and
+$ and
+Actions etc.)
Often a shorthand is used in ability texts:* All of the movement events that could move just one or some of several possible cards ("discard", "gain", "set aside", "trash", "put") sometimes entail a
choose event
first (meaning,
before the movement event), from the specified location. For example "discard 2 cards from your hand" really means "
choose two cards from your hand, and
discard the chosen cards".
* "Buy" always entails a
choose event
before the
buy event, from the specified location (or else: supply), and then entails a
gain event
after the
buy event. (You said that
buy is an event that initiates a
gain, but as we can see from when-buy abilities, the
gain has to happen after the
buy is completed.)
* "Play" always entails a
put event
before the
play event, from the specified location to the play area, and then entails a
resolve event
after the
play event. (So actually the
play event itself does nothing except trigger when-play abilities (like Moat): Even if you can't move the card to the play area, you still trigger when-play, and then resolve the played card.)
You can trigger things when the event happens (just after the event's last instruction), and you can also trigger things when the event would happen (just before the event's first instruction) that possibly result in skipping the entirety of the event's instructions (meaning the event didn't happen).
I agree with this, except as part of all movement events in Dominion, they first thing they do is to make sure the card exists. If not, the event fails outright. For a
gain event, would-gain only triggers after that check is successful. And I say the same is true of all the movement events. Note that abilities like "when-would" and "when" always trigger on the actual events, not the shorthands. I think this model is self-consistent and aligned with how timing in Dominion actually works, and see no reason why any of the movement events would be different from each other when it comes to "when would".