diff --git a/src/entities/checkpoint.lua b/src/entities/checkpoint.lua new file mode 100644 index 00000000..68d07019 --- /dev/null +++ b/src/entities/checkpoint.lua @@ -0,0 +1,18 @@ +local drawableSprite = require("structs.drawableSprite") + +local checkpoint = {} + +checkpoint.name = "checkpoint" +checkpoint.depth = 9990 + +function checkpoint.sprite(room, entity) + local bg = entity.bg or "1" + local texture = string.format("objects/checkpoint/bg/%s", bg) + local sprite = drawableSprite.spriteFromTexture(texture, entity) + + sprite:setJustification(0.5, 1.0) + + return sprite +end + +return checkpoint \ No newline at end of file diff --git a/src/entities/resort_lantern.lua b/src/entities/resort_lantern.lua new file mode 100644 index 00000000..d4746cbb --- /dev/null +++ b/src/entities/resort_lantern.lua @@ -0,0 +1,31 @@ +local drawableSprite = require("structs.drawable_sprite") + +local holderTexture = "objects/resortLantern/holder" +local lanternTexture = "objects/resortLantern/lantern00" + +local resortLantern = {} + +resortLantern.name = "resortLantern" +resortLantern.depth = 2000 +resortLantern.placements = { + name = "lantern" +} + +function resortLantern.sprite(room, entity) + local checkX, checkY = math.floor(entity.x / 8) + 2, math.floor(entity.y / 8) + local connected = room.tilesFg.matrix:get(checkX, checkY, "0") + + local holderSprite = drawableSprite.spriteFromTexture(holderTexture, entity) + local lanternSprite = drawableSprite.spriteFromTexture(lanternTexture, entity) + + if connected ~= "0" and connected ~= " " then + holderSprite.scaleX = -1 + end + + return { + holderSprite, + lanternSprite + } +end + +return resortLantern \ No newline at end of file diff --git a/src/lang/en_gb.lang b/src/lang/en_gb.lang index df5b9cec..8a176c51 100644 --- a/src/lang/en_gb.lang +++ b/src/lang/en_gb.lang @@ -101,6 +101,9 @@ entities.spikesLeft.placements.left_cliffside=Spikes (Left, Cliffside) entities.spikesLeft.placements.left_reflection=Spikes (Left, Reflection) entities.spikesLeft.placements.left_tentacles=Spikes (Left, Tentacles) +# Resort Lantern +entities.resortLantern.placements.lantern=Resort Lantern + # -- Triggers -- # triggers.triggerName.placements.*