Fix boss blinds, add new Spectral

This commit is contained in:
Emik 2026-05-27 13:10:26 +02:00
parent 3f7674aeb1
commit fb102200b0
Signed by: emik
GPG key ID: 6B0CD72A5E503BDF
15 changed files with 81 additions and 2 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -371,6 +371,14 @@ return {
"cards in {C:hands}hand", "cards in {C:hands}hand",
}, },
}, },
c_Roland_primal = {
name = "Primal Force",
text = {
"Enhance {C:attention}all cards",
"held in hand to",
"{C:enhanced}Stone Cards",
},
},
c_Roland_refract = { c_Roland_refract = {
name = "Refract", name = "Refract",
text = { text = {

View file

@ -6,7 +6,7 @@
"author": [ "author": [
"Emik" "Emik"
], ],
"version": "2.7.3", "version": "2.7.4",
"badge_colour": "8BE9FD", "badge_colour": "8BE9FD",
"main_file": "src/main.lua", "main_file": "src/main.lua",
"badge_text_colour": "44475A", "badge_text_colour": "44475A",

View file

@ -66,6 +66,10 @@ local function set_freeze(state)
---@param card Card|{ Roland_blizzard: true|nil } ---@param card Card|{ Roland_blizzard: true|nil }
return function(card) return function(card)
if not card.Roland_blizzard and card.edition and card.edition.Roland_frozen then
return
end
local last_edition = card.Roland_blizzard local last_edition = card.Roland_blizzard
card.Roland_blizzard = state and (copy(card.edition) or true) or nil card.Roland_blizzard = state and (copy(card.edition) or true) or nil
@ -222,6 +226,10 @@ blind {
draw_card(G.hand, G.discard, i / count * 100, "down", false, copy, nil, nil, true) draw_card(G.hand, G.discard, i / count * 100, "down", false, copy, nil, nil, true)
end) end)
if not next(cards_added) then
return
end
b:wiggle() b:wiggle()
b.triggered = true b.triggered = true
playing_card_joker_effects(cards_added) playing_card_joker_effects(cards_added)
@ -300,9 +308,12 @@ blind {
b:set_text() b:set_text()
end end
end, end,
disable = function()
G.GAME.blind.disabled = true
end,
recalc_debuff = function(self, card) recalc_debuff = function(self, card)
local id, _ = common_rank() local id, _ = common_rank()
local ret = not self.disabled and id == card:get_id() local ret = not G.GAME.blind.disabled and id == card:get_id()
self.triggered = ret self.triggered = ret
return ret return ret
end, end,

View file

@ -66,6 +66,66 @@ spectral {
end, end,
} }
spectral {
key = "primal",
pronouns = "he_him",
attributes = {"enhancements", "modify_card", "spectral"},
loc_vars = function(_, info_queue)
table.insert(info_queue, G.P_CENTERS.m_stone)
end,
can_use = function()
return u() and next(G.hand.cards)
end,
use = function(_, card)
q {
trigger = "after",
delay = 0.4,
func = function()
play_sound("tarot1")
card:juice_up(0.3, 0.5)
end,
}
f(G.hand.cards):each(function(v, k)
local percent = 1.15 - (k - 0.999) / (#G.hand.cards - 0.998) * 0.3
q {
trigger = "after",
delay = 0.15,
func = function()
v:flip()
play_sound("card1", percent)
v:juice_up(0.3, 0.3)
return true
end,
}
end)
f(G.hand.cards):each(function(v)
q(function()
v:set_ability(G.P_CENTERS.m_stone)
end)
end)
f(G.hand.cards):each(function(v, k)
local percent = 0.85 + (k - 0.999) / (#G.hand.cards - 0.998) * 0.3
q {
trigger = "after",
delay = 0.15,
func = function()
v:flip()
play_sound("tarot2", percent, 0.6)
v:juice_up(0.3, 0.3)
return true
end,
}
end)
delay(0.5)
end,
}
spectral { spectral {
key = "refract", key = "refract",
pronouns = "he_him", pronouns = "he_him",