#Baliatro - just my idea dump

1 messages · Page 1 of 1 (latest)

craggy path
#

Latest pre-release version now available at: https://github.com/baliame/Baliatro/releases/tag/v0.3.0-pre14
Tested and mostly crash-free with steamodded version beta-0321e.

Baliatro is what I call an idea dump, it's a mod with no direct overarching theme, just my attempt at throwing things at the wall and seeing what exactly sticks. The final aim for the mod is to provide a somewhat different experience than vanilla with more complex interactions while not venturing into Cryptid levels of broken territory. I've done some amount of playthroughs with the cards and mechanics in the mod, but there's likely a decent amount of balancing passes ahead of me before I can call it "vanilla-like".

Note that the mod often includes longer text on cards and potentially more complicated interactions than basic Balatro. This is an intended increase in complexity, and optimal play may be more overwhelming than with vanilla options.
Development is not even remotely done, I have several jokers, blinds, consumables, stakes, and decks already outlined awaiting implementation, but I'm opening up the mod to public feedback especially on balance outliers that I might be blind to as the developer.
I'd also like to note that I'm primarily a developer with minimal art experience, therefore, a lot of art is still placeholder art, and it is expected that any art for cards that I make will be very programmer art. This mod is about the gameplay, not the art.

GitHub

⚖️ Balance
Bonus Objective system

Significantly reduced goal quantity, reward quantity and reward rarity in early antes.
All of these values now scale with current ante, peaking in Ante 8 and not ...

#

Baliatro currently features:

  • 46 new jokers available in the shop. These jokers aim to prolong mechanics that mostly shine in the early game, give options for hands that aren't often played in a lategame scenario, give interactions to weaker mechanics, and provide additional deck fixing options.
  • 2 new legendary jokers. One of these I've had to adjust many things for because in its initial form, it went full Cryptid, I'm more or less happy with the position it's been pushed back to. The other one may be on the slightly weaker side, providing a different avenue to power, should RNG favour you.
  • 32 new "upgraded" jokers. These jokers are not available to purchase, sometimes may be pulled out of an upgraded joker pack, or created using new consumables. These jokers are intentionally strong for the mid-game and their balancing will happen by controlling availability rather than adjusting the values accounting for the ability to maybe pick them up in Ante 1.
  • Several new card editions, including:
    • Faded variants of the original edition trio, accessible through Tarot rather than Spectral cards, but with much lower values, aimed to fuel interactions with edition-based jokers.
    • 2 new rare editions with high scaling potential that are accessed through new consumables, or very very seldom in the shop.
    • 3 new editions that do not ever appear in the shop. I'll leave these up to discovery.
  • 2 new Tarot cards.
  • 2 new Vouchers.
  • 1 new legendary Spectral card.
  • 7 new planets (moons). 5 of these can be used to upgrade your editions, as well as one for interest, and one for upgrading booster packs, allowing you to dump your money into way too much greed.
  • 11 new lesser boss blinds, some a twist on existing Blinds, some aimed to mess with your deck.
  • 2 new showdown boss blinds. One of these may be particularly punishing.
  • 18 new Postcard consumables, a consumable that is rarer than Spectral cards but can yield potentially game-changing results.
#

No cross-mod interactions have been tested yet, but the mod does some generous patching of Balatro, and is likely to not interact well with other mods doing similar business.

storm lake
#

hype

prisma rover
#

Okay, I tested it with my modpack, it's not compatible with Bunco and Lcorp

low hill
#

what the heck is even goin on

#

@craggy path your hook on Game.init_game_object doesn't pass self 😭

craggy path
#

oh wow, I'm super surprised it didn't mind

low hill
#

Sharpening Stone crashes when playing an Editioned card

low hill
craggy path
#

yeah I figure, this is the kind of stuff I was hoping would get uncovered 😅

low hill
craggy path
#

I should be able to post a patch for both of these in a sec

#

there's going to be a lot more mistakes near the top of files, I had no idea what I was doing at the start

#

done, pre2 should address these

GitHub

Changes

Upgraded Buffoon Pack now restricted to later antes.

Fixes

Fix crash due to not passing self to init_game_object
Fix Sharpening Stone crashing when upgrading an edition.

prisma rover
craggy path
#

I'm doing a balancing pass right now, I'll take a look at the conflicts after I push pre3 out. May be difficult if both mods mess with similar mechanics.

#

I see at least one SMODS -- TARGET issue in there, which would mean something radically changed by 1413a, so there's a latest SMODS compatibility issue. Unfortunately until we get stable SMODS releases this is going to keep happening.

craggy path
#

Released version pre3 (updated OP)
Changelog available on the release page.
Mostly tested with smods 1420a. It is possible things broke.

I'll take a look at Bunco now.

GitHub

v0.1.0~pre3
Compatibility

Update compatibility to Steamodded 1420a.

🚀 New additions
Jokers

Added upgraded joker Labradorite, replacing Onyx Agate as the upgraded version of Gluttonous Joker.
Add...

craggy path
craggy path
#

