balatro-mods/Cartomancer/core/flames.lua

48 lines
1.7 KiB
Lua

local nan = math.huge/math.huge
local big_numbah = 1e308
function Cartomancer.get_flames_intensity(preview)
local value
if preview then
value = Cartomancer._INTERNAL_gasoline
elseif Cartomancer.SETTINGS.flames_relative_intensity then
-- Scale intensity relative to the required score
value = math.max(0., math.log(G.ARGS.score_intensity.earned_score/G.ARGS.score_intensity.required_score + 5, 5))
else
value = math.max(0., math.log(G.ARGS.score_intensity.earned_score, 5) - 2)
end
if value == math.huge or not value or value == nan then
value = big_numbah
end
if Cartomancer.SETTINGS.flames_intensity_vanilla then
return value
end
return math.max(
math.min(value, Cartomancer.SETTINGS.flames_intensity_max),
Cartomancer.SETTINGS.flames_intensity_min
)
end
function Cartomancer.handle_flames_volume(value)
return Cartomancer.SETTINGS.flames_volume/100. * value
end
function Cartomancer.init_setting_flames()
G.ARGS.flame_handler.chips_cart = G.ARGS.flame_handler.chips_cart or {
id = 'flame_chips_cart',
arg_tab = 'chip_flames_cart',
colour = G.C.UI_CHIPS,
accent = G.C.UI_CHIPLICK or SMODS and SMODS.Scoring_Parameters and SMODS.Scoring_Parameters.chips and SMODS.Scoring_Parameters.chips.lick or {1, 1, 1, 1}
}
G.ARGS.flame_handler.mult_cart = G.ARGS.flame_handler.mult_cart or {
id = 'flame_mult_cart',
arg_tab = 'mult_flames_cart',
colour = G.C.UI_MULT,
accent = G.C.UI_MULTLICK or SMODS and SMODS.Scoring_Parameters and SMODS.Scoring_Parameters.mult and SMODS.Scoring_Parameters.mult.lick or {1, 1, 1, 1}
}
end