Skip to content

Commit

Permalink
Merge pull request #307 from SadDiamondMan/main
Browse files Browse the repository at this point in the history
Susie, Suzy, and my Sanity
  • Loading branch information
BrendaK7200 authored Feb 14, 2025
2 parents 1fa6d4e + 02eb140 commit 6b2651b
Show file tree
Hide file tree
Showing 42 changed files with 2,437 additions and 55 deletions.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file modified assets/sprites/party/suzy/light/walk/up_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added mods/dpr_main/assets/music/unsealing_audio.ogg
Binary file not shown.
Binary file modified mods/dpr_main/assets/sprites/tilesets/cliffs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions mods/dpr_main/scripts/objects/world/SpaceBG.lua
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ function SpaceBG:init()

self.physics.speed_x = 0.3
self.debug_select = false

self.space_bg = true

end

return SpaceBG
15 changes: 12 additions & 3 deletions mods/dpr_main/scripts/shops/diamond_store.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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("...")
Expand Down Expand Up @@ -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
Expand Down
12 changes: 4 additions & 8 deletions mods/dpr_main/scripts/world/cutscenes/_main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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()
Expand Down Expand Up @@ -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
Expand Down
220 changes: 217 additions & 3 deletions mods/dpr_main/scripts/world/cutscenes/cliffside.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,222 @@ end
---@type table<string, fun(cutscene:WorldCutscene, event: Event|NPC)>
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 ()
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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")
Expand Down
9 changes: 4 additions & 5 deletions mods/dpr_main/scripts/world/events/glitch_bg.lua
Original file line number Diff line number Diff line change
@@ -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
Loading

0 comments on commit 6b2651b

Please sign in to comment.