I've found the source of the aforementioned Bunco conflict and it's tough, loading Baliatro after Bunco should work in theory, in practice, lovely crashes, so this is going to be fun.
Updating lovely solved this.

craggy path
craggy path
#

Release version pre5 (updated OP)
Bump smods compatibility to 1421b.
Add one new joker.
Fix critical bug with Ethereal cards.

GitHub

Compatibility

Update compatibility to Steamodded 1421b.

🚀 New additions
Jokers

Added new Rare Joker Afterimage.

🛠️ Bug Fixes
Editions

Fixed an issue where Ethereal cards would not be correctly...

prisma rover
craggy path
#

conflicting implementation of perma_xmult I wonder?

#

I'll take a look asap

prisma rover
#

ping me if you fixed it 🙂

craggy path
#

ouch, yeah, they also implement perma_xmult and do it differently

#

i'll consider how to approach this but fix is going to take a bit, i'm in the middle of breaking everything

torpid forge
#

I'm changing my xmult upgrades to be a dependency on AutumnMoodMechanics soon, explicitly so that it's easier to be compatible with other mods

craggy path
#

yeah my implementation is the issue here, I'm basing it on 0 rather than 1 for Reasons

#

at this point i might just nudge Aure or Eremel if we can get the perma_* implementation into SMODS, i wouldn't want to necessarily depend on AMM

torpid forge
#

For compatability's sake, that's definitely the best option. I did manage to convince Autumn into making unused features togglable (ui-wise at least)

craggy path
#

I'll start a proposal PR later to just push it into smods

torpid forge
craggy path
#

ah, same question then @lyric rover , mind if I cherry pick playing card permanent bonuses (mult, xmult, etc.) from AMM into my mod for now to resolve a conflict and then potentially get it into SMODS later?

#

🤔 actually, now that I think about it, this will actually not resolve the conflict

#

because each of us has to patch get_chip_x_mult, which will mean if both of our mods are on, the xmult will be scored twice

#

I'll work on getting it into SMODS instead

craggy path
lyric rover
#

good luck with that my code isnt good enough for smods

craggy path
#

@lyric rover @torpid forge perma bonuses are now SMODS core

torpid forge
craggy path
#

I think I can put out pre6 tomorrow.

#

Preview changelog


## Compatibility

- Update compatibility to Steamodded **BETA 0302b**.
- Now utilizes core SMODS perma bonuses.

## 🚀 New additions

### Jokers

- Introduced new Common joker **Echo**.
- Introduced new Common joker **Monolith**.
- Introduced new Common joker **Sicilian Defence**.
- These jokers are intended to compliment the otherwise diluting pool of early Common jokers for reliable scoring and gaining deck direction.

### Deal with the Devil

- Mechanic introduced.
- Audience with the Devil packs appear with an initial interval of 6 played rounds, extending by 3 rounds every time a pack appears. A pack contains 2 random pacts.
- Currently features 6 pacts, each with 3 variants, for a total of 18 pacts.
- Pacts should not be destroyable, manipulated in any way by Postcards, or copiable by any effect.

### Cosmetic

- Interest cap is now an info display. No functional change.
- Nice Blind display, idea from Victin.

## 🛠️ Bug Fixes

### Blinds

- Fixed various bugs with the new Blinds introduced.

## ⚖️ Balance

### Jokers

- **Uneven Freeman** now grants +31 permanent Chips (from +51)
- **Katamari Joker** now gains +1 Mult when most scored rank is scored (from +2)
- **Bodybuilder** now has +4 Mult.

### Tarot cards

- **The Emperor**, **The Fool** and **The High Priestess** now grant the same edition to all cards created as theirs, instead of just negative.

### Editions

- **Photographic** now grants XChips. It grants a multiplicatively stacking bonus for each instance of the card scoring Chips, Mult, or Dollars.
  - For example, a joker that grants +20 Chips and +4 Mult when a card is scored will also grant in the same instance - at base level - 1.1 x 1.1 = 1.21 XChips.
craggy path
#

Release version pre6 (updated OP)
Pacts, MTX cards, some jokers. Using core perma mechanics now.

GitHub

Compatibility

Update compatibility to Steamodded BETA 0303a.
Now utilizes core SMODS perma bonuses.

🚀 New additions
Jokers

Introduced new Common joker Echo.
Introduced new Common joker Monolith....

craggy path
torpid forge
craggy path
#

bold statement considering I committed close to 3.5k lines of changes since we last spoke

#

I'm sure I broke compatibility with everything

torpid forge
#

I don't wanna brag but I committed 44k lines 😛 I pushed the update just now, it should all work together now! 😄

craggy path
#

Release v0.2.0pre7: fix crash when Real Estate appears in shop, minor Tax Collector adjustment.

craggy path
#

Release v0.2.0pre8: Fix Wheel blind crash, Wheel, House and Fish not unflipping played cards, and Interest Cap info box bug.

craggy path
#

Release v0.2.0pre9: Fix the Fish crashing due to a change in pre8 (facepalm), minor balance adjustments to MTX cards and Hadron Collider.

prisma rover
#

