diff --git a/assets/sounds/ambient_surreal1.ogg b/assets/sounds/ambient_surreal1.ogg new file mode 100644 index 0000000..5979d96 Binary files /dev/null and b/assets/sounds/ambient_surreal1.ogg differ diff --git a/assets/sounds/ambient_surreal2.ogg b/assets/sounds/ambient_surreal2.ogg new file mode 100644 index 0000000..375a23d Binary files /dev/null and b/assets/sounds/ambient_surreal2.ogg differ diff --git a/assets/sounds/ambient_surreal3.ogg b/assets/sounds/ambient_surreal3.ogg new file mode 100644 index 0000000..82a5ef4 Binary files /dev/null and b/assets/sounds/ambient_surreal3.ogg differ diff --git a/assets/sounds/ambient_surreal4.ogg b/assets/sounds/ambient_surreal4.ogg new file mode 100644 index 0000000..176e891 Binary files /dev/null and b/assets/sounds/ambient_surreal4.ogg differ diff --git a/lovely.toml b/lovely.toml index f3893a7..d28de5c 100644 --- a/lovely.toml +++ b/lovely.toml @@ -42,12 +42,44 @@ match_indent = true target = "functions/misc_functions.lua" pattern = "local AC = G.SETTINGS.ambient_control" position = "before" -payload = '''if Jane and (type(G.ARGS.score_intensity.required_score) == "table" and G.ARGS.score_intensity.required_score:to_number() or G.ARGS.score_intensity.required_score) ~= 0 then +payload = '''if Jane and + (type(G.ARGS.score_intensity.required_score) == "table" and + G.ARGS.score_intensity.required_score:to_number() or + G.ARGS.score_intensity.required_score) ~= 0 then local break_infinity = ((Talisman or {}).config_file or {}).break_infinity local big = (break_infinity == "" or break_infinity == nil) and function (x) return x end or to_big local base = Cryptid and 2 or G.ARGS.score_intensity.required_score local expo = Cryptid and G.ARGS.score_intensity.required_score or 2 - Jane.sinister = (G.ARGS.score_intensity.earned_score / (big(base) ^ big(expo))):to_number() > 1 + local ratio = (G.ARGS.score_intensity.earned_score / (big(base) ^ big(expo))):to_number() + Jane.sinister = ratio > 1 + + G.ARGS.score_intensity.ambientSurreal4 = + (break_infinity and + SMODS.Mods.Amulet and + G.ARGS.score_intensity.earned_score >= Bakery_API.parse_hyper_e("e10#10##10000")) and 1 or 0 + + G.ARGS.score_intensity.ambientSurreal3 = + (G.ARGS.score_intensity.ambientSurreal4 == 0 and + number_format(G.ARGS.score_intensity.earned_score):find("#")) and 1 or 0 + + G.ARGS.score_intensity.ambientSurreal2 = + (G.ARGS.score_intensity.ambientSurreal3 == 0 and + G.ARGS.score_intensity.ambientSurreal4 == 0 and + (G.ARGS.score_intensity.earned_score / + (Cryptid and + big(G.ARGS.score_intensity.required_score) ^ + big(G.ARGS.score_intensity.required_score) ^ + big(G.ARGS.score_intensity.required_score) or + big(2) ^ big(G.ARGS.score_intensity.required_score) + ) + ):to_number() > 1 + ) and 1 or 0 + + G.ARGS.score_intensity.ambientSurreal1 = + (Jane.sinister and + G.ARGS.score_intensity.ambientSurreal2 == 0 and + G.ARGS.score_intensity.ambientSurreal3 == 0 and + G.ARGS.score_intensity.ambientSurreal4 == 0) and 1 or 0 end''' match_indent = true @@ -226,3 +258,16 @@ if G.GAME.modifiers.jane_spacious then t = {G.jokers, G.vouchers} end''' match_indent = true + +[[patches]] +[patches.pattern] +target = "functions/misc_functions.lua" +pattern = "ambientOrgan1 = {volfunc = function(_prev_volume) return _prev_volume*(1 - dt) + dt*0.6*(G.SETTINGS.SOUND.music_volume + 100)/200*(G.ARGS.score_intensity.organ) end}," +position = "after" +payload = ''' +jane_ambientSurreal1 = {volfunc = function(_prev_volume) return _prev_volume*(1 - dt) + dt*0.6*(G.SETTINGS.SOUND.music_volume + 80)/200*((G.ARGS.score_intensity.ambientSurreal1 or 0) * 1.4) end}, +jane_ambientSurreal2 = {volfunc = function(_prev_volume) return _prev_volume*(1 - dt) + dt*0.6*(G.SETTINGS.SOUND.music_volume + 90)/200*((G.ARGS.score_intensity.ambientSurreal2 or 0) * 1.6) end}, +jane_ambientSurreal3 = {volfunc = function(_prev_volume) return _prev_volume*(1 - dt) + dt*0.6*(G.SETTINGS.SOUND.music_volume + 100)/200*((G.ARGS.score_intensity.ambientSurreal3 or 0) * 1.8) end}, +jane_ambientSurreal4 = {volfunc = function(_prev_volume) return _prev_volume*(1 - dt) + dt*0.6*(G.SETTINGS.SOUND.music_volume + 110)/200*((G.ARGS.score_intensity.ambientSurreal4 or 0) * 2) end}, +''' +match_indent = true diff --git a/manifest.json b/manifest.json index 16c1dca..a9fce84 100644 --- a/manifest.json +++ b/manifest.json @@ -18,5 +18,5 @@ "conflicts": [ "Jen" ], - "version": "1.7.23" + "version": "1.8.0" } \ No newline at end of file diff --git a/src/main.lua b/src/main.lua index a4137ab..6c37b2b 100644 --- a/src/main.lua +++ b/src/main.lua @@ -349,6 +349,10 @@ SMODS.Atlas { path = Jane.config.texture_pack .. "/c_jane_acc.png", } +for i = 1, 4 do + SMODS.Sound({key = "ambientSurreal" .. i, path = "ambient_surreal" .. i .. ".ogg"}) +end + for _, v in ipairs({ "back", "blind",