Add new joker, buff Snowsquall
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 242 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
|
|
@ -165,6 +165,14 @@ return {
|
|||
"if it is {C:dark_edition}Frozen",
|
||||
},
|
||||
},
|
||||
j_Roland_cerulean = {
|
||||
name = "Cerulean Bell",
|
||||
text = {
|
||||
"{X:mult,C:white}X#1#{} Mult",
|
||||
"All other {C:attention}Jokers {}cannot",
|
||||
"be selected or dragged",
|
||||
},
|
||||
},
|
||||
j_Roland_crimson = {
|
||||
name = "Crimson Heart",
|
||||
text = {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"id": "Roland",
|
||||
"name": "Roland",
|
||||
"prefix": "Roland",
|
||||
"version": "2.8.35",
|
||||
"version": "2.8.36",
|
||||
"badge_colour": "8BE9FD",
|
||||
"display_name": "Roland",
|
||||
"main_file": "src/main.lua",
|
||||
|
|
|
|||
|
|
@ -1,13 +1,23 @@
|
|||
local f, q = unpack(... or require "lib.shared")
|
||||
|
||||
local atlas = SMODS.Atlas {
|
||||
key = "joker",
|
||||
path = "joker.png",
|
||||
px = 71,
|
||||
py = 95,
|
||||
}
|
||||
|
||||
local negative = {key = "e_negative_consumable", set = "Edition", config = {extra = 1}}
|
||||
|
||||
local joker = (function()
|
||||
atlas:inject()
|
||||
local z = 0
|
||||
local row
|
||||
|
||||
---@return {x: number, y: number}
|
||||
local function inc()
|
||||
local ret = {x = z % 6, y = math.floor(z / 6)}
|
||||
row = row or atlas.image_data:getWidth() / atlas.px / G.SETTINGS.GRAPHICS.texture_scaling
|
||||
local ret = {x = z % row, y = math.floor(z / row)}
|
||||
z = z + 1
|
||||
return ret
|
||||
end
|
||||
|
|
@ -97,13 +107,6 @@ local function ranksuitnq(value)
|
|||
end
|
||||
end
|
||||
|
||||
SMODS.Atlas {
|
||||
key = "joker",
|
||||
path = "joker.png",
|
||||
px = 71,
|
||||
py = 95,
|
||||
}
|
||||
|
||||
SMODS.Sound {
|
||||
key = "nilly",
|
||||
path = "nilly.ogg",
|
||||
|
|
@ -425,7 +428,7 @@ joker {
|
|||
joker {
|
||||
key = "snowsquall",
|
||||
pronouns = "he_they",
|
||||
config = {extra = {mult_gain = 1, mult = 0}},
|
||||
config = {extra = {mult_gain = 3, mult = 0}},
|
||||
attributes = {"mult", "scaling", "hand_type"},
|
||||
cost = 6,
|
||||
rarity = 2,
|
||||
|
|
@ -721,6 +724,39 @@ joker {
|
|||
end,
|
||||
}
|
||||
|
||||
joker {
|
||||
key = "cerulean",
|
||||
pronouns = "she_her",
|
||||
config = {extra = {xmult = 3}},
|
||||
pixel_size = {w = 68, h = 68},
|
||||
attributes = {"xmult"},
|
||||
cost = 6,
|
||||
rarity = 2,
|
||||
eternal_compat = true,
|
||||
blueprint_compat = true,
|
||||
perishable_compat = true,
|
||||
loc_vars = function(_, _, card)
|
||||
return {vars = {card.ability.extra.xmult}}
|
||||
end,
|
||||
remove_from_deck = function(self)
|
||||
self:cerulean(true)
|
||||
end,
|
||||
calculate = function(_, card, context)
|
||||
return (context.joker_main or context.forcetrigger) and
|
||||
{card = card, xmult = card.ability.extra.xmult} or nil
|
||||
end,
|
||||
update = function(self, card)
|
||||
local _ = card.area == G.jokers and self:cerulean(false)
|
||||
end,
|
||||
cerulean = function(_, value)
|
||||
f(G.jokers.cards):each(function(v)
|
||||
f {"click", "drag", "focus", "hover"}:map(f.index_into(v.states)):each(function(s)
|
||||
s.can = value or v.config.center.key == "j_Roland_cerulean"
|
||||
end)
|
||||
end)
|
||||
end,
|
||||
}
|
||||
|
||||
joker {
|
||||
key = "crimson",
|
||||
pronouns = "she_her",
|
||||
|
|
|
|||
|
|
@ -46,6 +46,9 @@ if false then
|
|||
---@type Card[]
|
||||
CardArea.cards = CardArea.cards
|
||||
|
||||
---@type userdata|{getWidth: fun(self: self): number}
|
||||
SMODS.Atlas.image_data = SMODS.Atlas.image_data
|
||||
|
||||
--- @type { constants?: { TEN: table }, new: (fun(self: self, arr?: number[], sign?: number, noNormalize?: boolean): table), pow: (fun(x: number, y: number): number) }
|
||||
_G["Big"] = _G["Big"]
|
||||
|
||||
|
|
|
|||