EFHIII / balatro-calculator

A tool for calculating the score of a hand in Balatro
MIT License
65 stars 8 forks source link

Comprehensive Boss Blind Support #50

Open mgrinspan opened 3 months ago

mgrinspan commented 3 months ago

Currently the only boss blind supported by the calculator is "The Flint", but there are a handful of other bosses that affect what your highest scoring hand would be.

Regular bosses:

  1. The Hook "Discards 2 random cards per hand played". This could be handled similar to lucky cards where it shows a min/average/max value if you have card-held-in-hand effects.
  2. The Arm "Decrease level of played poker hand".
  3. The Psychic "Must play 5 cards". The calculator knows to use 4 cards with Square Joker or 5 with Splash (unless using fewer cards would score higher). Maybe that logic could be adapted for this as well.
  4. The Club/Goad/Window/Head "All {suit} cards are debuffed". These bosses are calculable as-is, but a per-suit toggle would be a nice UX improvement.

Ante 8 bosses seem like they might be more difficult to implement, but I've listed the relevant ones anyway:

  1. Amber Acorn "Flips and shuffles all Joker cards". This could be handled similar to lucky cards where it shows a min/average/max value if the order of your jokers matters.
  2. Verdant Leaf "All cards debuffed until 1 Joker sold". This could run all calculations once with all cards debuffed, and once for each possible missing joker. It would need to advise which joker to sell if that would score higher than not selling. This boss is technically calculable as-is, as a user could simply fill in the calculator once with all cards debuffed, and then again with all combinations of jokers.
  3. Cerulean Bell "Forces 1 card to always be selected". This is really just another reason to implement #9