Compare commits
2 Commits
26ce959302
...
f1752bdaf1
Author | SHA1 | Date | |
---|---|---|---|
f1752bdaf1 | |||
3a1478fb47 |
@ -20,7 +20,7 @@
|
||||
"fps": 24,
|
||||
"anim": "singLEFT",
|
||||
"indices": [],
|
||||
"name": "BF NOTE LEFT0"
|
||||
"name": "BF NOTE LEFT"
|
||||
},
|
||||
{
|
||||
"loop": false,
|
||||
@ -31,7 +31,7 @@
|
||||
"fps": 24,
|
||||
"anim": "singDOWN",
|
||||
"indices": [],
|
||||
"name": "BF NOTE DOWN0"
|
||||
"name": "BF NOTE DOWN"
|
||||
},
|
||||
{
|
||||
"loop": false,
|
||||
@ -42,7 +42,7 @@
|
||||
"fps": 24,
|
||||
"anim": "singUP",
|
||||
"indices": [],
|
||||
"name": "BF NOTE UP0"
|
||||
"name": "BF NOTE UP"
|
||||
},
|
||||
{
|
||||
"loop": false,
|
||||
@ -53,7 +53,7 @@
|
||||
"fps": 24,
|
||||
"anim": "singRIGHT",
|
||||
"indices": [],
|
||||
"name": "BF NOTE RIGHT0"
|
||||
"name": "BF NOTE RIGHT"
|
||||
},
|
||||
{
|
||||
"loop": false,
|
||||
|
@ -41,15 +41,15 @@
|
||||
350
|
||||
],
|
||||
"healthicon": "bf",
|
||||
"flip_x": true,
|
||||
"flip_x": false,
|
||||
"healthbar_colors": [
|
||||
49,
|
||||
176,
|
||||
209
|
||||
],
|
||||
"camera_position": [
|
||||
0,
|
||||
0
|
||||
700,
|
||||
-300
|
||||
],
|
||||
"sing_duration": 4,
|
||||
"scale": 1
|
||||
|
@ -1,97 +1,20 @@
|
||||
{
|
||||
"animations": [
|
||||
{
|
||||
"offsets": [
|
||||
-5,
|
||||
0
|
||||
],
|
||||
"loop": false,
|
||||
"offsets": [
|
||||
-15,
|
||||
-54
|
||||
],
|
||||
"anim": "singDOWN",
|
||||
"fps": 24,
|
||||
"name": "BF NOTE DOWN",
|
||||
"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": [
|
||||
11,
|
||||
10
|
||||
],
|
||||
"anim": "firstDeath",
|
||||
"fps": 24,
|
||||
"name": "BF dies",
|
||||
"indices": []
|
||||
},
|
||||
{
|
||||
"loop": true,
|
||||
"offsets": [
|
||||
11,
|
||||
4
|
||||
],
|
||||
"anim": "deathLoop",
|
||||
"fps": 24,
|
||||
"name": "BF Dead Loop",
|
||||
"indices": []
|
||||
},
|
||||
{
|
||||
"loop": false,
|
||||
"offsets": [
|
||||
11,
|
||||
68
|
||||
],
|
||||
"anim": "deathConfirm",
|
||||
"fps": 24,
|
||||
"name": "BF Dead confirm",
|
||||
"indices": []
|
||||
"anim": "idle",
|
||||
"indices": [],
|
||||
"name": "BF idle dance"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
7,
|
||||
-8
|
||||
46,
|
||||
1
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
@ -101,8 +24,30 @@
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-50,
|
||||
-6
|
||||
-31,
|
||||
-40
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singDOWN",
|
||||
"indices": [],
|
||||
"name": "BF NOTE DOWN"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-68,
|
||||
57
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singUP",
|
||||
"indices": [],
|
||||
"name": "BF NOTE UP"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-67,
|
||||
3
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
@ -111,63 +56,151 @@
|
||||
"name": "BF NOTE RIGHT"
|
||||
},
|
||||
{
|
||||
"loop": false,
|
||||
"offsets": [
|
||||
-43,
|
||||
28
|
||||
],
|
||||
"anim": "singUP",
|
||||
"fps": 24,
|
||||
"name": "BF NOTE UP",
|
||||
"indices": []
|
||||
},
|
||||
{
|
||||
"loop": false,
|
||||
"offsets": [
|
||||
-2,
|
||||
6
|
||||
],
|
||||
"anim": "hey",
|
||||
"fps": 24,
|
||||
"name": "BF HEY",
|
||||
"indices": []
|
||||
},
|
||||
{
|
||||
"loop": true,
|
||||
"offsets": [
|
||||
-5,
|
||||
1
|
||||
],
|
||||
"anim": "scared",
|
||||
"fps": 24,
|
||||
"name": "BF idle shaking",
|
||||
"indices": []
|
||||
},
|
||||
{
|
||||
"loop": false,
|
||||
"offsets": [
|
||||
-5,
|
||||
0
|
||||
],
|
||||
"anim": "idle",
|
||||
"fps": 24,
|
||||
"name": "BF idle dance",
|
||||
"indices": []
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-4,
|
||||
7
|
||||
41,
|
||||
23
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "Laugh",
|
||||
"anim": "singLEFTmiss",
|
||||
"indices": [],
|
||||
"name": "BF Laugh"
|
||||
"name": "BF NOTE LEFT MISS"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-26,
|
||||
-8
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singDOWNmiss",
|
||||
"indices": [],
|
||||
"name": "BF NOTE DOWN MISS"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-55,
|
||||
52
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singUPmiss",
|
||||
"indices": [],
|
||||
"name": "BF NOTE UP MISS"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-61,
|
||||
29
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singRIGHTmiss",
|
||||
"indices": [],
|
||||
"name": "BF NOTE RIGHT MISS"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-12,
|
||||
25
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "hey",
|
||||
"indices": [],
|
||||
"name": "BF HEY"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-6,
|
||||
26
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "hurt",
|
||||
"indices": [],
|
||||
"name": "BF hit"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-26,
|
||||
5
|
||||
],
|
||||
"loop": true,
|
||||
"fps": 24,
|
||||
"anim": "scared",
|
||||
"indices": [],
|
||||
"name": "BF idle shaking"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-3,
|
||||
11
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "firstDeath",
|
||||
"indices": [],
|
||||
"name": "BF dies"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-3,
|
||||
5
|
||||
],
|
||||
"loop": true,
|
||||
"fps": 24,
|
||||
"anim": "deathLoop",
|
||||
"indices": [],
|
||||
"name": "BF Dead Loop"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-3,
|
||||
69
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "deathConfirm",
|
||||
"indices": [],
|
||||
"name": "BF Dead confirm"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
508,
|
||||
250
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "attack",
|
||||
"indices": [],
|
||||
"name": "boyfriend attack"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-50,
|
||||
-33
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "pre-attack",
|
||||
"indices": [],
|
||||
"name": "bf pre attack"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-14,
|
||||
20
|
||||
],
|
||||
"indices": [],
|
||||
"fps": 24,
|
||||
"anim": "dodge",
|
||||
"loop": false,
|
||||
"name": "dodge UP"
|
||||
}
|
||||
],
|
||||
"no_antialiasing": false,
|
||||
"image": "sprites/characters/BOYFRIEND",
|
||||
"image": "sprites/characters/BF_ZERO_INDIE_CROSS_OG",
|
||||
"position": [
|
||||
0,
|
||||
350
|
||||
@ -180,9 +213,9 @@
|
||||
209
|
||||
],
|
||||
"camera_position": [
|
||||
-500,
|
||||
40
|
||||
-400,
|
||||
60
|
||||
],
|
||||
"sing_duration": 4,
|
||||
"scale": 1
|
||||
}
|
||||
}
|
@ -1,221 +0,0 @@
|
||||
{
|
||||
"animations": [
|
||||
{
|
||||
"offsets": [
|
||||
-5,
|
||||
0
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "idle",
|
||||
"indices": [],
|
||||
"name": "BF idle dance"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
46,
|
||||
1
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singLEFT",
|
||||
"indices": [],
|
||||
"name": "BF NOTE LEFT0"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-31,
|
||||
-40
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singDOWN",
|
||||
"indices": [],
|
||||
"name": "BF NOTE DOWN0"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-68,
|
||||
57
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singUP",
|
||||
"indices": [],
|
||||
"name": "BF NOTE UP0"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-67,
|
||||
3
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singRIGHT",
|
||||
"indices": [],
|
||||
"name": "BF NOTE RIGHT0"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
41,
|
||||
23
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singLEFTmiss",
|
||||
"indices": [],
|
||||
"name": "BF NOTE LEFT MISS"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-26,
|
||||
-8
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singDOWNmiss",
|
||||
"indices": [],
|
||||
"name": "BF NOTE DOWN MISS"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-55,
|
||||
52
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singUPmiss",
|
||||
"indices": [],
|
||||
"name": "BF NOTE UP MISS"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-61,
|
||||
29
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "singRIGHTmiss",
|
||||
"indices": [],
|
||||
"name": "BF NOTE RIGHT MISS"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-12,
|
||||
25
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "hey",
|
||||
"indices": [],
|
||||
"name": "BF HEY"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-6,
|
||||
26
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "hurt",
|
||||
"indices": [],
|
||||
"name": "BF hit"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-26,
|
||||
5
|
||||
],
|
||||
"loop": true,
|
||||
"fps": 24,
|
||||
"anim": "scared",
|
||||
"indices": [],
|
||||
"name": "BF idle shaking"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-3,
|
||||
11
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "firstDeath",
|
||||
"indices": [],
|
||||
"name": "BF dies"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-3,
|
||||
5
|
||||
],
|
||||
"loop": true,
|
||||
"fps": 24,
|
||||
"anim": "deathLoop",
|
||||
"indices": [],
|
||||
"name": "BF Dead Loop"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-3,
|
||||
69
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "deathConfirm",
|
||||
"indices": [],
|
||||
"name": "BF Dead confirm"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
508,
|
||||
250
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "attack",
|
||||
"indices": [],
|
||||
"name": "boyfriend attack"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-50,
|
||||
-33
|
||||
],
|
||||
"loop": false,
|
||||
"fps": 24,
|
||||
"anim": "pre-attack",
|
||||
"indices": [],
|
||||
"name": "bf pre attack"
|
||||
},
|
||||
{
|
||||
"offsets": [
|
||||
-14,
|
||||
20
|
||||
],
|
||||
"indices": [],
|
||||
"fps": 24,
|
||||
"anim": "dodge",
|
||||
"loop": false,
|
||||
"name": "dodge UP"
|
||||
}
|
||||
],
|
||||
"no_antialiasing": false,
|
||||
"image": "sprites/characters/BF_ZERO_INDIE_CROSS_OG",
|
||||
"position": [
|
||||
0,
|
||||
350
|
||||
],
|
||||
"healthicon": "bf",
|
||||
"flip_x": true,
|
||||
"healthbar_colors": [
|
||||
49,
|
||||
176,
|
||||
209
|
||||
],
|
||||
"camera_position": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"sing_duration": 4,
|
||||
"scale": 1
|
||||
}
|
@ -181,10 +181,10 @@
|
||||
-2,
|
||||
-17
|
||||
],
|
||||
"fps": 24,
|
||||
"fps": 2,
|
||||
"anim": "scared",
|
||||
"indices": [],
|
||||
"name": "GF FEAR"
|
||||
"name": "GF FEAR "
|
||||
}
|
||||
],
|
||||
"no_antialiasing": false,
|
||||
|
@ -101,7 +101,7 @@
|
||||
0
|
||||
],
|
||||
"camera_position": [
|
||||
-1000,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"sing_duration": 4,
|
||||
|
BIN
charts/2hot/.DS_Store
vendored
Normal file
44
charts/2hot/2hot death.lua
Normal file
@ -0,0 +1,44 @@
|
||||
function onGameOverStart()
|
||||
playSound("explode", 0.8)
|
||||
|
||||
|
||||
makeAnimatedLuaSprite('explosion', 'explosionfrom_edd', -1600, -850);
|
||||
addAnimationByPrefix('explosion', 'boom', 'TordBotBlowingUp', 18, false);
|
||||
setProperty('explosion.angle', -90);
|
||||
setProperty('explosion.alpha', 0);
|
||||
addLuaSprite('explosion', true);
|
||||
scaleObject('explosion', 2.5, 2.5);
|
||||
cameraShake('camGame', 0.02, 0.5);
|
||||
|
||||
makeLuaSprite('bgd', 'BlackFlash', -1500, -1500)
|
||||
scaleObject('bgd', 3, 3.5)
|
||||
setObjectOrder('bgd', getObjectOrder('gfGroup') + 4)
|
||||
addLuaSprite('bgd', false)
|
||||
|
||||
setProperty('explosion.alpha', 1);
|
||||
objectPlayAnimation('explosion', 'boom', true);
|
||||
playSound('shot1', 1)
|
||||
runTimer('picoded', 1.5)
|
||||
end
|
||||
|
||||
|
||||
|
||||
function onTimerCompleted(tag, loops, loopsleft)
|
||||
if tag == 'picoded' then
|
||||
playSound('cutscene/nene_laugh', 1)
|
||||
end
|
||||
if tag == 'picoded2' then
|
||||
doTweenAlpha('fadebgdgone', 'bgd', 0, 4, 'linear');
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- crash prevention
|
||||
function onUpdate() end
|
||||
function onUpdatePost() end
|
4585
charts/2hot/2hot-easy.json
Normal file
6886
charts/2hot/2hot-erect.json
Normal file
6052
charts/2hot/2hot-hard.json
Normal file
6886
charts/2hot/2hot-nightmare.json
Normal file
5045
charts/2hot/2hot.json
Normal file
97
charts/2hot/DIFFICULTYRANK.lua
Normal 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 = 4
|
||||
elseif difficulty == 1 then -- normal
|
||||
rank = 6
|
||||
elseif difficulty == 2 then -- hard
|
||||
rank = 7
|
||||
elseif difficulty == 3 then -- erect
|
||||
rank = 0
|
||||
elseif difficulty == 4 then -- nightmare
|
||||
rank = 0
|
||||
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
|
6
charts/2hot/combo.lua
Normal file
@ -0,0 +1,6 @@
|
||||
function goodNoteHit()
|
||||
if getProperty('combo') == 100 or getProperty('combo') == 200 then
|
||||
characterPlayAnim('gf', 'combo100', true);
|
||||
setProperty('gf.specialAnim', true);
|
||||
end
|
||||
end
|
1871
charts/2hot/events.json
Normal file
351
charts/2hot/rainshader.lua
Normal file
@ -0,0 +1,351 @@
|
||||
local rainSize1 = 1
|
||||
local rainSize2 = 1
|
||||
local rainSize3 = 1
|
||||
local rainSize4 = 1
|
||||
local rainSize5 = 1
|
||||
local rainSize6 = 1
|
||||
local rainSize7 = 1
|
||||
local rainSize8 = 1
|
||||
local rainSize9 = 1
|
||||
local rainSize10 = 1
|
||||
local rainSize11 = 1
|
||||
local rainSize12 = 1
|
||||
local rainSize13 = 1
|
||||
local rainSize14 = 1
|
||||
local rainSize15 = 1
|
||||
local rainSize16 = 1
|
||||
local rainSize17 = 1
|
||||
local rainSize18 = 1
|
||||
local rainSize19 = 1
|
||||
local rainSize20 = 1
|
||||
local rainDensity = 0
|
||||
|
||||
function onCreate()
|
||||
if not lowQuality then
|
||||
makeLuaSprite('rain1', 'empty', 0, -100);
|
||||
makeGraphic('rain1', 1, 1, '90eeff');
|
||||
setObjectCamera('rain1', 'hud');
|
||||
setProperty('rain1.alpha', 0.2);
|
||||
addLuaSprite('rain1', false);
|
||||
setProperty('rain1.angle', 8);
|
||||
|
||||
makeLuaSprite('rain2', 'empty', 0, -100);
|
||||
makeGraphic('rain2', 1, 1, '90eeff');
|
||||
setObjectCamera('rain2', 'hud');
|
||||
setProperty('rain2.alpha', 0.2);
|
||||
addLuaSprite('rain2', false);
|
||||
setProperty('rain2.angle', 8);
|
||||
|
||||
makeLuaSprite('rain3', 'empty', 0, -100);
|
||||
makeGraphic('rain3', 1, 1, '90eeff');
|
||||
setObjectCamera('rain3', 'hud');
|
||||
setProperty('rain3.alpha', 0.2);
|
||||
addLuaSprite('rain3', false);
|
||||
setProperty('rain3.angle', 8);
|
||||
|
||||
makeLuaSprite('rain4', 'empty', 0, -100);
|
||||
makeGraphic('rain4', 1, 1, '90eeff');
|
||||
setObjectCamera('rain4', 'hud');
|
||||
setProperty('rain4.alpha', 0.2);
|
||||
addLuaSprite('rain4', false);
|
||||
setProperty('rain4.angle', 8);
|
||||
|
||||
makeLuaSprite('rain5', 'empty', 0, -100);
|
||||
makeGraphic('rain5', 1, 1, '90eeff');
|
||||
setObjectCamera('rain5', 'hud');
|
||||
setProperty('rain5.alpha', 0.2);
|
||||
addLuaSprite('rain5', false);
|
||||
setProperty('rain5.angle', 8);
|
||||
|
||||
makeLuaSprite('rain6', 'empty', 0, -100);
|
||||
makeGraphic('rain6', 1, 1, '90eeff');
|
||||
setObjectCamera('rain6', 'hud');
|
||||
setProperty('rain6.alpha', 0.2);
|
||||
addLuaSprite('rain6', false);
|
||||
setProperty('rain6.angle', 8);
|
||||
|
||||
makeLuaSprite('rain7', 'empty', 0, -100);
|
||||
makeGraphic('rain7', 1, 1, '90eeff');
|
||||
setObjectCamera('rain7', 'hud');
|
||||
setProperty('rain7.alpha', 0.2);
|
||||
addLuaSprite('rain7', false);
|
||||
setProperty('rain7.angle', 8);
|
||||
|
||||
makeLuaSprite('rain8', 'empty', 0, -100);
|
||||
makeGraphic('rain8', 1, 1, '90eeff');
|
||||
setObjectCamera('rain8', 'hud');
|
||||
setProperty('rain8.alpha', 0.2);
|
||||
addLuaSprite('rain8', false);
|
||||
setProperty('rain8.angle', 8);
|
||||
|
||||
makeLuaSprite('rain9', 'empty', 0, -100);
|
||||
makeGraphic('rain9', 1, 1, '90eeff');
|
||||
setObjectCamera('rain9', 'hud');
|
||||
setProperty('rain9.alpha', 0.2);
|
||||
addLuaSprite('rain9', false);
|
||||
setProperty('rain9.angle', 8);
|
||||
|
||||
makeLuaSprite('rain10', 'empty', 0, -100);
|
||||
makeGraphic('rain10', 1, 1, '90eeff');
|
||||
setObjectCamera('rain10', 'hud');
|
||||
setProperty('rain10.alpha', 0.2);
|
||||
addLuaSprite('rain10', false);
|
||||
setProperty('rain10.angle', 8);
|
||||
|
||||
makeLuaSprite('rain11', 'empty', 0, -100);
|
||||
makeGraphic('rain11', 1, 1, '90eeff');
|
||||
setObjectCamera('rain11', 'hud');
|
||||
setProperty('rain11.alpha', 0.2);
|
||||
addLuaSprite('rain11', false);
|
||||
setProperty('rain11.angle', 8);
|
||||
|
||||
makeLuaSprite('rain12', 'empty', 0, -100);
|
||||
makeGraphic('rain12', 1, 1, '90eeff');
|
||||
setObjectCamera('rain12', 'hud');
|
||||
setProperty('rain12.alpha', 0.2);
|
||||
addLuaSprite('rain12', false);
|
||||
setProperty('rain12.angle', 8);
|
||||
|
||||
makeLuaSprite('rain13', 'empty', 0, -100);
|
||||
makeGraphic('rain13', 1, 1, '90eeff');
|
||||
setObjectCamera('rain13', 'hud');
|
||||
setProperty('rain13.alpha', 0.2);
|
||||
addLuaSprite('rain13', false);
|
||||
setProperty('rain13.angle', 8);
|
||||
|
||||
makeLuaSprite('rain14', 'empty', 0, -100);
|
||||
makeGraphic('rain14', 1, 1, '90eeff');
|
||||
setObjectCamera('rain14', 'hud');
|
||||
setProperty('rain14.alpha', 0.2);
|
||||
addLuaSprite('rain14', false);
|
||||
setProperty('rain14.angle', 8);
|
||||
|
||||
makeLuaSprite('rain15', 'empty', 0, -100);
|
||||
makeGraphic('rain15', 1, 1, '90eeff');
|
||||
setObjectCamera('rain15', 'hud');
|
||||
setProperty('rain15.alpha', 0.2);
|
||||
addLuaSprite('rain15', false);
|
||||
setProperty('rain15.angle', 8);
|
||||
|
||||
makeLuaSprite('rain16', 'empty', 0, -100);
|
||||
makeGraphic('rain16', 1, 1, '90eeff');
|
||||
setObjectCamera('rain16', 'hud');
|
||||
setProperty('rain16.alpha', 0.2);
|
||||
addLuaSprite('rain16', false);
|
||||
setProperty('rain16.angle', 8);
|
||||
|
||||
makeLuaSprite('rain17', 'empty', 0, -100);
|
||||
makeGraphic('rain17', 1, 1, '90eeff');
|
||||
setObjectCamera('rain17', 'hud');
|
||||
setProperty('rain17.alpha', 0.2);
|
||||
addLuaSprite('rain17', false);
|
||||
setProperty('rain17.angle', 8);
|
||||
|
||||
makeLuaSprite('rain18', 'empty', 0, -100);
|
||||
makeGraphic('rain18', 1, 1, '90eeff');
|
||||
setObjectCamera('rain18', 'hud');
|
||||
setProperty('rain18.alpha', 0.2);
|
||||
addLuaSprite('rain18', false);
|
||||
setProperty('rain18.angle', 8);
|
||||
|
||||
makeLuaSprite('rain19', 'empty', 0, -100);
|
||||
makeGraphic('rain19', 1, 1, '90eeff');
|
||||
setObjectCamera('rain19', 'hud');
|
||||
setProperty('rain19.alpha', 0.2);
|
||||
addLuaSprite('rain19', false);
|
||||
setProperty('rain19.angle', 8);
|
||||
|
||||
makeLuaSprite('rain20', 'empty', 0, -100);
|
||||
makeGraphic('rain20', 1, 1, '90eeff');
|
||||
setObjectCamera('rain20', 'hud');
|
||||
setProperty('rain20.alpha', 0.2);
|
||||
addLuaSprite('rain20', false);
|
||||
setProperty('rain20.angle', 8);
|
||||
end
|
||||
end
|
||||
|
||||
function onStepHit()
|
||||
if not lowQuality then
|
||||
rainDensity = getProperty("songPercent")
|
||||
rainSize1 = getRandomInt(3, 8)
|
||||
rainSize2 = getRandomInt(3, 8)
|
||||
rainSize3 = getRandomInt(3, 8)
|
||||
rainSize4 = getRandomInt(3, 8)
|
||||
rainSize5 = getRandomInt(3, 8)
|
||||
rainSize6 = getRandomInt(3, 8)
|
||||
rainSize7 = getRandomInt(3, 8)
|
||||
rainSize8 = getRandomInt(3, 8)
|
||||
rainSize9 = getRandomInt(3, 8)
|
||||
rainSize10 = getRandomInt(3, 8)
|
||||
rainSize11 = getRandomInt(3, 8)
|
||||
rainSize12 = getRandomInt(3, 8)
|
||||
rainSize13 = getRandomInt(3, 8)
|
||||
rainSize14 = getRandomInt(3, 8)
|
||||
rainSize15 = getRandomInt(3, 8)
|
||||
rainSize16 = getRandomInt(3, 8)
|
||||
rainSize17 = getRandomInt(3, 8)
|
||||
rainSize18 = getRandomInt(3, 8)
|
||||
rainSize19 = getRandomInt(3, 8)
|
||||
rainSize20 = getRandomInt(3, 8)
|
||||
setProperty('rain1.scale.x', rainSize1);
|
||||
setProperty('rain2.scale.x', rainSize2);
|
||||
setProperty('rain3.scale.x', rainSize3);
|
||||
setProperty('rain4.scale.x', rainSize4);
|
||||
setProperty('rain5.scale.x', rainSize5);
|
||||
setProperty('rain6.scale.x', rainSize6);
|
||||
setProperty('rain7.scale.x', rainSize7);
|
||||
setProperty('rain8.scale.x', rainSize8);
|
||||
setProperty('rain9.scale.x', rainSize9);
|
||||
setProperty('rain10.scale.x', rainSize10);
|
||||
setProperty('rain11.scale.x', rainSize11);
|
||||
setProperty('rain12.scale.x', rainSize12);
|
||||
setProperty('rain13.scale.x', rainSize13);
|
||||
setProperty('rain14.scale.x', rainSize14);
|
||||
setProperty('rain15.scale.x', rainSize15);
|
||||
setProperty('rain16.scale.x', rainSize16);
|
||||
setProperty('rain17.scale.x', rainSize17);
|
||||
setProperty('rain18.scale.x', rainSize18);
|
||||
setProperty('rain19.scale.x', rainSize19);
|
||||
setProperty('rain20.scale.x', rainSize20);
|
||||
setProperty('rain1.scale.y', rainSize1*30);
|
||||
setProperty('rain2.scale.y', rainSize2*30);
|
||||
setProperty('rain3.scale.y', rainSize3*30);
|
||||
setProperty('rain4.scale.y', rainSize4*30);
|
||||
setProperty('rain5.scale.y', rainSize5*30);
|
||||
setProperty('rain6.scale.y', rainSize6*30);
|
||||
setProperty('rain7.scale.y', rainSize7*30);
|
||||
setProperty('rain8.scale.y', rainSize8*30);
|
||||
setProperty('rain9.scale.y', rainSize9*30);
|
||||
setProperty('rain10.scale.y', rainSize10*30);
|
||||
setProperty('rain11.scale.y', rainSize11*30);
|
||||
setProperty('rain12.scale.y', rainSize12*30);
|
||||
setProperty('rain13.scale.y', rainSize13*30);
|
||||
setProperty('rain14.scale.y', rainSize14*30);
|
||||
setProperty('rain15.scale.y', rainSize15*30);
|
||||
setProperty('rain16.scale.y', rainSize16*30);
|
||||
setProperty('rain17.scale.y', rainSize17*30);
|
||||
setProperty('rain18.scale.y', rainSize18*30);
|
||||
setProperty('rain19.scale.y', rainSize19*30);
|
||||
setProperty('rain20.scale.y', rainSize20*30);
|
||||
if curStep %10 == 0 and rainDensity >= 0 then
|
||||
setProperty('rain1.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain1.y', -150);
|
||||
doTweenX('rain1X', 'rain1', getProperty('rain1.x')-150, 0.3);
|
||||
doTweenY('rain1Y', 'rain1', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 5 and rainDensity >= 0 then
|
||||
setProperty('rain2.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain2.y', -150);
|
||||
doTweenX('rain2X', 'rain2', getProperty('rain2.x')-150, 0.3);
|
||||
doTweenY('rain2Y', 'rain2', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 3 and rainDensity >= 0 then
|
||||
setProperty('rain3.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain3.y', -150);
|
||||
doTweenX('rain3X', 'rain3', getProperty('rain3.x')-150, 0.3);
|
||||
doTweenY('rain3Y', 'rain3', 900, 0);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0 then
|
||||
setProperty('rain4.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain4.y', -150);
|
||||
doTweenX('rain4X', 'rain4', getProperty('rain4.x')-150, 0.3);
|
||||
doTweenY('rain4Y', 'rain4', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 7 and rainDensity >= 0 then
|
||||
setProperty('rain5.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain5.y', -150);
|
||||
doTweenX('rain5X', 'rain5', getProperty('rain5.x')-150, 0.3);
|
||||
doTweenY('rain5Y', 'rain5', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 2 and rainDensity >= 0 then
|
||||
setProperty('rain6.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain6.y', -150);
|
||||
doTweenX('rain6X', 'rain6', getProperty('rain6.x')-150, 0.3);
|
||||
doTweenY('rain6Y', 'rain6', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 4 and rainDensity >= 0 then
|
||||
setProperty('rain7.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain7.y', -150);
|
||||
doTweenX('rain7X', 'rain7', getProperty('rain7.x')-150, 0.3);
|
||||
doTweenY('rain7Y', 'rain7', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 6 and rainDensity >= 0 then
|
||||
setProperty('rain8.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain8.y', -150);
|
||||
doTweenX('rain8X', 'rain8', getProperty('rain8.x')-150, 0.3);
|
||||
doTweenY('rain8Y', 'rain8', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 8 and rainDensity >= 0 then
|
||||
setProperty('rain9.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain9.y', -150);
|
||||
doTweenX('rain9X', 'rain9', getProperty('rain9.x')-150, 0.3);
|
||||
doTweenY('rain9Y', 'rain9', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0 then
|
||||
setProperty('rain10.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain10.y', -150);
|
||||
doTweenX('rain10X', 'rain10', getProperty('rain10.x')-150, 0.3);
|
||||
doTweenY('rain10Y', 'rain10', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 0 and rainDensity >= 0.1 then
|
||||
setProperty('rain11.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain11.y', -150);
|
||||
doTweenX('rain11X', 'rain11', getProperty('rain11.x')-150, 0.3);
|
||||
doTweenY('rain11Y', 'rain11', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 5 and rainDensity >= 0.2 then
|
||||
setProperty('rain12.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain12.y', -150);
|
||||
doTweenX('rain12X', 'rain12', getProperty('rain12.x')-150, 0.3);
|
||||
doTweenY('rain12Y', 'rain12', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 3 and rainDensity >= 0.3 then
|
||||
setProperty('rain13.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain13.y', -150);
|
||||
doTweenX('rain13X', 'rain13', getProperty('rain13.x')-150, 0.3);
|
||||
doTweenY('rain13Y', 'rain13', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0.4 then
|
||||
setProperty('rain14.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain14.y', -150);
|
||||
doTweenX('rain14X', 'rain14', getProperty('rain14.x')-150, 0.3);
|
||||
doTweenY('rain14Y', 'rain14', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 7 and rainDensity >= 0.5 then
|
||||
setProperty('rain15.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain15.y', -150);
|
||||
doTweenX('rain15X', 'rain15', getProperty('rain15.x')-150, 0.3);
|
||||
doTweenY('rain15Y', 'rain15', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 2 and rainDensity >= 0.6 then
|
||||
setProperty('rain16.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain16.y', -150);
|
||||
doTweenX('rain16X', 'rain16', getProperty('rain16.x')-150, 0.3);
|
||||
doTweenY('rain16Y', 'rain16', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 4 and rainDensity >= 0.7 then
|
||||
setProperty('rain17.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain17.y', -150);
|
||||
doTweenX('rain17X', 'rain17', getProperty('rain17.x')-150, 0.3);
|
||||
doTweenY('rain17Y', 'rain17', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 6 and rainDensity >= 0.8 then
|
||||
setProperty('rain18.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain18.y', -150);
|
||||
doTweenX('rain18X', 'rain18', getProperty('rain18.x')-150, 0.3);
|
||||
doTweenY('rain18Y', 'rain18', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 8 and rainDensity >= 0.9 then
|
||||
setProperty('rain19.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain19.y', -150);
|
||||
doTweenX('rain19X', 'rain19', getProperty('rain19.x')-150, 0.3);
|
||||
doTweenY('rain19Y', 'rain19', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 1 then
|
||||
setProperty('rain20.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain20.y', -150);
|
||||
doTweenX('rain20X', 'rain20', getProperty('rain20.x')-150, 0.3);
|
||||
doTweenY('rain20Y', 'rain20', 900, 0.3);
|
||||
end
|
||||
end
|
||||
end
|
154
charts/2hot/script.lua
Normal file
@ -0,0 +1,154 @@
|
||||
function onCreate()
|
||||
precacheImage('explosionfrom_edd')
|
||||
precacheSound("explode")
|
||||
setPropertyFromClass('GameOverSubstate', 'characterName', 'pico-dead')
|
||||
setPropertyFromClass('GameOverSubstate', 'deathSoundName', 'Shoot_1')
|
||||
setPropertyFromClass('GameOverSubstate', 'loopSoundName', 'gameplay/gameover/gameOver-pico')
|
||||
setPropertyFromClass('GameOverSubstate', 'endSoundName', 'gameplay/gameover/gameOverEnd-pico')
|
||||
setPropertyFromClass('PauseSubState', 'songName', 'breakfast-pico/breakfast-pico')
|
||||
|
||||
makeLuaSprite('cutsceneCrutchBlack', 'empty', 0, 0);
|
||||
makeGraphic('cutsceneCrutchBlack', 3000, 2000, '000000');
|
||||
setObjectCamera('cutsceneCrutchBlack', 'other');
|
||||
|
||||
makeLuaSprite('shootBlack', 'empty', 0, 0);
|
||||
makeGraphic('shootBlack', 3000, 2000, '000000');
|
||||
setProperty('shootBlack.alpha', 0);
|
||||
|
||||
makeAnimatedLuaSprite('reloadEffect', 'characters/Pico_Playable', 1980, 755);
|
||||
addAnimationByPrefix('reloadEffect', 'cock', 'Pico Reload', 24, false);
|
||||
setProperty('reloadEffect.alpha', 0);
|
||||
|
||||
makeLuaSprite('reloadEffectScale', 'empty', 1, 1);
|
||||
setProperty('reloadEffectScale.alpha', 0);
|
||||
|
||||
makeAnimatedLuaSprite('spraypaintExplosionEZ', 'spraypaintExplosionEZ', 1600, 400);
|
||||
addAnimationByPrefix('spraypaintExplosionEZ', 'explosion', 'explosion round 1 short', 24, false);
|
||||
setProperty('spraypaintExplosionEZ.flipX', false);
|
||||
scaleObject('spraypaintExplosionEZ', 1, 1);
|
||||
setScrollFactor('spraypaintExplosionEZ', 1, 1);
|
||||
setProperty('spraypaintExplosionEZ.alpha', 0);
|
||||
|
||||
addLuaSprite('shootBlack', false);
|
||||
addLuaSprite('reloadEffect', true);
|
||||
addLuaSprite('spraypaintExplosionEZ', true);
|
||||
end
|
||||
|
||||
function onUpdate()
|
||||
setProperty('reloadEffect.scale.x', getProperty('reloadEffectScale.x'))
|
||||
setProperty('reloadEffect.scale.y', getProperty('reloadEffectScale.x'))
|
||||
end
|
||||
|
||||
function onSongStart()
|
||||
setProperty('spraypaintExplosionEZ.alpha', 1);
|
||||
setProperty('Spraycan2.alpha', 1);
|
||||
end
|
||||
|
||||
local isGameOver = false
|
||||
local darnellAnim = false
|
||||
local picoAnim = false
|
||||
local bullet = 0
|
||||
local reload = false
|
||||
|
||||
--[[function onGameOver()
|
||||
runTimer('gameOverStart', 91/24);
|
||||
isGameOver = true
|
||||
end
|
||||
|
||||
function onTimerCompleted(tag, loops, loopsLeft)
|
||||
if tag == 'gameOverStart' and picoAnim then
|
||||
runHaxeCode([[
|
||||
boyfriend.playAnim('deathLoop');
|
||||
]]--)
|
||||
--end
|
||||
--end
|
||||
|
||||
function opponentNoteHit(id, direction, noteType, isSustainNote)
|
||||
if direction == 1 and darnellAnim then
|
||||
playAnim('dad', 'lightCan', false);
|
||||
setProperty('dad.specialAnim', true);
|
||||
end
|
||||
if direction == 2 and darnellAnim then
|
||||
playAnim('dad', 'kickCan', false);
|
||||
setProperty('dad.specialAnim', true);
|
||||
playAnim('Spraycan1', 'start', false);
|
||||
setProperty('Spraycan1.alpha', 1);
|
||||
end
|
||||
if direction == 3 and darnellAnim then
|
||||
playAnim('dad', 'kneeCan', false);
|
||||
playAnim('Spraycan1', 'start1', false);
|
||||
setProperty('dad.specialAnim', true);
|
||||
end
|
||||
end
|
||||
|
||||
function goodNoteHit(id, direction, noteType, isSustainNote)
|
||||
if direction == 1 and picoAnim then
|
||||
reload = true
|
||||
bullet = bullet +1
|
||||
playAnim('boyfriend', 'cock', false);
|
||||
playAnim('reloadEffect', 'cock', false);
|
||||
setProperty('boyfriend.specialAnim', true);
|
||||
setProperty('reloadEffectScale.x', 1)
|
||||
doTweenX('reloadEffectScale', 'reloadEffectScale', 1.1, 0.3, 'linear')
|
||||
setProperty('reloadEffect.alpha', 0.5);
|
||||
doTweenAlpha('reloadEffect', 'reloadEffect', 0, 0.3, 'linear')
|
||||
playSound('Gun_Prep', 1);
|
||||
makeAnimatedLuaSprite('PicoBullet'..bullet, 'PicoBullet', 2150, 850);
|
||||
addAnimationByPrefix('PicoBullet'..bullet, 'Bullet', 'Bullet', 24, false);
|
||||
addAnimationByPrefix('PicoBullet'..bullet, 'Pop', 'Pop', 24, false);
|
||||
playAnim('PicoBullet'..bullet, 'Pop', false);
|
||||
scaleObject('PicoBullet'..bullet, 1, 1);
|
||||
setScrollFactor('PicoBullet'..bullet, 1, 1);
|
||||
addLuaSprite('PicoBullet'..bullet, false);
|
||||
end
|
||||
if direction == 0 and picoAnim and reload then
|
||||
reload = false
|
||||
playAnim('boyfriend', 'shoot', false);
|
||||
setProperty('boyfriend.specialAnim', true);
|
||||
playAnim('Spraycan1', 'shooted', false);
|
||||
playAnim('Spraycan2', 'i', false);
|
||||
setProperty('Spraycan1.alpha', 0);
|
||||
playSound('shot'..getRandomInt(1,3), 1);
|
||||
setProperty('shootBlack.alpha', 1);
|
||||
doTweenAlpha('shootBlack', 'shootBlack', 0, 1, 'linear')
|
||||
elseif direction == 0 and picoAnim and not reload then
|
||||
health = getProperty('health')
|
||||
playAnim('boyfriend', 'CanHit', false);
|
||||
setProperty('boyfriend.specialAnim', true);
|
||||
playAnim('Spraycan1', 'missed', false);
|
||||
setProperty('Spraycan1.alpha', 0);
|
||||
playAnim('spraypaintExplosionEZ', 'explosion', false);
|
||||
setProperty('health', health -0.5);
|
||||
playSound('Pico_Bonk', 1);
|
||||
end
|
||||
end
|
||||
|
||||
function noteMiss(id, direction, noteType, isSustainNote)
|
||||
if direction == 0 and picoAnim then
|
||||
reload = false
|
||||
health = getProperty('health')
|
||||
playAnim('boyfriend', 'CanHit', false);
|
||||
setProperty('boyfriend.specialAnim', true);
|
||||
playAnim('Spraycan1', 'missed', false);
|
||||
setProperty('Spraycan1.alpha', 0);
|
||||
playAnim('spraypaintExplosionEZ', 'explosion', false);
|
||||
setProperty('health', health -0.5);
|
||||
playSound('Pico_Bonk', 1);
|
||||
end
|
||||
end
|
||||
|
||||
function onStepHit()
|
||||
if curStep >= 108 and curStep <= 126 or curStep >= 492 and curStep <= 510 or curStep >= 620 and curStep <= 638 or curStep >= 972 and curStep <= 990 or curStep >= 1036 and curStep <= 1054 or curStep >= 1420 and curStep <= 1438 then
|
||||
darnellAnim = true
|
||||
else
|
||||
darnellAnim = false
|
||||
end
|
||||
if curStep >= 119 and curStep <= 126 or curStep >= 503 and curStep <= 510 or curStep >= 631 and curStep <= 638 or curStep >= 983 and curStep <= 990 or curStep >= 1047 and curStep <= 1054 or curStep >= 1431 and curStep <= 1438 then
|
||||
picoAnim = true
|
||||
else
|
||||
picoAnim = false
|
||||
end
|
||||
if curStep == 126 or curStep == 510 or curStep == 638 or curStep == 990 or curStep == 1054 or curStep == 1438 then
|
||||
doTweenX('PicoBulletTweenX'..bullet, 'PicoBullet'..bullet, 2149 +getRandomInt(1,51), 0.5, 'cubeOut')
|
||||
end
|
||||
end
|
BIN
charts/blazin/.DS_Store
vendored
Normal file
98
charts/blazin/DIFFICULTYRANK.lua
Normal file
@ -0,0 +1,98 @@
|
||||
-- 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 = 3
|
||||
elseif difficulty == 1 then -- normal
|
||||
rank = 5
|
||||
elseif difficulty == 2 then -- hard
|
||||
rank = 6
|
||||
elseif difficulty == 3 then -- erect
|
||||
rank = 0
|
||||
elseif difficulty == 4 then -- nightmare
|
||||
rank = 0
|
||||
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
|
3251
charts/blazin/blazin-easy.json
Normal file
3359
charts/blazin/blazin-erect.json
Normal file
3376
charts/blazin/blazin-hard.json
Normal file
3359
charts/blazin/blazin-nightmare.json
Normal file
3275
charts/blazin/blazin-normal.json
Normal file
20
charts/blazin/cutscene.lua
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
|
||||
function onStartCountdown()
|
||||
if not allowCountdown and isStoryMode and not seenCutscene then --Block the first countdown
|
||||
startVideo('2hotCutscene');
|
||||
seenCutscene = true
|
||||
allowCountdown = true;
|
||||
return Function_Stop;
|
||||
end
|
||||
return Function_Continue;
|
||||
end
|
||||
|
||||
function onEndSong()
|
||||
if isStoryMode and not seenCutscene1 then
|
||||
startVideo('blazinCutscene')
|
||||
seenCutscene1 = true
|
||||
return Function_Stop
|
||||
end
|
||||
return Function_Continue
|
||||
end
|
13
charts/blazin/drain.lua
Normal file
@ -0,0 +1,13 @@
|
||||
function opponentNoteHit()
|
||||
if not hideHud then
|
||||
health = getProperty('health')
|
||||
setProperty('health', health -0.1);
|
||||
end
|
||||
|
||||
if hideHud then
|
||||
health = getProperty('health')
|
||||
if getProperty('health') > 0.02264 then
|
||||
setProperty('health', health- 0.02263);
|
||||
end
|
||||
end
|
||||
end
|
26
charts/blazin/events.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"song": {
|
||||
"events": [
|
||||
[
|
||||
8000,
|
||||
[
|
||||
[
|
||||
"Alt Idle Animation",
|
||||
"bf",
|
||||
"-alt"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
8083.33333333333,
|
||||
[
|
||||
[
|
||||
"Alt Idle Animation",
|
||||
"dad",
|
||||
"-alt"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
351
charts/blazin/rainshader.lua
Normal file
@ -0,0 +1,351 @@
|
||||
local rainSize1 = 1
|
||||
local rainSize2 = 1
|
||||
local rainSize3 = 1
|
||||
local rainSize4 = 1
|
||||
local rainSize5 = 1
|
||||
local rainSize6 = 1
|
||||
local rainSize7 = 1
|
||||
local rainSize8 = 1
|
||||
local rainSize9 = 1
|
||||
local rainSize10 = 1
|
||||
local rainSize11 = 1
|
||||
local rainSize12 = 1
|
||||
local rainSize13 = 1
|
||||
local rainSize14 = 1
|
||||
local rainSize15 = 1
|
||||
local rainSize16 = 1
|
||||
local rainSize17 = 1
|
||||
local rainSize18 = 1
|
||||
local rainSize19 = 1
|
||||
local rainSize20 = 1
|
||||
local rainDensity = 0
|
||||
|
||||
function onCreate()
|
||||
if not lowQuality then
|
||||
makeLuaSprite('rain1', 'empty', 0, -100);
|
||||
makeGraphic('rain1', 1, 1, '90eeff');
|
||||
setObjectCamera('rain1', 'hud');
|
||||
setProperty('rain1.alpha', 0.2);
|
||||
addLuaSprite('rain1', false);
|
||||
setProperty('rain1.angle', 8);
|
||||
|
||||
makeLuaSprite('rain2', 'empty', 0, -100);
|
||||
makeGraphic('rain2', 1, 1, '90eeff');
|
||||
setObjectCamera('rain2', 'hud');
|
||||
setProperty('rain2.alpha', 0.2);
|
||||
addLuaSprite('rain2', false);
|
||||
setProperty('rain2.angle', 8);
|
||||
|
||||
makeLuaSprite('rain3', 'empty', 0, -100);
|
||||
makeGraphic('rain3', 1, 1, '90eeff');
|
||||
setObjectCamera('rain3', 'hud');
|
||||
setProperty('rain3.alpha', 0.2);
|
||||
addLuaSprite('rain3', false);
|
||||
setProperty('rain3.angle', 8);
|
||||
|
||||
makeLuaSprite('rain4', 'empty', 0, -100);
|
||||
makeGraphic('rain4', 1, 1, '90eeff');
|
||||
setObjectCamera('rain4', 'hud');
|
||||
setProperty('rain4.alpha', 0.2);
|
||||
addLuaSprite('rain4', false);
|
||||
setProperty('rain4.angle', 8);
|
||||
|
||||
makeLuaSprite('rain5', 'empty', 0, -100);
|
||||
makeGraphic('rain5', 1, 1, '90eeff');
|
||||
setObjectCamera('rain5', 'hud');
|
||||
setProperty('rain5.alpha', 0.2);
|
||||
addLuaSprite('rain5', false);
|
||||
setProperty('rain5.angle', 8);
|
||||
|
||||
makeLuaSprite('rain6', 'empty', 0, -100);
|
||||
makeGraphic('rain6', 1, 1, '90eeff');
|
||||
setObjectCamera('rain6', 'hud');
|
||||
setProperty('rain6.alpha', 0.2);
|
||||
addLuaSprite('rain6', false);
|
||||
setProperty('rain6.angle', 8);
|
||||
|
||||
makeLuaSprite('rain7', 'empty', 0, -100);
|
||||
makeGraphic('rain7', 1, 1, '90eeff');
|
||||
setObjectCamera('rain7', 'hud');
|
||||
setProperty('rain7.alpha', 0.2);
|
||||
addLuaSprite('rain7', false);
|
||||
setProperty('rain7.angle', 8);
|
||||
|
||||
makeLuaSprite('rain8', 'empty', 0, -100);
|
||||
makeGraphic('rain8', 1, 1, '90eeff');
|
||||
setObjectCamera('rain8', 'hud');
|
||||
setProperty('rain8.alpha', 0.2);
|
||||
addLuaSprite('rain8', false);
|
||||
setProperty('rain8.angle', 8);
|
||||
|
||||
makeLuaSprite('rain9', 'empty', 0, -100);
|
||||
makeGraphic('rain9', 1, 1, '90eeff');
|
||||
setObjectCamera('rain9', 'hud');
|
||||
setProperty('rain9.alpha', 0.2);
|
||||
addLuaSprite('rain9', false);
|
||||
setProperty('rain9.angle', 8);
|
||||
|
||||
makeLuaSprite('rain10', 'empty', 0, -100);
|
||||
makeGraphic('rain10', 1, 1, '90eeff');
|
||||
setObjectCamera('rain10', 'hud');
|
||||
setProperty('rain10.alpha', 0.2);
|
||||
addLuaSprite('rain10', false);
|
||||
setProperty('rain10.angle', 8);
|
||||
|
||||
makeLuaSprite('rain11', 'empty', 0, -100);
|
||||
makeGraphic('rain11', 1, 1, '90eeff');
|
||||
setObjectCamera('rain11', 'hud');
|
||||
setProperty('rain11.alpha', 0.2);
|
||||
addLuaSprite('rain11', false);
|
||||
setProperty('rain11.angle', 8);
|
||||
|
||||
makeLuaSprite('rain12', 'empty', 0, -100);
|
||||
makeGraphic('rain12', 1, 1, '90eeff');
|
||||
setObjectCamera('rain12', 'hud');
|
||||
setProperty('rain12.alpha', 0.2);
|
||||
addLuaSprite('rain12', false);
|
||||
setProperty('rain12.angle', 8);
|
||||
|
||||
makeLuaSprite('rain13', 'empty', 0, -100);
|
||||
makeGraphic('rain13', 1, 1, '90eeff');
|
||||
setObjectCamera('rain13', 'hud');
|
||||
setProperty('rain13.alpha', 0.2);
|
||||
addLuaSprite('rain13', false);
|
||||
setProperty('rain13.angle', 8);
|
||||
|
||||
makeLuaSprite('rain14', 'empty', 0, -100);
|
||||
makeGraphic('rain14', 1, 1, '90eeff');
|
||||
setObjectCamera('rain14', 'hud');
|
||||
setProperty('rain14.alpha', 0.2);
|
||||
addLuaSprite('rain14', false);
|
||||
setProperty('rain14.angle', 8);
|
||||
|
||||
makeLuaSprite('rain15', 'empty', 0, -100);
|
||||
makeGraphic('rain15', 1, 1, '90eeff');
|
||||
setObjectCamera('rain15', 'hud');
|
||||
setProperty('rain15.alpha', 0.2);
|
||||
addLuaSprite('rain15', false);
|
||||
setProperty('rain15.angle', 8);
|
||||
|
||||
makeLuaSprite('rain16', 'empty', 0, -100);
|
||||
makeGraphic('rain16', 1, 1, '90eeff');
|
||||
setObjectCamera('rain16', 'hud');
|
||||
setProperty('rain16.alpha', 0.2);
|
||||
addLuaSprite('rain16', false);
|
||||
setProperty('rain16.angle', 8);
|
||||
|
||||
makeLuaSprite('rain17', 'empty', 0, -100);
|
||||
makeGraphic('rain17', 1, 1, '90eeff');
|
||||
setObjectCamera('rain17', 'hud');
|
||||
setProperty('rain17.alpha', 0.2);
|
||||
addLuaSprite('rain17', false);
|
||||
setProperty('rain17.angle', 8);
|
||||
|
||||
makeLuaSprite('rain18', 'empty', 0, -100);
|
||||
makeGraphic('rain18', 1, 1, '90eeff');
|
||||
setObjectCamera('rain18', 'hud');
|
||||
setProperty('rain18.alpha', 0.2);
|
||||
addLuaSprite('rain18', false);
|
||||
setProperty('rain18.angle', 8);
|
||||
|
||||
makeLuaSprite('rain19', 'empty', 0, -100);
|
||||
makeGraphic('rain19', 1, 1, '90eeff');
|
||||
setObjectCamera('rain19', 'hud');
|
||||
setProperty('rain19.alpha', 0.2);
|
||||
addLuaSprite('rain19', false);
|
||||
setProperty('rain19.angle', 8);
|
||||
|
||||
makeLuaSprite('rain20', 'empty', 0, -100);
|
||||
makeGraphic('rain20', 1, 1, '90eeff');
|
||||
setObjectCamera('rain20', 'hud');
|
||||
setProperty('rain20.alpha', 0.2);
|
||||
addLuaSprite('rain20', false);
|
||||
setProperty('rain20.angle', 8);
|
||||
end
|
||||
end
|
||||
|
||||
function onStepHit()
|
||||
if not lowQuality then
|
||||
rainDensity = getProperty("songPercent")
|
||||
rainSize1 = getRandomInt(3, 8)
|
||||
rainSize2 = getRandomInt(3, 8)
|
||||
rainSize3 = getRandomInt(3, 8)
|
||||
rainSize4 = getRandomInt(3, 8)
|
||||
rainSize5 = getRandomInt(3, 8)
|
||||
rainSize6 = getRandomInt(3, 8)
|
||||
rainSize7 = getRandomInt(3, 8)
|
||||
rainSize8 = getRandomInt(3, 8)
|
||||
rainSize9 = getRandomInt(3, 8)
|
||||
rainSize10 = getRandomInt(3, 8)
|
||||
rainSize11 = getRandomInt(3, 8)
|
||||
rainSize12 = getRandomInt(3, 8)
|
||||
rainSize13 = getRandomInt(3, 8)
|
||||
rainSize14 = getRandomInt(3, 8)
|
||||
rainSize15 = getRandomInt(3, 8)
|
||||
rainSize16 = getRandomInt(3, 8)
|
||||
rainSize17 = getRandomInt(3, 8)
|
||||
rainSize18 = getRandomInt(3, 8)
|
||||
rainSize19 = getRandomInt(3, 8)
|
||||
rainSize20 = getRandomInt(3, 8)
|
||||
setProperty('rain1.scale.x', rainSize1);
|
||||
setProperty('rain2.scale.x', rainSize2);
|
||||
setProperty('rain3.scale.x', rainSize3);
|
||||
setProperty('rain4.scale.x', rainSize4);
|
||||
setProperty('rain5.scale.x', rainSize5);
|
||||
setProperty('rain6.scale.x', rainSize6);
|
||||
setProperty('rain7.scale.x', rainSize7);
|
||||
setProperty('rain8.scale.x', rainSize8);
|
||||
setProperty('rain9.scale.x', rainSize9);
|
||||
setProperty('rain10.scale.x', rainSize10);
|
||||
setProperty('rain11.scale.x', rainSize11);
|
||||
setProperty('rain12.scale.x', rainSize12);
|
||||
setProperty('rain13.scale.x', rainSize13);
|
||||
setProperty('rain14.scale.x', rainSize14);
|
||||
setProperty('rain15.scale.x', rainSize15);
|
||||
setProperty('rain16.scale.x', rainSize16);
|
||||
setProperty('rain17.scale.x', rainSize17);
|
||||
setProperty('rain18.scale.x', rainSize18);
|
||||
setProperty('rain19.scale.x', rainSize19);
|
||||
setProperty('rain20.scale.x', rainSize20);
|
||||
setProperty('rain1.scale.y', rainSize1*30);
|
||||
setProperty('rain2.scale.y', rainSize2*30);
|
||||
setProperty('rain3.scale.y', rainSize3*30);
|
||||
setProperty('rain4.scale.y', rainSize4*30);
|
||||
setProperty('rain5.scale.y', rainSize5*30);
|
||||
setProperty('rain6.scale.y', rainSize6*30);
|
||||
setProperty('rain7.scale.y', rainSize7*30);
|
||||
setProperty('rain8.scale.y', rainSize8*30);
|
||||
setProperty('rain9.scale.y', rainSize9*30);
|
||||
setProperty('rain10.scale.y', rainSize10*30);
|
||||
setProperty('rain11.scale.y', rainSize11*30);
|
||||
setProperty('rain12.scale.y', rainSize12*30);
|
||||
setProperty('rain13.scale.y', rainSize13*30);
|
||||
setProperty('rain14.scale.y', rainSize14*30);
|
||||
setProperty('rain15.scale.y', rainSize15*30);
|
||||
setProperty('rain16.scale.y', rainSize16*30);
|
||||
setProperty('rain17.scale.y', rainSize17*30);
|
||||
setProperty('rain18.scale.y', rainSize18*30);
|
||||
setProperty('rain19.scale.y', rainSize19*30);
|
||||
setProperty('rain20.scale.y', rainSize20*30);
|
||||
if curStep %10 == 0 and rainDensity >= 0 then
|
||||
setProperty('rain1.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain1.y', -150);
|
||||
doTweenX('rain1X', 'rain1', getProperty('rain1.x')-150, 0.3);
|
||||
doTweenY('rain1Y', 'rain1', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 5 and rainDensity >= 0 then
|
||||
setProperty('rain2.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain2.y', -150);
|
||||
doTweenX('rain2X', 'rain2', getProperty('rain2.x')-150, 0.3);
|
||||
doTweenY('rain2Y', 'rain2', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 3 and rainDensity >= 0 then
|
||||
setProperty('rain3.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain3.y', -150);
|
||||
doTweenX('rain3X', 'rain3', getProperty('rain3.x')-150, 0.3);
|
||||
doTweenY('rain3Y', 'rain3', 900, 0);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0 then
|
||||
setProperty('rain4.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain4.y', -150);
|
||||
doTweenX('rain4X', 'rain4', getProperty('rain4.x')-150, 0.3);
|
||||
doTweenY('rain4Y', 'rain4', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 7 and rainDensity >= 0 then
|
||||
setProperty('rain5.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain5.y', -150);
|
||||
doTweenX('rain5X', 'rain5', getProperty('rain5.x')-150, 0.3);
|
||||
doTweenY('rain5Y', 'rain5', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 2 and rainDensity >= 0 then
|
||||
setProperty('rain6.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain6.y', -150);
|
||||
doTweenX('rain6X', 'rain6', getProperty('rain6.x')-150, 0.3);
|
||||
doTweenY('rain6Y', 'rain6', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 4 and rainDensity >= 0 then
|
||||
setProperty('rain7.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain7.y', -150);
|
||||
doTweenX('rain7X', 'rain7', getProperty('rain7.x')-150, 0.3);
|
||||
doTweenY('rain7Y', 'rain7', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 6 and rainDensity >= 0 then
|
||||
setProperty('rain8.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain8.y', -150);
|
||||
doTweenX('rain8X', 'rain8', getProperty('rain8.x')-150, 0.3);
|
||||
doTweenY('rain8Y', 'rain8', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 8 and rainDensity >= 0 then
|
||||
setProperty('rain9.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain9.y', -150);
|
||||
doTweenX('rain9X', 'rain9', getProperty('rain9.x')-150, 0.3);
|
||||
doTweenY('rain9Y', 'rain9', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0 then
|
||||
setProperty('rain10.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain10.y', -150);
|
||||
doTweenX('rain10X', 'rain10', getProperty('rain10.x')-150, 0.3);
|
||||
doTweenY('rain10Y', 'rain10', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 0 and rainDensity >= 0.1 then
|
||||
setProperty('rain11.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain11.y', -150);
|
||||
doTweenX('rain11X', 'rain11', getProperty('rain11.x')-150, 0.3);
|
||||
doTweenY('rain11Y', 'rain11', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 5 and rainDensity >= 0.2 then
|
||||
setProperty('rain12.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain12.y', -150);
|
||||
doTweenX('rain12X', 'rain12', getProperty('rain12.x')-150, 0.3);
|
||||
doTweenY('rain12Y', 'rain12', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 3 and rainDensity >= 0.3 then
|
||||
setProperty('rain13.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain13.y', -150);
|
||||
doTweenX('rain13X', 'rain13', getProperty('rain13.x')-150, 0.3);
|
||||
doTweenY('rain13Y', 'rain13', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0.4 then
|
||||
setProperty('rain14.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain14.y', -150);
|
||||
doTweenX('rain14X', 'rain14', getProperty('rain14.x')-150, 0.3);
|
||||
doTweenY('rain14Y', 'rain14', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 7 and rainDensity >= 0.5 then
|
||||
setProperty('rain15.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain15.y', -150);
|
||||
doTweenX('rain15X', 'rain15', getProperty('rain15.x')-150, 0.3);
|
||||
doTweenY('rain15Y', 'rain15', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 2 and rainDensity >= 0.6 then
|
||||
setProperty('rain16.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain16.y', -150);
|
||||
doTweenX('rain16X', 'rain16', getProperty('rain16.x')-150, 0.3);
|
||||
doTweenY('rain16Y', 'rain16', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 4 and rainDensity >= 0.7 then
|
||||
setProperty('rain17.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain17.y', -150);
|
||||
doTweenX('rain17X', 'rain17', getProperty('rain17.x')-150, 0.3);
|
||||
doTweenY('rain17Y', 'rain17', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 6 and rainDensity >= 0.8 then
|
||||
setProperty('rain18.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain18.y', -150);
|
||||
doTweenX('rain18X', 'rain18', getProperty('rain18.x')-150, 0.3);
|
||||
doTweenY('rain18Y', 'rain18', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 8 and rainDensity >= 0.9 then
|
||||
setProperty('rain19.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain19.y', -150);
|
||||
doTweenX('rain19X', 'rain19', getProperty('rain19.x')-150, 0.3);
|
||||
doTweenY('rain19Y', 'rain19', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 1 then
|
||||
setProperty('rain20.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain20.y', -150);
|
||||
doTweenX('rain20X', 'rain20', getProperty('rain20.x')-150, 0.3);
|
||||
doTweenY('rain20Y', 'rain20', 900, 0.3);
|
||||
end
|
||||
end
|
||||
end
|
26
charts/blazin/script.lua
Normal file
@ -0,0 +1,26 @@
|
||||
function onCreate()
|
||||
setPropertyFromClass('GameOverSubstate', 'characterName', 'pico-dead')
|
||||
setPropertyFromClass('GameOverSubstate', 'deathSoundName', 'gameplay/gameover/fnf_loss_sfx-pico-gutpunch')
|
||||
setPropertyFromClass('GameOverSubstate', 'loopSoundName', 'gameplay/gameover/gameOver-pico')
|
||||
setPropertyFromClass('GameOverSubstate', 'endSoundName', 'gameplay/gameover/gameOverEnd-pico')
|
||||
setPropertyFromClass('PauseSubState', 'songName', 'breakfast-pico/breakfast-pico')
|
||||
|
||||
for i = 0,3 do
|
||||
setPropertyFromGroup('strumLineNotes',i,'x', -830)
|
||||
end
|
||||
|
||||
triggerEvent('Camera Follow Pos', 320, 300)
|
||||
end
|
||||
|
||||
function onUpdate()
|
||||
noteTweenX("NoteMove1", 0, -150, 0.01, cubeInOut)
|
||||
noteTweenX("NoteMove2", 1, -150, 0.01, cubeInOut)
|
||||
noteTweenX("NoteMove3", 2, -150, 0.01, cubeInOut)
|
||||
noteTweenX("NoteMove4", 3, -150, 0.01, cubeInOut)
|
||||
|
||||
noteTweenX("NoteMove5", 4, 412, 0.01, cubeInOut)
|
||||
noteTweenX("NoteMove6", 5, 524, 0.01, cubeInOut)
|
||||
noteTweenX("NoteMove7", 6, 636, 0.01, cubeInOut)
|
||||
noteTweenX("NoteMove8", 7, 748, 0.01, cubeInOut)
|
||||
|
||||
end
|
BIN
charts/darnell/.DS_Store
vendored
Normal file
97
charts/darnell/DIFFICULTYRANK.lua
Normal 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 = 4
|
||||
elseif difficulty == 1 then -- normal
|
||||
rank = 5
|
||||
elseif difficulty == 2 then -- hard
|
||||
rank = 6
|
||||
elseif difficulty == 3 then -- erect
|
||||
rank = 0
|
||||
elseif difficulty == 4 then -- nightmare
|
||||
rank = 0
|
||||
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
|
6
charts/darnell/combo.lua
Normal file
@ -0,0 +1,6 @@
|
||||
function goodNoteHit()
|
||||
if getProperty('combo') == 100 or getProperty('combo') == 200 then
|
||||
characterPlayAnim('gf', 'combo100', true);
|
||||
setProperty('gf.specialAnim', true);
|
||||
end
|
||||
end
|
188
charts/darnell/cutscene.lua
Normal file
@ -0,0 +1,188 @@
|
||||
local cutscene = true
|
||||
local neneIdle = true
|
||||
local video = true
|
||||
local cutscene1 = true
|
||||
|
||||
function onCreate()
|
||||
setPropertyFromClass('GameOverSubstate', 'characterName', 'pico-dead')
|
||||
setPropertyFromClass('GameOverSubstate', 'deathSoundName', 'fnf_loss_sfx-pico')
|
||||
setPropertyFromClass('GameOverSubstate', 'loopSoundName', 'gameplay/gameover/gameOver-pico')
|
||||
setPropertyFromClass('GameOverSubstate', 'endSoundName', 'gameplay/gameover/gameOverEnd-pico')
|
||||
setPropertyFromClass('PauseSubState', 'songName', 'breakfast-pico/breakfast-pico')
|
||||
|
||||
makeAnimatedLuaSprite('PicoBullet', 'PicoBullet', 2100, 850);
|
||||
addAnimationByPrefix('PicoBullet', 'Pop', 'Pop', 24, false);
|
||||
setProperty('PicoBullet.flipX', false);
|
||||
scaleObject('PicoBullet', 1, 1);
|
||||
setScrollFactor('PicoBullet', 1, 1);
|
||||
setProperty('PicoBullet.alpha', 1);
|
||||
|
||||
makeAnimatedLuaSprite('spraypaintExplosionEZ', 'spraypaintExplosionEZ', 1000, 150);
|
||||
addAnimationByPrefix('spraypaintExplosionEZ', 'explosion', 'explosion round 1 short', 24, false);
|
||||
setProperty('spraypaintExplosionEZ.flipX', false);
|
||||
scaleObject('spraypaintExplosionEZ', 1, 1);
|
||||
setScrollFactor('spraypaintExplosionEZ', 1, 1);
|
||||
setProperty('spraypaintExplosionEZ.alpha', 0);
|
||||
addLuaSprite('spraypaintExplosionEZ', true);
|
||||
|
||||
makeLuaSprite('cutsceneShootBlack', 'empty', 0, 0);
|
||||
makeGraphic('cutsceneShootBlack', 3000, 2000, '000000');
|
||||
setProperty('cutsceneShootBlack.alpha', 0);
|
||||
addLuaSprite('cutsceneShootBlack', false);
|
||||
|
||||
makeLuaSprite('cutsceneOpenBlack', 'empty', 0, 0);
|
||||
makeGraphic('cutsceneOpenBlack', 1280, 720, '000000');
|
||||
setObjectCamera('cutsceneOpenBlack', 'other');
|
||||
setProperty('cutsceneOpenBlack.alpha', 1);
|
||||
|
||||
makeLuaText('cutText', '[SPACE] to Start', 300, 500, 700)
|
||||
setTextSize('cutText', 17);
|
||||
setTextFont('cutText', 'vcr2.ttf')
|
||||
addLuaText('cutText')
|
||||
|
||||
if isStoryMode then
|
||||
setProperty('skipText.visible', false)
|
||||
end
|
||||
|
||||
if not isStoryMode then
|
||||
setProperty('cutText.visible', false)
|
||||
end
|
||||
|
||||
if cutscene and isStoryMode and not seenCutscene then
|
||||
addLuaSprite('cutsceneOpenBlack', true);
|
||||
else
|
||||
triggerEvent("Change Character", 'bf', 'pico-playable')
|
||||
end
|
||||
end
|
||||
|
||||
function onUpdate()
|
||||
if getPropertyFromClass('flixel.FlxG', 'keys.justPressed.SPACE') and isStoryMode and cutscene1 or getPropertyFromClass('flixel.FlxG', 'keys.justPressed.ENTER') and cutscene1 and isStoryMode then
|
||||
runTimer('videoWait', 2);
|
||||
setProperty('cutText.visible', false)
|
||||
cutscene1 = false
|
||||
return Function_Continue;
|
||||
end
|
||||
end
|
||||
|
||||
function onStartCountdown()
|
||||
if isStoryMode then
|
||||
if cutscene and not seenCutscene then
|
||||
doTweenAlpha('GUItween', 'camHUD', 0, 0.1, 'linear');
|
||||
triggerEvent('Camera Follow Pos', 1500, 900)
|
||||
if video then
|
||||
startVideo('darnellCutscene');
|
||||
runTimer('video', 87); --86
|
||||
video = false
|
||||
end
|
||||
return Function_Stop;
|
||||
end
|
||||
if not cutscene then
|
||||
doTweenAlpha('GUItween', 'camHUD', 1, 0.5, 'linear');
|
||||
playAnim('boyfriend', 'return', false);
|
||||
runHaxeCode([[
|
||||
var cameraTwn:FlxTween;
|
||||
cameraTwn = FlxTween.tween(FlxG.camera, {zoom: 0.77}, 2, {ease: FlxEase.sineInOut, onComplete:
|
||||
function (twn:FlxTween) {
|
||||
cameraTwn = null;
|
||||
}
|
||||
});
|
||||
]])
|
||||
return Function_Continue;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function onTimerCompleted(tag, loops, loopsLeft)
|
||||
if tag == 'video' and cutscene then
|
||||
triggerEvent('Camera Follow Pos', 1500, 900)
|
||||
runTimer('videoWait', 2);
|
||||
end
|
||||
if tag == 'videoWait' and cutscene then
|
||||
playMusic('darnellCanCutscene/darnellCanCutscene', 1, false)
|
||||
doTweenAlpha('GUItween', 'camHUD', 0, 0.1, 'linear');
|
||||
triggerEvent('Camera Follow Pos', 1500, 900)
|
||||
runTimer('startSong', 9.2);
|
||||
runTimer('darnellAnim1', 4.2);
|
||||
runTimer('cameraTween', 1);
|
||||
runTimer('neneIdle1', 0.6);
|
||||
playAnim('gf', 'danceRight', false);
|
||||
playAnim('boyfriend', 'pissed', false);
|
||||
doTweenAlpha('cutsceneOpenBlack', 'cutsceneOpenBlack', 0, 1, 'linear')
|
||||
runHaxeCode([[
|
||||
FlxG.camera.zoom = 0.7
|
||||
]])
|
||||
end
|
||||
if tag == 'cameraTween' and cutscene and isStoryMode then
|
||||
triggerEvent('Camera Follow Pos', 1500, 900)
|
||||
runHaxeCode([[
|
||||
var cameraTwn:FlxTween;
|
||||
cameraTwn = FlxTween.tween(FlxG.camera, {zoom: 0.7}, 3, {ease: FlxEase.sineInOut, onComplete:
|
||||
function (twn:FlxTween) {
|
||||
cameraTwn = null;
|
||||
}
|
||||
});
|
||||
]])
|
||||
end
|
||||
if tag == 'neneIdle1' and cutscene and neneIdle == true then
|
||||
playAnim('gf', 'danceLeft', false);
|
||||
runTimer('neneIdle2', 0.6);
|
||||
end
|
||||
if tag == 'neneIdle2' and cutscene and neneIdle == true then
|
||||
playAnim('gf', 'danceRight', false);
|
||||
runTimer('neneIdle1', 0.6);
|
||||
end
|
||||
if tag == 'darnellAnim1' and cutscene then
|
||||
playAnim('dad', 'lightCan', false);
|
||||
playSound('Darnell_Lighter', 1)
|
||||
runTimer('picoAnim1', 1);
|
||||
end
|
||||
if tag == 'picoAnim1' and cutscene then
|
||||
triggerEvent('Camera Follow Pos', 1700, 900)
|
||||
setProperty('cutText.visible', false)
|
||||
playAnim('boyfriend', 'cock', false);
|
||||
playSound('Gun_Prep', 1)
|
||||
addLuaSprite('PicoBullet', true);
|
||||
runTimer('darnellAnim2', 0.3);
|
||||
end
|
||||
if tag == 'darnellAnim2' and cutscene then
|
||||
playAnim('dad', 'kickCan', false);
|
||||
playSound('Kick_Can_UP', 1)
|
||||
playAnim('cutsceneSpraycan', 'i', false);
|
||||
setProperty('cutsceneSpraycan.alpha', 1);
|
||||
runTimer('darnellAnim3', 0.3);
|
||||
end
|
||||
if tag == 'darnellAnim3' and cutscene then
|
||||
playAnim('dad', 'kneeCan', false);
|
||||
playSound('Kick_Can_FORWARD', 1)
|
||||
runTimer('picoAnim2', 0.3);
|
||||
end
|
||||
if tag == 'picoAnim2' and cutscene then
|
||||
triggerEvent('Camera Follow Pos', 1500, 900)
|
||||
setProperty('spraypaintExplosionEZ.alpha', 1);
|
||||
playAnim('spraypaintExplosionEZ', 'explosion', true);
|
||||
playAnim('boyfriend', 'shoot');
|
||||
setProperty('cutsceneShootBlack.alpha', 1);
|
||||
doTweenAlpha('cutsceneShootBlack', 'cutsceneShootBlack', 0, 1, 'linear')
|
||||
playAnim('boyfriend', 'return', false);
|
||||
playSound('shot'..getRandomInt(1, 3), 1)
|
||||
runTimer('cutsceneLaugh', 0.5);
|
||||
runTimer('picoReturn', (1/24)*139);
|
||||
end
|
||||
if tag == 'cutsceneLaugh' and cutscene then
|
||||
neneIdle = false
|
||||
playAnim('dad', 'laughCutscene', false);
|
||||
playAnim('gf', 'laughCutscene', false);
|
||||
playSound('cutscene/darnell_laugh', 1)
|
||||
playSound('cutscene/nene_laugh', 1)
|
||||
end
|
||||
if tag == 'startSong' and cutscene then
|
||||
cutscene = false
|
||||
doTweenAlpha('GUItween', 'camHUD', 1, 0.5, 'linear');
|
||||
setProperty('skipText.visible', true)
|
||||
startCountdown()
|
||||
end
|
||||
if tag == 'picoReturn' then
|
||||
triggerEvent("Change Character", 'bf', 'pico-playable')
|
||||
doTweenAlpha('GUItween', 'camHUD', 1, 0.5, 'linear');
|
||||
end
|
||||
end
|
3691
charts/darnell/darnell-easy.json
Normal file
11915
charts/darnell/darnell-erect.json
Normal file
4961
charts/darnell/darnell-hard.json
Normal file
11915
charts/darnell/darnell-nightmare.json
Normal file
4016
charts/darnell/darnell-normal.json
Normal file
616
charts/darnell/events.json
Normal file
@ -0,0 +1,616 @@
|
||||
{
|
||||
"song": {
|
||||
"events": [
|
||||
[
|
||||
0,
|
||||
[
|
||||
[
|
||||
"Camera Follow Pos",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
3000,
|
||||
[
|
||||
[
|
||||
"Change Character",
|
||||
"bf",
|
||||
"pico-playable"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
36387.0967741936,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
36580.6451612903,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
36774.1935483871,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
36967.7419354839,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
48774.1935483871,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
48967.7419354839,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
49161.2903225807,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
49354.8387096774,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
61935.4838709678,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
62322.5806451613,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
62903.2258064517,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
63096.7741935484,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
63870.9677419355,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
64451.6129032259,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
64838.7096774194,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
64935.4838709678,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
65419.3548387097,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
66000.0000000001,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
66193.5483870968,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
66967.7419354839,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
67354.8387096775,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
67548.3870967743,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
68129.0322580646,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
68903.2258064517,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
69290.3225806452,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
70064.5161290323,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
70451.6129032259,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
70645.1612903226,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
71032.2580645162,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
71225.806451613,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
72000.0000000001,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
72387.0967741936,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
73161.2903225807,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
74322.5806451614,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
85935.4838709678,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
86129.0322580646,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
86322.5806451614,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
86516.1290322582,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
98322.5806451614,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
98516.1290322582,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
98709.677419355,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
98903.2258064518,
|
||||
[
|
||||
[
|
||||
"Play Animation",
|
||||
"laugh",
|
||||
"dad"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
111483.870967742,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
112645.161290323,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
113419.35483871,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
114000,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
114387.096774194,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
114580.64516129,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
115741.935483871,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
116516.129032258,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
117096.774193549,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
117677.419354839,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
118838.70967742,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
119612.903225807,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
120193.548387097,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
120774.193548387,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
121935.483870968,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
122709.677419355,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
123870.967741936,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
"0.04"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
351
charts/darnell/rainshader.lua
Normal file
@ -0,0 +1,351 @@
|
||||
local rainSize1 = 1
|
||||
local rainSize2 = 1
|
||||
local rainSize3 = 1
|
||||
local rainSize4 = 1
|
||||
local rainSize5 = 1
|
||||
local rainSize6 = 1
|
||||
local rainSize7 = 1
|
||||
local rainSize8 = 1
|
||||
local rainSize9 = 1
|
||||
local rainSize10 = 1
|
||||
local rainSize11 = 1
|
||||
local rainSize12 = 1
|
||||
local rainSize13 = 1
|
||||
local rainSize14 = 1
|
||||
local rainSize15 = 1
|
||||
local rainSize16 = 1
|
||||
local rainSize17 = 1
|
||||
local rainSize18 = 1
|
||||
local rainSize19 = 1
|
||||
local rainSize20 = 1
|
||||
local rainDensity = 0
|
||||
|
||||
function onCreate()
|
||||
if not lowQuality then
|
||||
makeLuaSprite('rain1', 'empty', 0, -100);
|
||||
makeGraphic('rain1', 1, 1, '90eeff');
|
||||
setObjectCamera('rain1', 'hud');
|
||||
setProperty('rain1.alpha', 0.2);
|
||||
addLuaSprite('rain1', false);
|
||||
setProperty('rain1.angle', 8);
|
||||
|
||||
makeLuaSprite('rain2', 'empty', 0, -100);
|
||||
makeGraphic('rain2', 1, 1, '90eeff');
|
||||
setObjectCamera('rain2', 'hud');
|
||||
setProperty('rain2.alpha', 0.2);
|
||||
addLuaSprite('rain2', false);
|
||||
setProperty('rain2.angle', 8);
|
||||
|
||||
makeLuaSprite('rain3', 'empty', 0, -100);
|
||||
makeGraphic('rain3', 1, 1, '90eeff');
|
||||
setObjectCamera('rain3', 'hud');
|
||||
setProperty('rain3.alpha', 0.2);
|
||||
addLuaSprite('rain3', false);
|
||||
setProperty('rain3.angle', 8);
|
||||
|
||||
makeLuaSprite('rain4', 'empty', 0, -100);
|
||||
makeGraphic('rain4', 1, 1, '90eeff');
|
||||
setObjectCamera('rain4', 'hud');
|
||||
setProperty('rain4.alpha', 0.2);
|
||||
addLuaSprite('rain4', false);
|
||||
setProperty('rain4.angle', 8);
|
||||
|
||||
makeLuaSprite('rain5', 'empty', 0, -100);
|
||||
makeGraphic('rain5', 1, 1, '90eeff');
|
||||
setObjectCamera('rain5', 'hud');
|
||||
setProperty('rain5.alpha', 0.2);
|
||||
addLuaSprite('rain5', false);
|
||||
setProperty('rain5.angle', 8);
|
||||
|
||||
makeLuaSprite('rain6', 'empty', 0, -100);
|
||||
makeGraphic('rain6', 1, 1, '90eeff');
|
||||
setObjectCamera('rain6', 'hud');
|
||||
setProperty('rain6.alpha', 0.2);
|
||||
addLuaSprite('rain6', false);
|
||||
setProperty('rain6.angle', 8);
|
||||
|
||||
makeLuaSprite('rain7', 'empty', 0, -100);
|
||||
makeGraphic('rain7', 1, 1, '90eeff');
|
||||
setObjectCamera('rain7', 'hud');
|
||||
setProperty('rain7.alpha', 0.2);
|
||||
addLuaSprite('rain7', false);
|
||||
setProperty('rain7.angle', 8);
|
||||
|
||||
makeLuaSprite('rain8', 'empty', 0, -100);
|
||||
makeGraphic('rain8', 1, 1, '90eeff');
|
||||
setObjectCamera('rain8', 'hud');
|
||||
setProperty('rain8.alpha', 0.2);
|
||||
addLuaSprite('rain8', false);
|
||||
setProperty('rain8.angle', 8);
|
||||
|
||||
makeLuaSprite('rain9', 'empty', 0, -100);
|
||||
makeGraphic('rain9', 1, 1, '90eeff');
|
||||
setObjectCamera('rain9', 'hud');
|
||||
setProperty('rain9.alpha', 0.2);
|
||||
addLuaSprite('rain9', false);
|
||||
setProperty('rain9.angle', 8);
|
||||
|
||||
makeLuaSprite('rain10', 'empty', 0, -100);
|
||||
makeGraphic('rain10', 1, 1, '90eeff');
|
||||
setObjectCamera('rain10', 'hud');
|
||||
setProperty('rain10.alpha', 0.2);
|
||||
addLuaSprite('rain10', false);
|
||||
setProperty('rain10.angle', 8);
|
||||
|
||||
makeLuaSprite('rain11', 'empty', 0, -100);
|
||||
makeGraphic('rain11', 1, 1, '90eeff');
|
||||
setObjectCamera('rain11', 'hud');
|
||||
setProperty('rain11.alpha', 0.2);
|
||||
addLuaSprite('rain11', false);
|
||||
setProperty('rain11.angle', 8);
|
||||
|
||||
makeLuaSprite('rain12', 'empty', 0, -100);
|
||||
makeGraphic('rain12', 1, 1, '90eeff');
|
||||
setObjectCamera('rain12', 'hud');
|
||||
setProperty('rain12.alpha', 0.2);
|
||||
addLuaSprite('rain12', false);
|
||||
setProperty('rain12.angle', 8);
|
||||
|
||||
makeLuaSprite('rain13', 'empty', 0, -100);
|
||||
makeGraphic('rain13', 1, 1, '90eeff');
|
||||
setObjectCamera('rain13', 'hud');
|
||||
setProperty('rain13.alpha', 0.2);
|
||||
addLuaSprite('rain13', false);
|
||||
setProperty('rain13.angle', 8);
|
||||
|
||||
makeLuaSprite('rain14', 'empty', 0, -100);
|
||||
makeGraphic('rain14', 1, 1, '90eeff');
|
||||
setObjectCamera('rain14', 'hud');
|
||||
setProperty('rain14.alpha', 0.2);
|
||||
addLuaSprite('rain14', false);
|
||||
setProperty('rain14.angle', 8);
|
||||
|
||||
makeLuaSprite('rain15', 'empty', 0, -100);
|
||||
makeGraphic('rain15', 1, 1, '90eeff');
|
||||
setObjectCamera('rain15', 'hud');
|
||||
setProperty('rain15.alpha', 0.2);
|
||||
addLuaSprite('rain15', false);
|
||||
setProperty('rain15.angle', 8);
|
||||
|
||||
makeLuaSprite('rain16', 'empty', 0, -100);
|
||||
makeGraphic('rain16', 1, 1, '90eeff');
|
||||
setObjectCamera('rain16', 'hud');
|
||||
setProperty('rain16.alpha', 0.2);
|
||||
addLuaSprite('rain16', false);
|
||||
setProperty('rain16.angle', 8);
|
||||
|
||||
makeLuaSprite('rain17', 'empty', 0, -100);
|
||||
makeGraphic('rain17', 1, 1, '90eeff');
|
||||
setObjectCamera('rain17', 'hud');
|
||||
setProperty('rain17.alpha', 0.2);
|
||||
addLuaSprite('rain17', false);
|
||||
setProperty('rain17.angle', 8);
|
||||
|
||||
makeLuaSprite('rain18', 'empty', 0, -100);
|
||||
makeGraphic('rain18', 1, 1, '90eeff');
|
||||
setObjectCamera('rain18', 'hud');
|
||||
setProperty('rain18.alpha', 0.2);
|
||||
addLuaSprite('rain18', false);
|
||||
setProperty('rain18.angle', 8);
|
||||
|
||||
makeLuaSprite('rain19', 'empty', 0, -100);
|
||||
makeGraphic('rain19', 1, 1, '90eeff');
|
||||
setObjectCamera('rain19', 'hud');
|
||||
setProperty('rain19.alpha', 0.2);
|
||||
addLuaSprite('rain19', false);
|
||||
setProperty('rain19.angle', 8);
|
||||
|
||||
makeLuaSprite('rain20', 'empty', 0, -100);
|
||||
makeGraphic('rain20', 1, 1, '90eeff');
|
||||
setObjectCamera('rain20', 'hud');
|
||||
setProperty('rain20.alpha', 0.2);
|
||||
addLuaSprite('rain20', false);
|
||||
setProperty('rain20.angle', 8);
|
||||
end
|
||||
end
|
||||
|
||||
function onStepHit()
|
||||
if not lowQuality then
|
||||
rainDensity = getProperty("songPercent")
|
||||
rainSize1 = getRandomInt(3, 8)
|
||||
rainSize2 = getRandomInt(3, 8)
|
||||
rainSize3 = getRandomInt(3, 8)
|
||||
rainSize4 = getRandomInt(3, 8)
|
||||
rainSize5 = getRandomInt(3, 8)
|
||||
rainSize6 = getRandomInt(3, 8)
|
||||
rainSize7 = getRandomInt(3, 8)
|
||||
rainSize8 = getRandomInt(3, 8)
|
||||
rainSize9 = getRandomInt(3, 8)
|
||||
rainSize10 = getRandomInt(3, 8)
|
||||
rainSize11 = getRandomInt(3, 8)
|
||||
rainSize12 = getRandomInt(3, 8)
|
||||
rainSize13 = getRandomInt(3, 8)
|
||||
rainSize14 = getRandomInt(3, 8)
|
||||
rainSize15 = getRandomInt(3, 8)
|
||||
rainSize16 = getRandomInt(3, 8)
|
||||
rainSize17 = getRandomInt(3, 8)
|
||||
rainSize18 = getRandomInt(3, 8)
|
||||
rainSize19 = getRandomInt(3, 8)
|
||||
rainSize20 = getRandomInt(3, 8)
|
||||
setProperty('rain1.scale.x', rainSize1);
|
||||
setProperty('rain2.scale.x', rainSize2);
|
||||
setProperty('rain3.scale.x', rainSize3);
|
||||
setProperty('rain4.scale.x', rainSize4);
|
||||
setProperty('rain5.scale.x', rainSize5);
|
||||
setProperty('rain6.scale.x', rainSize6);
|
||||
setProperty('rain7.scale.x', rainSize7);
|
||||
setProperty('rain8.scale.x', rainSize8);
|
||||
setProperty('rain9.scale.x', rainSize9);
|
||||
setProperty('rain10.scale.x', rainSize10);
|
||||
setProperty('rain11.scale.x', rainSize11);
|
||||
setProperty('rain12.scale.x', rainSize12);
|
||||
setProperty('rain13.scale.x', rainSize13);
|
||||
setProperty('rain14.scale.x', rainSize14);
|
||||
setProperty('rain15.scale.x', rainSize15);
|
||||
setProperty('rain16.scale.x', rainSize16);
|
||||
setProperty('rain17.scale.x', rainSize17);
|
||||
setProperty('rain18.scale.x', rainSize18);
|
||||
setProperty('rain19.scale.x', rainSize19);
|
||||
setProperty('rain20.scale.x', rainSize20);
|
||||
setProperty('rain1.scale.y', rainSize1*30);
|
||||
setProperty('rain2.scale.y', rainSize2*30);
|
||||
setProperty('rain3.scale.y', rainSize3*30);
|
||||
setProperty('rain4.scale.y', rainSize4*30);
|
||||
setProperty('rain5.scale.y', rainSize5*30);
|
||||
setProperty('rain6.scale.y', rainSize6*30);
|
||||
setProperty('rain7.scale.y', rainSize7*30);
|
||||
setProperty('rain8.scale.y', rainSize8*30);
|
||||
setProperty('rain9.scale.y', rainSize9*30);
|
||||
setProperty('rain10.scale.y', rainSize10*30);
|
||||
setProperty('rain11.scale.y', rainSize11*30);
|
||||
setProperty('rain12.scale.y', rainSize12*30);
|
||||
setProperty('rain13.scale.y', rainSize13*30);
|
||||
setProperty('rain14.scale.y', rainSize14*30);
|
||||
setProperty('rain15.scale.y', rainSize15*30);
|
||||
setProperty('rain16.scale.y', rainSize16*30);
|
||||
setProperty('rain17.scale.y', rainSize17*30);
|
||||
setProperty('rain18.scale.y', rainSize18*30);
|
||||
setProperty('rain19.scale.y', rainSize19*30);
|
||||
setProperty('rain20.scale.y', rainSize20*30);
|
||||
if curStep %10 == 0 and rainDensity >= 0 then
|
||||
setProperty('rain1.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain1.y', -150);
|
||||
doTweenX('rain1X', 'rain1', getProperty('rain1.x')-150, 0.3);
|
||||
doTweenY('rain1Y', 'rain1', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 5 and rainDensity >= 0 then
|
||||
setProperty('rain2.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain2.y', -150);
|
||||
doTweenX('rain2X', 'rain2', getProperty('rain2.x')-150, 0.3);
|
||||
doTweenY('rain2Y', 'rain2', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 3 and rainDensity >= 0 then
|
||||
setProperty('rain3.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain3.y', -150);
|
||||
doTweenX('rain3X', 'rain3', getProperty('rain3.x')-150, 0.3);
|
||||
doTweenY('rain3Y', 'rain3', 900, 0);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0 then
|
||||
setProperty('rain4.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain4.y', -150);
|
||||
doTweenX('rain4X', 'rain4', getProperty('rain4.x')-150, 0.3);
|
||||
doTweenY('rain4Y', 'rain4', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 7 and rainDensity >= 0 then
|
||||
setProperty('rain5.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain5.y', -150);
|
||||
doTweenX('rain5X', 'rain5', getProperty('rain5.x')-150, 0.3);
|
||||
doTweenY('rain5Y', 'rain5', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 2 and rainDensity >= 0 then
|
||||
setProperty('rain6.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain6.y', -150);
|
||||
doTweenX('rain6X', 'rain6', getProperty('rain6.x')-150, 0.3);
|
||||
doTweenY('rain6Y', 'rain6', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 4 and rainDensity >= 0 then
|
||||
setProperty('rain7.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain7.y', -150);
|
||||
doTweenX('rain7X', 'rain7', getProperty('rain7.x')-150, 0.3);
|
||||
doTweenY('rain7Y', 'rain7', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 6 and rainDensity >= 0 then
|
||||
setProperty('rain8.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain8.y', -150);
|
||||
doTweenX('rain8X', 'rain8', getProperty('rain8.x')-150, 0.3);
|
||||
doTweenY('rain8Y', 'rain8', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 8 and rainDensity >= 0 then
|
||||
setProperty('rain9.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain9.y', -150);
|
||||
doTweenX('rain9X', 'rain9', getProperty('rain9.x')-150, 0.3);
|
||||
doTweenY('rain9Y', 'rain9', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0 then
|
||||
setProperty('rain10.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain10.y', -150);
|
||||
doTweenX('rain10X', 'rain10', getProperty('rain10.x')-150, 0.3);
|
||||
doTweenY('rain10Y', 'rain10', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 0 and rainDensity >= 0.1 then
|
||||
setProperty('rain11.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain11.y', -150);
|
||||
doTweenX('rain11X', 'rain11', getProperty('rain11.x')-150, 0.3);
|
||||
doTweenY('rain11Y', 'rain11', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 5 and rainDensity >= 0.2 then
|
||||
setProperty('rain12.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain12.y', -150);
|
||||
doTweenX('rain12X', 'rain12', getProperty('rain12.x')-150, 0.3);
|
||||
doTweenY('rain12Y', 'rain12', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 3 and rainDensity >= 0.3 then
|
||||
setProperty('rain13.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain13.y', -150);
|
||||
doTweenX('rain13X', 'rain13', getProperty('rain13.x')-150, 0.3);
|
||||
doTweenY('rain13Y', 'rain13', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0.4 then
|
||||
setProperty('rain14.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain14.y', -150);
|
||||
doTweenX('rain14X', 'rain14', getProperty('rain14.x')-150, 0.3);
|
||||
doTweenY('rain14Y', 'rain14', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 7 and rainDensity >= 0.5 then
|
||||
setProperty('rain15.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain15.y', -150);
|
||||
doTweenX('rain15X', 'rain15', getProperty('rain15.x')-150, 0.3);
|
||||
doTweenY('rain15Y', 'rain15', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 2 and rainDensity >= 0.6 then
|
||||
setProperty('rain16.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain16.y', -150);
|
||||
doTweenX('rain16X', 'rain16', getProperty('rain16.x')-150, 0.3);
|
||||
doTweenY('rain16Y', 'rain16', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 4 and rainDensity >= 0.7 then
|
||||
setProperty('rain17.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain17.y', -150);
|
||||
doTweenX('rain17X', 'rain17', getProperty('rain17.x')-150, 0.3);
|
||||
doTweenY('rain17Y', 'rain17', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 6 and rainDensity >= 0.8 then
|
||||
setProperty('rain18.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain18.y', -150);
|
||||
doTweenX('rain18X', 'rain18', getProperty('rain18.x')-150, 0.3);
|
||||
doTweenY('rain18Y', 'rain18', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 8 and rainDensity >= 0.9 then
|
||||
setProperty('rain19.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain19.y', -150);
|
||||
doTweenX('rain19X', 'rain19', getProperty('rain19.x')-150, 0.3);
|
||||
doTweenY('rain19Y', 'rain19', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 1 then
|
||||
setProperty('rain20.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain20.y', -150);
|
||||
doTweenX('rain20X', 'rain20', getProperty('rain20.x')-150, 0.3);
|
||||
doTweenY('rain20Y', 'rain20', 900, 0.3);
|
||||
end
|
||||
end
|
||||
end
|
9
charts/darnell/script.lua
Normal file
@ -0,0 +1,9 @@
|
||||
function onCreate()
|
||||
setPropertyFromClass('GameOverSubstate', 'characterName', 'pico-dead')
|
||||
setPropertyFromClass('GameOverSubstate', 'deathSoundName', 'fnf_loss_sfx-pico')
|
||||
setPropertyFromClass('GameOverSubstate', 'loopSoundName', 'gameplay/gameover/gameOver-pico')
|
||||
setPropertyFromClass('GameOverSubstate', 'endSoundName', 'gameplay/gameover/gameOverEnd-pico')
|
||||
setPropertyFromClass('PauseSubState', 'songName', 'breakfast-pico/breakfast-pico')
|
||||
characterPlayAnim('boyfriend', 'pissed', true);
|
||||
setProperty('boyfriend.specialAnim', true);
|
||||
end
|
98
charts/lit-up/DIFFICULTYRANK.lua
Normal file
@ -0,0 +1,98 @@
|
||||
-- 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 = 5
|
||||
elseif difficulty == 1 then -- normal
|
||||
rank = 6
|
||||
elseif difficulty == 2 then -- hard
|
||||
rank = 7
|
||||
elseif difficulty == 3 then -- erect
|
||||
rank = 0
|
||||
elseif difficulty == 4 then -- nightmare
|
||||
rank = 0
|
||||
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)
|
||||
setObjectOrder('difficulty', getObjectOrder('star') + 1)
|
||||
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
|
6
charts/lit-up/combo.lua
Normal file
@ -0,0 +1,6 @@
|
||||
function goodNoteHit()
|
||||
if getProperty('combo') == 100 or getProperty('combo') == 200 then
|
||||
characterPlayAnim('gf', 'combo100', true);
|
||||
setProperty('gf.specialAnim', true);
|
||||
end
|
||||
end
|
446
charts/lit-up/events.json
Normal file
@ -0,0 +1,446 @@
|
||||
{
|
||||
"song": {
|
||||
"events": [
|
||||
[
|
||||
21818.1818181818,
|
||||
[
|
||||
[
|
||||
"Set Cam Zoom",
|
||||
"0.85",
|
||||
""
|
||||
],
|
||||
[
|
||||
"Lit Up Vignette",
|
||||
"1",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
26590.9090909091,
|
||||
[
|
||||
[
|
||||
"Lit Up Vignette",
|
||||
"",
|
||||
"1"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
26931.8181818182,
|
||||
[
|
||||
[
|
||||
"Lit Up Vignette",
|
||||
"",
|
||||
"1"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
31363.6363636364,
|
||||
[
|
||||
[
|
||||
"Lit Up Vignette",
|
||||
"",
|
||||
"1"
|
||||
],
|
||||
[
|
||||
"Set Cam Zoom",
|
||||
"0.95",
|
||||
"1"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
31704.5454545455,
|
||||
[
|
||||
[
|
||||
"Lit Up Vignette",
|
||||
"",
|
||||
"1"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
32045.4545454545,
|
||||
[
|
||||
[
|
||||
"Lit Up Vignette",
|
||||
"",
|
||||
"1"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
32386.3636363636,
|
||||
[
|
||||
[
|
||||
"Lit Up Vignette",
|
||||
"",
|
||||
"2"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
32727.2727272727,
|
||||
[
|
||||
[
|
||||
"Set Cam Zoom",
|
||||
"0.7",
|
||||
""
|
||||
],
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
],
|
||||
[
|
||||
"Lit Up Vignette",
|
||||
"0",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
33579.5454545455,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
34943.1818181818,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
36306.8181818182,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
37670.4545454545,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
39034.0909090909,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
40397.7272727273,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
41761.3636363636,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
43125,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
44488.6363636364,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
45852.2727272727,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
47215.9090909091,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
48579.5454545455,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
49943.1818181818,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
51306.8181818182,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
52670.4545454545,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
54545.4545454545,
|
||||
[
|
||||
[
|
||||
"Set Cam Zoom",
|
||||
"0.85",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
76363.6363636363,
|
||||
[
|
||||
[
|
||||
"Set Cam Zoom",
|
||||
"0.7",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
77215.9090909091,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
78579.5454545454,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
79943.1818181818,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
81306.8181818182,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
82670.4545454545,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
84034.0909090909,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
85397.7272727273,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
86761.3636363636,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
88125,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
89488.6363636364,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
90852.2727272727,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
92215.9090909091,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
93579.5454545454,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
94943.1818181818,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
96306.8181818182,
|
||||
[
|
||||
[
|
||||
"Add Camera Zoom",
|
||||
"",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
98181.8181818182,
|
||||
[
|
||||
[
|
||||
"Set Cam Zoom",
|
||||
"0.85",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
109090.909090909,
|
||||
[
|
||||
[
|
||||
"Set Cam Zoom",
|
||||
"0.7",
|
||||
"2"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
5046
charts/lit-up/lit-up-easy.json
Normal file
5417
charts/lit-up/lit-up-erect.json
Normal file
5567
charts/lit-up/lit-up-hard.json
Normal file
5417
charts/lit-up/lit-up-nightmare.json
Normal file
5226
charts/lit-up/lit-up-normal.json
Normal file
351
charts/lit-up/rainshader.lua
Normal file
@ -0,0 +1,351 @@
|
||||
local rainSize1 = 1
|
||||
local rainSize2 = 1
|
||||
local rainSize3 = 1
|
||||
local rainSize4 = 1
|
||||
local rainSize5 = 1
|
||||
local rainSize6 = 1
|
||||
local rainSize7 = 1
|
||||
local rainSize8 = 1
|
||||
local rainSize9 = 1
|
||||
local rainSize10 = 1
|
||||
local rainSize11 = 1
|
||||
local rainSize12 = 1
|
||||
local rainSize13 = 1
|
||||
local rainSize14 = 1
|
||||
local rainSize15 = 1
|
||||
local rainSize16 = 1
|
||||
local rainSize17 = 1
|
||||
local rainSize18 = 1
|
||||
local rainSize19 = 1
|
||||
local rainSize20 = 1
|
||||
local rainDensity = 0
|
||||
|
||||
function onCreate()
|
||||
if not lowQuality then
|
||||
makeLuaSprite('rain1', 'empty', 0, -100);
|
||||
makeGraphic('rain1', 1, 1, '90eeff');
|
||||
setObjectCamera('rain1', 'hud');
|
||||
setProperty('rain1.alpha', 0.2);
|
||||
addLuaSprite('rain1', false);
|
||||
setProperty('rain1.angle', 8);
|
||||
|
||||
makeLuaSprite('rain2', 'empty', 0, -100);
|
||||
makeGraphic('rain2', 1, 1, '90eeff');
|
||||
setObjectCamera('rain2', 'hud');
|
||||
setProperty('rain2.alpha', 0.2);
|
||||
addLuaSprite('rain2', false);
|
||||
setProperty('rain2.angle', 8);
|
||||
|
||||
makeLuaSprite('rain3', 'empty', 0, -100);
|
||||
makeGraphic('rain3', 1, 1, '90eeff');
|
||||
setObjectCamera('rain3', 'hud');
|
||||
setProperty('rain3.alpha', 0.2);
|
||||
addLuaSprite('rain3', false);
|
||||
setProperty('rain3.angle', 8);
|
||||
|
||||
makeLuaSprite('rain4', 'empty', 0, -100);
|
||||
makeGraphic('rain4', 1, 1, '90eeff');
|
||||
setObjectCamera('rain4', 'hud');
|
||||
setProperty('rain4.alpha', 0.2);
|
||||
addLuaSprite('rain4', false);
|
||||
setProperty('rain4.angle', 8);
|
||||
|
||||
makeLuaSprite('rain5', 'empty', 0, -100);
|
||||
makeGraphic('rain5', 1, 1, '90eeff');
|
||||
setObjectCamera('rain5', 'hud');
|
||||
setProperty('rain5.alpha', 0.2);
|
||||
addLuaSprite('rain5', false);
|
||||
setProperty('rain5.angle', 8);
|
||||
|
||||
makeLuaSprite('rain6', 'empty', 0, -100);
|
||||
makeGraphic('rain6', 1, 1, '90eeff');
|
||||
setObjectCamera('rain6', 'hud');
|
||||
setProperty('rain6.alpha', 0.2);
|
||||
addLuaSprite('rain6', false);
|
||||
setProperty('rain6.angle', 8);
|
||||
|
||||
makeLuaSprite('rain7', 'empty', 0, -100);
|
||||
makeGraphic('rain7', 1, 1, '90eeff');
|
||||
setObjectCamera('rain7', 'hud');
|
||||
setProperty('rain7.alpha', 0.2);
|
||||
addLuaSprite('rain7', false);
|
||||
setProperty('rain7.angle', 8);
|
||||
|
||||
makeLuaSprite('rain8', 'empty', 0, -100);
|
||||
makeGraphic('rain8', 1, 1, '90eeff');
|
||||
setObjectCamera('rain8', 'hud');
|
||||
setProperty('rain8.alpha', 0.2);
|
||||
addLuaSprite('rain8', false);
|
||||
setProperty('rain8.angle', 8);
|
||||
|
||||
makeLuaSprite('rain9', 'empty', 0, -100);
|
||||
makeGraphic('rain9', 1, 1, '90eeff');
|
||||
setObjectCamera('rain9', 'hud');
|
||||
setProperty('rain9.alpha', 0.2);
|
||||
addLuaSprite('rain9', false);
|
||||
setProperty('rain9.angle', 8);
|
||||
|
||||
makeLuaSprite('rain10', 'empty', 0, -100);
|
||||
makeGraphic('rain10', 1, 1, '90eeff');
|
||||
setObjectCamera('rain10', 'hud');
|
||||
setProperty('rain10.alpha', 0.2);
|
||||
addLuaSprite('rain10', false);
|
||||
setProperty('rain10.angle', 8);
|
||||
|
||||
makeLuaSprite('rain11', 'empty', 0, -100);
|
||||
makeGraphic('rain11', 1, 1, '90eeff');
|
||||
setObjectCamera('rain11', 'hud');
|
||||
setProperty('rain11.alpha', 0.2);
|
||||
addLuaSprite('rain11', false);
|
||||
setProperty('rain11.angle', 8);
|
||||
|
||||
makeLuaSprite('rain12', 'empty', 0, -100);
|
||||
makeGraphic('rain12', 1, 1, '90eeff');
|
||||
setObjectCamera('rain12', 'hud');
|
||||
setProperty('rain12.alpha', 0.2);
|
||||
addLuaSprite('rain12', false);
|
||||
setProperty('rain12.angle', 8);
|
||||
|
||||
makeLuaSprite('rain13', 'empty', 0, -100);
|
||||
makeGraphic('rain13', 1, 1, '90eeff');
|
||||
setObjectCamera('rain13', 'hud');
|
||||
setProperty('rain13.alpha', 0.2);
|
||||
addLuaSprite('rain13', false);
|
||||
setProperty('rain13.angle', 8);
|
||||
|
||||
makeLuaSprite('rain14', 'empty', 0, -100);
|
||||
makeGraphic('rain14', 1, 1, '90eeff');
|
||||
setObjectCamera('rain14', 'hud');
|
||||
setProperty('rain14.alpha', 0.2);
|
||||
addLuaSprite('rain14', false);
|
||||
setProperty('rain14.angle', 8);
|
||||
|
||||
makeLuaSprite('rain15', 'empty', 0, -100);
|
||||
makeGraphic('rain15', 1, 1, '90eeff');
|
||||
setObjectCamera('rain15', 'hud');
|
||||
setProperty('rain15.alpha', 0.2);
|
||||
addLuaSprite('rain15', false);
|
||||
setProperty('rain15.angle', 8);
|
||||
|
||||
makeLuaSprite('rain16', 'empty', 0, -100);
|
||||
makeGraphic('rain16', 1, 1, '90eeff');
|
||||
setObjectCamera('rain16', 'hud');
|
||||
setProperty('rain16.alpha', 0.2);
|
||||
addLuaSprite('rain16', false);
|
||||
setProperty('rain16.angle', 8);
|
||||
|
||||
makeLuaSprite('rain17', 'empty', 0, -100);
|
||||
makeGraphic('rain17', 1, 1, '90eeff');
|
||||
setObjectCamera('rain17', 'hud');
|
||||
setProperty('rain17.alpha', 0.2);
|
||||
addLuaSprite('rain17', false);
|
||||
setProperty('rain17.angle', 8);
|
||||
|
||||
makeLuaSprite('rain18', 'empty', 0, -100);
|
||||
makeGraphic('rain18', 1, 1, '90eeff');
|
||||
setObjectCamera('rain18', 'hud');
|
||||
setProperty('rain18.alpha', 0.2);
|
||||
addLuaSprite('rain18', false);
|
||||
setProperty('rain18.angle', 8);
|
||||
|
||||
makeLuaSprite('rain19', 'empty', 0, -100);
|
||||
makeGraphic('rain19', 1, 1, '90eeff');
|
||||
setObjectCamera('rain19', 'hud');
|
||||
setProperty('rain19.alpha', 0.2);
|
||||
addLuaSprite('rain19', false);
|
||||
setProperty('rain19.angle', 8);
|
||||
|
||||
makeLuaSprite('rain20', 'empty', 0, -100);
|
||||
makeGraphic('rain20', 1, 1, '90eeff');
|
||||
setObjectCamera('rain20', 'hud');
|
||||
setProperty('rain20.alpha', 0.2);
|
||||
addLuaSprite('rain20', false);
|
||||
setProperty('rain20.angle', 8);
|
||||
end
|
||||
end
|
||||
|
||||
function onStepHit()
|
||||
if not lowQuality then
|
||||
rainDensity = getProperty("songPercent")
|
||||
rainSize1 = getRandomInt(3, 8)
|
||||
rainSize2 = getRandomInt(3, 8)
|
||||
rainSize3 = getRandomInt(3, 8)
|
||||
rainSize4 = getRandomInt(3, 8)
|
||||
rainSize5 = getRandomInt(3, 8)
|
||||
rainSize6 = getRandomInt(3, 8)
|
||||
rainSize7 = getRandomInt(3, 8)
|
||||
rainSize8 = getRandomInt(3, 8)
|
||||
rainSize9 = getRandomInt(3, 8)
|
||||
rainSize10 = getRandomInt(3, 8)
|
||||
rainSize11 = getRandomInt(3, 8)
|
||||
rainSize12 = getRandomInt(3, 8)
|
||||
rainSize13 = getRandomInt(3, 8)
|
||||
rainSize14 = getRandomInt(3, 8)
|
||||
rainSize15 = getRandomInt(3, 8)
|
||||
rainSize16 = getRandomInt(3, 8)
|
||||
rainSize17 = getRandomInt(3, 8)
|
||||
rainSize18 = getRandomInt(3, 8)
|
||||
rainSize19 = getRandomInt(3, 8)
|
||||
rainSize20 = getRandomInt(3, 8)
|
||||
setProperty('rain1.scale.x', rainSize1);
|
||||
setProperty('rain2.scale.x', rainSize2);
|
||||
setProperty('rain3.scale.x', rainSize3);
|
||||
setProperty('rain4.scale.x', rainSize4);
|
||||
setProperty('rain5.scale.x', rainSize5);
|
||||
setProperty('rain6.scale.x', rainSize6);
|
||||
setProperty('rain7.scale.x', rainSize7);
|
||||
setProperty('rain8.scale.x', rainSize8);
|
||||
setProperty('rain9.scale.x', rainSize9);
|
||||
setProperty('rain10.scale.x', rainSize10);
|
||||
setProperty('rain11.scale.x', rainSize11);
|
||||
setProperty('rain12.scale.x', rainSize12);
|
||||
setProperty('rain13.scale.x', rainSize13);
|
||||
setProperty('rain14.scale.x', rainSize14);
|
||||
setProperty('rain15.scale.x', rainSize15);
|
||||
setProperty('rain16.scale.x', rainSize16);
|
||||
setProperty('rain17.scale.x', rainSize17);
|
||||
setProperty('rain18.scale.x', rainSize18);
|
||||
setProperty('rain19.scale.x', rainSize19);
|
||||
setProperty('rain20.scale.x', rainSize20);
|
||||
setProperty('rain1.scale.y', rainSize1*30);
|
||||
setProperty('rain2.scale.y', rainSize2*30);
|
||||
setProperty('rain3.scale.y', rainSize3*30);
|
||||
setProperty('rain4.scale.y', rainSize4*30);
|
||||
setProperty('rain5.scale.y', rainSize5*30);
|
||||
setProperty('rain6.scale.y', rainSize6*30);
|
||||
setProperty('rain7.scale.y', rainSize7*30);
|
||||
setProperty('rain8.scale.y', rainSize8*30);
|
||||
setProperty('rain9.scale.y', rainSize9*30);
|
||||
setProperty('rain10.scale.y', rainSize10*30);
|
||||
setProperty('rain11.scale.y', rainSize11*30);
|
||||
setProperty('rain12.scale.y', rainSize12*30);
|
||||
setProperty('rain13.scale.y', rainSize13*30);
|
||||
setProperty('rain14.scale.y', rainSize14*30);
|
||||
setProperty('rain15.scale.y', rainSize15*30);
|
||||
setProperty('rain16.scale.y', rainSize16*30);
|
||||
setProperty('rain17.scale.y', rainSize17*30);
|
||||
setProperty('rain18.scale.y', rainSize18*30);
|
||||
setProperty('rain19.scale.y', rainSize19*30);
|
||||
setProperty('rain20.scale.y', rainSize20*30);
|
||||
if curStep %10 == 0 and rainDensity >= 0 then
|
||||
setProperty('rain1.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain1.y', -150);
|
||||
doTweenX('rain1X', 'rain1', getProperty('rain1.x')-150, 0.3);
|
||||
doTweenY('rain1Y', 'rain1', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 5 and rainDensity >= 0 then
|
||||
setProperty('rain2.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain2.y', -150);
|
||||
doTweenX('rain2X', 'rain2', getProperty('rain2.x')-150, 0.3);
|
||||
doTweenY('rain2Y', 'rain2', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 3 and rainDensity >= 0 then
|
||||
setProperty('rain3.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain3.y', -150);
|
||||
doTweenX('rain3X', 'rain3', getProperty('rain3.x')-150, 0.3);
|
||||
doTweenY('rain3Y', 'rain3', 900, 0);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0 then
|
||||
setProperty('rain4.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain4.y', -150);
|
||||
doTweenX('rain4X', 'rain4', getProperty('rain4.x')-150, 0.3);
|
||||
doTweenY('rain4Y', 'rain4', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 7 and rainDensity >= 0 then
|
||||
setProperty('rain5.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain5.y', -150);
|
||||
doTweenX('rain5X', 'rain5', getProperty('rain5.x')-150, 0.3);
|
||||
doTweenY('rain5Y', 'rain5', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 2 and rainDensity >= 0 then
|
||||
setProperty('rain6.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain6.y', -150);
|
||||
doTweenX('rain6X', 'rain6', getProperty('rain6.x')-150, 0.3);
|
||||
doTweenY('rain6Y', 'rain6', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 4 and rainDensity >= 0 then
|
||||
setProperty('rain7.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain7.y', -150);
|
||||
doTweenX('rain7X', 'rain7', getProperty('rain7.x')-150, 0.3);
|
||||
doTweenY('rain7Y', 'rain7', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 6 and rainDensity >= 0 then
|
||||
setProperty('rain8.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain8.y', -150);
|
||||
doTweenX('rain8X', 'rain8', getProperty('rain8.x')-150, 0.3);
|
||||
doTweenY('rain8Y', 'rain8', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 8 and rainDensity >= 0 then
|
||||
setProperty('rain9.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain9.y', -150);
|
||||
doTweenX('rain9X', 'rain9', getProperty('rain9.x')-150, 0.3);
|
||||
doTweenY('rain9Y', 'rain9', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0 then
|
||||
setProperty('rain10.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain10.y', -150);
|
||||
doTweenX('rain10X', 'rain10', getProperty('rain10.x')-150, 0.3);
|
||||
doTweenY('rain10Y', 'rain10', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 0 and rainDensity >= 0.1 then
|
||||
setProperty('rain11.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain11.y', -150);
|
||||
doTweenX('rain11X', 'rain11', getProperty('rain11.x')-150, 0.3);
|
||||
doTweenY('rain11Y', 'rain11', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 5 and rainDensity >= 0.2 then
|
||||
setProperty('rain12.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain12.y', -150);
|
||||
doTweenX('rain12X', 'rain12', getProperty('rain12.x')-150, 0.3);
|
||||
doTweenY('rain12Y', 'rain12', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 3 and rainDensity >= 0.3 then
|
||||
setProperty('rain13.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain13.y', -150);
|
||||
doTweenX('rain13X', 'rain13', getProperty('rain13.x')-150, 0.3);
|
||||
doTweenY('rain13Y', 'rain13', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 0.4 then
|
||||
setProperty('rain14.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain14.y', -150);
|
||||
doTweenX('rain14X', 'rain14', getProperty('rain14.x')-150, 0.3);
|
||||
doTweenY('rain14Y', 'rain14', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 7 and rainDensity >= 0.5 then
|
||||
setProperty('rain15.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain15.y', -150);
|
||||
doTweenX('rain15X', 'rain15', getProperty('rain15.x')-150, 0.3);
|
||||
doTweenY('rain15Y', 'rain15', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 2 and rainDensity >= 0.6 then
|
||||
setProperty('rain16.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain16.y', -150);
|
||||
doTweenX('rain16X', 'rain16', getProperty('rain16.x')-150, 0.3);
|
||||
doTweenY('rain16Y', 'rain16', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 4 and rainDensity >= 0.7 then
|
||||
setProperty('rain17.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain17.y', -150);
|
||||
doTweenX('rain17X', 'rain17', getProperty('rain17.x')-150, 0.3);
|
||||
doTweenY('rain17Y', 'rain17', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 6 and rainDensity >= 0.8 then
|
||||
setProperty('rain18.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain18.y', -150);
|
||||
doTweenX('rain18X', 'rain18', getProperty('rain18.x')-150, 0.3);
|
||||
doTweenY('rain18Y', 'rain18', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 8 and rainDensity >= 0.9 then
|
||||
setProperty('rain19.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain19.y', -150);
|
||||
doTweenX('rain19X', 'rain19', getProperty('rain19.x')-150, 0.3);
|
||||
doTweenY('rain19Y', 'rain19', 900, 0.3);
|
||||
end
|
||||
if curStep %10 == 9 and rainDensity >= 1 then
|
||||
setProperty('rain20.x', getRandomInt(1, 1301)-1);
|
||||
setProperty('rain20.y', -150);
|
||||
doTweenX('rain20X', 'rain20', getProperty('rain20.x')-150, 0.3);
|
||||
doTweenY('rain20Y', 'rain20', 900, 0.3);
|
||||
end
|
||||
end
|
||||
end
|
7
charts/lit-up/script.lua
Normal file
@ -0,0 +1,7 @@
|
||||
function onCreate()
|
||||
setPropertyFromClass('GameOverSubstate', 'characterName', 'pico-dead')
|
||||
setPropertyFromClass('GameOverSubstate', 'deathSoundName', 'fnf_loss_sfx-pico')
|
||||
setPropertyFromClass('GameOverSubstate', 'loopSoundName', 'gameplay/gameover/gameOver-pico')
|
||||
setPropertyFromClass('GameOverSubstate', 'endSoundName', 'gameplay/gameover/gameOverEnd-pico')
|
||||
setPropertyFromClass('PauseSubState', 'songName', 'breakfast-pico/breakfast-pico')
|
||||
end
|
@ -2223,7 +2223,7 @@
|
||||
"song": "South",
|
||||
"validScore": true,
|
||||
"needsVoices": true,
|
||||
"stage": "stage",
|
||||
"stage": "spooky",
|
||||
"speed": 2.2,
|
||||
"bpm": 165
|
||||
}
|
||||
|
BIN
images/icons/icon-bf-old.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
images/icons/icon-bf-pixel.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
images/icons/icon-bf.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
images/icons/icon-bfgf.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
images/icons/icon-dad.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
images/icons/icon-face.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
images/icons/icon-gf.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
images/icons/icon-mom.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
images/icons/icon-monster.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
images/icons/icon-parents.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
images/icons/icon-pico.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
images/icons/icon-senpai-angry-pixel.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
images/icons/icon-senpai-pixel.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
images/icons/icon-spirit-pixel.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
images/icons/icon-spooky.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
images/icons/icon-tankman.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
45
main.lua
@ -64,19 +64,30 @@ function love.draw()
|
||||
end
|
||||
end
|
||||
|
||||
function run()
|
||||
curState = state(curSong.name, curDiff)
|
||||
curState.quit = function()
|
||||
curState = nil
|
||||
stateLoaded = false
|
||||
myTypes.destroyAllSprites()
|
||||
end
|
||||
curState.restart = function()
|
||||
curState = nil
|
||||
stateLoaded = false
|
||||
myTypes.destroyAllSprites()
|
||||
|
||||
run()
|
||||
end
|
||||
curState.load()
|
||||
end
|
||||
|
||||
function love.keypressed(key, un, is)
|
||||
if curState and stateLoaded then
|
||||
curState.keypressed(key, un, is)
|
||||
else
|
||||
elseif not curState then
|
||||
if not gettingKey then
|
||||
if key == "return" then
|
||||
curState = state(curSong.name, curDiff)
|
||||
curState.quit = function()
|
||||
curState = nil
|
||||
stateLoaded = false
|
||||
myTypes.destroyAllSprites()
|
||||
end
|
||||
curState.load()
|
||||
run()
|
||||
elseif key == "down" then
|
||||
curIndex, curSong = next(songs, curIndex)
|
||||
if not curSong then
|
||||
@ -94,17 +105,13 @@ function love.keypressed(key, un, is)
|
||||
curDiff = curDiffList[1]
|
||||
curDiffInd = 1
|
||||
end
|
||||
elseif key == "1" then
|
||||
gettingKey = 1
|
||||
elseif key == "2" then
|
||||
gettingKey = 2
|
||||
elseif key == "3" then
|
||||
gettingKey = 3
|
||||
elseif key == "4" then
|
||||
gettingKey = 3
|
||||
elseif key == "0" then
|
||||
settings.Downscroll = not settings.Downscroll
|
||||
files.write_file("settings.json", json.stringify(settings))
|
||||
elseif tonumber(key) and tonumber(key) < 5 then
|
||||
if key == "0" then
|
||||
settings.Downscroll = not settings.Downscroll
|
||||
files.write_file("settings.json", json.stringify(settings))
|
||||
else
|
||||
gettingKey = tonumber(key)
|
||||
end
|
||||
end
|
||||
else
|
||||
keybinds[gettingKey] = key
|
||||
|
@ -30,6 +30,9 @@ local function state(songName, songDifficulty)
|
||||
local speed = chart.speed and chart.speed / 3 or 0.5
|
||||
|
||||
local miss = love.audio.newSource("sounds/missnote1.ogg", "static")
|
||||
local loss = love.audio.newSource("sounds/fnf_loss_sfx.ogg", "static")
|
||||
local gameOver = love.audio.newSource("sounds/gameOver.ogg", "stream")
|
||||
local gameOverEnd = love.audio.newSource("sounds/gameOverEnd.ogg", "static")
|
||||
|
||||
conductor:setBpm(chart.bpm)
|
||||
conductor:mapBpmChanges(chart)
|
||||
@ -57,6 +60,8 @@ local function state(songName, songDifficulty)
|
||||
|
||||
local characters = {}
|
||||
|
||||
local icons = {}
|
||||
|
||||
local settings = {}
|
||||
|
||||
local ratings = {
|
||||
@ -114,20 +119,6 @@ local function state(songName, songDifficulty)
|
||||
["singRIGHT-alt"] = myTypes.Vector2(-20, 0)
|
||||
}
|
||||
|
||||
local pressed = {
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false
|
||||
}
|
||||
local holded = {
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false
|
||||
}
|
||||
|
||||
local font = love.graphics.newFont("fonts/Phantomuff.ttf", 15)
|
||||
local biggerFont = love.graphics.newFont("fonts/Phantomuff.ttf", 30)
|
||||
|
||||
@ -142,9 +133,61 @@ local function state(songName, songDifficulty)
|
||||
local pauseTime = 0 -- the global amount of time the song has been paused
|
||||
local pauseStart = 0 -- the start of the latest pause (for pauseTime calculation)
|
||||
|
||||
local health = 1 -- 0 to 2, 1 starters
|
||||
local dead = false
|
||||
local deadBF
|
||||
local restart = false
|
||||
|
||||
local function quit()
|
||||
if restart then return end
|
||||
playing = false
|
||||
|
||||
if modules then
|
||||
for index, module in next, modules do
|
||||
if module.onClose then
|
||||
module.onClose()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
modules = nil
|
||||
|
||||
if not dead then
|
||||
inst:stop()
|
||||
inst:release()
|
||||
inst = nil
|
||||
|
||||
if chart.needsVoices then
|
||||
voices:stop()
|
||||
voices:release()
|
||||
voices = nil
|
||||
end
|
||||
|
||||
miss:stop()
|
||||
miss:release()
|
||||
else
|
||||
loss:stop()
|
||||
gameOver:stop()
|
||||
gameOverEnd:stop()
|
||||
end
|
||||
|
||||
state.quit()
|
||||
end
|
||||
|
||||
local function die()
|
||||
dead = true
|
||||
playing = false
|
||||
|
||||
if modules then
|
||||
for index, module in next, modules do
|
||||
if module.onClose then
|
||||
module.onClose()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
modules = nil
|
||||
|
||||
inst:stop()
|
||||
inst:release()
|
||||
inst = nil
|
||||
@ -158,7 +201,12 @@ local function state(songName, songDifficulty)
|
||||
miss:stop()
|
||||
miss:release()
|
||||
|
||||
state.quit()
|
||||
myTypes.destroyAllSprites()
|
||||
|
||||
deadBF = myTypes.character(string.format("%s-dead", chart.player1))
|
||||
deadBF:PlayAnimation("firstDeath")
|
||||
|
||||
loss:play()
|
||||
end
|
||||
|
||||
local function checkNote(dir)
|
||||
@ -182,13 +230,42 @@ local function state(songName, songDifficulty)
|
||||
ratings[rating.rating] = ratings[rating.rating] + 1
|
||||
characters.bf:PlayAnimation("sing"..directions[closestNote.direction])
|
||||
closestNote.pressed = true
|
||||
|
||||
health = health + closestNote.hitHealth
|
||||
|
||||
notes[closestIndex] = nil
|
||||
closestNote:destroy()
|
||||
end
|
||||
end
|
||||
|
||||
function state.update(dt)
|
||||
if not playing then return end
|
||||
if not playing then
|
||||
if dead then
|
||||
myTypes.cameraTarget = deadBF.stageCamera
|
||||
if not restart then
|
||||
if deadBF and deadBF.sprite.ended then
|
||||
deadBF:PlayAnimation("deathLoop")
|
||||
end
|
||||
if loss and not loss:isPlaying() and not gameOverEnd:isPlaying() and not gameOver:isPlaying() then
|
||||
gameOver:play()
|
||||
end
|
||||
else
|
||||
if not gameOverEnd:isPlaying() then
|
||||
deadBF = nil
|
||||
loss:release()
|
||||
loss = nil
|
||||
gameOverEnd:release()
|
||||
gameOverEnd = nil
|
||||
gameOver:release()
|
||||
gameOver = nil
|
||||
|
||||
state.restart()
|
||||
end
|
||||
end
|
||||
myTypes.updateSprites(dt)
|
||||
end
|
||||
return
|
||||
end
|
||||
-- playing isn't supposed to work like "paused", it's there to keep the game from working during loading
|
||||
|
||||
if paused then goto continue end -- if paused then skip this cycle
|
||||
@ -289,6 +366,7 @@ local function state(songName, songDifficulty)
|
||||
characters.bf:PlayAnimation("sing"..directions[note.direction].."miss")
|
||||
notes[index] = nil
|
||||
ratings.miss = ratings.miss + 1
|
||||
health = health - note.missHealth
|
||||
end
|
||||
else
|
||||
note.sprite.position = myTypes.Vector2(50 + 79 * (note.direction - 1), settings.Downscroll and 430 - (note.position-elapsed) * speed or (note.position - elapsed) * speed)
|
||||
@ -325,6 +403,7 @@ local function state(songName, songDifficulty)
|
||||
end
|
||||
hold:destroy()
|
||||
holdNotes[index] = nil
|
||||
health = health + hold.hitHealth * 0.1
|
||||
elseif hold.position - elapsed < -150 then
|
||||
hold:destroy()
|
||||
miss:stop()
|
||||
@ -332,6 +411,7 @@ local function state(songName, songDifficulty)
|
||||
characters.bf:PlayAnimation("sing"..directions[hold.direction].."miss")
|
||||
holdNotes[index] = nil
|
||||
ratings.miss = ratings.miss + 1
|
||||
health = health - hold.missHealth * 0.1
|
||||
end
|
||||
end
|
||||
else
|
||||
@ -357,16 +437,28 @@ local function state(songName, songDifficulty)
|
||||
end
|
||||
end
|
||||
|
||||
if inst and not inst:isPlaying() then
|
||||
quit()
|
||||
end
|
||||
|
||||
for index, splash in next, splashes do
|
||||
if splash.animation and splash.ended then
|
||||
splash:StopAnimation()
|
||||
end
|
||||
end
|
||||
|
||||
for index, module in next, modules do
|
||||
if module.onUpdate then
|
||||
module.onUpdate(dt)
|
||||
end
|
||||
end
|
||||
|
||||
if health <= 0 then
|
||||
die()
|
||||
elseif health > 2 then
|
||||
health = 2
|
||||
end
|
||||
|
||||
if inst and not inst:isPlaying() then
|
||||
quit()
|
||||
end
|
||||
|
||||
::continue::
|
||||
end
|
||||
|
||||
@ -378,8 +470,6 @@ local function state(songName, songDifficulty)
|
||||
|
||||
love.graphics.clear()
|
||||
|
||||
love.graphics.circle("fill", 960, 59, 50000)
|
||||
|
||||
myTypes.drawSprites()
|
||||
|
||||
love.graphics.setCanvas()
|
||||
@ -389,6 +479,27 @@ local function state(songName, songDifficulty)
|
||||
love.graphics.print({{0,0,0,1}, string.format("FPS: %s \nVolume: %s", love.timer.getFPS(), volume)}, font)
|
||||
|
||||
love.graphics.print({{0,0,0,1}, string.format("Sick: %s \nGood: %s \nBad: %s \nShit: %s \nMiss: %s", ratings.sick, ratings.good, ratings.bad, ratings.shit, ratings.miss)}, biggerFont, 0, 100)
|
||||
|
||||
|
||||
-- HEALTH BAR
|
||||
if playing then
|
||||
love.graphics.setColor(255,0,0)
|
||||
love.graphics.rectangle("fill", 440, settings.Downscroll and 30 or 690, 400, 15)
|
||||
love.graphics.setColor(0,255,0)
|
||||
love.graphics.rectangle("fill", 840 - health * 200, settings.Downscroll and 30 or 690, health * 200, 15)
|
||||
|
||||
love.graphics.setColor(0,0,0)
|
||||
love.graphics.rectangle("line", 440, settings.Downscroll and 30 or 690, 400, 15)
|
||||
|
||||
love.graphics.setColor(255,255,255)
|
||||
|
||||
love.graphics.draw(icons.bf.image, health > .2 and icons.bf.alive or icons.bf.dead, 960 - health * 200, settings.Downscroll and 0 or 720, 0, -1, 1)
|
||||
|
||||
if characters.dad then
|
||||
love.graphics.draw(icons.dad.image, health < 1.8 and icons.dad.alive or icons.dad.dead, 715 - health * 200, settings.Downscroll and 0 or 720)
|
||||
end
|
||||
end
|
||||
-- HEALTH BAR
|
||||
end
|
||||
|
||||
love.window.setMode(1280, 720, { fullscreen = false , resizable = false})
|
||||
@ -431,11 +542,15 @@ local function state(songName, songDifficulty)
|
||||
characters.bf = myTypes.character(chart.player1)
|
||||
characters.bf.stagePosition = myTypes.Vector2(stage.boyfriend[1], stage.boyfriend[2])
|
||||
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)}
|
||||
|
||||
if chart.player2 ~= "none" then -- you can have no player2 but always player1
|
||||
characters.dad = myTypes.character(chart.player2)
|
||||
characters.dad.stagePosition = myTypes.Vector2(stage.opponent[1], stage.opponent[2])
|
||||
characters.dad:PlayAnimation("idle")
|
||||
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)}
|
||||
end
|
||||
|
||||
conductor.stepCrochet = conductor:calculateCrochet(chart.bpm)/4
|
||||
@ -506,7 +621,8 @@ local function state(songName, songDifficulty)
|
||||
beat=beat,
|
||||
volume=volume,
|
||||
ratings=ratings,
|
||||
keyBinds=keyBinds
|
||||
keyBinds=keyBinds,
|
||||
zoom=zoom
|
||||
}
|
||||
setfenv(func, newEnv)
|
||||
end
|
||||
@ -522,7 +638,6 @@ local function state(songName, songDifficulty)
|
||||
end --waiting till the song actually plays.
|
||||
|
||||
elapsed = 0
|
||||
actualElapsed = 0
|
||||
|
||||
playing = true
|
||||
|
||||
@ -531,20 +646,28 @@ local function state(songName, songDifficulty)
|
||||
|
||||
function state.keypressed(key, un, is)
|
||||
if key == "space" then
|
||||
paused = not paused
|
||||
if playing then
|
||||
paused = not paused
|
||||
|
||||
if paused then
|
||||
inst:pause()
|
||||
if chart.needsVoices then
|
||||
voices:pause()
|
||||
if paused then
|
||||
inst:pause()
|
||||
if chart.needsVoices then
|
||||
voices:pause()
|
||||
end
|
||||
pauseStart = socket.gettime() * 1000
|
||||
else
|
||||
inst:play()
|
||||
if chart.needsVoices then
|
||||
voices:play()
|
||||
end
|
||||
pauseTime = pauseTime + (socket.gettime() * 1000 - pauseStart)
|
||||
end
|
||||
pauseStart = socket.gettime() * 1000
|
||||
else
|
||||
inst:play()
|
||||
if chart.needsVoices then
|
||||
voices:play()
|
||||
end
|
||||
pauseTime = pauseTime + (socket.gettime() * 1000 - pauseStart)
|
||||
elseif dead then
|
||||
gameOverEnd:play()
|
||||
gameOver:stop()
|
||||
loss:stop()
|
||||
restart = true
|
||||
deadBF:PlayAnimation("deathConfirm")
|
||||
end
|
||||
elseif key == "escape" then
|
||||
quit()
|
||||
|
@ -55,6 +55,7 @@ function module.character(name)
|
||||
flipX = parsed.flip_x,
|
||||
beats = parsed.beats or 4,
|
||||
animation = "idle",
|
||||
icon = parsed.healthicon,
|
||||
}, CharacterClass)
|
||||
|
||||
for index, alias in next, parsed.animations do
|
||||
@ -64,7 +65,7 @@ function module.character(name)
|
||||
|
||||
if newCharacter.animInfo["idle"] then
|
||||
newCharacter:PlayAnimation("idle")
|
||||
else
|
||||
elseif newCharacter.animInfo["danceLeft"] then
|
||||
newCharacter:PlayAnimation("danceLeft")
|
||||
end
|
||||
|
||||
|
@ -21,7 +21,9 @@ function module.note(raw, mustHitSection, hold, holdEnd)
|
||||
sprite = nil, -- For unspawned notes
|
||||
altAnim = raw[4] == "Alt",
|
||||
hold = hold,
|
||||
last = holdEnd
|
||||
last = holdEnd,
|
||||
hitHealth = 0.02,
|
||||
missHealth = 0.1
|
||||
}, NoteClass)
|
||||
|
||||
return newNote
|
||||
|
BIN
sounds/fnf_loss_sfx.ogg
Normal file
BIN
sounds/gameOver.ogg
Normal file
BIN
sounds/gameOverEnd.ogg
Normal file
BIN
sounds/spooky/thunder_1.ogg
Normal file
BIN
sounds/spooky/thunder_2.ogg
Normal file
6419
sprites/characters/BF_ZERO_INDIE_CROSS_OG.json
Normal file
1253
sprites/characters/BOYFRIEND_DEAD.json
Normal file
248
sprites/spooky/halloween_bg.json
Normal file
@ -0,0 +1,248 @@
|
||||
{
|
||||
"TextureAtlas": {
|
||||
"SubTexture": [
|
||||
{
|
||||
"_name": "halloweem bg0000",
|
||||
"_x": "0",
|
||||
"_y": "0",
|
||||
"_width": "2114",
|
||||
"_height": "1075"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0000",
|
||||
"_x": "2124",
|
||||
"_y": "0",
|
||||
"_width": "2114",
|
||||
"_height": "1075",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0001",
|
||||
"_x": "4248",
|
||||
"_y": "0",
|
||||
"_width": "2114",
|
||||
"_height": "1000",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0002",
|
||||
"_x": "0",
|
||||
"_y": "1085",
|
||||
"_width": "2114",
|
||||
"_height": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0003",
|
||||
"_x": "2124",
|
||||
"_y": "1085",
|
||||
"_width": "2114",
|
||||
"_height": "1081",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0004",
|
||||
"_x": "4248",
|
||||
"_y": "1085",
|
||||
"_width": "2114",
|
||||
"_height": "1081",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0005",
|
||||
"_x": "4248",
|
||||
"_y": "1085",
|
||||
"_width": "2114",
|
||||
"_height": "1081",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0006",
|
||||
"_x": "0",
|
||||
"_y": "2185",
|
||||
"_width": "2114",
|
||||
"_height": "1081",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0007",
|
||||
"_x": "2124",
|
||||
"_y": "2185",
|
||||
"_width": "2114",
|
||||
"_height": "1081",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0008",
|
||||
"_x": "4248",
|
||||
"_y": "2185",
|
||||
"_width": "2114",
|
||||
"_height": "1080",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0009",
|
||||
"_x": "0",
|
||||
"_y": "3276",
|
||||
"_width": "2114",
|
||||
"_height": "1080",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0010",
|
||||
"_x": "2124",
|
||||
"_y": "3276",
|
||||
"_width": "2114",
|
||||
"_height": "1080",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0011",
|
||||
"_x": "4248",
|
||||
"_y": "3276",
|
||||
"_width": "2114",
|
||||
"_height": "1080",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0012",
|
||||
"_x": "0",
|
||||
"_y": "4366",
|
||||
"_width": "2114",
|
||||
"_height": "1080",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0013",
|
||||
"_x": "2124",
|
||||
"_y": "4366",
|
||||
"_width": "2114",
|
||||
"_height": "1080",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0014",
|
||||
"_x": "4248",
|
||||
"_y": "4366",
|
||||
"_width": "2114",
|
||||
"_height": "1080",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0015",
|
||||
"_x": "0",
|
||||
"_y": "5456",
|
||||
"_width": "2114",
|
||||
"_height": "1079",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0016",
|
||||
"_x": "2124",
|
||||
"_y": "5456",
|
||||
"_width": "2114",
|
||||
"_height": "1079",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0017",
|
||||
"_x": "4248",
|
||||
"_y": "5456",
|
||||
"_width": "2114",
|
||||
"_height": "1079",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0018",
|
||||
"_x": "0",
|
||||
"_y": "6545",
|
||||
"_width": "2114",
|
||||
"_height": "1079",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0019",
|
||||
"_x": "2124",
|
||||
"_y": "6545",
|
||||
"_width": "2114",
|
||||
"_height": "1078",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0020",
|
||||
"_x": "4248",
|
||||
"_y": "6545",
|
||||
"_width": "2114",
|
||||
"_height": "1078",
|
||||
"_frameX": "0",
|
||||
"_frameY": "0",
|
||||
"_frameWidth": "2114",
|
||||
"_frameHeight": "1090"
|
||||
},
|
||||
{
|
||||
"_name": "halloweem bg lightning strike0029",
|
||||
"_x": "0",
|
||||
"_y": "0",
|
||||
"_width": "2114",
|
||||
"_height": "1075"
|
||||
}
|
||||
],
|
||||
"_imagePath": "halloween_bg.png"
|
||||
}
|
||||
}
|
BIN
sprites/spooky/halloween_bg.png
Normal file
After Width: | Height: | Size: 4.6 MiB |
15
stages/spooky.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"directory": "",
|
||||
"defaultZoom": 1,
|
||||
"isPixelStage": false,
|
||||
|
||||
"boyfriend": [989.5, -400],
|
||||
"girlfriend": [330, -400],
|
||||
"opponent": [382, -400],
|
||||
"hide_girlfriend": false,
|
||||
|
||||
"camera_boyfriend": [350, -500],
|
||||
"camera_opponent": [300, 500],
|
||||
"camera_girlfriend": [0, -500],
|
||||
"camera_speed": 1
|
||||
}
|
50
stages/spooky.lua
Normal file
@ -0,0 +1,50 @@
|
||||
local myTypes = require("modules.types")
|
||||
local lightningCountdown = love.math.random(15, 20) --holy fuck
|
||||
local mansion
|
||||
local sounds
|
||||
|
||||
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)
|
||||
|
||||
for index, anim in next, mansion.quads do
|
||||
for index, quad in next, anim do
|
||||
quad.resize = myTypes.Vector2(1.4,1.4)
|
||||
end
|
||||
end
|
||||
|
||||
sounds = {love.audio.newSource("sounds/spooky/thunder_1.ogg", "static"), love.audio.newSource("sounds/spooky/thunder_2.ogg", "static")}
|
||||
end,
|
||||
|
||||
onBeat = function(beat)
|
||||
lightningCountdown = lightningCountdown - 1
|
||||
if lightningCountdown == 0 then
|
||||
mansion:PlayAnimation("halloweem bg lightning strike", 24, false)
|
||||
|
||||
game.characters.bf:PlayAnimation("scared")
|
||||
game.characters.gf:PlayAnimation("scared")
|
||||
|
||||
lightningCountdown = love.math.random(15, 20)
|
||||
|
||||
local sound = sounds[math.random(1, 2)]
|
||||
sound:stop()
|
||||
sound:play()
|
||||
end
|
||||
end,
|
||||
|
||||
onUpdate = function()
|
||||
if mansion.animation ~= "halloweem bg" and mansion.ended then
|
||||
mansion:PlayAnimation("halloweem bg", 1, false)
|
||||
end
|
||||
end,
|
||||
onClose = function()
|
||||
for index, sound in next, sounds do
|
||||
sound:stop()
|
||||
sound:release()
|
||||
sound = nil
|
||||
end
|
||||
end
|
||||
}
|