Add new joker

This commit is contained in:
Emik 2026-06-16 21:22:24 +02:00
parent d49f446d6e
commit c48fd5454e
Signed by: emik
GPG key ID: 6B0CD72A5E503BDF
15 changed files with 62 additions and 4 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 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: 242 KiB

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 71 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: 39 KiB

After

Width:  |  Height:  |  Size: 39 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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View file

@ -339,6 +339,14 @@ return {
"{C:attention}#2#",
},
},
j_Roland_verdant = {
name = "Verdant Leaf",
text = {
"{X:mult,C:white}X#1#{} Mult",
"{C:red}Debuffs {}the {C:attention}first",
"{C:attention}#2# {}scored cards",
},
},
j_Roland_yard = {
name = "Yard Sale",
text = {

View file

@ -3,7 +3,7 @@
"id": "Roland",
"name": "Roland",
"prefix": "Roland",
"version": "2.8.34",
"version": "2.8.35",
"badge_colour": "8BE9FD",
"display_name": "Roland",
"main_file": "src/main.lua",

View file

@ -684,7 +684,7 @@ joker {
rarity = 3,
eternal_compat = true,
blueprint_compat = true,
perishable_compat = false,
perishable_compat = true,
loc_vars = function(_, _, card)
return {vars = {card.ability.extra.xmult}}
end,
@ -731,7 +731,7 @@ joker {
rarity = 3,
eternal_compat = true,
blueprint_compat = true,
perishable_compat = false,
perishable_compat = true,
loc_vars = function(_, _, card)
return {vars = {card.ability.extra.xmult}}
end,
@ -749,7 +749,7 @@ joker {
right.config.center.key == "j_Roland_crimson"
if debuffed_by_crimson and v.ability.Roland_crimson == nil then
v.ability.Roland_crimson = v.debuff and true or false
v.ability.Roland_crimson = not not v.debuff
v:set_debuff(true)
elseif not debuffed_by_crimson and v.ability.Roland_crimson ~= nil then
v:set_debuff(v.ability.Roland_crimson)
@ -766,6 +766,56 @@ function Card:stop_drag(...)
return orig_stop_drag(self, ...)
end
joker {
key = "verdant",
pronouns = "she_her",
config = {extra = {debuffs = 2, xmult = 3}},
pixel_size = {w = 68, h = 68},
attributes = {"xmult"},
cost = 6,
rarity = 3,
eternal_compat = true,
blueprint_compat = true,
perishable_compat = true,
loc_vars = function(_, _, card)
local extra = card.ability.extra
return {vars = {extra.xmult, extra.debuffs}}
end,
calculate = function(self, card, context)
local extra = card.ability.extra
self:verdant(context.scoring_hand, extra.debuffs)
return (context.joker_main or context.forcetrigger) and {card = card, xmult = extra.xmult} or nil
end,
update = function()
local _ = G.STATE == G.STATES.SELECTING_HAND and G.hand and G.hand:parse_highlighted()
end,
verdant = function(_, cards, amount)
return cards and next(cards) and f(G.playing_cards):each(function(v)
table.sort(cards, function(a, b)
return a.rank < b.rank
end)
local should_be_verdant = f(amount):map(f.index_into(cards)):any(f.eq(v))
local has_verdant = v.ability.Roland_verdant ~= nil
if should_be_verdant and not has_verdant then
v.ability.Roland_verdant = not not v.debuff
v:set_debuff(true)
elseif not should_be_verdant and has_verdant then
v:set_debuff(v.ability.Roland_verdant)
v.ability.Roland_verdant = nil
end
end) or nil
end,
}
local orig_unhighlight_all = CardArea.unhighlight_all
function CardArea:unhighlight_all(...)
G.P_CENTERS.j_Roland_verdant:verdant(self.cards)
return orig_unhighlight_all(self, ...)
end
joker {
key = "martingale",
pronouns = "he_him",