diff --git a/manifest.json b/manifest.json index b198e9a..3150f35 100644 --- a/manifest.json +++ b/manifest.json @@ -18,5 +18,5 @@ "conflicts": [ "Jen" ], - "version": "1.11.27" + "version": "1.11.28" } \ No newline at end of file diff --git a/src/edition.lua b/src/edition.lua index 7e7fbae..90130e2 100644 --- a/src/edition.lua +++ b/src/edition.lua @@ -36,7 +36,7 @@ SMODS.Edition({ weight = 10, extra_cost = 2, in_shop = true, - shader = "polygloss", + shader = "jane_polygloss", apply_to_float = false, loc_vars = function(self, _, _) local vars = {self.config.chips} @@ -71,13 +71,46 @@ SMODS.Edition({ get_weight = get_weight, }) -local orig_draw_shader = Sprite.draw_shader +local moire = SMODS.Edition({ + key = "moire", + loc_txt = { + name = "Moire", + label = "Moire", + text = { + "{X:dark_edition,C:white}^#1#{} Chips", + "{X:dark_edition,C:white}^#2#{} Mult", + }, + }, + config = {e_chips = 0.8, e_mult = 1.2}, + sound = {sound = "jane_e_moire", per = 1, vol = 0.7}, + weight = 1, + extra_cost = 10, + in_shop = true, + shader = "jane_moire", + apply_to_float = false, + get_weight = get_weight, + loc_vars = function(self, _, _) + return {vars = {self.config.e_chips, self.config.e_mult}} + end, + calculate = function(self, card, context) + if not context.post_joker and (not context.main_scoring or context.cardarea ~= G.play) then + return + end -function Sprite:draw_shader(_shader, ...) - if _shader ~= "jane_jumbo" then - return orig_draw_shader(self, _shader, ...) - end -end + return { + extra = { + card = card, + colour = G.C.jane_RGB, + e_chips = self.config.e_chips, + extra = { + card = card, + colour = G.C.jane_RGB, + e_mult = self.config.e_mult, + }, + }, + } + end, +}) local jumbo_modifier = Jane.cry and 100 or 2 @@ -196,46 +229,16 @@ function Card:set_ability(...) return ret end -SMODS.Edition({ - key = "moire", - loc_txt = { - name = "Moire", - label = "Moire", - text = { - "{X:dark_edition,C:white}^#1#{} Chips", - "{X:dark_edition,C:white}^#2#{} Mult", - }, - }, - config = {e_chips = 0.8, e_mult = 1.2}, - sound = {sound = "jane_e_moire", per = 1, vol = 0.7}, - weight = 1, - extra_cost = 10, - in_shop = true, - shader = "moire", - apply_to_float = false, - get_weight = get_weight, - loc_vars = function(self, _, _) - return {vars = {self.config.e_chips, self.config.e_mult}} - end, - draw = function() - G.P_CENTERS.j_jane_saint:draw() - end, - calculate = function(self, card, context) - if not context.post_joker and (not context.main_scoring or context.cardarea ~= G.play) then - return - end +local orig_draw_shader = Sprite.draw_shader - return { - extra = { - card = card, - colour = G.C.jane_RGB, - e_chips = self.config.e_chips, - extra = { - card = card, - colour = G.C.jane_RGB, - e_mult = self.config.e_mult, - }, - }, - } - end, -}) +function Sprite:draw_shader(_shader, ...) + if _shader == "jane_jumbo" then + return + end + + if _shader == "jane_moire" then + G.P_CENTERS.j_jane_saint:draw() + end + + return orig_draw_shader(self, _shader, ...) +end