Skip to content

Blind Slots API#1251

Open
icyethics wants to merge 1 commit intoSteamodded:mainfrom
icyethics:blinds-api
Open

Blind Slots API#1251
icyethics wants to merge 1 commit intoSteamodded:mainfrom
icyethics:blinds-api

Conversation

@icyethics
Copy link
Copy Markdown

Added pooling, reroll and customization functionality to blind slots.

Blind Slots:
Separate layer from blind, determining a bunch of customizable qualities for each slot. Extends any functionality only associated with the boss blind slot to the big and small blind slot, such as having boss blinds, being able to be rerolled, and ending the ante. Also added utility functions to make use of this new separation between blind slot and blind object, such as when checking for a blind's boss status, or whether it should transition the ante.

Blind pools:
Added simple blind pools. All custom blinds are automatically marked as Boss blinds unless instructed otherwise. All vanilla blinds are marked as boss blinds, except for the small and big blind, which each occupy their own pool. Blinds can have multiple pools, and blinds can be added or removed from pools during a run.

Changes to Skipping:
Skipping can now be disabled and/or hidden. This can be done generally through effects, or defined for each blind slot. Disabling skips makes it so that the UI still appears but is greyed out and cannot be clicked. Hiding it removes the skip tag UI from the blind. The Boss blind slot is exempted, and cannot have a skip tag be enabled.

Changes to Rerolling:
Blind Slots can be individually rerolled. Enabling a slot's reroll functionality will reroll those slots when the existing reroll function is used, like the boss reroll voucher's or the reroll tag's. The new blind slot specific reroll function will always be able to reroll a blind.

Blind Slot Altering & Disabling:
Blind Slots are now set up to allow for their own blind requirement modification, which will be applied separately from the blind object's. Modifications can be a multiplier or a hard value setting, ignoring source value. Slots can also be set up to disallow disabling of the blind object, or disallowing altering the blind requirement. Blind requirement altering can now be done with SMODS.alter_blind_requirement()

Showdown Antes:
The Showdown ante is now configurable. Additional ante numbers can be set to allow for showdown blinds too, and the ability for a blind slot to be able to spawn showdowns can be set separately for each Blind Slot.

Additional Info:

  • I didn't modify api's or I've made a PR to the wiki repo.
  • [x ] I didn't modify api's or I've updated lsp definitions.
  • [x ] I didn't make new lovely files or all new lovely files have appropriate priority.

added pooling, reroll and customization functionality to blind slots
@AllUniversal
Copy link
Copy Markdown
Contributor

Very cool! I planned a different approach in #1055, replacing the structure of an Ante entirely, but that PR isn't being completed soon I fear. :') (Unless someone wants to add a pannable, map-like UI element)

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.

2 participants