Skip to content

MORE DOE FIXES ARENT YOU HAPPY - #887

Open
Nanuzer0 wants to merge 1 commit into
SpectralPack:mainfrom
Nanuzer0:ughhhhh
Open

MORE DOE FIXES ARENT YOU HAPPY#887
Nanuzer0 wants to merge 1 commit into
SpectralPack:mainfrom
Nanuzer0:ughhhhh

Conversation

@Nanuzer0

@Nanuzer0 Nanuzer0 commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

AHHHHHHHHHHHHH


Issues Fixed

  • Purchased Non-Vouchers Reappearing in Voucher Slots: Non-voucher items (Jokers, Consumables, Playing cards) purchased from shop voucher slots (G.shop_vouchers) were not clearing their spawn tracking, causing them to reappear in subsequent shops before the Boss Blind defeat.
  • Unbought Playing Cards Rerolling in Voucher Slots: Unbought playing cards in voucher slots changed their rank and suit on subsequent rounds in the same ante due to stateful RNG seed mutations during shop generation.
  • Over-Sized Non-Booster Cards in SMODS Booster Slots: Non-booster items (Jokers, Consumables, Playing cards) spawning in SMODS booster pack slots rendered at 1.27x scale (Big Joker size).
  • Missing Mandatory Editions on Celestial Jokers: Universe Joker (j_cry_universe), Meteor, Exoplanet, and Stardust Jokers spawned in shop slots without their required mandatory editions (e.g., Universe Joker missing Astral edition).

Summary of Changes

1. Voucher Slot Purchase Tracking (lovely/equilibrium.toml & lib/overrides.lua)

  • Array Index Tracking: Updated SMODS.get_next_vouchers in lib/overrides.lua to track voucher slots by array index (spawn[#vouchers] = true) alongside center keys.
  • Slot Index Attachment: Bound G.shop_vouchers_vidx during voucher initialization in game.lua so created cards receive card.shop_voucher_idx = i.
  • Targeted Clearing in G.FUNCS.buy_from_shop: Patched G.FUNCS.buy_from_shop in functions/button_callbacks.lua to clear spawn[c1.shop_voucher_idx] = false when an item is purchased from G.shop_vouchers.

2. Stateless & Deterministic Front Playing Card Seeding (lovely/equilibrium.toml)

  • Immutable Pseudoseed: Switched front playing card resolution in voucher slots to stateless hash seeding (pseudorandom_element(G.P_CARDS, pseudoseed('cry_equifrontbrium'..ante..key..vidx, G.GAME.pseudorandom.seed))).
  • Persistence Across Rounds: Prevents RNG state mutation so unbought playing cards in voucher slots retain their exact rank and suit across shops within the same ante.
  • Round-Based Booster Slots: Preserved round-based seeding for G.shop_booster so booster pack slots properly reroll fresh items on every round.

3. Correct Card Dimensions in SMODS Booster Slots (lovely/equilibrium.toml)

  • Dynamic Scale: Updated SMODS.add_booster_to_shop in src/utils.lua to scale cards dynamically (1.27 for Booster set items, 1.0 for non-booster items).

4. Mandatory Edition Hook for Celestial Jokers (lovely/equilibrium.toml)

  • Hooked create_shop_card_ui for shop booster and voucher slots to apply required editions and Cryptid.manipulate(card) when celestial jokers instantiate directly via Card(...):
    • Universe Joker (j_cry_universe) $\rightarrow$ Astral Edition (e_cry_astral)
    • Meteor Joker (j_cry_meteor) $\rightarrow$ Foil Edition (e_foil)
    • Exoplanet Joker (j_cry_exoplanet) $\rightarrow$ Holographic Edition (e_holo)
    • Stardust Joker (j_cry_stardust) $\rightarrow$ Polychrome Edition (e_polychrome)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant