Skip to content

Blind copying

Oinite edited this page Jun 15, 2026 · 1 revision

To allow a blind to copy other blinds, define the function get_copied_blinds(self, current_blind). This function must return a list of blind keys, which will be considered as being copied by the primary blind.

SMODS.Blind {
	-- ...
	get_copied_blinds = function(self, blind)
		return {"key1", "key2", --[[...]]}
	end
	-- ...
}

Functions

Spectrallib.get_copied_blinds(blind, proto) -> table

Given blind, the current blind, and proto, an entry in G.P_BLINDS, this function recursively gets all blinds that blind or proto (proto overrides blind) copies.

Spectrallib.blind_is(blind) -> boolean

Check if a blind (via its key) is in active effect, including as a copy.

Functions that call blind methods on copied blinds

Function Method(s)
Spectrallib.set_copied_blinds set_blind
Spectrallib.defeat_copied_blinds defeat
Spectrallib.press_play_copied_blinds press_play
Spectrallib.calculate_copied_blinds calculate
Spectrallib.modify_hand_copied_blinds modify_hand
Spectrallib.debuff_hand_copied_blinds debuff_hand
Spectrallib.drawn_to_hand_copied_blinds drawn_to_hand
Spectrallib.stay_flipped_copied_blinds stay_flipped
Spectrallib.recalc_debuff_copied_blinds debuff_card, recalc_debuff
Spectrallib.before_play_copied_blinds before_play
Spectrallib.after_play_copied_blinds after_play
Spectrallib.ante_base_mod_copied_blinds ante_base_mod
Spectrallib.round_base_mod_copied_blinds round_base_mod
Spectrallib.cap_final_score_copied_blinds modify_score, cap_score

Hooks

The following functions are hooked to incorporate the functions that call blind methods on copied blinds:

  • Blind:set_blind
  • Blind:defeat
  • Blind:press_play
  • Blind:calculate
  • Blind:modify_hand
  • Blind:debuff_hand
  • Blind:drawn_to_hand
  • Blind:stay_flipped
  • Blind:debuff_card

Clone this wiki locally