diff --git a/assets/1x/unicon.png b/assets/1x/unicon.png new file mode 100644 index 0000000..8777416 Binary files /dev/null and b/assets/1x/unicon.png differ diff --git a/assets/2x/unicon.png b/assets/2x/unicon.png new file mode 100644 index 0000000..6c1401f Binary files /dev/null and b/assets/2x/unicon.png differ diff --git a/assets/sounds/phone.ogg b/assets/sounds/phone.ogg new file mode 100755 index 0000000..2c58ae0 Binary files /dev/null and b/assets/sounds/phone.ogg differ diff --git a/config.lua b/config.lua index c4d3aa9..fb7d7b4 100644 --- a/config.lua +++ b/config.lua @@ -1,4 +1,5 @@ return { + animated_icon = true, equinox_assist = false, faster_planets = false, harsh_ante_scaling = false, diff --git a/localization/en-us.lua b/localization/en-us.lua index 1866748..c18151e 100644 --- a/localization/en-us.lua +++ b/localization/en-us.lua @@ -436,6 +436,7 @@ return { }, v_dictionary = { b_Roland_add = "ADD", + b_Roland_animated_icon = "Animated Icon (requires restart)", b_Roland_bye = "Bye!", b_Roland_comma = ", ", b_Roland_debuffed = "DEBUFFED", diff --git a/manifest.json b/manifest.json index c719d1d..dd94f16 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "id": "Roland", "name": "Roland", "prefix": "Roland", - "version": "2.8.14", + "version": "2.8.15", "badge_colour": "8BE9FD", "display_name": "Roland", "main_file": "src/main.lua", diff --git a/src/charm.lua b/src/charm.lua index 071609f..9b8c355 100644 --- a/src/charm.lua +++ b/src/charm.lua @@ -8,10 +8,15 @@ SMODS.Atlas { py = 68, } +SMODS.Sound { + key = "phone", + path = "phone.ogg", +} + local charm = (function() local x = 0 - ---@param tbl SMODS.Joker|{alerted?: boolean} + ---@param tbl SMODS.Joker|{alerted?: boolean, equip?: fun(self: self, card: Card)} return function(tbl) q(function() local current_mod = SMODS.current_mod @@ -22,8 +27,18 @@ local charm = (function() tbl.unlocked = true tbl.discovered = true tbl.pos = {x = x, y = 0} - x = x + 1 tbl.atlas = "charm" + x = x + 1 + + local orig_equip = tbl.equip + + function tbl.equip(...) + play_sound("Roland_phone", 1, 0.5) + + if orig_equip then + return orig_equip(...) + end + end local charm = Bakery_API.Charm(tbl) charm:inject() diff --git a/src/main.lua b/src/main.lua index 6387270..9f65ec6 100644 --- a/src/main.lua +++ b/src/main.lua @@ -49,14 +49,16 @@ local function toggle(id) } end +local animated = SMODS.Mods.Roland.config.animated_icon + SMODS.Atlas { px = 256, py = 256, - fps = 12, - frames = 12, key = "modicon", - path = "icon.png", - atlas_table = "ANIMATION_ATLAS", + fps = animated and 12 or nil, + frames = animated and 12 or nil, + path = animated and "icon.png" or "unicon.png", + atlas_table = animated and "ANIMATION_ATLAS" or "ASSET_ATLAS", } SMODS.current_mod.qol = qol @@ -69,13 +71,14 @@ function SMODS.current_mod.config_tab() n = G.UIT.C, config = {minw = 1, minh = 1, align = "tl", padding = 0.1, colour = G.C.CLEAR}, nodes = { + toggle "animated_icon", toggle "faster_planets", - toggle "illusion_seal", - toggle "no_wild_debuff", _G["Talisman"] and toggle "harsh_ante_scaling", - G.P_CENTERS.c_Bakery_Scribe and toggle "scribable_basket", - toggle "equinox_assist", + toggle "illusion_seal", SMODS.Mods.DebugPlus and toggle "import_funky", + toggle "no_wild_debuff", + toggle "equinox_assist", + G.P_CENTERS.c_Bakery_Scribe and toggle "scribable_basket", }, }}, }