diff --git a/assets/sprites/face/susie_bangs/annoyed.png b/assets/sprites/face/susie/bangs/annoyed.png similarity index 100% rename from assets/sprites/face/susie_bangs/annoyed.png rename to assets/sprites/face/susie/bangs/annoyed.png diff --git a/assets/sprites/face/susie_bangs/down.png b/assets/sprites/face/susie/bangs/down.png similarity index 100% rename from assets/sprites/face/susie_bangs/down.png rename to assets/sprites/face/susie/bangs/down.png diff --git a/assets/sprites/face/susie_bangs/nervous.png b/assets/sprites/face/susie/bangs/nervous.png similarity index 100% rename from assets/sprites/face/susie_bangs/nervous.png rename to assets/sprites/face/susie/bangs/nervous.png diff --git a/assets/sprites/face/susie_bangs/nervous_annoyed.png b/assets/sprites/face/susie/bangs/nervous_annoyed.png similarity index 100% rename from assets/sprites/face/susie_bangs/nervous_annoyed.png rename to assets/sprites/face/susie/bangs/nervous_annoyed.png diff --git a/assets/sprites/face/susie_bangs/nervous_b.png b/assets/sprites/face/susie/bangs/nervous_b.png similarity index 100% rename from assets/sprites/face/susie_bangs/nervous_b.png rename to assets/sprites/face/susie/bangs/nervous_b.png diff --git a/assets/sprites/face/susie_bangs/nervous_smile.png b/assets/sprites/face/susie/bangs/nervous_smile.png similarity index 100% rename from assets/sprites/face/susie_bangs/nervous_smile.png rename to assets/sprites/face/susie/bangs/nervous_smile.png diff --git a/assets/sprites/face/susie_bangs/neutral.png b/assets/sprites/face/susie/bangs/neutral.png similarity index 100% rename from assets/sprites/face/susie_bangs/neutral.png rename to assets/sprites/face/susie/bangs/neutral.png diff --git a/assets/sprites/face/susie_bangs/shock.png b/assets/sprites/face/susie/bangs/shock.png similarity index 100% rename from assets/sprites/face/susie_bangs/shock.png rename to assets/sprites/face/susie/bangs/shock.png diff --git a/assets/sprites/face/susie_bangs/smile.png b/assets/sprites/face/susie/bangs/smile.png similarity index 100% rename from assets/sprites/face/susie_bangs/smile.png rename to assets/sprites/face/susie/bangs/smile.png diff --git a/assets/sprites/face/susie_bangs/smile_b.png b/assets/sprites/face/susie/bangs/smile_b.png similarity index 100% rename from assets/sprites/face/susie_bangs/smile_b.png rename to assets/sprites/face/susie/bangs/smile_b.png diff --git a/assets/sprites/face/susie_bangs/smile_c.png b/assets/sprites/face/susie/bangs/smile_c.png similarity index 100% rename from assets/sprites/face/susie_bangs/smile_c.png rename to assets/sprites/face/susie/bangs/smile_c.png diff --git a/assets/sprites/face/susie_bangs/teeth.png b/assets/sprites/face/susie/bangs/teeth.png similarity index 100% rename from assets/sprites/face/susie_bangs/teeth.png rename to assets/sprites/face/susie/bangs/teeth.png diff --git a/assets/sprites/face/susie_bangs/teeth_angry.png b/assets/sprites/face/susie/bangs/teeth_angry.png similarity index 100% rename from assets/sprites/face/susie_bangs/teeth_angry.png rename to assets/sprites/face/susie/bangs/teeth_angry.png diff --git a/assets/sprites/face/susie_bangs/teeth_angry_b.png b/assets/sprites/face/susie/bangs/teeth_angry_b.png similarity index 100% rename from assets/sprites/face/susie_bangs/teeth_angry_b.png rename to assets/sprites/face/susie/bangs/teeth_angry_b.png diff --git a/assets/sprites/face/susie_bangs/teeth_eye.png b/assets/sprites/face/susie/bangs/teeth_eye.png similarity index 100% rename from assets/sprites/face/susie_bangs/teeth_eye.png rename to assets/sprites/face/susie/bangs/teeth_eye.png diff --git a/assets/sprites/party/suzy/light/walk/up_1.png b/assets/sprites/party/suzy/light/walk/up_1.png index 00b9507b7..a8d9f982b 100644 Binary files a/assets/sprites/party/suzy/light/walk/up_1.png and b/assets/sprites/party/suzy/light/walk/up_1.png differ diff --git a/mods/dpr_main/assets/music/unsealing_audio.ogg b/mods/dpr_main/assets/music/unsealing_audio.ogg new file mode 100644 index 000000000..bde0b7b1e Binary files /dev/null and b/mods/dpr_main/assets/music/unsealing_audio.ogg differ diff --git a/mods/dpr_main/assets/sprites/tilesets/cliffs.png b/mods/dpr_main/assets/sprites/tilesets/cliffs.png index 46a523329..39a6c87fa 100644 Binary files a/mods/dpr_main/assets/sprites/tilesets/cliffs.png and b/mods/dpr_main/assets/sprites/tilesets/cliffs.png differ diff --git a/mods/dpr_main/assets/sprites/world/maps/devroom/diamond's_room.png b/mods/dpr_main/assets/sprites/world/maps/devroom/diamond's_room.png new file mode 100644 index 000000000..b0ff1634e Binary files /dev/null and b/mods/dpr_main/assets/sprites/world/maps/devroom/diamond's_room.png differ diff --git a/mods/dpr_main/scripts/objects/world/SpaceBG.lua b/mods/dpr_main/scripts/objects/world/SpaceBG.lua index 3121a3f77..7652798e1 100644 --- a/mods/dpr_main/scripts/objects/world/SpaceBG.lua +++ b/mods/dpr_main/scripts/objects/world/SpaceBG.lua @@ -11,6 +11,9 @@ function SpaceBG:init() self.physics.speed_x = 0.3 self.debug_select = false + + self.space_bg = true + end return SpaceBG diff --git a/mods/dpr_main/scripts/shops/diamond_store.lua b/mods/dpr_main/scripts/shops/diamond_store.lua index 20e2f6756..35c45b0d3 100644 --- a/mods/dpr_main/scripts/shops/diamond_store.lua +++ b/mods/dpr_main/scripts/shops/diamond_store.lua @@ -60,6 +60,7 @@ self.talktext = ({ self:registerItem("tension_storage", {stock = 1}) self:registerItem("tension_plus", {stock = 4}) self:registerItem("friend_buster", {stock = 1}) + self:registerItem("bp_plus", {stock = 1}) self:registerTalk("Yourself") --self:registerTalk("...") @@ -169,11 +170,19 @@ function Diamond_Store:startTalk(talk) "[emote:lookdown]* We've talked on multiple occasions.", "[emote:huh]* Pretend you don't know me agian and I'll knock your teeth out...", }) + elseif Game.party[1].id == "brenda" then + self:startDialogue({ + "[emote:blink_3]* Brenda you already know me.", + "[emote:look_left]* But, in case you forgot.", + "[emote:lookdown]* I live in Germany.", + }) + elseif Game.party[1].id == "bor" then + self:startDialogue({ + "[emote:blink_3]* I don't know.[wait:5] Ask Bor.", + }) else self:startDialogue({ - "[emote:talk]* So uh...[emote:idle]", - "[emote:talk]* My name is Sad-Diamond-Man...[emote:idle]", - "[emote:talk]* Most people shorten it to SDM.[emote:idle]" + "[emote:huh]* I sell shit.", }) end elseif talk == "Why are you sad?" then diff --git a/mods/dpr_main/scripts/world/cutscenes/_main.lua b/mods/dpr_main/scripts/world/cutscenes/_main.lua index 53e789826..6e467fcd5 100644 --- a/mods/dpr_main/scripts/world/cutscenes/_main.lua +++ b/mods/dpr_main/scripts/world/cutscenes/_main.lua @@ -72,7 +72,7 @@ return { or (Input.down("c") and Input.down("d")) or (Input.down("gamepad:leftshoulder") and Input.down("gamepad:rightshoulder")) ) then - Game.fader:fadeOut { speed = 0 } + --Game.fader:fadeOut { speed = 0 } -- Kristal.hideBorder(0) takes an entire frame, which is too slow. BORDER_ALPHA = 0 Game:setFlag("skipped_intro", true) @@ -90,9 +90,7 @@ return { Game.world:startCutscene("_main.snowgraveskip") end) else]] - Game.tutorial = true - Game.world:loadMap("grey_cliffside/cliffside_start", nil, "down") - Game.world:startCutscene("cliffside.intro") + Game.world:loadMap("grey_cliffside/dead_room1_start", "spawn", "down") --end end) cutscene:endCutscene() @@ -453,13 +451,11 @@ return { cutscene:wait(1) gonerText("IS IN YOUR HANDS[wait:20]") cutscene:wait(1.5) - Game.fader:fadeOut {speed = 0} + --Game.fader:fadeOut {speed = 0} cutscene:after(function() Game:setGlobalFlag("Intro_seen", true) - Game.tutorial = true - Game.world:mapTransition("grey_cliffside/cliffside_start", nil, "down") - Game.world:startCutscene("cliffside.intro") + Game.world:loadMap("grey_cliffside/dead_room1_start", "spawn", "down") end) end diff --git a/mods/dpr_main/scripts/world/cutscenes/cliffside.lua b/mods/dpr_main/scripts/world/cutscenes/cliffside.lua index 91e0dfab8..ea3edda31 100644 --- a/mods/dpr_main/scripts/world/cutscenes/cliffside.lua +++ b/mods/dpr_main/scripts/world/cutscenes/cliffside.lua @@ -8,6 +8,222 @@ end ---@type table local cliffside = { ---@param cutscene WorldCutscene + + slide_controls = function (cutscene, event) + local text = Game.world.map.textobjjj + text:slideTo(-280, text.y, 4, "out-cubic") + end, + + free_dragon = function (cutscene, event) + + if Game:getFlag("tutor_free_crystal") then + cutscene:text("* It's a crystal.") + return + end + + cutscene:text("* Would you like to free the roaring dragon?") + + local choicer = cutscene:choicer({"Yes", "No"}) + local susie + local type + + if Game.world:getCharacter("susie") then + susie = Game.world:getCharacter("susie") + else + susie = Game.world:getCharacter("suzy_lw") + end + + if choicer == 1 then + if Game.world.player.facing == "up" then + cutscene:wait(cutscene:walkTo(Game.world.player, 300, 260, 1)) + Game.world.player:setFacing("up") + + Game.world.music:pause() + + cutscene:wait(1) + + local white_glows = Game.world.map.white_glows + + if white_glows then + Game.world.timer:tween(5, white_glows, {alpha = 0}) + end + + local leader = Game.world.player + local soul = Game.world:spawnObject(UsefountainSoul(leader.x, leader.y - leader.height + 10), "ui") + soul.color = Game:getPartyMember(Game.party[1].id).soul_color or {1,0,0} + cutscene:playSound("great_shine") + + cutscene:wait(3) + + Game.world.timer:tween(4, Game.world.map.text_free, {alpha = 0}) + Game.world.timer:tween(4, Game.world.map.text_the, {alpha = 0}) + Game.world.timer:tween(4, Game.world.map.text_roaring, {alpha = 0}) + Game.world.timer:tween(4, Game.world.map.text_dragon, {alpha = 0}) + + Game.world.music:play("unsealing_audio", 1) + Game.world.music.source:setLooping(false) + + --cutscene:wait(50/30) + + Game.world.timer:tween(170/30, soul, {y = 160}) + Game.world.timer:tween(5, susie, {alpha = 0.70}) + + cutscene:wait(5) + local rev = Assets.playSound("revival") + soul:shine() + + + local flash_parts = {} + local flash_part_total = 12 + local flash_part_grow_factor = 0.5 + for i = 1, flash_part_total - 1 do + -- width is 1px for better scaling + local part = Rectangle(SCREEN_WIDTH / 2, 0, 1, SCREEN_HEIGHT) + part:setOrigin(0.5, 0) + part.layer = soul.layer - i + part:setColor(1, 1, 1, -(i / flash_part_total)) + part.graphics.fade = flash_part_grow_factor / 16 + part.graphics.fade_to = math.huge + part.scale_x = i*i * 2 + part.graphics.grow_x = flash_part_grow_factor*i * 2 + table.insert(flash_parts, part) + Game.world:addChild(part) + end + cutscene:wait(2) + rev:stop() + + if white_glows then + white_glows.alpha = 1 + end + + Game.world.map.text_free.alpha = 1 + Game.world.map.text_the.alpha = 1 + Game.world.map.text_roaring.alpha = 1 + Game.world.map.text_dragon.alpha = 1 + + soul:remove() + + for i,v in ipairs(flash_parts) do + flash_parts[i]:remove() + end + + --Game.world.fader:fadeIn(nil, {speed = 2, color = {1, 1, 1}, alpha = 1}) + Assets.playSound("mirrorbreak") + susie:shake() + susie.alpha = 1 + cutscene:slideTo(susie, susie.x, 245, 0.5, "out-cubic") + Game.world.player.x, Game.world.player.y = 300, 320 + cutscene:wait(0.3) + susie:setSprite("fell") + susie:shake() + Assets.playSound("bump") + susie.sprite:removeFX() + + cutscene:wait(3) + susie:shake() + Assets.playSound("bump") + cutscene:wait(1) + susie:shake() + Assets.playSound("bump") + cutscene:wait(1) + + if susie.actor.name == "Suzy" then + + susie.x = Game.world.player.x + susie:shake() + susie:setFacing("up") + susie:resetSprite() + cutscene:wait(0.5) + + susie.x = Game.world.player.x + susie:shake() + susie:setFacing("down") + susie:resetSprite() + cutscene:wait(0.5) + susie:alert() + cutscene:wait(1) + cutscene:text("* Is that you, [color:yellow]Mu[color:reset]-", nil, "suzy_lw", {auto = true}) + cutscene:text("* [shake:0.8]Nope.[wait:5] Nope.[wait:5]Nope.[wait:5]Nope.", "shocked", "hero") + cutscene:text("* It's Hero.[wait:5][face:neutral_closed] My name is Hero.", "suspicious", "hero") + + Game.world.music:play("demonic_little_grey_cliffs") + cutscene:text("* This is all very much a placeholder text/cutscene. Please rewrite it if you want.") + + susie:convertToFollower() + Game:addPartyMember("suzy") + Game:unlockPartyMember("suzy") + cutscene:wait(cutscene:attachFollowers()) + + else + + susie.x = Game.world.player.x + susie:shake() + susie:setFacing("up") + susie.actor.default = "walk_bangs_unhappy" + susie:resetSprite() + cutscene:wait(0.5) + + susie:setFacing("left") + cutscene:wait(0.4) + susie:setFacing("right") + cutscene:wait(0.5) + susie:setFacing("down") + cutscene:wait(0.3) + susie:setFacing("up") + cutscene:wait(0.6) + susie:alert() + cutscene:wait(0.2) + susie:setSprite("shock_behind") + cutscene:wait(0.3) + local susi_sound = Assets.playSound("whip_crack_only") + susie:setSprite("turn_around") + cutscene:wait(0.1) + susi_sound:stop() + susie:setSprite("shock_down") + local sus_sound = Assets.playSound("sussurprise") + + cutscene:wait(cutscene:slideTo(susie, susie.x, susie.y - 20, 0.2, "out-cubic")) + + sus_sound:stop() + susie:shake() + Assets.playSound("impact") + susie:setSprite("battle/hurt") + cutscene:wait(0.5) + + susie:setSprite("battle/attackready_1") + Assets.playSound("weaponpull_fast") + cutscene:wait(cutscene:slideTo(susie, 130, 240, 0.5, "out-cubic")) + local hero = Game.world:getCharacter("hero") + hero:setFacing("left") + --cutscene:wait(0.5) + cutscene:text("* Hey![wait:5] Back off-", "bangs/nervous_b", "susie", {auto = true}) + cutscene:text("* ...", "bangs/nervous_smile", "susie") + --local choicer = cutscene:choicer({ "* Who are you\ntalking to?", "* Are you\nokay?" }) + cutscene:text("* Thought there was someone behind me.", "bangs/nervous_smile", "susie") + cutscene:wait(1) + Assets.playSound("equip") + susie:setFacing("right") + susie:resetSprite() + cutscene:wait(1) + + cutscene:text("* Currently unfinished cutscene. Someone please add onto this or fix things you don't like.") + + susie:convertToFollower() + Game:addPartyMember("susie") + Game:unlockPartyMember("susie") + cutscene:wait(cutscene:attachFollowers()) + + end + Game:setFlag("tutor_free_crystal", true) + + + else + cutscene:text("* You can't break a seal from the side you[color:yellow][wait:5] dummy[color:reset]!") + end + else + cutscene:text("* You decide to not free it for now...") + end + end, intro = function (cutscene, event) Kristal.hideBorder(0) cutscene:wait(function () @@ -649,6 +865,7 @@ local cliffside = { Game.world.player.cliff = nil end, warp_bin = function (cutscene, event) + cutscene:text("* Bin tutorial goes here. Don't forget.") Game.world:mapTransition("main_hub") end, video = function (cutscene, event) @@ -695,9 +912,6 @@ vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords) end) video:remove() end, - suzy = function (cutscene, event) - end, - susie = function (cutscene, event) local hero = cutscene:getCharacter("hero") local susie = cutscene:getCharacter("susie") diff --git a/mods/dpr_main/scripts/world/events/glitch_bg.lua b/mods/dpr_main/scripts/world/events/glitch_bg.lua index 421c36f1f..4ccf39d42 100644 --- a/mods/dpr_main/scripts/world/events/glitch_bg.lua +++ b/mods/dpr_main/scripts/world/events/glitch_bg.lua @@ -1,11 +1,10 @@ local Glitch_Bg, super = Class(Event) function Glitch_Bg:init(data) local map = Game.world.map - function map:onEnter() - --super.onEnter(map) - Game.world:spawnObject(white_glows(), "objects_bg") - - end + map.onEnter = Utils.override(map.onEnter, function(orig, ...) + orig(...) + map.white_glows = Game.world:spawnObject(white_glows(), "objects_bg") + end) super.init(self, data) end return Glitch_Bg \ No newline at end of file diff --git a/mods/dpr_main/scripts/world/maps/grey_cliffside/dead_room1_start/data.lua b/mods/dpr_main/scripts/world/maps/grey_cliffside/dead_room1_start/data.lua new file mode 100644 index 000000000..7ece50b15 --- /dev/null +++ b/mods/dpr_main/scripts/world/maps/grey_cliffside/dead_room1_start/data.lua @@ -0,0 +1,814 @@ +return { + version = "1.11", + luaversion = "5.1", + tiledversion = "1.11.0", + class = "", + orientation = "orthogonal", + renderorder = "right-down", + width = 20, + height = 24, + tilewidth = 40, + tileheight = 40, + nextlayerid = 10, + nextobjectid = 58, + properties = { + ["music"] = "demonic_little_grey_cliffs" + }, + tilesets = { + { + name = "cliffs", + firstgid = 1, + filename = "../../../tilesets/cliffs.tsx", + exportfilename = "../../../tilesets/cliffs.lua" + } + }, + layers = { + { + type = "objectgroup", + draworder = "topdown", + id = 5, + name = "objects_bg", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 28, + name = "glitch_bg", + type = "", + shape = "rectangle", + x = 520, + y = 560, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + } + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 6, + name = "objects_under", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 29, + name = "magicglass", + type = "", + shape = "rectangle", + x = 200, + y = 540, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 30, + name = "magicglass", + type = "", + shape = "rectangle", + x = 160, + y = 540, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 31, + name = "magicglass", + type = "", + shape = "rectangle", + x = 0, + y = 540, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 32, + name = "magicglass", + type = "", + shape = "rectangle", + x = 40, + y = 540, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 33, + name = "magicglass", + type = "", + shape = "rectangle", + x = 80, + y = 540, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 34, + name = "magicglass", + type = "", + shape = "rectangle", + x = 120, + y = 540, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + } + } + }, + { + type = "tilelayer", + x = 0, + y = 0, + width = 20, + height = 24, + id = 1, + name = "Tile Layer 1", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 11, 0, 8, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 0, 18, 18, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 10, 23, + 0, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 0, 21, 23, 0, 23, 23, + 0, 7, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9, 0, 20, 23, 0, 23, 23, + 0, 7, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 3, 3, 71, 71, 71, 71, + 3, 13, 11, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 71, 71, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 18, 18, 18, 18, 18, 18, + 18, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 28, 28, 28, 28, 28, 28, + 28, 17, 18, 18, 12, 13, 13, 13, 13, 13, 14, 18, 18, 19, 0, 0, 0, 0, 0, 0, + 0, 27, 28, 28, 17, 18, 82, 83, 84, 18, 19, 28, 28, 29, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 27, 28, 82, 83, 84, 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 0, 0, 0, 82, 83, 84, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, + 85, 0, 0, 0, 0, 0, 82, 83, 84, 0, 2147483652, 2147483651, 2147483650, 0, 0, 0, 17, 18, 19, 0, + 0, 0, 0, 0, 0, 0, 82, 83, 84, 0, 2147483732, 2147483731, 2147483730, 0, 0, 0, 22, 23, 24, 0, + 0, 0, 0, 0, 0, 0, 82, 83, 84, 0, 2147483733, 2147483733, 2147483733, 0, 0, 0, 22, 23, 24, 0, + 0, 0, 0, 0, 0, 0, 82, 83, 84, 0, 0, 0, 0, 0, 0, 0, 42, 3, 4, 0, + 0, 0, 0, 0, 0, 0, 82, 83, 84, 0, 0, 0, 0, 0, 0, 0, 7, 8, 14, 0, + 0, 0, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 8, 14, 0, + 0, 0, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 14, 0, + 0, 0, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 14, 18, 18, 18, 18, 19, 0, + 0, 0, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 14, 28, 28, 28, 28, 29, 0, + 0, 0, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "tilelayer", + x = 0, + y = 0, + width = 20, + height = 24, + id = 9, + name = "Tile Layer 3", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 56, 57, + 0, 0, 0, 0, 0, 0, 118, 119, 120, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 128, 71, 130, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 59, + 0, 0, 0, 0, 0, 0, 133, 71, 135, 0, 0, 0, 0, 0, 0, 0, 51, 0, 49, 2147483697, + 0, 0, 0, 0, 0, 0, 56, 134, 57, 0, 0, 0, 0, 0, 0, 2684354618, 56, 0, 54, 55, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2684354618, 71, 71, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1073741900, 1073741900, 1073741900, 1073741900, 1073741900, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "tilelayer", + x = 0, + y = 0, + width = 20, + height = 24, + id = 8, + name = "Tile Layer 2", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 71, 93, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 40, 71, 93, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 71, 93, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 71, 93, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 71, 93, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 71, 93, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 97, 98, 96, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 41, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2147483654, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 11, 0, 0, 0, 3221225478, 1073741830, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 7, + name = "markers", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 35, + name = "spawn", + type = "", + shape = "point", + x = 280, + y = 840, + width = 0, + height = 0, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 41, + name = "entry_2", + type = "", + shape = "point", + x = 40, + y = 280, + width = 0, + height = 0, + rotation = 0, + visible = true, + properties = {} + } + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 4, + name = "objects", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 27, + name = "footstep", + type = "", + shape = "rectangle", + x = 440, + y = 560, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 40, + name = "transition", + type = "", + shape = "rectangle", + x = -40, + y = 720, + width = 40, + height = 200, + rotation = 0, + visible = true, + properties = { + ["map"] = "grey_cliffside/worse_vents", + ["marker"] = "spawn" + } + }, + { + id = 45, + name = "npc", + type = "", + shape = "point", + x = 721, + y = 780, + width = 0, + height = 0, + rotation = 0, + visible = true, + properties = { + ["actor"] = "stranger", + ["cond"] = "Game:getFlag(\"FUN\") >= 51 and Game:getFlag(\"FUN\") <= 60 and not Game:getFlag(\"met_stranger\")", + ["cutscene"] = "cliffside.stranger" + } + }, + { + id = 54, + name = "interactable", + type = "", + shape = "rectangle", + x = 240, + y = 80, + width = 120, + height = 120, + rotation = 0, + visible = true, + properties = { + ["cutscene"] = "cliffside.free_dragon", + ["solid"] = true + } + }, + { + id = 55, + name = "script", + type = "", + shape = "rectangle", + x = 240, + y = 680, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = { + ["cutscene"] = "cliffside.slide_controls", + ["once"] = false + } + }, + { + id = 57, + name = "transition", + type = "", + shape = "rectangle", + x = -36, + y = 168, + width = 40, + height = 200, + rotation = 0, + visible = true, + properties = { + ["map"] = "grey_cliffside/the_end", + ["marker"] = "entry" + } + } + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 3, + name = "collision", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 1, + name = "", + type = "", + shape = "rectangle", + x = 0, + y = 120, + width = 40, + height = 120, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 2, + name = "", + type = "", + shape = "rectangle", + x = 0, + y = 320, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 3, + name = "", + type = "", + shape = "rectangle", + x = 40, + y = 360, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 4, + name = "", + type = "", + shape = "rectangle", + x = 160, + y = 400, + width = 80, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 5, + name = "", + type = "", + shape = "rectangle", + x = 0, + y = 680, + width = 240, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 6, + name = "", + type = "", + shape = "rectangle", + x = 360, + y = 680, + width = 280, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 7, + name = "", + type = "", + shape = "rectangle", + x = 600, + y = 640, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 8, + name = "", + type = "", + shape = "rectangle", + x = 640, + y = 600, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 9, + name = "", + type = "", + shape = "rectangle", + x = 760, + y = 640, + width = 40, + height = 160, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 10, + name = "", + type = "", + shape = "rectangle", + x = 560, + y = 800, + width = 200, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 11, + name = "", + type = "", + shape = "rectangle", + x = 360, + y = 920, + width = 200, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 12, + name = "", + type = "", + shape = "rectangle", + x = 560, + y = 840, + width = 40, + height = 80, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 13, + name = "", + type = "", + shape = "rectangle", + x = 0, + y = 920, + width = 240, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 14, + name = "", + type = "", + shape = "rectangle", + x = 360, + y = 400, + width = 80, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 15, + name = "", + type = "", + shape = "rectangle", + x = 440, + y = 360, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 16, + name = "", + type = "", + shape = "rectangle", + x = 560, + y = 280, + width = 240, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 17, + name = "", + type = "", + shape = "rectangle", + x = 560, + y = 320, + width = 40, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 18, + name = "", + type = "", + shape = "rectangle", + x = 560, + y = 120, + width = 40, + height = 80, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 19, + name = "", + type = "", + shape = "rectangle", + x = 40, + y = 80, + width = 520, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 20, + name = "", + type = "", + shape = "rectangle", + x = 600, + y = 160, + width = 200, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 21, + name = "", + type = "", + shape = "rectangle", + x = 200, + y = 440, + width = 40, + height = 100, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 22, + name = "", + type = "", + shape = "rectangle", + x = 200, + y = 580, + width = 40, + height = 100, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 23, + name = "", + type = "", + shape = "rectangle", + x = 0, + y = 500, + width = 200, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 24, + name = "", + type = "", + shape = "rectangle", + x = 0, + y = 580, + width = 200, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 26, + name = "", + type = "", + shape = "rectangle", + x = 360, + y = 440, + width = 40, + height = 240, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 47, + name = "", + type = "", + shape = "rectangle", + x = 240, + y = 920, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 48, + name = "", + type = "", + shape = "rectangle", + x = 40, + y = 720, + width = 40, + height = 200, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 49, + name = "", + type = "", + shape = "rectangle", + x = 640, + y = 200, + width = 40, + height = 80, + rotation = 0, + visible = true, + properties = {} + } + } + } + } +} diff --git a/mods/dpr_main/scripts/world/maps/grey_cliffside/dead_room1_start/dead_room1_start.tmx b/mods/dpr_main/scripts/world/maps/grey_cliffside/dead_room1_start/dead_room1_start.tmx new file mode 100644 index 000000000..0bc0a1a34 --- /dev/null +++ b/mods/dpr_main/scripts/world/maps/grey_cliffside/dead_room1_start/dead_room1_start.tmx @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,8,6, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,18,0,18,18, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,23,0,10,23, +0,2,3,3,3,3,3,3,3,3,3,3,3,4,0,21,23,0,23,23, +0,7,13,13,13,13,13,13,13,13,13,13,13,9,0,20,23,0,23,23, +0,7,13,13,13,13,13,13,13,13,13,13,13,13,3,3,71,71,71,71, +3,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,71,71, +13,13,13,13,13,13,13,13,13,13,13,13,13,14,18,18,18,18,18,18, +18,12,13,13,13,13,13,13,13,13,13,13,13,14,28,28,28,28,28,28, +28,17,18,18,12,13,13,13,13,13,14,18,18,19,0,0,0,0,0,0, +0,27,28,28,17,18,82,83,84,18,19,28,28,29,0,0,0,0,0,0, +4,0,0,0,27,28,82,83,84,28,29,0,0,0,0,0,0,0,0,0, +84,0,0,0,0,0,82,83,84,0,0,0,0,0,0,0,2,3,4,0, +85,0,0,0,0,0,82,83,84,0,2147483652,2147483651,2147483650,0,0,0,17,18,19,0, +0,0,0,0,0,0,82,83,84,0,2147483732,2147483731,2147483730,0,0,0,22,23,24,0, +0,0,0,0,0,0,82,83,84,0,2147483733,2147483733,2147483733,0,0,0,22,23,24,0, +0,0,0,0,0,0,82,83,84,0,0,0,0,0,0,0,42,3,4,0, +0,0,0,0,0,0,82,83,84,0,0,0,0,0,0,0,7,8,14,0, +0,0,2,3,3,3,3,3,3,3,3,3,3,3,3,3,8,8,14,0, +0,0,12,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,14,0, +0,0,12,8,8,8,8,8,8,8,8,8,8,14,18,18,18,18,19,0, +0,0,12,8,8,8,8,8,8,8,8,8,8,14,28,28,28,28,29,0, +0,0,12,8,8,8,8,8,8,8,8,8,8,14,0,0,0,0,0,0, +0,0,17,18,18,18,18,18,18,18,18,18,18,19,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,56,57, +0,0,0,0,0,0,118,119,120,0,0,0,0,0,0,0,91,0,0,0, +0,0,0,0,0,0,123,124,125,0,0,0,0,0,0,0,91,0,0,0, +0,0,0,0,0,0,128,71,130,0,0,0,0,0,0,0,46,0,0,59, +0,0,0,0,0,0,133,71,135,0,0,0,0,0,0,0,51,0,49,2147483697, +0,0,0,0,0,0,56,134,57,0,0,0,0,0,0,2684354618,56,0,54,55, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2684354618,71,71,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1073741900,1073741900,1073741900,1073741900,1073741900, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,71,93,91, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,40,71,93,91, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,71,93,91, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,71,93,91, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,71,93,91, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,71,93,91, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,97,98,96, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,41,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,2147483654,6,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,11,0,0,0,3221225478,1073741830,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mods/dpr_main/scripts/world/maps/grey_cliffside/dead_room1_start/map.lua b/mods/dpr_main/scripts/world/maps/grey_cliffside/dead_room1_start/map.lua new file mode 100644 index 000000000..f0de96318 --- /dev/null +++ b/mods/dpr_main/scripts/world/maps/grey_cliffside/dead_room1_start/map.lua @@ -0,0 +1,52 @@ +---@class Map.grey_cliffside/dead_room1_start : Map +local map, super = Class(Map) + +function map:onEnter() + super.onEnter(self) + + --[spacing:-10][font:wingdings, 18] + + function createShakyText(text, x, y) + local textobj = shakytextobject(text, x, y) + textobj.layer = 2 + Game.world:addChild(textobj) + return textobj + end + + + self.text_free = createShakyText("[shake:0.6][color:red]FREE", 140, 80) + self.text_the = createShakyText("[shake:0.6][color:red]THE", 190, 40) + self.text_roaring = createShakyText("[shake:0.6][color:red]ROARING", 370, 40) + self.text_dragon = createShakyText("[shake:0.6][color:red]DRAGON", 400, 80) + + + self.textobjjj = shakytextobject("[shake:0.6][color:yellow] -- CONTROLS --\n[Q] - Quest Menu\n[C or CTRL] - Menu\n[Z or ENTER] - Confirm\n[Z or SHIFT] - Cancel", 20, 480) + self.textobjjj.layer = 2 + Game.world:addChild(self.textobjjj) + + self.textobjjj:addFX(OutlineFX(COLORS.black)) + + if (Game:getFlag("FUN") % 2 == 0) then -- suzy gets all even fun values + local suzy = Game.world:spawnNPC("suzy_lw", 300, 180) + suzy.alpha = 0.2 + suzy.sprite:addFX(ColorMaskFX({1, 1, 1})) + + else -- and susie gets all odd fun values (swap them if you want) + local susie = Game.world:spawnNPC("susie", 315, 180) + susie:setSprite("shock_right") + susie.alpha = 0.2 + susie.sprite:addFX(ColorMaskFX({1, 1, 1})) + + end + + --local dragon = Game.world:spawnNPC("", 300, 180) +end + +function map:onExit() + super.onExit(self) + if Game:getFlag("met_stranger") == 1 then + Game.world:startCutscene("cliffside", "stranger_item") + end +end + +return map \ No newline at end of file diff --git a/mods/dpr_main/scripts/world/maps/grey_cliffside/the_end.lua b/mods/dpr_main/scripts/world/maps/grey_cliffside/the_end.lua index 61ee1a7a6..8100873eb 100644 --- a/mods/dpr_main/scripts/world/maps/grey_cliffside/the_end.lua +++ b/mods/dpr_main/scripts/world/maps/grey_cliffside/the_end.lua @@ -281,7 +281,7 @@ return { rotation = 0, visible = true, properties = { - ["map"] = "grey_cliffside/dead_room1", + ["map"] = "grey_cliffside/dead_room1_start", ["marker"] = "entry_2" } }, diff --git a/mods/dpr_main/scripts/world/maps/grey_cliffside/the_end.tmx b/mods/dpr_main/scripts/world/maps/grey_cliffside/the_end.tmx index 7decc21c4..1cf1d5524 100644 --- a/mods/dpr_main/scripts/world/maps/grey_cliffside/the_end.tmx +++ b/mods/dpr_main/scripts/world/maps/grey_cliffside/the_end.tmx @@ -70,7 +70,7 @@ - + diff --git a/mods/dpr_main/scripts/world/maps/hub_elevator/data.lua b/mods/dpr_main/scripts/world/maps/hub_elevator/data.lua index c06ff6930..77b6d0078 100644 --- a/mods/dpr_main/scripts/world/maps/hub_elevator/data.lua +++ b/mods/dpr_main/scripts/world/maps/hub_elevator/data.lua @@ -1,7 +1,7 @@ return { - version = "1.9", + version = "1.11", luaversion = "5.1", - tiledversion = "1.9.0", + tiledversion = "1.11.0", class = "", orientation = "orthogonal", renderorder = "right-down", @@ -31,7 +31,7 @@ return { { id = 21, name = "", - class = "", + type = "", shape = "rectangle", x = 160, y = 240, @@ -44,7 +44,7 @@ return { { id = 23, name = "", - class = "", + type = "", shape = "rectangle", x = 201, y = 200, @@ -57,7 +57,7 @@ return { { id = 24, name = "", - class = "", + type = "", shape = "rectangle", x = 440, y = 240, @@ -70,7 +70,7 @@ return { { id = 25, name = "", - class = "", + type = "", shape = "rectangle", x = 200, y = 360, @@ -83,7 +83,7 @@ return { { id = 26, name = "", - class = "", + type = "", shape = "rectangle", x = 360, y = 360, @@ -112,7 +112,7 @@ return { { id = 6, name = "elevatorbuttons", - class = "", + type = "", shape = "rectangle", x = 360, y = 200, @@ -125,7 +125,7 @@ return { { id = 7, name = "transition", - class = "", + type = "", shape = "rectangle", x = 280, y = 480, @@ -142,7 +142,7 @@ return { { id = 29, name = "elevator", - class = "", + type = "", shape = "rectangle", x = 0, y = 0, @@ -154,21 +154,25 @@ return { ["color_1"] = "#ff321fc3", ["color_2"] = "#ff4429ff", ["color_3"] = "#ff2368b8", - ["color_4"] = "#ff4429ff", - ["cutscene_4"] = "broken_elevator", + ["color_4"] = "#ff373887", + ["color_5"] = "#ff4429ff", + ["cutscene_5"] = "broken_elevator", ["dest_1"] = "pre_pit", ["dest_2"] = "main_hub", ["dest_3"] = "floorcyber/pre_elevator", - ["dest_4"] = "nothing", + ["dest_4"] = "seal_room/seal_room_1", + ["dest_5"] = "nothing", ["length_1"] = 140, ["length_2"] = 40, ["length_3"] = 40, - ["length_4"] = "40", + ["length_4"] = 40, + ["length_5"] = 40, ["mod_1"] = "dpr_pit_dlc", ["name_1"] = "The Dark Pit", ["name_2"] = "Floor 1", ["name_3"] = "Cyber Floor", - ["name_4"] = "Nowhere" + ["name_4"] = "Room", + ["name_5"] = "Nowhere" } } } @@ -190,7 +194,7 @@ return { { id = 5, name = "entry", - class = "", + type = "", shape = "point", x = 320, y = 440, @@ -203,7 +207,7 @@ return { { id = 32, name = "buttons", - class = "", + type = "", shape = "point", x = 380, y = 260, @@ -216,7 +220,7 @@ return { { id = 33, name = "spawn", - class = "", + type = "", shape = "point", x = 320, y = 320, @@ -229,7 +233,7 @@ return { { id = 34, name = "entry_up", - class = "", + type = "", shape = "point", x = 320, y = 260, diff --git a/mods/dpr_main/scripts/world/maps/hub_elevator/hub_elevator.tmx b/mods/dpr_main/scripts/world/maps/hub_elevator/hub_elevator.tmx index c724b8ed7..7e16ebb65 100644 --- a/mods/dpr_main/scripts/world/maps/hub_elevator/hub_elevator.tmx +++ b/mods/dpr_main/scripts/world/maps/hub_elevator/hub_elevator.tmx @@ -1,5 +1,5 @@ - + @@ -24,21 +24,25 @@ - - + + + - + + - + + - + + diff --git a/mods/dpr_main/scripts/world/maps/seal_room/seal_room_1/data.lua b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_1/data.lua new file mode 100644 index 000000000..f3998415b --- /dev/null +++ b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_1/data.lua @@ -0,0 +1,416 @@ +return { + version = "1.11", + luaversion = "5.1", + tiledversion = "1.11.0", + class = "", + orientation = "orthogonal", + renderorder = "right-down", + width = 16, + height = 12, + tilewidth = 40, + tileheight = 40, + nextlayerid = 9, + nextobjectid = 52, + properties = { + ["name"] = "Test Map - Room 1" + }, + tilesets = { + { + name = "castle", + firstgid = 1, + filename = "../../../tilesets/castle.tsx", + exportfilename = "../../../tilesets/castle.lua" + }, + { + name = "main_area", + firstgid = 41, + filename = "../../../tilesets/main_area.tsx", + exportfilename = "../../../tilesets/main_area.lua" + } + }, + layers = { + { + type = "tilelayer", + x = 0, + y = 0, + width = 16, + height = 12, + id = 1, + name = "tiles", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 93, 0, 0, 0, 95, 83, 84, 85, 93, 0, 0, 0, 95, 0, 0, + 0, 106, 107, 107, 107, 108, 83, 84, 85, 106, 107, 107, 107, 108, 0, 0, + 0, 119, 120, 120, 120, 121, 83, 84, 85, 119, 120, 120, 70, 121, 0, 0, + 0, 119, 70, 120, 120, 121, 83, 84, 85, 119, 120, 120, 120, 121, 0, 0, + 0, 119, 120, 120, 120, 121, 83, 84, 85, 119, 120, 120, 120, 121, 0, 0, + 0, 132, 133, 133, 133, 134, 83, 84, 85, 132, 133, 133, 133, 134, 0, 0, + 0, 44, 42, 42, 42, 42, 11, 11, 11, 42, 42, 42, 42, 45, 0, 0, + 0, 54, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 56, 0, 0, + 0, 54, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 56, 0, 0, + 0, 54, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 56, 0, 0, + 0, 57, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 58, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "tilelayer", + x = 0, + y = 0, + width = 16, + height = 12, + id = 2, + name = "decal", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "tilelayer", + x = 0, + y = 0, + width = 16, + height = 12, + id = 7, + name = "Tile Layer 3", + class = "", + visible = true, + opacity = 1, + offsetx = 20, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 97, 98, 2147483744, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, 124, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 136, 137, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 149, 150, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "tilelayer", + x = 0, + y = 0, + width = 16, + height = 12, + id = 8, + name = "layername", + class = "", + visible = false, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 0, 0, 0, 0, 94, 94, 94, 94, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 133, 133, 133, 133, 133, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 42, 42, 42, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 3, + name = "collision", + class = "", + visible = true, + opacity = 0.5, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 10, + name = "", + type = "", + shape = "rectangle", + x = 40, + y = 440, + width = 520, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 11, + name = "", + type = "", + shape = "rectangle", + x = 0, + y = 240, + width = 40, + height = 200, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 17, + name = "", + type = "", + shape = "rectangle", + x = 200, + y = -40, + width = 40, + height = 240, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 18, + name = "", + type = "", + shape = "rectangle", + x = 360, + y = -40, + width = 40, + height = 240, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 37, + name = "", + type = "", + shape = "rectangle", + x = 560, + y = 240, + width = 40, + height = 200, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 38, + name = "", + type = "", + shape = "rectangle", + x = 360, + y = 200, + width = 200, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 40, + name = "", + type = "", + shape = "rectangle", + x = 40, + y = 200, + width = 60, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 41, + name = "", + type = "", + shape = "rectangle", + x = 180, + y = 200, + width = 60, + height = 40, + rotation = 0, + visible = true, + properties = {} + } + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 6, + name = "objects_elevator", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 39, + name = "elevatordoor", + type = "", + shape = "rectangle", + x = 80, + y = 200, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = {} + } + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 4, + name = "objects", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 47, + name = "interactable", + type = "", + shape = "rectangle", + x = 240, + y = 200, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = { + ["cond"] = "#Game:getFlag(\"_unlockedPartyMembers\") < 5", + ["solid"] = true + } + }, + { + id = 49, + name = "transition", + type = "", + shape = "rectangle", + x = 101, + y = 180, + width = 80, + height = 40, + rotation = 0, + visible = true, + properties = { + ["map"] = "hub_elevator", + ["marker"] = "entry" + } + }, + { + id = 51, + name = "transition", + type = "", + shape = "rectangle", + x = 240, + y = -20, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = { + ["map"] = "seal_room/seal_room_2", + ["marker"] = "entry" + } + } + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 5, + name = "markers", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 48, + name = "entry_elevator", + type = "", + shape = "point", + x = 140, + y = 280, + width = 0, + height = 0, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 50, + name = "entry", + type = "", + shape = "point", + x = 300, + y = 60, + width = 0, + height = 0, + rotation = 0, + visible = true, + properties = {} + } + } + } + } +} diff --git a/mods/dpr_main/scripts/world/maps/seal_room/seal_room_1/map.lua b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_1/map.lua new file mode 100644 index 000000000..6b6186fa1 --- /dev/null +++ b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_1/map.lua @@ -0,0 +1,12 @@ +local map, super = Class(Map) + +function map:onEnter() + super.onEnter(self) + + if #Game:getFlag("_unlockedPartyMembers") > 5 then + Game.world.map:getTileLayer("layername").visible = false + end + +end + +return map \ No newline at end of file diff --git a/mods/dpr_main/scripts/world/maps/seal_room/seal_room_1/seal_room_1.tmx b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_1/seal_room_1.tmx new file mode 100644 index 000000000..8377e47eb --- /dev/null +++ b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_1/seal_room_1.tmx @@ -0,0 +1,116 @@ + + + + + + + + + + + + +0,93,0,0,0,95,83,84,85,93,0,0,0,95,0,0, +0,106,107,107,107,108,83,84,85,106,107,107,107,108,0,0, +0,119,120,120,120,121,83,84,85,119,120,120,70,121,0,0, +0,119,70,120,120,121,83,84,85,119,120,120,120,121,0,0, +0,119,120,120,120,121,83,84,85,119,120,120,120,121,0,0, +0,132,133,133,133,134,83,84,85,132,133,133,133,134,0,0, +0,44,42,42,42,42,11,11,11,42,42,42,42,45,0,0, +0,54,11,11,11,11,11,11,11,11,11,11,11,56,0,0, +0,54,11,11,11,11,11,11,11,11,11,11,11,56,0,0, +0,54,11,11,11,11,11,11,11,11,11,11,11,56,0,0, +0,57,68,68,68,68,68,68,68,68,68,68,68,58,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,96,97,98,2147483744,0,0,0, +0,0,0,0,0,0,0,0,0,109,110,111,0,0,0,0, +0,0,0,0,0,0,0,0,0,122,123,124,0,0,0,0, +0,0,0,0,0,0,0,0,0,135,136,137,0,0,0,0, +0,0,0,0,0,0,0,0,0,148,149,150,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,94,94,94,94,94,0,0,0,0,0,0, +0,0,0,0,0,107,107,107,107,107,0,0,0,0,0,0, +0,0,0,0,0,120,120,120,120,120,0,0,0,0,0,0, +0,0,0,0,0,120,120,120,120,120,0,0,0,0,0,0, +0,0,0,0,0,120,120,120,120,120,0,0,0,0,0,0, +0,0,0,0,0,133,133,133,133,133,0,0,0,0,0,0, +0,0,0,0,0,0,42,42,42,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mods/dpr_main/scripts/world/maps/seal_room/seal_room_2/data.lua b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_2/data.lua new file mode 100644 index 000000000..7d895931c --- /dev/null +++ b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_2/data.lua @@ -0,0 +1,419 @@ +return { + version = "1.11", + luaversion = "5.1", + tiledversion = "1.11.0", + class = "", + orientation = "orthogonal", + renderorder = "right-down", + width = 16, + height = 13, + tilewidth = 40, + tileheight = 40, + nextlayerid = 7, + nextobjectid = 49, + properties = { + ["name"] = "Test Map - Room 1" + }, + tilesets = { + { + name = "castle", + firstgid = 1, + filename = "../../../tilesets/castle.tsx", + exportfilename = "../../../tilesets/castle.lua" + }, + { + name = "main_area", + firstgid = 41, + filename = "../../../tilesets/main_area.tsx", + exportfilename = "../../../tilesets/main_area.lua" + }, + { + name = "cliffs", + firstgid = 249, + filename = "../../../tilesets/cliffs.tsx", + exportfilename = "../../../tilesets/cliffs.lua" + } + }, + layers = { + { + type = "tilelayer", + x = 0, + y = 0, + width = 16, + height = 13, + id = 1, + name = "tiles", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 265, 266, 107, 107, 107, 107, 107, 266, 266, 266, 266, 266, 108, 0, 0, + 0, 119, 120, 120, 271, 271, 271, 271, 271, 120, 120, 272, 120, 121, 0, 0, + 0, 119, 120, 120, 120, 271, 271, 271, 271, 120, 120, 272, 120, 121, 0, 0, + 0, 132, 133, 276, 276, 276, 276, 133, 276, 133, 133, 277, 133, 134, 0, 0, + 0, 44, 263, 42, 42, 251, 251, 55, 251, 251, 251, 42, 42, 45, 0, 0, + 0, 10, 11, 11, 259, 256, 256, 55, 256, 256, 11, 11, 269, 56, 0, 0, + 0, 10, 11, 11, 11, 256, 256, 256, 256, 259, 11, 11, 270, 56, 0, 0, + 0, 10, 11, 11, 11, 11, 256, 319, 319, 261, 11, 11, 11, 56, 0, 0, + 0, 10, 11, 11, 254, 11, 256, 319, 319, 11, 11, 256, 11, 56, 0, 0, + 0, 59, 68, 68, 11, 11, 11, 259, 11, 11, 11, 68, 68, 60, 0, 0, + 0, 0, 0, 0, 1073742103, 68, 11, 11, 11, 68, 60, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 331, 332, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 84, 332, 0, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "tilelayer", + x = 0, + y = 0, + width = 16, + height = 13, + id = 6, + name = "half_decal", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, + 0, 81, 82, 0, 0, 0, 0, 0, 287, 288, 0, 0, 80, 81, 0, 0, + 0, 94, 95, 0, 0, 0, 0, 0, 292, 293, 0, 0, 255, 256, 0, 0, + 0, 173, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 172, 0, 0, + 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 184, 185, 0, 0, + 0, 199, 200, 255, 0, 0, 0, 0, 0, 0, 0, 0, 197, 198, 0, 0, + 0, 0, 213, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, + 0, 225, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 224, 0, 0, + 0, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 360, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1073742075, 1073742075, 0, 0, 0, + 0, 0, 0, 0, 0, 1073742075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "tilelayer", + x = 0, + y = 0, + width = 16, + height = 13, + id = 2, + name = "decal", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 264, 0, 294, 295, 366, 367, 368, 0, 253, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 299, 300, 371, 372, 373, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 304, 305, 376, 0, 378, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 381, 0, 383, 0, 0, 0, 268, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 382, 305, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 3, + name = "collision", + class = "", + visible = true, + opacity = 0.5, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 1, + name = "", + type = "", + shape = "rectangle", + x = 40, + y = 120, + width = 520, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 6, + name = "", + type = "", + shape = "rectangle", + x = 440, + y = 400, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 7, + name = "", + type = "", + shape = "rectangle", + x = 360, + y = 440, + width = 80, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 14, + name = "", + type = "", + shape = "rectangle", + x = 160, + y = 440, + width = 80, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 15, + name = "", + type = "", + shape = "rectangle", + x = 40, + y = 400, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 38, + name = "", + type = "", + shape = "polygon", + x = 560, + y = 360, + width = 0, + height = 0, + rotation = 0, + visible = true, + polygon = { + { x = 0, y = 0 }, + { x = -40, y = 40 }, + { x = 0, y = 40 } + }, + properties = {} + }, + { + id = 39, + name = "", + type = "", + shape = "polygon", + x = 40, + y = 360, + width = 0, + height = 0, + rotation = 0, + visible = true, + polygon = { + { x = 0, y = 0 }, + { x = 0, y = 40 }, + { x = 40, y = 40 } + }, + properties = {} + }, + { + id = 40, + name = "", + type = "", + shape = "polygon", + x = 160, + y = 440, + width = 0, + height = 0, + rotation = 0, + visible = true, + polygon = { + { x = 0, y = 0 }, + { x = 0, y = -40 }, + { x = 40, y = 0 } + }, + properties = {} + }, + { + id = 41, + name = "", + type = "", + shape = "polygon", + x = 440, + y = 400, + width = 0, + height = 0, + rotation = 0, + visible = true, + polygon = { + { x = 0, y = 0 }, + { x = -40, y = 40 }, + { x = 0, y = 40 } + }, + properties = {} + }, + { + id = 43, + name = "", + type = "", + shape = "polygon", + x = 480, + y = 160, + width = 0, + height = 0, + rotation = 0, + visible = true, + polygon = { + { x = 0, y = 0 }, + { x = 0, y = 120 }, + { x = 80, y = 200 }, + { x = 80, y = 0 } + }, + properties = {} + }, + { + id = 44, + name = "", + type = "", + shape = "polygon", + x = 120, + y = 160, + width = 0, + height = 0, + rotation = 0, + visible = true, + polygon = { + { x = 0, y = 0 }, + { x = 0, y = 120 }, + { x = -80, y = 200 }, + { x = -80, y = 0 } + }, + properties = {} + } + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 4, + name = "objects", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 45, + name = "interactable", + type = "", + shape = "rectangle", + x = 240, + y = 120, + width = 120, + height = 120, + rotation = 0, + visible = true, + properties = { + ["cutscene"] = "cliffside.free_dragon", + ["solid"] = true + } + }, + { + id = 47, + name = "transition", + type = "", + shape = "rectangle", + x = 240, + y = 500, + width = 120, + height = 40, + rotation = 0, + visible = true, + properties = { + ["map"] = "seal_room/seal_room_1", + ["marker"] = "entry" + } + } + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 5, + name = "markers", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 20, + name = "spawn", + type = "", + shape = "point", + x = 300, + y = 290, + width = 0, + height = 0, + rotation = 0, + visible = true, + properties = {} + }, + { + id = 48, + name = "entry", + type = "", + shape = "point", + x = 300, + y = 480, + width = 0, + height = 0, + rotation = 0, + visible = true, + properties = {} + } + } + } + } +} diff --git a/mods/dpr_main/scripts/world/maps/seal_room/seal_room_2/map.lua b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_2/map.lua new file mode 100644 index 000000000..4afd938f2 --- /dev/null +++ b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_2/map.lua @@ -0,0 +1,21 @@ +local map, super = Class(Map) + +function map:onEnter() + super.onEnter(self) + + if (Game:getFlag("FUN") % 2 == 0) then + local susie = Game.world:spawnNPC("susie", 315, 220) + susie:setSprite("shock_right") + susie.alpha = 0.2 + susie.sprite:addFX(ColorMaskFX({1, 1, 1})) + + else + local suzy = Game.world:spawnNPC("suzy_lw", 300, 220) + suzy.alpha = 0.2 + suzy.sprite:addFX(ColorMaskFX({1, 1, 1})) + + end + +end + +return map \ No newline at end of file diff --git a/mods/dpr_main/scripts/world/maps/seal_room/seal_room_2/seal_room_2.tmx b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_2/seal_room_2.tmx new file mode 100644 index 000000000..78e359f68 --- /dev/null +++ b/mods/dpr_main/scripts/world/maps/seal_room/seal_room_2/seal_room_2.tmx @@ -0,0 +1,110 @@ + + + + + + + + + + + + + +0,265,266,107,107,107,107,107,266,266,266,266,266,108,0,0, +0,119,120,120,271,271,271,271,271,120,120,272,120,121,0,0, +0,119,120,120,120,271,271,271,271,120,120,272,120,121,0,0, +0,132,133,276,276,276,276,133,276,133,133,277,133,134,0,0, +0,44,263,42,42,251,251,55,251,251,251,42,42,45,0,0, +0,10,11,11,259,256,256,55,256,256,11,11,269,56,0,0, +0,10,11,11,11,256,256,256,256,259,11,11,270,56,0,0, +0,10,11,11,11,11,256,319,319,261,11,11,11,56,0,0, +0,10,11,11,254,11,256,319,319,11,11,256,11,56,0,0, +0,59,68,68,11,11,11,259,11,11,11,68,68,60,0,0, +0,0,0,0,1073742103,68,11,11,11,68,60,0,0,0,0,0, +0,0,0,0,0,0,83,331,332,0,0,0,0,0,0,0, +0,0,0,0,0,0,83,84,332,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,264,0,0,0,0, +0,81,82,0,0,0,0,0,287,288,0,0,80,81,0,0, +0,94,95,0,0,0,0,0,292,293,0,0,255,256,0,0, +0,173,174,0,0,0,0,0,0,0,0,0,171,172,0,0, +0,186,0,0,0,0,0,0,0,0,0,257,184,185,0,0, +0,199,200,255,0,0,0,0,0,0,0,0,197,198,0,0, +0,0,213,255,0,0,0,0,0,0,0,0,0,271,0,0, +0,225,226,0,0,0,0,0,0,0,0,0,360,224,0,0, +0,238,239,0,0,0,0,0,0,0,0,0,236,360,0,0, +0,0,0,0,0,0,0,0,0,0,0,1073742075,1073742075,0,0,0, +0,0,0,0,0,1073742075,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,249,0,0,0,0,0,0,0,0,0,0, +0,0,264,0,294,295,366,367,368,0,253,0,0,0,0,0, +0,0,0,0,299,300,371,372,373,0,0,0,0,0,0,0, +0,0,0,0,304,305,376,0,378,0,0,0,0,0,0,0, +0,0,0,0,0,0,381,0,383,0,0,0,268,0,0,0, +0,0,0,0,0,0,304,382,305,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mods/dpr_main/scripts/world/tilesets/cliffs.lua b/mods/dpr_main/scripts/world/tilesets/cliffs.lua index aeacf16f6..a57a41c01 100644 --- a/mods/dpr_main/scripts/world/tilesets/cliffs.lua +++ b/mods/dpr_main/scripts/world/tilesets/cliffs.lua @@ -1,7 +1,7 @@ return { - version = "1.9", + version = "1.11", luaversion = "5.1", - tiledversion = "1.9.2", + tiledversion = "1.11.0", name = "cliffs", class = "", tilewidth = 20, @@ -11,7 +11,7 @@ return { columns = 5, image = "../../../assets/sprites/tilesets/cliffs.png", imagewidth = 100, - imageheight = 460, + imageheight = 540, objectalignment = "unspecified", tilerendersize = "grid", fillmode = "stretch", @@ -26,6 +26,6 @@ return { }, properties = {}, wangsets = {}, - tilecount = 115, + tilecount = 135, tiles = {} } diff --git a/mods/dpr_main/scripts/world/tilesets/cliffs.tsx b/mods/dpr_main/scripts/world/tilesets/cliffs.tsx index b0cdf3958..7f69a7083 100644 --- a/mods/dpr_main/scripts/world/tilesets/cliffs.tsx +++ b/mods/dpr_main/scripts/world/tilesets/cliffs.tsx @@ -1,8 +1,8 @@ - + - + diff --git a/src/engine/game/char_file_handlers/noel_spawn.lua b/src/engine/game/char_file_handlers/noel_spawn.lua index 1ee46cb96..45723fbbc 100644 --- a/src/engine/game/char_file_handlers/noel_spawn.lua +++ b/src/engine/game/char_file_handlers/noel_spawn.lua @@ -386,4 +386,19 @@ end end) ]] +function Noel:setFlag() +end + +function Noel:getFlag() +end + +function Noel:remove() +end + +function Noel:delete() +end + +function Noel:erase() +end + return Noel \ No newline at end of file diff --git a/src/engine/game/game.lua b/src/engine/game/game.lua index 3df33d44d..fc2058b70 100644 --- a/src/engine/game/game.lua +++ b/src/engine/game/game.lua @@ -1626,9 +1626,9 @@ function Game:isDessMode() end --- Debug function - ---- Unlocks every party member (Except for Noel since their unlock mechanics are weird) +--- Unlocks every party member (Except for Noel since their unlock mechanics are weird) --Thank you for not adding Noel to this list! function Game:unlockAllPartyMembers() - local unlock = {"berdly", "brenda", "ceroba", "ddelta", "dess", "hero", "jamm", "kris", "mario", "nelle", "noelle", "ostarwalker", "pauling", "ralsei", "susie"} + local unlock = {"berdly", "bor", "brenda", "ceroba", "ddelta", "dess", "hero", "jamm", "kris", "mario", "nelle", "noelle", "ostarwalker", "pauling", "ralsei", "susie", "suzy"} for i, v in ipairs(unlock) do Game:unlockPartyMember(v) end diff --git a/src/engine/game/world/ui/dark/darkpartymenu.lua b/src/engine/game/world/ui/dark/darkpartymenu.lua index 8498bdebe..f8cc7ae1f 100644 --- a/src/engine/game/world/ui/dark/darkpartymenu.lua +++ b/src/engine/game/world/ui/dark/darkpartymenu.lua @@ -37,7 +37,7 @@ function DarkPartyMenu:init(selected) self.deltarune = {"kris", "susie", "ralsei", "noelle", "berdly", "ostarwalker"} - self.dark_place = {"hero", "dess", "brenda", "jamm", "bor"} + self.dark_place = {"hero", "dess", "brenda", "jamm", "bor", "suzy"} self.fangames = {"ceroba", "pauling"}