This commit is contained in:
entar 2025-06-08 06:56:07 +07:00
commit 7211415ab7
24 changed files with 9504 additions and 7 deletions

146
characters/bf-dark.json Normal file
View File

@ -0,0 +1,146 @@
{
"animations": [
{
"loop": false,
"offsets": [
-5,
0
],
"anim": "idle",
"fps": 24,
"name": "BF idle dance",
"indices": []
},
{
"loop": false,
"offsets": [
5,
-6
],
"anim": "singLEFT",
"fps": 24,
"name": "BF NOTE LEFT",
"indices": []
},
{
"loop": false,
"offsets": [
-20,
-51
],
"anim": "singDOWN",
"fps": 24,
"name": "BF NOTE DOWN",
"indices": []
},
{
"loop": false,
"offsets": [
-46,
27
],
"anim": "singUP",
"fps": 24,
"name": "BF NOTE UP",
"indices": []
},
{
"loop": false,
"offsets": [
-48,
-7
],
"anim": "singRIGHT",
"fps": 24,
"name": "BF NOTE RIGHT",
"indices": []
},
{
"loop": false,
"offsets": [
7,
19
],
"anim": "singLEFTmiss",
"fps": 24,
"name": "BF NOTE LEFT MISS",
"indices": []
},
{
"loop": false,
"offsets": [
-15,
-19
],
"anim": "singDOWNmiss",
"fps": 24,
"name": "BF NOTE DOWN MISS",
"indices": []
},
{
"loop": false,
"offsets": [
-46,
27
],
"anim": "singUPmiss",
"fps": 24,
"name": "BF NOTE UP MISS",
"indices": []
},
{
"loop": false,
"offsets": [
-44,
22
],
"anim": "singRIGHTmiss",
"fps": 24,
"name": "BF NOTE RIGHT MISS",
"indices": []
},
{
"loop": false,
"offsets": [
-3,
5
],
"anim": "hey",
"fps": 24,
"name": "BF HEY",
"indices": []
},
{
"loop": true,
"offsets": [
-4,
0
],
"anim": "scared",
"fps": 24,
"name": "BF idle shaking",
"indices": []
}
],
"vocals_file": "",
"no_antialiasing": false,
"image": "sprites/characters/bf_dark",
"position": [
0,
350
],
"healthicon": "bf",
"flip_x": false,
"healthbar_colors": [
49,
176,
209
],
"camera_position": [
-300,
100
],
"sing_duration": 4,
"scale": 1,
"_editor_isPlayer": true
}

102
characters/gf-dark.json Normal file
View File

@ -0,0 +1,102 @@
{
"animations": [
{
"offsets": [
3,
0
],
"loop": false,
"anim": "cheer",
"fps": 24,
"name": "GF Cheer",
"indices": []
},
{
"offsets": [
0,
-9
],
"loop": false,
"anim": "danceLeft",
"fps": 24,
"name": "GF Dancing Beat",
"indices": [
30,
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14
]
},
{
"offsets": [
0,
-9
],
"loop": false,
"anim": "danceRight",
"fps": 24,
"name": "GF Dancing Beat",
"indices": [
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29
]
},
{
"offsets": [
-2,
-17
],
"loop": true,
"anim": "scared",
"fps": 24,
"name": "GF FEAR",
"indices": []
}
],
"vocals_file": "",
"no_antialiasing": false,
"image": "sprites/characters/GF_dark",
"position": [
0,
0
],
"healthicon": "gf",
"flip_x": false,
"healthbar_colors": [
165,
0,
77
],
"camera_position": [
0,
0
],
"sing_duration": 4,
"scale": 1,
"_editor_isPlayer": false
}

View File

