diff --git a/assets/1x/back.png b/assets/1x/back.png index 19369f1..35b38c3 100644 Binary files a/assets/1x/back.png and b/assets/1x/back.png differ diff --git a/assets/1x/backExtra.png b/assets/1x/backExtra.png new file mode 100644 index 0000000..d11ce3a Binary files /dev/null and b/assets/1x/backExtra.png differ diff --git a/assets/1x/sleeve.png b/assets/1x/sleeve.png index bfcd643..63e2dc1 100644 Binary files a/assets/1x/sleeve.png and b/assets/1x/sleeve.png differ diff --git a/assets/2x/back.png b/assets/2x/back.png index 2493549..6c943f7 100644 Binary files a/assets/2x/back.png and b/assets/2x/back.png differ diff --git a/assets/2x/backExtra.png b/assets/2x/backExtra.png new file mode 100644 index 0000000..a174b55 Binary files /dev/null and b/assets/2x/backExtra.png differ diff --git a/assets/2x/sleeve.png b/assets/2x/sleeve.png index eab3646..133c590 100644 Binary files a/assets/2x/sleeve.png and b/assets/2x/sleeve.png differ diff --git a/manifest.json b/manifest.json index 73868ad..4db4747 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "id": "Roland", "name": "Roland", "prefix": "Roland", - "version": "2.9.60", + "version": "2.9.61", "badge_colour": "8BE9FD", "display_name": "Roland", "main_file": "src/main.lua", diff --git a/src/back.lua b/src/back.lua index 0a72fc4..a4893da 100644 --- a/src/back.lua +++ b/src/back.lua @@ -53,13 +53,20 @@ local back = (function() end end)() -SMODS.Atlas { +local back_atlas = SMODS.Atlas { key = "back", path = "back.png", px = 71, py = 95, } +local extra_atlas = SMODS.Atlas { + key = "back_extra", + path = "backExtra.png", + px = 71, + py = 95, +} + local _ = CardSleeves and SMODS.Atlas { key = "sleeve", path = "sleeve.png", @@ -125,7 +132,7 @@ back { calculate = f.noop, } -back { +local b_dropship = back { key = "dropship", pronouns = "he_him", attributes = {"passive", "generation"}, @@ -144,6 +151,41 @@ back { calculate = f.noop, } +local dropship_tape + +q(function() + dropship_tape = SMODS.create_sprite(0, 0, G.CARD_W, G.CARD_H, extra_atlas, {x = 0, y = 0}) +end) + +SMODS.DrawStep { + key = "dropship_tape", + order = 5, + func = function(self) + if self.children.back.atlas ~= back_atlas or self.children.back.sprite_pos.x ~= b_dropship.pos.x then + return + end + + dropship_tape.role.draw_major = self + local deck = self.area.config.type == "deck" + local sticker_offset = self.sticker_offset or {} + + -- Don't draw dissolve since it's baked into the sprite already. Also, I had to boost its alpha for the + -- shine to look correct, so drawing this would look *awful*. + -- dropship_tape:draw_shader("dissolve", nil, nil, deck, self.children.center, self.sticker_rotation, sticker_offset.x, sticker_offset.y) + dropship_tape:draw_shader( + "voucher", + nil, + self.ARGS.send_to_shader, + deck, + self.children.center, + self.sticker_rotation, + sticker_offset.x, + sticker_offset.y + ) + end, + conditions = {vortex = false, facing = "back"}, +} + local swapper = {Spectral = "Tarot", Tarot = "Spectral"} local orig_create_card = create_card