Add a familiar joker, add new art
This commit is contained in:
parent
ff55a27567
commit
407c18dc6e
7 changed files with 72 additions and 27 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 54 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 66 KiB |
|
|
@ -414,6 +414,16 @@ return {
|
||||||
text = {"{X:red,C:white}X#1#{} discards each round"},
|
text = {"{X:red,C:white}X#1#{} discards each round"},
|
||||||
unlock = {"Defeat {C:dark_edition}#1#"},
|
unlock = {"Defeat {C:dark_edition}#1#"},
|
||||||
},
|
},
|
||||||
|
j_Roland_yard = {
|
||||||
|
name = "Yard Sale",
|
||||||
|
text = {
|
||||||
|
"Gain {C:money}$#1#{} when a",
|
||||||
|
"card is {C:attention}added",
|
||||||
|
"or {C:attention}removed",
|
||||||
|
"from the deck",
|
||||||
|
},
|
||||||
|
unlock = {"Complete the", "{C:attention}#1#", "challenge"},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Other = {
|
Other = {
|
||||||
roland_glass_seal = {
|
roland_glass_seal = {
|
||||||
|
|
@ -594,7 +604,7 @@ return {
|
||||||
c_Roland_Jokerful = "Jokerful",
|
c_Roland_Jokerful = "Jokerful",
|
||||||
c_Roland_Pastries = "Sweet Pastries",
|
c_Roland_Pastries = "Sweet Pastries",
|
||||||
c_Roland_Spin_To_Win = "Spin to Win",
|
c_Roland_Spin_To_Win = "Spin to Win",
|
||||||
c_Roland_Yard_Sale = "Yard Sale",
|
c_Roland_Spring_Cleaning = "Spring Cleaning",
|
||||||
},
|
},
|
||||||
v_dictionary = {
|
v_dictionary = {
|
||||||
b_Roland_add = "ADD",
|
b_Roland_add = "ADD",
|
||||||
|
|
@ -634,8 +644,6 @@ return {
|
||||||
ch_c_Roland_Eternally_Violet = {"{C:attention}Violet Vessel{}'s effect is active every blind"},
|
ch_c_Roland_Eternally_Violet = {"{C:attention}Violet Vessel{}'s effect is active every blind"},
|
||||||
ch_c_Roland_Glass1 = {"Played cards with no seal have a"},
|
ch_c_Roland_Glass1 = {"Played cards with no seal have a"},
|
||||||
ch_c_Roland_Glass2 = {"{C:green}1 in 2{} chance to gain {C:dark_edition}Glass Seal"},
|
ch_c_Roland_Glass2 = {"{C:green}1 in 2{} chance to gain {C:dark_edition}Glass Seal"},
|
||||||
ch_c_Roland_Yard_Sale1 = {"Gain {C:money}$5 {}when playing cards are {C:attention}added {}or {C:attention}removed"},
|
|
||||||
ch_c_Roland_Yard_Sale2 = {"Earn {C:red}no money {}from any other source"},
|
|
||||||
ch_c_Roland_Go = {"Set money to {C:money}$0 {}when entering the shop"},
|
ch_c_Roland_Go = {"Set money to {C:money}$0 {}when entering the shop"},
|
||||||
ch_c_Roland_Jokerful = {"The only jokers are {C:mult}Joker{} and {C:chips}Ms. Joker"},
|
ch_c_Roland_Jokerful = {"The only jokers are {C:mult}Joker{} and {C:chips}Ms. Joker"},
|
||||||
ch_c_Roland_Pastries = {"All blinds, cards, and tags are of {C:gold}Bakery{} or {C:blue}Roland"},
|
ch_c_Roland_Pastries = {"All blinds, cards, and tags are of {C:gold}Bakery{} or {C:blue}Roland"},
|
||||||
|
|
@ -644,6 +652,7 @@ return {
|
||||||
ch_c_Roland_Showdown_Crimson = {"Showdown blinds are {C:attention}Crimson Heart {}(stacks with above)"},
|
ch_c_Roland_Showdown_Crimson = {"Showdown blinds are {C:attention}Crimson Heart {}(stacks with above)"},
|
||||||
ch_c_Roland_Showdown_Verdant = {"Showdown blinds are {C:attention}Verdant Leaf {}(stacks with above)"},
|
ch_c_Roland_Showdown_Verdant = {"Showdown blinds are {C:attention}Verdant Leaf {}(stacks with above)"},
|
||||||
ch_c_Roland_Showdown_Violet = {"Showdown blinds are {C:attention}Violet Vessel {}(stacks with above)"},
|
ch_c_Roland_Showdown_Violet = {"Showdown blinds are {C:attention}Violet Vessel {}(stacks with above)"},
|
||||||
|
ch_c_Roland_Spring_Cleaning = {"Earn {C:red}no money {}from sources other than {C:attention}Yard Sale"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"id": "Roland",
|
"id": "Roland",
|
||||||
"name": "Roland",
|
"name": "Roland",
|
||||||
"prefix": "Roland",
|
"prefix": "Roland",
|
||||||
"version": "2.9.87",
|
"version": "2.9.88",
|
||||||
"badge_colour": "8BE9FD",
|
"badge_colour": "8BE9FD",
|
||||||
"display_name": "Roland",
|
"display_name": "Roland",
|
||||||
"main_file": "src/main.lua",
|
"main_file": "src/main.lua",
|
||||||
|
|
|
||||||
|
|
@ -85,23 +85,21 @@ SMODS.Challenge {
|
||||||
local yard_sale
|
local yard_sale
|
||||||
|
|
||||||
SMODS.Challenge {
|
SMODS.Challenge {
|
||||||
key = "Yard_Sale",
|
key = "Spring_Cleaning",
|
||||||
config = {extra = {dollars = 5}, no_interest = true},
|
config = {no_interest = true},
|
||||||
|
consumeables = {{id = "c_hanged_man"}},
|
||||||
|
jokers = {{id = "j_Roland_yard"}, {id = "j_Roland_yard"}},
|
||||||
vouchers = {{id = "v_magic_trick"}, {id = "v_overstock_norm"}},
|
vouchers = {{id = "v_magic_trick"}, {id = "v_overstock_norm"}},
|
||||||
rules = {custom = multirule("Yard_Sale", 2), modifiers = {{id = "dollars", value = 14}}},
|
rules = {custom = {{id = "Roland_Spring_Cleaning"}}},
|
||||||
restrictions = yard,
|
restrictions = yard,
|
||||||
apply = function()
|
apply = function()
|
||||||
G.GAME.modifiers.no_blind_reward = {Small = true, Big = true, Boss = true}
|
G.GAME.modifiers.no_blind_reward = {Small = true, Big = true, Boss = true}
|
||||||
G.GAME.modifiers.no_extra_hand_money = true
|
G.GAME.modifiers.no_extra_hand_money = true
|
||||||
|
|
||||||
f(Bakery_API.econ_only_items):keys():each(function(v)
|
f(Bakery_API.econ_only_items):keys():where(f.nq "j_Roland_yard"):each(function(v)
|
||||||
G.GAME.banned_keys[v] = true
|
G.GAME.banned_keys[v] = true
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
calculate = function(self, context)
|
|
||||||
yard_sale = (context.playing_card_added or context.remove_playing_cards) and not context.blueprint
|
|
||||||
return yard_sale and {dollars = self.config.extra.dollars * #(context.cards or context.removed or {})} or nil
|
|
||||||
end,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SMODS.Challenge {
|
SMODS.Challenge {
|
||||||
|
|
@ -347,7 +345,7 @@ q {
|
||||||
Bakery_API.no_money_decks = setmetatable({}, {
|
Bakery_API.no_money_decks = setmetatable({}, {
|
||||||
orig = orig,
|
orig = orig,
|
||||||
__index = function(_, k)
|
__index = function(_, k)
|
||||||
return (G.GAME or {}).challenge == "c_Roland_Yard_Sale" and not yard_sale or orig[k]
|
return (G.GAME or {}).challenge == "c_Roland_Spring_Cleaning" and not yard_sale or orig[k]
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,6 @@ return {
|
||||||
fg = HEX "362708ff",
|
fg = HEX "362708ff",
|
||||||
bg = HEX "edd198ff",
|
bg = HEX "edd198ff",
|
||||||
},
|
},
|
||||||
char = {
|
|
||||||
name = "char (@irregulester)",
|
|
||||||
fg = HEX "f8f8f2ff",
|
|
||||||
bg = HEX "ff79c6ff",
|
|
||||||
},
|
|
||||||
ghostlyfield = {
|
ghostlyfield = {
|
||||||
name = "ghostlyfield",
|
name = "ghostlyfield",
|
||||||
fg = HEX "ffffffff",
|
fg = HEX "ffffffff",
|
||||||
|
|
|
||||||
|
|
@ -196,8 +196,8 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "sunny",
|
key = "sunny",
|
||||||
pronouns = "it_its",
|
pronouns = "it_its",
|
||||||
artist = "char",
|
|
||||||
idea = "redstoad",
|
idea = "redstoad",
|
||||||
|
artist = "ghostlyfield",
|
||||||
attributes = {"food", "on_sell"},
|
attributes = {"food", "on_sell"},
|
||||||
cost = 2,
|
cost = 2,
|
||||||
rarity = 1,
|
rarity = 1,
|
||||||
|
|
@ -286,7 +286,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "monomino",
|
key = "monomino",
|
||||||
pronouns = "it_its",
|
pronouns = "it_its",
|
||||||
artist = "char",
|
artist = "ghostlyfield",
|
||||||
config = {extra = {price = 4, hand_name = "Four of a Kind"}},
|
config = {extra = {price = 4, hand_name = "Four of a Kind"}},
|
||||||
attributes = {"sell_value", "scaling", "economy", "hand_type"},
|
attributes = {"sell_value", "scaling", "economy", "hand_type"},
|
||||||
cost = 4,
|
cost = 4,
|
||||||
|
|
@ -315,7 +315,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "domino",
|
key = "domino",
|
||||||
pronouns = "it_its",
|
pronouns = "it_its",
|
||||||
artist = "char",
|
artist = "ghostlyfield",
|
||||||
config = {extra = {mult_gain = 4, hand_name = "Four of a Kind", mult = 0}},
|
config = {extra = {mult_gain = 4, hand_name = "Four of a Kind", mult = 0}},
|
||||||
attributes = {"mult", "scaling", "hand_type"},
|
attributes = {"mult", "scaling", "hand_type"},
|
||||||
cost = 4,
|
cost = 4,
|
||||||
|
|
@ -346,7 +346,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "trimino",
|
key = "trimino",
|
||||||
pronouns = "it_its",
|
pronouns = "it_its",
|
||||||
artist = "char",
|
artist = "ghostlyfield",
|
||||||
config = {extra = {times = 4, hand_name = "Four of a Kind"}},
|
config = {extra = {times = 4, hand_name = "Four of a Kind"}},
|
||||||
attributes = {"generation", "hand_type"},
|
attributes = {"generation", "hand_type"},
|
||||||
cost = 8,
|
cost = 8,
|
||||||
|
|
@ -405,7 +405,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "misfortune",
|
key = "misfortune",
|
||||||
pronouns = "she_they",
|
pronouns = "she_they",
|
||||||
artist = "char",
|
artist = "ghostlyfield",
|
||||||
attributes = {"discard", "passive", "tarot", "planet", "generation", "seals"},
|
attributes = {"discard", "passive", "tarot", "planet", "generation", "seals"},
|
||||||
cost = 6,
|
cost = 6,
|
||||||
rarity = 2,
|
rarity = 2,
|
||||||
|
|
@ -425,6 +425,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "polaris",
|
key = "polaris",
|
||||||
pronouns = "he_him",
|
pronouns = "he_him",
|
||||||
|
artist = "ghostlyfield",
|
||||||
attributes = {"editions", "space"},
|
attributes = {"editions", "space"},
|
||||||
cost = 6,
|
cost = 6,
|
||||||
rarity = 1,
|
rarity = 1,
|
||||||
|
|
@ -497,6 +498,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "snowsquall",
|
key = "snowsquall",
|
||||||
pronouns = "he_they",
|
pronouns = "he_they",
|
||||||
|
artist = "ghostlyfield",
|
||||||
config = {extra = {mult_gain = 3, mult = 0}},
|
config = {extra = {mult_gain = 3, mult = 0}},
|
||||||
attributes = {"mult", "scaling", "hand_type"},
|
attributes = {"mult", "scaling", "hand_type"},
|
||||||
cost = 6,
|
cost = 6,
|
||||||
|
|
@ -554,6 +556,7 @@ end
|
||||||
joker {
|
joker {
|
||||||
key = "arctic",
|
key = "arctic",
|
||||||
pronouns = "they_them",
|
pronouns = "they_them",
|
||||||
|
artist = "ghostlyfield",
|
||||||
cost = 10,
|
cost = 10,
|
||||||
rarity = 3,
|
rarity = 3,
|
||||||
config = {extra = {frozen = 1, non_frozen = 0, color = "DARK_EDITION"}},
|
config = {extra = {frozen = 1, non_frozen = 0, color = "DARK_EDITION"}},
|
||||||
|
|
@ -598,8 +601,8 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "sapling",
|
key = "sapling",
|
||||||
pronouns = "they_them",
|
pronouns = "they_them",
|
||||||
artist = "char",
|
|
||||||
idea = "redstoad",
|
idea = "redstoad",
|
||||||
|
artist = "ghostlyfield",
|
||||||
attributes = {"mult", "suit"},
|
attributes = {"mult", "suit"},
|
||||||
cost = 4,
|
cost = 4,
|
||||||
rarity = 1,
|
rarity = 1,
|
||||||
|
|
@ -836,6 +839,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "venerable",
|
key = "venerable",
|
||||||
pronouns = "any_all",
|
pronouns = "any_all",
|
||||||
|
artist = "ghostlyfield",
|
||||||
defeated_blind = "bl_Roland_venerable_visage",
|
defeated_blind = "bl_Roland_venerable_visage",
|
||||||
config = {extra = {xdiscard = 3}},
|
config = {extra = {xdiscard = 3}},
|
||||||
pixel_size = {w = 68, h = 68},
|
pixel_size = {w = 68, h = 68},
|
||||||
|
|
@ -862,11 +866,45 @@ joker {
|
||||||
ease_discard(round_resets.discards - discards)
|
ease_discard(round_resets.discards - discards)
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
joker {
|
||||||
|
key = "yard",
|
||||||
|
pronouns = "he_him",
|
||||||
|
artist = "ghostlyfield",
|
||||||
|
config = {extra = {dollars = 3}},
|
||||||
|
attributes = {"economy"},
|
||||||
|
cost = 6,
|
||||||
|
rarity = 1,
|
||||||
|
unlocked = true,
|
||||||
|
discovered = true,
|
||||||
|
eternal_compat = true,
|
||||||
|
blueprint_compat = true,
|
||||||
|
perishable_compat = true,
|
||||||
|
check_for_unlock = function()
|
||||||
|
return not not f.indices "challenge_progress.completed.c_Roland_Spring_Cleaning" (G.PROFILES[G.SETTINGS.profile])
|
||||||
|
end,
|
||||||
|
locked_loc_vars = function()
|
||||||
|
return {vars = {localize("c_Roland_Spring_Cleaning", "challenge_names")}}
|
||||||
|
end,
|
||||||
|
loc_vars = function(_, _, card)
|
||||||
|
return {vars = {card.ability.extra.dollars}}
|
||||||
|
end,
|
||||||
|
calculate = function(_, card, c)
|
||||||
|
local ret = (c.forcetrigger or not c.blueprint and (c.playing_card_added or c.remove_playing_cards)) and
|
||||||
|
{dollars = card.ability.extra.dollars * #(c.cards or c.removed or {c.forcetrigger})} or nil
|
||||||
|
|
||||||
|
if ret and (G.GAME or {}).challenge == "c_Roland_Spring_Cleaning" then
|
||||||
|
G.GAME.dollars = G.GAME.dollars + ret.dollars
|
||||||
|
else
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
joker {
|
joker {
|
||||||
key = "bulldozer",
|
key = "bulldozer",
|
||||||
pronouns = "she_her",
|
pronouns = "she_her",
|
||||||
idea = "redstoad",
|
idea = "redstoad",
|
||||||
|
artist = "ghostlyfield",
|
||||||
attributes = {"xmult"},
|
attributes = {"xmult"},
|
||||||
cost = 6,
|
cost = 6,
|
||||||
rarity = 2,
|
rarity = 2,
|
||||||
|
|
@ -929,8 +967,8 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "nilly",
|
key = "nilly",
|
||||||
pronouns = "any_all",
|
pronouns = "any_all",
|
||||||
artist = "ghostlyfield",
|
|
||||||
idea = "redstoad",
|
idea = "redstoad",
|
||||||
|
artist = "ghostlyfield",
|
||||||
config = {extra = {flipped = false}},
|
config = {extra = {flipped = false}},
|
||||||
attributes = {"xmult", "bakery_double_sided"},
|
attributes = {"xmult", "bakery_double_sided"},
|
||||||
cost = 0,
|
cost = 0,
|
||||||
|
|
@ -966,6 +1004,7 @@ joker {
|
||||||
key = "martingale",
|
key = "martingale",
|
||||||
pronouns = "he_him",
|
pronouns = "he_him",
|
||||||
idea = "redstoad",
|
idea = "redstoad",
|
||||||
|
artist = "ghostlyfield",
|
||||||
config = {extra = {odds = 2}},
|
config = {extra = {odds = 2}},
|
||||||
attributes = {"xmult", "chance"},
|
attributes = {"xmult", "chance"},
|
||||||
cost = 8,
|
cost = 8,
|
||||||
|
|
@ -1029,6 +1068,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "idle",
|
key = "idle",
|
||||||
pronouns = "any_all",
|
pronouns = "any_all",
|
||||||
|
artist = "ghostlyfield",
|
||||||
rarity = 2,
|
rarity = 2,
|
||||||
Roland_idle_capacity = 6,
|
Roland_idle_capacity = 6,
|
||||||
cost = G.P_CENTERS.j_idol.cost,
|
cost = G.P_CENTERS.j_idol.cost,
|
||||||
|
|
@ -1105,6 +1145,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "suitable",
|
key = "suitable",
|
||||||
pronouns = "she_they",
|
pronouns = "she_they",
|
||||||
|
artist = "ghostlyfield",
|
||||||
attributes = {"suit", "passive", "hearts", "diamonds", "spades", "clubs"},
|
attributes = {"suit", "passive", "hearts", "diamonds", "spades", "clubs"},
|
||||||
cost = 4,
|
cost = 4,
|
||||||
rarity = 2,
|
rarity = 2,
|
||||||
|
|
@ -1157,8 +1198,8 @@ end
|
||||||
joker {
|
joker {
|
||||||
key = "artemis",
|
key = "artemis",
|
||||||
pronouns = "any_all",
|
pronouns = "any_all",
|
||||||
artist = "hamester",
|
|
||||||
idea = "redstoad",
|
idea = "redstoad",
|
||||||
|
artist = "hamester",
|
||||||
cost = 6,
|
cost = 6,
|
||||||
rarity = 2,
|
rarity = 2,
|
||||||
config = {extra = {
|
config = {extra = {
|
||||||
|
|
@ -1224,6 +1265,7 @@ joker {
|
||||||
key = "excalibur",
|
key = "excalibur",
|
||||||
pronouns = "he_him",
|
pronouns = "he_him",
|
||||||
idea = "redstoad",
|
idea = "redstoad",
|
||||||
|
artist = "ghostlyfield",
|
||||||
cost = 8,
|
cost = 8,
|
||||||
rarity = 3,
|
rarity = 3,
|
||||||
config = {extra = {
|
config = {extra = {
|
||||||
|
|
@ -1295,7 +1337,7 @@ joker {
|
||||||
joker {
|
joker {
|
||||||
key = "oops",
|
key = "oops",
|
||||||
pronouns = "she_they",
|
pronouns = "she_they",
|
||||||
artist = "char",
|
artist = "ghostlyfield",
|
||||||
cost = 7,
|
cost = 7,
|
||||||
rarity = 3,
|
rarity = 3,
|
||||||
config = {extra = {probability = 1, probability_mult = 2, reset = 1}},
|
config = {extra = {probability = 1, probability_mult = 2, reset = 1}},
|
||||||
|
|
@ -1338,6 +1380,7 @@ q {
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
table.insert(Bakery_API.econ_only_items, "j_Roland_yard")
|
||||||
table.insert(Bakery_API.econ_only_items, "j_Roland_artemis")
|
table.insert(Bakery_API.econ_only_items, "j_Roland_artemis")
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue