Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Owls #110

Open
Whebon opened this issue Sep 15, 2024 · 0 comments
Open

Owls #110

Whebon opened this issue Sep 15, 2024 · 0 comments
Labels
feature New unimplemented feature

Comments

@Whebon
Copy link
Owner

Whebon commented Sep 15, 2024

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.".

  • Can only trigger after a player fully resolves a technique (e.g. not when scheduling sloths)

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:

  • Can trigger after refilling the hand
  • Can trigger after purchasing (e.g. purchase action)
  • Can trigger after a player technique (e.g. Dirty Exchange)
  • Can trigger after an opponent technique (e.g. Dirty Exchange)
  • Can trigger after multiplayeractive techniques (e.g. Cheer)

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.

@Whebon Whebon added the feature New unimplemented feature label Sep 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New unimplemented feature
Projects
None yet
Development

No branches or pull requests

1 participant