both blueatro and baliatro have this crash

craggy path
#

oh wow, that is not a cross mod interaction at all

#

something changed in SMODS

#

yeah, found it, makes sense

craggy path
#

Release v0.2.0pre10: Fix crash when starting run on newest SMODS, added art to a bunch of things that didn't have it, some new jokers, pacts, consumables, balance changes, it's in the changelog.

craggy path
#

known issue: run info, deck info is broken, will be fixed next release

craggy path
craggy path
#

Upcoming in v0.3.0: bonus objectives and loot!

storm lake
#

oh this is sick

craggy path
#

Objective info now available at all times.
All that's left for this feature is implementing claiming the loot.

craggy path
#

Release v0.3.0pre12: This is the preview release of the loot system. 23 bonus objectives, 31 different loot tokens.

storm lake
#

hype

frosty narwhal
#

this is so swag

prisma rover
craggy path
# prisma rover

how exactly did you achieve this? best i can tell, there's a badly constructed / nil card in your full deck

#

this should in theory crash without baliatro as well

#

oh wait

#

this isn't during a run is it?

#

.. or i could just look at cartomancer before i ask stupid questions and it would make more sense what they're doing 😄

craggy path
#

Release v0.3.0~pre13: Compatibility fixes, one new objective.

prisma rover
#

i was trying the objective thing and it feels either too broken and too op for me

craggy path
#

wdym - are goals too easy to achieve, are you getting too many rewards too fast?

#

maybe both goal quantity and reward quantity should ramp from not much goals, low amount of rewards in ante 1 to slightly above what i have right now in ante 8

prisma rover
#

Yeah I was getting 20~ish rewards on ante 1 which seems very op

craggy path
#

i'm sort of fine with getting many rewards as long as early antes mostly give junk (common jokers, playing cards - lowest tier stuff)

#

i think what i'll do is somewhat reduce the amount of goals you get in earlier antes and also apply a reward tier penalty

craggy path
#

Release v0.3.0~pre14: Loot system strength now scales with ante.

#

Known issues: do not restart your game when picking stuff out of a loot pack, the save game may crash on reloading due to an SMODS bug.

ivory pewter
#

what's this

#

an upgraded splash

craggy path
#

yes indeed 👀

ivory pewter
craggy path
#
[[patches]]
[patches.pattern]
target = "functions/state_events.lua"
pattern = '-- TARGET: adding to hand effects'
position = 'after'
payload = '''
local extra_cards = 0
for i, joker in ipairs(G.jokers.cards) do
    if not joker.debuff and joker.config.center.additional_scoring_cards and type(joker.config.center.additional_scoring_cards) == 'function' then
        extra_cards = extra_cards + joker.config.center:additional_scoring_cards(joker)
    end
end

extra_cards = math.min(extra_cards, #G.hand.cards)

for i = 1, extra_cards do
    table.insert(final_scoring_hand, G.hand.cards[i])
end
'''
match_indent = true```

it's this lovely patch
#

lets me define a function on jokers which then returns a number, and that is the number of leftmost cards in hand to also score

#

basically anything that makes it into context.scoring_hand will be scored

ivory pewter
#

i just wanna score every card held in hand

#

with a specific thing active

ivory pewter
#

ohh wait i think i get it

ivory pewter
#

it raises up all the cards but then they don't actually score?

craggy path
#

maybe they changed something in steamodded again, i'll check it out when i can get around to it

#

it may be days

ivory pewter
#

i can wait

#

it's not like anyone is waiting for my mod to update anyway

ornate nest
# craggy path ```# experimental [[patches]] [patches.pattern] target = "functions/state_events...

Hey just wanted to say thanks cuz I wanted to make a seal that allows cards to be scored while held in hand and this really helped me as the starting lead and to learn how .toml patches work.
I only just started learning how to mod but from my understanding the problem was that, even if cards held in hand were added to the context.scoring_hand, when it came to being scored through the smods function calculate_main_scoring() its second parameter checks the cardarea and therefore only scores cards from G.play, ignoring held cards.

#

Managed to make it work by adding another patch after the calculate_main_scoring() call:

[patches.pattern]
target = "functions/state_events.lua"
pattern = 'SMODS.calculate_main_scoring({cardarea = v, full_hand = G.play.cards, scoring_hand = scoring_hand, scoring_name = text, poker_hands = poker_hands}, v == G.play and scoring_hand or nil)'
position = 'after'
payload = '''
if v == G.play then
    SMODS.calculate_main_scoring({cardarea = G.hand, full_hand = G.hand.cards, scoring_hand = scoring_hand, scoring_name = text, poker_hands = poker_hands}, v == G.play and scoring_hand or nil)
end
'''```
(added a similar one after `calculate_destroying_cards` to prevent unbreakable glass cards)
#

I hope this helps or if you've already done it yourself I'm interested in how you solved this! Again I just started so truthfully I don't know if my method has any major problems beyond what I've tested

craggy path
#

Oh hey, glad I helped. If/when I eventually get back to modding I'll have to fix up baliatro too.

tough hinge
#

crash after playing a hand