@ -1,6 +1,6 @@
{
"song": {
"player1": "bf",
"player1": "bf-dark",
"player2": "spooky",
"notes": [
{
@ -6762,11 +6762,11 @@
}
],
"events": [],
"gfVersion": "gf",
"gfVersion": "gf-dark",
"player3": null,
"song": "Spookeez Erect",
"needsVoices": true,
"stage": "spooky",
"stage": "spookyErect",
"validScore": true,
"speed": 2.7,
"bpm": 166

View File

@ -0,0 +1,97 @@
-- RANK ONLY UP TILL 20, 0 MINIMUM, CHANGE THIS TO SUGGEST HOW HARD THE SONG IS, BY MARKEDAMAN
function onCreate()
if difficulty == 0 then -- easy
rank = 1
elseif difficulty == 1 then -- normal
rank = 2
elseif difficulty == 2 then -- hard
rank = 2
elseif difficulty == 3 then -- erect
rank = 8
elseif difficulty == 4 then -- nightmare
rank = 9
end
end
function onCreatePost()
if not hideHud then
if rank > 10 then
makeLuaSprite('star', 'star2', 1070, 590)
makeAnimatedLuaSprite('starFlame', 'starFlame', 1030, 440)
addAnimationByPrefix('starFlame', 'starFlame', 'fire loop full instance', 24, true)
setProperty('starFlame.alpha', 0)
scaleObject('starFlame', 1.5, 1.5)
setObjectCamera('starFlame', 'hud')
addLuaSprite('starFlame', true)
elseif rank <= 10 then
makeLuaSprite('star', 'star1', 1070, 590)
end
scaleObject('star', 0.9, 0.9)
setObjectCamera('star', 'hud')
setObjectOrder('star', getObjectOrder('starFlame') + 1)
setProperty('star.alpha', 0)
addLuaSprite('star')
makeLuaText('difficulty', ''.. rank ..'', 2230 , 0, 620)
setTextSize('difficulty', 37)
setTextFont('difficulty', 'combo.ttf')
setProperty('difficulty.alpha', 0)
addLuaText('difficulty', false)
setObjectOrder('difficulty', getObjectOrder('star') + 1)
if downscroll then
setProperty('difficulty.y', 70)
setProperty('star.y', 40)
setProperty('starFlame.y', -5)
setProperty('starFlame.angle', 190)
end
if rank > 10 then
setTextColor('difficulty', 'ffffff')
setTextBorder('difficulty', 2, '00AEFF')
elseif rank <= 10 then
setTextColor('difficulty', '000000')
setTextBorder('difficulty', 3, 'FFFFFF')
end
runTimer('ready', 0.5) -- star fade in
runTimer('wait', 8) -- star fade out
runTimer('wait2', 7.5) -- difficulty fade out
if rank > 10 then
runTimer('pausefire', 2) -- difficulty fade in
elseif rank <=10 then
runTimer('pause', 2)
end
end
end
function onTimerCompleted(tag)
if not hideHud then
if tag == 'ready' then
doTweenAlpha('hi', 'star', 1, 0.5,'linear')
end
if tag == 'wait' then
doTweenAlpha('gone', 'star', 0, 0.5,'linear')
doTweenAlpha('fireout', 'starFlame', 0, 0.5,'linear')
end
if tag == 'wait2' then
doTweenAlpha('bye', 'difficulty', 0, 0.5,'linear')
end
if tag == 'pause' then
doTweenAlpha('hi2', 'difficulty', 1, 0.5,'linear')
end
if tag == 'pausefire' then
setProperty('difficulty.alpha', 1)
setProperty('starFlame.alpha', 1)
playSound('light', 0.7)
end
end
end

View File

@ -0,0 +1,4 @@
function onCreate()
setTextFont('scoreTxt', 'vcr.ttf')
setTextFont('timeTxt','timer.ttf')
end

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -566,6 +566,7 @@ local function state(songName, songDifficulty)
characters.gf = myTypes.character(chart.gfVersion)
characters.gf.stagePosition = myTypes.Vector2(stage.girlfriend[1], stage.girlfriend[2])
characters.gf:PlayAnimation("danceLeft")
characters.gf.sprite.layer = 0
end
characters.bf = myTypes.character(chart.player1)
@ -573,6 +574,7 @@ local function state(songName, songDifficulty)
characters.bf:PlayAnimation("idle")
local image = love.graphics.newImage(string.format("images/icons/icon-%s.png", characters.bf.icon))
icons.bf = {image = image, alive = love.graphics.newQuad(0,0, 150, 150, image), dead = love.graphics.newQuad(150, 0, 150, 150, image)}
characters.bf.sprite.layer = 1
if chart.player2 ~= "none" then -- you can have no player2 but always player1
characters.dad = myTypes.character(chart.player2)
@ -581,6 +583,7 @@ local function state(songName, songDifficulty)
characters.dad:PlayAnimation(characters.dad.animInfo.idle and "idle" or "danceLeft")
local image = love.graphics.newImage(string.format("images/icons/icon-%s.png", characters.dad.icon))
icons.dad = {image = image, alive = love.graphics.newQuad(0,0, 150, 150, image), dead = love.graphics.newQuad(150, 0, 150, 150, image)}
characters.dad.sprite.layer = 1
end
conductor.stepCrochet = conductor:calculateCrochet(chart.bpm)/4

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

View File

@ -0,0 +1,614 @@
{
"TextureAtlas": {
"SubTexture": [
{
"_name": "GF Cheer0002",
"_x": "5",
"_y": "5",
"_width": "703",
"_height": "657",
"_frameX": "-0",
"_frameY": "-0",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0003",
"_x": "718",
"_y": "5",
"_width": "703",
"_height": "654",
"_frameX": "-0",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF FEAR0001",
"_x": "1431",
"_y": "651",
"_width": "699",
"_height": "641",
"_frameX": "-0",
"_frameY": "-0",
"_frameWidth": "699",
"_frameHeight": "641"
},
{
"_name": "GF FEAR0002",
"_x": "718",
"_y": "669",
"_width": "699",
"_height": "641",
"_frameX": "-0",
"_frameY": "-0",
"_frameWidth": "699",
"_frameHeight": "641"
},
{
"_name": "GF FEAR0004",
"_x": "5",
"_y": "672",
"_width": "699",
"_height": "641",
"_frameX": "-0",
"_frameY": "-0",
"_frameWidth": "699",
"_frameHeight": "641"
},
{
"_name": "GF FEAR0003",
"_x": "2140",
"_y": "651",
"_width": "699",
"_height": "639",
"_frameX": "-0",
"_frameY": "-2",
"_frameWidth": "699",
"_frameHeight": "641"
},
{
"_name": "GF Cheer0001",
"_x": "2849",
"_y": "1291",
"_width": "698",
"_height": "657",
"_frameX": "-2",
"_frameY": "-0",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0004",
"_x": "2140",
"_y": "1300",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0005",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Dancing Beat0000",
"_x": "5",
"_y": "3278",
"_width": "698",
"_height": "634",
"_frameX": "-2",
"_frameY": "-14",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0001",
"_x": "2857",
"_y": "5",
"_width": "703",
"_height": "634",
"_frameX": "-0",
"_frameY": "-14",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0002",
"_x": "2857",
"_y": "649",
"_width": "703",
"_height": "632",
"_frameX": "-0",
"_frameY": "-16",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0003",
"_x": "2843",
"_y": "2610",
"_width": "698",
"_height": "632",
"_frameX": "-2",
"_frameY": "-16",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0004",
"_x": "1421",
"_y": "3270",
"_width": "698",
"_height": "635",
"_frameX": "-2",
"_frameY": "-13",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0005",
"_x": "713",
"_y": "3277",
"_width": "698",
"_height": "635",
"_frameX": "-2",
"_frameY": "-13",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0006",
"_x": "1421",
"_y": "2624",
"_width": "698",
"_height": "636",
"_frameX": "-2",
"_frameY": "-12",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0007",
"_x": "5",
"_y": "1323",
"_width": "698",
"_height": "647",
"_frameX": "-2",
"_frameY": "-1",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0008",
"_x": "5",
"_y": "1323",
"_width": "698",
"_height": "647",
"_frameX": "-2",
"_frameY": "-1",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0009",
"_x": "5",
"_y": "1323",
"_width": "698",
"_height": "647",
"_frameX": "-2",
"_frameY": "-1",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0010",
"_x": "1427",
"_y": "1966",
"_width": "698",
"_height": "648",
"_frameX": "-2",
"_frameY": "-0",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0011",
"_x": "1427",
"_y": "1966",
"_width": "698",
"_height": "648",
"_frameX": "-2",
"_frameY": "-0",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0012",
"_x": "1427",
"_y": "1966",
"_width": "698",
"_height": "648",
"_frameX": "-2",
"_frameY": "-0",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0013",
"_x": "714",
"_y": "1320",
"_width": "698",
"_height": "648",
"_frameX": "-2",
"_frameY": "-0",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0014",
"_x": "714",
"_y": "1320",
"_width": "698",
"_height": "648",
"_frameX": "-2",
"_frameY": "-0",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0015",
"_x": "713",
"_y": "2631",
"_width": "698",
"_height": "636",
"_frameX": "-2",
"_frameY": "-12",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0016",
"_x": "1431",
"_y": "5",
"_width": "703",
"_height": "636",
"_frameX": "-0",
"_frameY": "-12",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0017",
"_x": "2144",
"_y": "5",
"_width": "703",
"_height": "636",
"_frameX": "-0",
"_frameY": "-12",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0018",
"_x": "5",
"_y": "2632",
"_width": "698",
"_height": "636",
"_frameX": "-2",
"_frameY": "-12",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0019",
"_x": "2135",
"_y": "2612",
"_width": "698",
"_height": "637",
"_frameX": "-2",
"_frameY": "-11",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0020",
"_x": "2135",
"_y": "3259",
"_width": "698",
"_height": "637",
"_frameX": "-2",
"_frameY": "-11",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0021",
"_x": "2135",
"_y": "1964",
"_width": "698",
"_height": "638",
"_frameX": "-2",
"_frameY": "-10",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0022",
"_x": "713",
"_y": "1978",
"_width": "698",
"_height": "643",
"_frameX": "-2",
"_frameY": "-5",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0023",
"_x": "713",
"_y": "1978",
"_width": "698",
"_height": "643",
"_frameX": "-2",
"_frameY": "-5",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0024",
"_x": "713",
"_y": "1978",
"_width": "698",
"_height": "643",
"_frameX": "-2",
"_frameY": "-5",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0025",
"_x": "5",
"_y": "1980",
"_width": "698",
"_height": "642",
"_frameX": "-2",
"_frameY": "-6",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0026",
"_x": "5",
"_y": "1980",
"_width": "698",
"_height": "642",
"_frameX": "-2",
"_frameY": "-6",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0027",
"_x": "5",
"_y": "1980",
"_width": "698",
"_height": "642",
"_frameX": "-2",
"_frameY": "-6",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0028",
"_x": "2848",
"_y": "1958",
"_width": "698",
"_height": "642",
"_frameX": "-2",
"_frameY": "-6",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Dancing Beat0029",
"_x": "2848",
"_y": "1958",
"_width": "698",
"_height": "642",
"_frameX": "-2",
"_frameY": "-6",
"_frameWidth": "703",
"_frameHeight": "648"
},
{
"_name": "GF Cheer0006",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0007",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0008",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0009",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0010",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0011",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0012",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0013",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0014",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0015",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0016",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0017",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0018",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0019",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0020",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
},
{
"_name": "GF Cheer0021",
"_x": "1427",
"_y": "1302",
"_width": "698",
"_height": "654",
"_frameX": "-2",
"_frameY": "-3",
"_frameWidth": "703",
"_frameHeight": "657"
}
],
"_imagePath": "gf_dark.png",
"_width": "4096",
"_height": "4096"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 948 KiB

View File

@ -13,26 +13,31 @@ return {
local sunset = myTypes.Image("images/limo/limoSunset.png", .2)
sunset.position = myTypes.Vector2(-1000, -100)
sunset.resize = myTypes.Vector2(1.5, 1.5)
sunset.layer = -10
local road = myTypes.Sprite("sprites/limo/limoRoad.png", "sprites/limo/limoRoad.json")
road:PlayAnimation("COOLROAD", 24, true)
road.position = myTypes.Vector2(-300, 230)
road.modifier = 0.6
road.layer = -9
local limobg = myTypes.Sprite("sprites/limo/bgLimo.png", "sprites/limo/bgLimo.json")
limobg:PlayAnimation("background limo pink", 24, true)
limobg.position = myTypes.Vector2(-100, 350)
limobg.modifier = .6
limobg.layer = -8
local limoDriver = myTypes.Sprite("sprites/limo/limoDrive.png", "sprites/limo/limoDrive.json")
limoDriver:PlayAnimation("Limo stage", 24, true)
limoDriver.position = myTypes.Vector2(-300, 450)
limoDriver.layer = -7
for i = 1, 5 do
local dancer = myTypes.Sprite("sprites/limo/limoDancer.png", "sprites/limo/limoDancer.json")
dancer.modifier = .6
dancer:PlayAnimation("bg dancer sketch PINK", 24, false)
dancer.position = myTypes.Vector2(-10 + i * 150, 155)
dancer.layer = -7 + i
dancers[i] = dancer
end

View File

@ -18,18 +18,22 @@ return {
sunset.position = myTypes.Vector2(-100, 0)
sunset.resize = myTypes.Vector2(1, 1)
sunset.modifier = 0.1
sunset.layer = -10
shootingStar = myTypes.Sprite("sprites/limo/erect/shooting star.png", "sprites/limo/erect/shooting star.json")
shootingStar:PlayAnimation("shooting star idle", 24, true)
shootingStar.position = myTypes.Vector2(200, 0)
shootingStar.modifier = 0.12
shootingStar.layer = -9
local road = myTypes.Sprite("sprites/limo/limoRoad.png", "sprites/limo/limoRoad.json")
road:PlayAnimation("COOLROAD", 24, true)
road.position = myTypes.Vector2(-300, 230)
road.modifier = 0.6
road.layer = -8
--nevermind
--funkin team why would you need to alpha this out in game
--[[local backFog = myTypes.Image("images/limo/erect/mistBack.png")
backFog.position = myTypes.Vector2(-100, 0)
backFog.modifier = 0.6]]
@ -38,16 +42,19 @@ return {
limobg:PlayAnimation("background limo blue", 24, true)
limobg.position = myTypes.Vector2(-100, 350)
limobg.modifier = 0.6
limobg.layer = -7
local limoDriver = myTypes.Sprite("sprites/limo/erect/limoDrive.png", "sprites/limo/erect/limoDrive.json")
limoDriver:PlayAnimation("Limo stage", 24, true)
limoDriver.position = myTypes.Vector2(-300, 450)
limoDriver = -6
for i = 1, 5 do
local dancer = myTypes.Sprite("sprites/limo/limoDancer.png", "sprites/limo/limoDancer.json")
dancer.modifier = .6
dancer:PlayAnimation("bg dancer sketch PINK", 24, false)
dancer.position = myTypes.Vector2(-10 + i * 150, 155)
dancer.layer = -6 + i
dancers[i] = dancer
end

View File

@ -9,25 +9,30 @@ return {
bg.position = myTypes.Vector2(-600, -440)
bg.resize = myTypes.Vector2(0.8, 0.8)
bg.modifier = 0.2
bg.layer = -10
upperBop = myTypes.Sprite("sprites/mall/upperBop.png", "sprites/mall/upperBop.json")
upperBop:PlayAnimation("Upper Crowd Bob", 24, false)
upperBop.position = myTypes.Vector2(-240, -40)
upperBop.modifier = 0.33
upperBop.resize = myTypes.Vector2(0.85, 0.85)
upperBop.layer = -9
local escalator = myTypes.Image("images/mall/bgEscalator.png")
escalator.position = myTypes.Vector2(-1100, -540)
escalator.resize = myTypes.Vector2(0.9, 0.9)
escalator.modifier = 0.3
escalator.layer = -8
local christmasTree = myTypes.Image("images/mall/christmasTree.png")
christmasTree.position = myTypes.Vector2(370, -250)
christmasTree.modifier = 0.4
christmasTree.layer = -7
for i = 1, 4 do --repeating cus fuck rectangles
local snowPart = myTypes.Image("images/mall/fgSnow.png")
snowPart.position = myTypes.Vector2(-1150 , 480 + i * 200)
snowPart.layer = -6
snow[i] = snowPart
end
@ -36,10 +41,12 @@ return {
bottomBop:PlayAnimation("Bottom Level Boppers", 24, false)
bottomBop.position = myTypes.Vector2(-300, 120)
bottomBop.modifier = 0.9
bottomBop.layer = -5
santa = myTypes.Sprite("sprites/mall/santa.png", "sprites/mall/santa.json")
santa:PlayAnimation("santa idle in fear", 24, false)
santa.position = myTypes.Vector2(-600, 140)
santa.layer = -4
end,
onBeat = function(beat)
if beat % 2 == 0 then

View File

@ -9,30 +9,36 @@ return {
bg.position = myTypes.Vector2(-650, -440)
bg.resize = myTypes.Vector2(0.9, 0.9)
bg.modifier = 0.2
bg.layer = -10
upperBop = myTypes.Sprite("sprites/mall/erect/upperBop.png", "sprites/mall/erect/upperBop.json")
upperBop:PlayAnimation("upperBop", 24, false)
upperBop.position = myTypes.Vector2(-240, -40)
upperBop.modifier = 0.33
upperBop.resize = myTypes.Vector2(0.85, 0.85)
upperBop.layer = -9
local escalator = myTypes.Image("images/mall/erect/bgEscalator.png")
escalator.position = myTypes.Vector2(-1100, -540)
escalator.resize = myTypes.Vector2(0.9, 0.9)
escalator.modifier = 0.3
escalator.layer = -8
local christmasTree = myTypes.Image("images/mall/erect/christmasTree.png")
christmasTree.position = myTypes.Vector2(370, -250)
christmasTree.modifier = 0.4
christmasTree.layer = -7
local fog = myTypes.Image("images/mall/erect/white.png")
fog.position = myTypes.Vector2(-1100, 200)
fog.resize = myTypes.Vector2(0.9, 0.9)
fog.modifier = 0.85
fog.layer = -6
for i = 1, 4 do --repeating cus fuck rectangles
local snowPart = myTypes.Image("images/mall/fgSnow.png")
snowPart.position = myTypes.Vector2(-1150 , 480 + i * 200)
snowPart.layer = -5
snow[i] = snowPart
end
@ -41,10 +47,12 @@ return {
bottomBop:PlayAnimation("bottomBop", 24, false)
bottomBop.position = myTypes.Vector2(-350, 120)
bottomBop.modifier = 0.9
bottomBop.layer = -3
santa = myTypes.Sprite("sprites/mall/santa.png", "sprites/mall/santa.json")
santa:PlayAnimation("santa idle in fear", 24, false)
santa.position = myTypes.Vector2(-600, 140)
santa.layer = -2
end,
onBeat = function(beat)
if beat % 2 == 0 then

View File

@ -1,6 +1,6 @@
local myTypes = require("modules.types")
local cd = math.random(10, 25)
local cd = math.random(20, 25)
local train
@ -16,40 +16,46 @@ function stage.onCreate()
bg.resize = myTypes.Vector2(1.5, 1.5)
bg.modifier = 0.1
bg.position = myTypes.Vector2(-300)
bg.layer = -10
local city = myTypes.Image("images/philly/city.png")
city.resize = myTypes.Vector2(1.5, 1.5)
city.modifier = 0.4
city.position = myTypes.Vector2(-300)
city.layer = -9
local windows = myTypes.Image("images/philly/window.png")
windows.resize = myTypes.Vector2(1.5, 1.5)
windows.modifier = 0.4
windows.position = myTypes.Vector2(-300)
windows.layer = -8
local behindTrain = myTypes.Image("images/philly/behindTrain.png")
behindTrain.resize = myTypes.Vector2(1.5, 1.5)
behindTrain.position = myTypes.Vector2(-885)
behindTrain.layer = -7
train = myTypes.Image("images/philly/train.png")
train.position = myTypes.Vector2(2000, 600)
train.layer = -6
local street = myTypes.Image("images/philly/street.png")
street.resize = myTypes.Vector2(1.5, 1.5)
street.position = myTypes.Vector2(-885)
street.layer = -5
passing = love.audio.newSource("sounds/philly/train_passes.ogg", "static")
end
function stage.onBeat(beat)
if not trainPassing then
passing:stop()
cd = cd - 1
if cd == 0 then
cd = math.random(10, 25)
cd = math.random(20, 25)
train.position = myTypes.Vector2(2000, 600)
trainPassing = true
stage.characters.gf:PlayAnimation("hairBlow")
-- passing:play()
end
end
end
@ -57,11 +63,16 @@ function stage.onBeat(beat)
function stage.onUpdate(dt)
if trainPassing then
train.position.x = train.position.x - 5000 * dt
--passing:play()
if train.position.x < -4000 then
trainPassing = false
stage.characters.gf:PlayAnimation("hairFall")
end
end
--interesting
--[[if not trainPassing then
passing:stop()
end]]
end
function stage.onClose()

View File

@ -4,7 +4,7 @@
"isPixelStage": false,
"boyfriend": [989.5, -400],
"girlfriend": [330, -400],
"girlfriend": [400, -400],
"opponent": [382, -400],
"hide_girlfriend": false,

View File

@ -9,6 +9,7 @@ return {
mansion.resize = myTypes.Vector2(2,2)
mansion:PlayAnimation("halloweem bg", 1, false)
mansion.position = myTypes.Vector2(-400, -200)
mansion.layer = -1
for index, anim in next, mansion.quads do
for index, quad in next, anim do

15
stages/spookyErect.json Normal file
View File

@ -0,0 +1,15 @@
{
"directory": "",
"defaultZoom": 1,
"isPixelStage": false,
"boyfriend": [989.5, -400],
"girlfriend": [370, 0],
"opponent": [382, -400],
"hide_girlfriend": false,
"camera_boyfriend": [350, -500],
"camera_opponent": [300, 500],
"camera_girlfriend": [0, -500],
"camera_speed": 1
}

12
stages/spookyErect.lua Normal file
View File

@ -0,0 +1,12 @@
local myTypes = require("modules.types")
local mansion
return {
onCreate = function(song)
mansion = myTypes.Sprite("sprites/spooky/halloween_bg.png", "sprites/spooky/halloween_bg.json")
mansion.resize = myTypes.Vector2(2,2)
mansion:PlayAnimation("halloweem bg", 1, false)
mansion.position = myTypes.Vector2(-400, -200)
mansion.layer = -1
end
}

View File

@ -4,36 +4,46 @@ return {
onCreate = function(song)
local backDark = myTypes.Image("images/stage/erect/backDark.png")
backDark.position = myTypes.Vector2(729, -170)
backDark.layer = -10
local crowd = myTypes.Sprite("sprites/stage/erect/crowd.png", "sprites/stage/erect/crowd.json")
crowd:PlayAnimation("Symbol 2 instance 1", 24, true)
crowd.position = myTypes.Vector2(560, 150)
crowd.modifier = 0.8
crowd.layer = -9
local brightLightSmall = myTypes.Image("images/stage/erect/brightLightSmall.png")
brightLightSmall.position = myTypes.Vector2(967, -103)
brightLightSmall.modifier = 1.2
brightLightSmall.layer = -8
local bg = myTypes.Image("images/stage/erect/bg.png")
bg.position = myTypes.Vector2(-603, -187)
bg.layer = -7
local server = myTypes.Image("images/stage/erect/server.png")
server.position = myTypes.Vector2(-361, 205)
server.layer = -6
local lightGreen = myTypes.Image("images/stage/erect/lightgreen.png")
lightGreen.position = myTypes.Vector2(-171, 242)
lightGreen.layer = -5
local lightRed = myTypes.Image("images/stage/erect/lightred.png")
lightRed.position = myTypes.Vector2(-101, 560)
lightRed.layer = -4
local lightOrange = myTypes.Image("images/stage/erect/orangeLight.png")
lightOrange.position = myTypes.Vector2(189, -195)
lightOrange.layer = -3
local lights = myTypes.Image("images/stage/erect/lights.png")
lights.position = myTypes.Vector2(-601, -147)
lights.modifier = 1.2
lights.layer = -2
local lightAbove = myTypes.Image("images/stage/erect/lightAbove.png")
lights.position = myTypes.Vector2(804, -117)
lightAbove.layer = 3
end
}