diff --git a/assets/1x/Escapey.png.kra b/assets/1x/Escapey.png.kra deleted file mode 100644 index 6da8e0f..0000000 Binary files a/assets/1x/Escapey.png.kra and /dev/null differ diff --git a/assets/1x/blind.png b/assets/1x/blind.png new file mode 100644 index 0000000..0352a58 Binary files /dev/null and b/assets/1x/blind.png differ diff --git a/assets/1x/Escapey.png b/assets/1x/escapey.png similarity index 100% rename from assets/1x/Escapey.png rename to assets/1x/escapey.png diff --git a/assets/1x/Icon.png b/assets/1x/icon.png similarity index 100% rename from assets/1x/Icon.png rename to assets/1x/icon.png diff --git a/assets/1x/Void.png b/assets/1x/void.png similarity index 100% rename from assets/1x/Void.png rename to assets/1x/void.png diff --git a/assets/2x/Escapey.png b/assets/2x/Escapey.png deleted file mode 100644 index 5cb08fb..0000000 Binary files a/assets/2x/Escapey.png and /dev/null differ diff --git a/assets/2x/Escapey.png.kra b/assets/2x/Escapey.png.kra deleted file mode 100644 index d06ff7c..0000000 Binary files a/assets/2x/Escapey.png.kra and /dev/null differ diff --git a/assets/2x/Icon.png b/assets/2x/Icon.png deleted file mode 100644 index 5b82fe6..0000000 Binary files a/assets/2x/Icon.png and /dev/null differ diff --git a/assets/2x/Void.png b/assets/2x/Void.png deleted file mode 100644 index b1d040c..0000000 Binary files a/assets/2x/Void.png and /dev/null differ diff --git a/assets/2x/blind.png b/assets/2x/blind.png new file mode 100644 index 0000000..f773f53 Binary files /dev/null and b/assets/2x/blind.png differ diff --git a/assets/2x/escapey.png b/assets/2x/escapey.png new file mode 100644 index 0000000..2eb59b9 Binary files /dev/null and b/assets/2x/escapey.png differ diff --git a/assets/2x/icon.png b/assets/2x/icon.png new file mode 100644 index 0000000..735462f Binary files /dev/null and b/assets/2x/icon.png differ diff --git a/assets/2x/void.png b/assets/2x/void.png new file mode 100644 index 0000000..29e615a Binary files /dev/null and b/assets/2x/void.png differ diff --git a/assets/upscale.bat b/assets/upscale.bat new file mode 100644 index 0000000..4feff88 --- /dev/null +++ b/assets/upscale.bat @@ -0,0 +1 @@ +for /F %%x in ('dir /B/D 1x') do magick 1x\%%x -scale 200%% 2x\%%x diff --git a/assets/upscale.sh b/assets/upscale.sh new file mode 100755 index 0000000..5417ebf --- /dev/null +++ b/assets/upscale.sh @@ -0,0 +1,6 @@ +#!/bin/sh +for file in 1x/*.png; do + filename=$(basename "$file") + output_file="2x/${filename}" + magick "$file" -filter point -resize 200% "$output_file" +done diff --git a/localization/en-us.lua b/localization/en-us.lua index 1f44774..d487b68 100644 --- a/localization/en-us.lua +++ b/localization/en-us.lua @@ -1,5 +1,14 @@ return { descriptions = { + Blind = { + bl_Roland_nimble = { + name = "The Nimble", + text = { + "The first {C:attention}5 cards", + "drawn are {C:attention}played", + } + }, + }, Joker = { j_Roland_escapey = { name = "Escapey", diff --git a/manifest.json b/manifest.json index 0c67c31..7421bb2 100644 --- a/manifest.json +++ b/manifest.json @@ -4,7 +4,7 @@ "name": "Roland", "prefix": "Roland", "author": ["Emik"], - "version": "1.0.2", + "version": "1.1.0", "badge_colour": "8BE9FD", "main_file": "src/main.lua", "badge_text_colour": "44475A", diff --git a/src/blind.lua b/src/blind.lua new file mode 100644 index 0000000..7b06e25 --- /dev/null +++ b/src/blind.lua @@ -0,0 +1,40 @@ +SMODS.Atlas { + px = 34, + py = 34, + frames = 21, + key = "blind", + path = "blind.png", + atlas_table = "ANIMATION_ATLAS", +} + +SMODS.Blind { + key = "nimble", + boss = {min = 1, max = 10, no_orb = true, hardcore = true}, + boss_colour = HEX("8be9fd"), + atlas = "blind", + pos = {x = 0, y = 0}, + mult = 2, + dollars = 5, + disable = function(self) + self.disabled = true + end, + drawn_to_hand = function(self) + local function force_hand() + for i, v in ipairs(G.hand.cards) do + if i > 5 then + break + end + + G.hand:add_to_highlighted(v, true) + end + + G.FUNCS.play_cards_from_highlighted(nil) + return true + end + + if not self.disabled then + self.disabled = true + G.E_MANAGER:add_event(Event({func = force_hand})) + end + end, +} diff --git a/src/joker.lua b/src/joker.lua index 83dbee6..ab27f97 100644 --- a/src/joker.lua +++ b/src/joker.lua @@ -54,8 +54,8 @@ SMODS.Joker { local loc_self = G.localization.descriptions.Joker.j_Roland_escapey local quotes = loc_self.quotes local merge = G.jokers and F.count(F.filter(G.jokers.cards, is_mergeable_with(card))) > 1 and loc_self.merge or {} - local normal = (merge[1] or (Jen or Jane or {}).sinister) and {} or pseudorandom_element(quotes.normal, pseudoseed("EscapeyQuotes")) - local scared = (merge[1] or not (Jen or Jane or {}).sinister) and {} or pseudorandom_element(quotes.scared, pseudoseed("EscapeyQuotes")) + local normal = (merge[1] or (Jen or Jane or {}).sinister) and {} or pseudorandom_element(quotes.normal, pseudoseed("EscapeyQuotes")) or {} + local scared = (merge[1] or not (Jen or Jane or {}).sinister) and {} or pseudorandom_element(quotes.scared, pseudoseed("EscapeyQuotes")) or {} return {vars = { card.ability.extra.level_up_by, diff --git a/src/main.lua b/src/main.lua index 2ed4b57..f85ffb4 100644 --- a/src/main.lua +++ b/src/main.lua @@ -1,6 +1,7 @@ assert(SMODS.load_file("src/LuaFunctional/functional.lua"))() assert(SMODS.load_file("src/challenge.lua"))() assert(SMODS.load_file("src/spectral.lua"))() +assert(SMODS.load_file("src/blind.lua"))() assert(SMODS.load_file("src/joker.lua"))() SMODS.Atlas { diff --git a/src/spectral.lua b/src/spectral.lua index 98c3ce0..6e53a5e 100644 --- a/src/spectral.lua +++ b/src/spectral.lua @@ -1,4 +1,4 @@ -SMODS.Sound({key = 'void', path = 'void.ogg'}) +SMODS.Sound({key = "void", path = "void.ogg"}) local function can_use() return not ((G.play and #G.play.cards > 0 or @@ -10,22 +10,22 @@ local function can_use() end SMODS.Atlas { - px = 71, - py = 95, - key = "void", - path = "void.png" + px = 71, + py = 95, + key = "void", + path = "void.png" } SMODS.Consumable { - key = "void", - set = "Spectral", - pos = {x = 0, y = 0}, - cost = 6, - atlas = "void", - can_use = function(_, _) - return #G.playing_cards > 1 and can_use() - end, - use = function(_, _, _, _) + key = "void", + set = "Spectral", + pos = {x = 0, y = 0}, + cost = 6, + atlas = "void", + can_use = function(_, _) + return #G.playing_cards > 1 and can_use() + end, + use = function(_, _, _, _) local function destructible(v) return not v.ability or not (v.ability.eternal or v.ability.cry_absolute) end @@ -39,23 +39,25 @@ SMODS.Consumable { v:start_dissolve() end + local function void() + local cards = F.filter(G.playing_cards, destructible) + + local function calculate_joker(v) + v:calculate_joker({remove_playing_cards = true, removed = cards}) + end + + F.foreach(cards, destroy) + F.foreach(G.jokers.cards, calculate_joker) + return true + end + play_sound("Roland_void", 1, 0.7) G.E_MANAGER:add_event(Event({ delay = 0.27, - timer = 'REAL', - trigger = 'after', - func = function() - local cards = F.filter(G.playing_cards, destructible) - - local function calculate_joker(v) - v:calculate_joker({remove_playing_cards = true, removed = cards}) - end - - F.foreach(cards, destroy) - F.foreach(G.jokers.cards, calculate_joker) - return true - end + timer = "REAL", + trigger = "after", + func = void })) - end + end } \ No newline at end of file