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

option to just skip/autoresolve everything #7974

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

NBKelly
Copy link
Collaborator

@NBKelly NBKelly commented Feb 28, 2025

We can mark events as :skippable or :automatic.

If something is skippable, it can be declined without causing any side-effects (most, but not all, optional prompts).
If something is automatic, it can be resolved in an arbitrary order without risking breaking the game (Honestly, this might just be everything - but I'm not entirely sure, so I'm being careful).

When resolving a queued-event (ie encounter, turn begins, turn ends, etc):

  • If every handler is either skippable or automatic, offer the pass priority button in the list (I need a better name for this, that one is not it)
  • When you click that, every skippable prompt is automatically skipped, and every automatic one resolves in an arbitrary order

Additionally, I made it so that you can:

Closes #4990

And also:

  • the breach replacement prompts allow you to click on the cards, or hover the buttons to highlight the cards too

Closes #7984

@NBKelly
Copy link
Collaborator Author

NBKelly commented Feb 28, 2025

ok right now this allows you to:

  • press done on any queued or triggered event prompt
  • this will skip (almost) all things that can be skipped consequence free, and will fire everything else in sequence after that
    Any I'm completely happy to take this part out:
  • I added some functionality to sort the events, so similar things are batched and there's a basic bit of sequencing:
    That full map is here:
(def automatic-priority
  {:pre-bypass 1
   :corp-damage 1
   :force-discard 1
   :lose-clicks 1
   :gain-clicks 2
   :drain-credits 4
   :bypass 4
   :lose-credits 4
   :pre-gain-credits 5 ;; bladderwort, etc
   :gain-credits 6
   :pre-draw-cards 7
   :draw-cards 8
   :post-draw-cards 9
   :pre-breach 9
   true 10
   :trace 11
   :corp-lose-tag 11
   :last 999 ;; pretty mary wants to trigger last always
   })

Note that I only tagged the on-encounter, turn begins, and turn ends events for that: those are the ones where I feel like (99% of the time) there aren't any real decisions to make

@NBKelly NBKelly marked this pull request as ready for review February 28, 2025 06:54
@NBKelly
Copy link
Collaborator Author

NBKelly commented Feb 28, 2025

If there are cards that are part of the prompt, you can click on those cards to click that button.
If a card happens to be two buttons, then 🤷. Ideally all the selectable cards would glow, but somebody else will need to figure out how to do that for me. I got this to work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant