Rework joker from scratch
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 242 KiB |
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
|
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 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 |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
|
@ -325,6 +325,14 @@ return {
|
|||
name = "Phytoestrogens",
|
||||
text = {"{C:mult}+Chips{} Mult, {X:mult,C:white}X#1#{} Mult"},
|
||||
},
|
||||
j_Roland_polaris = {
|
||||
name = "Polaris",
|
||||
text = {
|
||||
"The {C:attention}first {}scored",
|
||||
"card each round",
|
||||
"becomes {C:dark_edition}Frozen",
|
||||
},
|
||||
},
|
||||
j_Roland_sapling = {
|
||||
name = "Sapling",
|
||||
text = {
|
||||
|
|
@ -396,14 +404,6 @@ return {
|
|||
text = {"{X:red,C:white}X#1#{} discards each round"},
|
||||
unlock = {"Defeat {C:dark_edition}#1#"},
|
||||
},
|
||||
j_Roland_yard = {
|
||||
name = "Yard Sale",
|
||||
text = {
|
||||
"Gain {C:money}$#1#{} when a",
|
||||
"card is {C:attention}removed",
|
||||
"from the deck",
|
||||
},
|
||||
},
|
||||
},
|
||||
Other = {
|
||||
roland_glass_seal = {
|
||||
|
|
@ -577,6 +577,7 @@ return {
|
|||
b_Roland_entering_shop = "Entering shop!",
|
||||
b_Roland_equinox_assist = "Assist: Only hide text (Equinox)",
|
||||
b_Roland_faster_planets = "Faster Planets",
|
||||
b_Roland_frozen = "Frozen!",
|
||||
b_Roland_full = "FULL",
|
||||
b_Roland_scribable_basket = "Scribable Basket (overpowered)",
|
||||
b_Roland_harsh_ante_scaling = "Harsh ante scaling (Ante 40+)",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"id": "Roland",
|
||||
"name": "Roland",
|
||||
"prefix": "Roland",
|
||||
"version": "2.9.41",
|
||||
"version": "2.9.42",
|
||||
"badge_colour": "8BE9FD",
|
||||
"display_name": "Roland",
|
||||
"main_file": "src/main.lua",
|
||||
|
|
|
|||
104
src/joker.lua
|
|
@ -413,6 +413,71 @@ joker {
|
|||
end,
|
||||
}
|
||||
|
||||
joker {
|
||||
key = "misfortune",
|
||||
pronouns = "she_they",
|
||||
artist = "char",
|
||||
attributes = {"discard", "passive", "tarot", "planet", "generation", "seals"},
|
||||
cost = 6,
|
||||
rarity = 2,
|
||||
eternal_compat = true,
|
||||
blueprint_compat = false,
|
||||
perishable_compat = true,
|
||||
loc_vars = function(_, info_queue)
|
||||
table.insert(info_queue, G.P_SEALS.Purple)
|
||||
table.insert(info_queue, G.P_SEALS.Blue)
|
||||
table.insert(info_queue, negative)
|
||||
end,
|
||||
in_pool = function()
|
||||
return not not f(G.playing_cards):map "seal":any(f.index_into {Blue = true, Purple = true})
|
||||
end,
|
||||
}
|
||||
|
||||
joker {
|
||||
key = "polaris",
|
||||
pronouns = "he_him",
|
||||
attributes = {"editions", "space"},
|
||||
cost = 6,
|
||||
rarity = 1,
|
||||
eternal_compat = true,
|
||||
blueprint_compat = false,
|
||||
perishable_compat = true,
|
||||
loc_vars = function(_, info_queue)
|
||||
table.insert(info_queue, G.P_CENTERS.e_Roland_frozen)
|
||||
return {vars = {}}
|
||||
end,
|
||||
calculate = function(_, card, context)
|
||||
if context.end_of_round then
|
||||
card.Roland_polaris = nil
|
||||
return
|
||||
end
|
||||
|
||||
local no = context.blueprint or not context.before or card.Roland_polaris
|
||||
|
||||
if no and not context.forcetrigger then
|
||||
return
|
||||
end
|
||||
|
||||
card.Roland_polaris = true
|
||||
local first = context.scoring_hand[1]
|
||||
|
||||
if not first or first.edition and first.edition.Roland_frozen then
|
||||
return
|
||||
end
|
||||
|
||||
q {
|
||||
delay = 0.1,
|
||||
func = function()
|
||||
card:juice_up()
|
||||
first:juice_up()
|
||||
first:set_edition {Roland_frozen = true}
|
||||
end,
|
||||
}
|
||||
|
||||
return {message = localize {type = "variable", key = "b_Roland_frozen"}, colour = G.C.DARK_EDITION}
|
||||
end,
|
||||
}
|
||||
|
||||
joker {
|
||||
key = "cold",
|
||||
pronouns = "he_him",
|
||||
|
|
@ -552,45 +617,6 @@ joker {
|
|||
end,
|
||||
}
|
||||
|
||||
joker {
|
||||
key = "yard",
|
||||
pronouns = "he_him",
|
||||
config = {extra = {money = 2}},
|
||||
attributes = {"economy"},
|
||||
cost = 4,
|
||||
rarity = 1,
|
||||
eternal_compat = true,
|
||||
blueprint_compat = true,
|
||||
perishable_compat = true,
|
||||
loc_vars = function(_, _, card)
|
||||
return {vars = {card.ability.extra.money}}
|
||||
end,
|
||||
calculate = function(_, card, context)
|
||||
return (context.remove_playing_cards or context.forcetrigger) and
|
||||
{dollars = card.ability.extra.money * #context.removed, card = card} or nil
|
||||
end,
|
||||
}
|
||||
|
||||
joker {
|
||||
key = "misfortune",
|
||||
pronouns = "she_they",
|
||||
artist = "char",
|
||||
attributes = {"discard", "passive", "tarot", "planet", "generation", "seals"},
|
||||
cost = 6,
|
||||
rarity = 2,
|
||||
eternal_compat = true,
|
||||
blueprint_compat = false,
|
||||
perishable_compat = true,
|
||||
loc_vars = function(_, info_queue)
|
||||
table.insert(info_queue, G.P_SEALS.Purple)
|
||||
table.insert(info_queue, G.P_SEALS.Blue)
|
||||
table.insert(info_queue, negative)
|
||||
end,
|
||||
in_pool = function()
|
||||
return not not f(G.playing_cards):map "seal":any(f.index_into {Blue = true, Purple = true})
|
||||
end,
|
||||
}
|
||||
|
||||
joker {
|
||||
key = "amber",
|
||||
pronouns = "they_them",
|
||||
|
|
|
|||