Whebon / dale-of-merchants

Board Game Arena adaptation of Dale Of Merchants
Other
2 stars 0 forks source link

Owls #110

Open Whebon opened 1 month ago

Whebon commented 1 month ago

Owl State

I suggest making a multiplayeractive server state called owl to deal with the owl passives. This allows us to handle multiple triggers at the same time.

Scenario 1: Cheer

  1. The active player schedules Cheer
    • The active player chooses a Junk from their deck
    • Opponent 1 chooses a Quality Inspection from their deck (insert an CT_QUALITYINSPECTION effect for this player)
    • Opponent 2 chooses a Quality Inspection from their deck (insert an CT_QUALITYINSPECTION effect for this player)
  2. The active player resolves Cheer
    • Opponent 1 has Ancient Knowledge (insert an CT_ANCIENTKNOWLEDGE effect for this player)
  3. Since at least one owl effect exists, the game enters the multiplayeractive owl state
    • The active player is immediately deactivated, since they don't have any owl effects on the stack.
    • Opponent 1 sends targets for both Ancient Knowledge and Quality Inspection in a single ajax request.
    • Opponent 2 sends a target for Quality Inspection in a single ajax request.

Scenario 2: Dangerous Test, Seeing Doubles and Quality Inspection (discard)

  1. The active player schedules Dangerous Test:
    • The active player draws 3 cards: Seeing Doubles, Quality Inspection and Junk
    • Insert a CT_QUALITYINSPECTION effect for Quality Inspection
    • Insert a CT_QUALITYINSPECTION effect for Seeing Doubles
    • The active player discards the 3 cards they drew: Seeing Doubles, Quality Inspection and Junk
    • Both CT_QUALITYINSPECTION effects expire by the discard
  2. The active player resolves Dangerous Test
  3. No owl effects exists, don't enter the owl state

Scenario 3: Dangerous Test, Seeing Doubles and Quality Inspection (keep)

  1. The active player schedules Dangerous Test:
    • The active player draws 3 cards: Seeing Doubles, Quality Inspection and Junk
    • Insert a CT_QUALITYINSPECTION effect for Quality Inspection
    • Insert a CT_QUALITYINSPECTION effect for Seeing Doubles
    • The active player discards 3 other cards
  2. The active player resolves Dangerous Test
  3. Since 2 owl effects exist, the game enters the multiplayeractive owl state
    • The active player selects and sends 0-1 targets for Quality Inspection (optional)
  4. Since 1 owl effects exist, the player remains active
    • The active player binds Seeing Doubles to another card and thereby expires the related CT_QUALITYINSPECTION effect
  5. Since 0 owl effects exist, the player is deactivated and we leave the owl state

Scenario 4: Dangerous Test and Seeing Doubles (no owl)

  1. The active player schedules Dangerous Test:
    • The active player draws 3 cards: Seeing Doubles, Junk and Junk
    • Insert a CT_QUALITYINSPECTION effect for Seeing Doubles
    • The active player discards 3 other cards
  2. The active player resolves Dangerous Test
  3. Since 1 owl effects exist, the game enters the multiplayeractive owl state
    • Seeing Doubles has no CT_QUALITYINSPECTION target, expire the owl effect.
    • Since 0 owl effects exist, immediately leave the owl state without activating players

Owls 2: Ancient Knowledge

"After another player has resolved a technique, you may search your deck and discard 0-1 cards from there. Shuffle your deck.".

Owls 3: Quality Inspection

"After this card gets into your hand, you may ditch 1 card and draw 1 card". This passive triggers on moveCards and moveCard. More specifically, during these game states:

Interaction with Chameleons: if a player draws an unbound chameleon that can possibly target a Quality Inspection, the player should also enter the owl state.