Add new charm
|
Before Width: | Height: | Size: 7 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
|
@ -19,7 +19,7 @@ return {
|
|||
},
|
||||
},
|
||||
BakeryCharm = {
|
||||
BakeryCharm_Roland_iphone = {
|
||||
BakeryCharm_Roland_fat = {
|
||||
name = "fat i phone",
|
||||
text = {
|
||||
"Enter the shop",
|
||||
|
|
@ -27,6 +27,10 @@ return {
|
|||
"is {C:attention}skipped",
|
||||
},
|
||||
},
|
||||
BakeryCharm_Roland_flexible = {
|
||||
name = "flexi ble phone",
|
||||
text = {unpack(G.localization.descriptions.Joker.j_ring_master.text)},
|
||||
},
|
||||
},
|
||||
Blind = {
|
||||
bl_Roland_divide = {
|
||||
|
|
@ -192,7 +196,7 @@ return {
|
|||
j_Roland_temple = {
|
||||
name = "Temple",
|
||||
text = {
|
||||
"{C:attention}Unscored {C:enhanced}wild{} cards",
|
||||
"{C:attention}Unscored Wild{} cards",
|
||||
"give {X:red,C:white}X#1#{} Mult",
|
||||
},
|
||||
},
|
||||
|
|
@ -290,6 +294,7 @@ return {
|
|||
},
|
||||
v_dictionary = {
|
||||
b_Roland_comma = ", ",
|
||||
b_Roland_entering_shop = "Entering shop!",
|
||||
b_Roland_of = " of ",
|
||||
b_Roland_most_common_card = "(Rank)",
|
||||
b_Roland_na = "N/A",
|
||||
|
|
|
|||
|
|
@ -7,34 +7,66 @@ SMODS.Atlas {
|
|||
py = 68,
|
||||
}
|
||||
|
||||
q(function()
|
||||
local current_mod = SMODS.current_mod
|
||||
SMODS.current_mod = SMODS.Mods.Roland
|
||||
local charm = (function()
|
||||
local x = 0
|
||||
|
||||
local charm = Bakery_API.Charm {
|
||||
key = "iphone",
|
||||
atlas = "charm",
|
||||
pronouns = "he_they",
|
||||
pos = {x = 0, y = 0},
|
||||
alerted = true,
|
||||
unlocked = true,
|
||||
discovered = true,
|
||||
calculate = function(_, _, context)
|
||||
local _ = context.skip_blind and q(function()
|
||||
G.blind_prompt_box = G.blind_prompt_box and G.blind_prompt_box:remove()
|
||||
G.blind_select = G.blind_select and G.blind_select:remove()
|
||||
G.round_eval = G.round_eval and G.round_eval:remove()
|
||||
G.GAME.current_round.jokers_purchased = 0
|
||||
G.STATE = G.STATES.SHOP
|
||||
G.GAME.shop_free = nil
|
||||
G.GAME.shop_d6ed = nil
|
||||
G.STATE_COMPLETE = false
|
||||
end)
|
||||
end,
|
||||
}
|
||||
---@param tbl SMODS.Joker|{alerted?: boolean}
|
||||
return function(tbl)
|
||||
q(function()
|
||||
local current_mod = SMODS.current_mod
|
||||
SMODS.current_mod = SMODS.Mods.Roland
|
||||
|
||||
charm:inject()
|
||||
charm:process_loc_text()
|
||||
-- SMODS._save_d_u(charm)
|
||||
SMODS.current_mod = current_mod
|
||||
end)
|
||||
-- SMODS._save_d_u(charm)
|
||||
tbl.alerted = true
|
||||
tbl.unlocked = true
|
||||
tbl.discovered = true
|
||||
tbl.pos = {x = x, y = 0}
|
||||
tbl.atlas = "charm"
|
||||
x = x + 1
|
||||
|
||||
local charm = Bakery_API.Charm(tbl)
|
||||
charm:inject()
|
||||
charm:process_loc_text()
|
||||
SMODS.current_mod = current_mod
|
||||
end)
|
||||
end
|
||||
end)()
|
||||
|
||||
charm {
|
||||
key = "fat",
|
||||
pronouns = "he_they",
|
||||
calculate = function(_, card, context)
|
||||
if not context.skip_blind then
|
||||
return
|
||||
end
|
||||
|
||||
local message = localize {type = "variable", key = "b_Roland_entering_shop"}
|
||||
SMODS.calculate_effect({card = card, message = message, sound = "whoosh1"}, card)
|
||||
|
||||
q(function()
|
||||
G.blind_prompt_box = G.blind_prompt_box and G.blind_prompt_box:remove()
|
||||
G.blind_select = G.blind_select and G.blind_select:remove()
|
||||
G.round_eval = G.round_eval and G.round_eval:remove()
|
||||
G.GAME.current_round.jokers_purchased = 0
|
||||
G.STATE = G.STATES.SHOP
|
||||
G.GAME.shop_free = nil
|
||||
G.GAME.shop_d6ed = nil
|
||||
G.STATE_COMPLETE = false
|
||||
play_sound("whoosh1", 1.33333, 0.8)
|
||||
play_sound("whoosh1", 0.66666, 0.8)
|
||||
end)
|
||||
end,
|
||||
}
|
||||
|
||||
charm {
|
||||
key = "flexible",
|
||||
pronouns = "any_all",
|
||||
cost = 10,
|
||||
}
|
||||
|
||||
local orig_showman = SMODS.showman
|
||||
|
||||
---@diagnostic disable-next-line: duplicate-set-field
|
||||
function SMODS.showman(...)
|
||||
return G.GAME.Bakery_charm == "BakeryCharm_Roland_flexible" or orig_showman(...)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -63,11 +63,6 @@ local function level_up(hand, by, card)
|
|||
update("", 0, 0, "", 1.1)
|
||||
end
|
||||
|
||||
SMODS.Sound {
|
||||
key = "milestone",
|
||||
path = "milestone.ogg",
|
||||
}
|
||||
|
||||
SMODS.Atlas {
|
||||
key = "joker",
|
||||
path = "joker.png",
|
||||
|
|
@ -538,7 +533,7 @@ joker {
|
|||
local xmult = extra.odds
|
||||
local numerator = 1
|
||||
|
||||
for _ = 1, 31 do
|
||||
for _ = 1, 63 do
|
||||
if SMODS.pseudorandom_probability(card, "j_Roland_martingale", 1, extra.odds, "Martingale") then
|
||||
break
|
||||
end
|
||||
|
|
|
|||