diff --git a/assets/1x/spectral.png b/assets/1x/spectral.png index 29f2d25..9542615 100644 Binary files a/assets/1x/spectral.png and b/assets/1x/spectral.png differ diff --git a/assets/2x/back.png b/assets/2x/back.png index 5aecb95..673b26e 100644 Binary files a/assets/2x/back.png and b/assets/2x/back.png differ diff --git a/assets/2x/blind.png b/assets/2x/blind.png index 03807f7..431c696 100644 Binary files a/assets/2x/blind.png and b/assets/2x/blind.png differ diff --git a/assets/2x/charm.png b/assets/2x/charm.png index df5c31d..a7285af 100644 Binary files a/assets/2x/charm.png and b/assets/2x/charm.png differ diff --git a/assets/2x/icon.png b/assets/2x/icon.png index 2ace55c..9da1c61 100644 Binary files a/assets/2x/icon.png and b/assets/2x/icon.png differ diff --git a/assets/2x/joker.png b/assets/2x/joker.png index ebf72b6..d4c85b7 100644 Binary files a/assets/2x/joker.png and b/assets/2x/joker.png differ diff --git a/assets/2x/seal.png b/assets/2x/seal.png index 366d09f..10f7854 100644 Binary files a/assets/2x/seal.png and b/assets/2x/seal.png differ diff --git a/assets/2x/sleeve.png b/assets/2x/sleeve.png index e66732b..55f9fb9 100644 Binary files a/assets/2x/sleeve.png and b/assets/2x/sleeve.png differ diff --git a/assets/2x/spectral.png b/assets/2x/spectral.png index 336a297..5fcb181 100644 Binary files a/assets/2x/spectral.png and b/assets/2x/spectral.png differ diff --git a/assets/2x/tag.png b/assets/2x/tag.png index 275c3f6..efbfbaa 100644 Binary files a/assets/2x/tag.png and b/assets/2x/tag.png differ diff --git a/assets/2x/tarot.png b/assets/2x/tarot.png index 8114244..7ebb8c6 100644 Binary files a/assets/2x/tarot.png and b/assets/2x/tarot.png differ diff --git a/localization/en-us.lua b/localization/en-us.lua index 83a7077..82043f9 100644 --- a/localization/en-us.lua +++ b/localization/en-us.lua @@ -371,6 +371,14 @@ return { "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 = { name = "Refract", text = { diff --git a/manifest.json b/manifest.json index c4daf20..be971a4 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "author": [ "Emik" ], - "version": "2.7.3", + "version": "2.7.4", "badge_colour": "8BE9FD", "main_file": "src/main.lua", "badge_text_colour": "44475A", diff --git a/src/blind.lua b/src/blind.lua index 775d863..d286ba9 100644 --- a/src/blind.lua +++ b/src/blind.lua @@ -66,6 +66,10 @@ local function set_freeze(state) ---@param card Card|{ Roland_blizzard: true|nil } 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 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) end) + if not next(cards_added) then + return + end + b:wiggle() b.triggered = true playing_card_joker_effects(cards_added) @@ -300,9 +308,12 @@ blind { b:set_text() end end, + disable = function() + G.GAME.blind.disabled = true + end, recalc_debuff = function(self, card) 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 return ret end, diff --git a/src/spectral.lua b/src/spectral.lua index 4e66208..0439315 100644 --- a/src/spectral.lua +++ b/src/spectral.lua @@ -66,6 +66,66 @@ spectral { 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 { key = "refract", pronouns = "he_him",