Dominion Protocol v3

Figure 1 shows a revised grammar for action, play, and notification, plus a new defense production. The extension adds two action cards, their associated plays, and new interactions to handle attack and defense.

  action = .... ; all from version 2
  | militia
  | moat
     
  play = .... ; all from version 2
  | (act militia)
  | (act moat)
     
  notification = .... ; all from version 1
  | (attacked (act militia) name state)
  | (defended name defense)
     
  defense = (moat)
  | (discard card ...)

Figure 1: Dominion protocol, changes for version 2

While the new plays have no interesting constraints, the new action cards expand the overall comunication pattern between the server and players: