Compare commits
No commits in common. "c48fd5454e66014beaa0f3c7e9fb07890d4ce886" and "15a50ff9d1005aed893984ef80cf72a02873a564" have entirely different histories.
c48fd5454e
...
15a50ff9d1
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 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: 70 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 |
|
|
@ -339,14 +339,6 @@ return {
|
||||||
"{C:attention}#2#",
|
"{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 = {
|
j_Roland_yard = {
|
||||||
name = "Yard Sale",
|
name = "Yard Sale",
|
||||||
text = {
|
text = {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"id": "Roland",
|
"id": "Roland",
|
||||||
"name": "Roland",
|
"name": "Roland",
|
||||||
"prefix": "Roland",
|
"prefix": "Roland",
|
||||||
"version": "2.8.35",
|
"version": "2.8.34",
|
||||||
"badge_colour": "8BE9FD",
|
"badge_colour": "8BE9FD",
|
||||||
"display_name": "Roland",
|
"display_name": "Roland",
|
||||||
"main_file": "src/main.lua",
|
"main_file": "src/main.lua",
|
||||||
|
|
|
||||||
|
|
@ -684,7 +684,7 @@ joker {
|
||||||
rarity = 3,
|
rarity = 3,
|
||||||
eternal_compat = true,
|
eternal_compat = true,
|
||||||
blueprint_compat = true,
|
blueprint_compat = true,
|
||||||
perishable_compat = true,
|
perishable_compat = false,
|
||||||
loc_vars = function(_, _, card)
|
loc_vars = function(_, _, card)
|
||||||
return {vars = {card.ability.extra.xmult}}
|
return {vars = {card.ability.extra.xmult}}
|
||||||
end,
|
end,
|
||||||
|
|
@ -731,7 +731,7 @@ joker {
|
||||||
rarity = 3,
|
rarity = 3,
|
||||||
eternal_compat = true,
|
eternal_compat = true,
|
||||||
blueprint_compat = true,
|
blueprint_compat = true,
|
||||||
perishable_compat = true,
|
perishable_compat = false,
|
||||||
loc_vars = function(_, _, card)
|
loc_vars = function(_, _, card)
|
||||||
return {vars = {card.ability.extra.xmult}}
|
return {vars = {card.ability.extra.xmult}}
|
||||||
end,
|
end,
|
||||||
|
|
@ -749,7 +749,7 @@ joker {
|
||||||
right.config.center.key == "j_Roland_crimson"
|
right.config.center.key == "j_Roland_crimson"
|
||||||
|
|
||||||
if debuffed_by_crimson and v.ability.Roland_crimson == nil then
|
if debuffed_by_crimson and v.ability.Roland_crimson == nil then
|
||||||
v.ability.Roland_crimson = not not v.debuff
|
v.ability.Roland_crimson = v.debuff and true or false
|
||||||
v:set_debuff(true)
|
v:set_debuff(true)
|
||||||
elseif not debuffed_by_crimson and v.ability.Roland_crimson ~= nil then
|
elseif not debuffed_by_crimson and v.ability.Roland_crimson ~= nil then
|
||||||
v:set_debuff(v.ability.Roland_crimson)
|
v:set_debuff(v.ability.Roland_crimson)
|
||||||
|
|
@ -766,56 +766,6 @@ function Card:stop_drag(...)
|
||||||
return orig_stop_drag(self, ...)
|
return orig_stop_drag(self, ...)
|
||||||
end
|
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 {
|
joker {
|
||||||
key = "martingale",
|
key = "martingale",
|
||||||
pronouns = "he_him",
|
pronouns = "he_him",
|
||||||
|
|
|
||||||
|
|
@ -200,16 +200,6 @@ function f.index(v)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
---@generic K, V
|
|
||||||
---@param v { [K]: V }
|
|
||||||
---@return fun(x: K): V
|
|
||||||
---@nodiscard
|
|
||||||
function f.index_into(v)
|
|
||||||
return type(v) == "table" and function(x)
|
|
||||||
return v[x]
|
|
||||||
end or f.const(v)
|
|
||||||
end
|
|
||||||
|
|
||||||
---@generic V
|
---@generic V
|
||||||
---@param v string
|
---@param v string
|
||||||
---@return fun(x: { [string]: V }): V
|
---@return fun(x: { [string]: V }): V
|
||||||
|
|
@ -267,7 +257,6 @@ function f.new(fnext)
|
||||||
from = f.from,
|
from = f.from,
|
||||||
id = f.id,
|
id = f.id,
|
||||||
index = f.index,
|
index = f.index,
|
||||||
index_into = f.index_into,
|
|
||||||
indices = f.indices,
|
indices = f.indices,
|
||||||
keys = f.keys,
|
keys = f.keys,
|
||||||
map = f.map,
|
map = f.map,
|
||||||
|
|
|
||||||