MortemDevelopment-MortemQOL icon

MortemQOL

Live calculator that finds your highest-scoring Balatro play and best joker order.

Last updated a day ago
Total downloads 511
Total rating 0 
Categories AI Generated Misc Gameplay Tweaks Quality of Life
Dependency string MortemDevelopment-MortemQOL-1.1.1
Dependants 0 other packages depend on this package

README

MortemQOL

A Balatro mod with a live calculator. While you choose cards, a small panel shows the highest-scoring play in your hand and whether reordering your jokers would beat it.

What it shows

  • Best play: the poker hand, its score, and what percentage of the blind it covers.
  • Range: the lowest and highest possible scores when chance is involved, such as Lucky Cards or Misprint. Plays are ranked by expected score.
  • Your selection: the score of the cards you have selected, for comparison.
  • Joker order: when reordering jokers would score more, the gain appears on the panel and blue numbers on the jokers show the order.
  • Card order: when position matters, such as with Photograph, purple numbers on your cards show the order to drag them into.

The Select button selects the recommended cards. The mod never plays a hand or moves a card or joker.

Gear menu

The gear icon at the top left of the screen opens the menu during a run. The same settings are in the mod's Config tab.

  • Assistance: turns the calculator on or off. When it's off, the panel, badges, searches and score checks all stop.
  • Mode: Score or Money.

Money mode

Money mode recommends the play that earns the most money from this hand, using score as the tiebreak. If no play earns money, it recommends the same play as Score mode.

It counts money that changes when the hand is played:

  • Earned: Gold Seals, Lucky Cards, Golden Ticket, Rough Gem, Business Card, Reserved Parking, To Do List and Matador.
  • Lost: The Tooth and The Ox.

It doesn't count end-of-round money, such as held Gold Cards, interest or leftover hands.

Money mode can lose a run, because it ranks money ahead of score. On your last hand, the panel warns you with "Won't beat the blind" if the recommended play won't win. A hand the boss blind blocks can also be the recommendation when Matador pays for it, and the panel marks it "Blocked: scores 0".

Install

You need r2modmac (or r2modman) with Steamodded and Lovely in your profile.

  1. Download MortemQOL-<version>.zip from Releases.
  2. In r2modmac, import the zip as a custom mod. Import the zip itself. On macOS, a folder you extracted by hand can be blocked by quarantine, and the panel will say "Engine unavailable".
  3. Apply the profile and launch the game.

r2modmac may warn that the mod contains loadable files. That's expected: the calculator is a compiled library in native/, built from engine/ in this repository by GitHub Actions.

Supported: macOS (Apple Silicon and Intel) and Windows x64. Linux players running the game through Proton use the Windows build. The Windows build compiles and passes tests in CI but hasn't been confirmed in the real game yet, so please open an issue if it doesn't load.

Multiplayer

Disable this mod in your r2modmac profile before playing ranked. It does not turn itself off.

The calculator stays on in multiplayer lobbies, on the assumption that everyone in the lobby has agreed to it. The mod appears under its real name in the PvP mod's mod list, and nothing hides it.

Multiplayer rulesets can change scoring, and PvP adds its own jokers, which the calculator doesn't model. All results in a lobby are labeled "Approximate".

What "Approximate" means

Hover over the label to see why. It appears when the result can't be exact:

  • a joker, enhancement, edition or seal from another mod (treated as having no effect)
  • a face-down card or joker (the calculator only uses what you can see, and never looks at deck order)
  • The Hook, which discards random cards before scoring
  • any multiplayer lobby

Limits

  • It covers the current hand only. It doesn't suggest discards or plan across a round. Its checks never look at deck order, and the deck is only counted the way the game's deck view shows it.
  • With more than 6 jokers, or very large hands, joker order is the best found rather than guaranteed best, and the panel says so.
  • Scores use standard floating-point numbers, so Talisman-scale scores aren't supported.

Reporting a wrong score

The mod compares every play with the score and money the game actually awards. If they disagree, the panel shows a mismatch count and the details are saved to MortemQOL/verify.jsonl in your Balatro save folder (~/Library/Application Support/Balatro on macOS, %AppData%\Balatro on Windows). Please attach that file to a new issue.

Development

  • engine/: the Rust scoring engine and search. Run cargo test there.
  • src/: the Lua mod. Tests are in tests/lua/; run them with luajit from the repository root.
  • tests/ingame/autoplay.lua: a development script that plays randomized hands in the real game so the live check can compare results. It isn't included in releases.
  • docs/jokers.md: coverage for all 150 vanilla jokers.

Pushing a v* tag builds and publishes a release.

License

MIT