48 lines
1.7 KiB
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
|