Compare commits

...

41 Commits
Game ... main

Author SHA1 Message Date
2c2398041e Fixes and song fixes 2025-06-07 07:31:24 +07:00
87dbbfc4ad Cool menu stuff 2025-06-05 23:35:04 +07:00
6849cb904d Evil alt anim check 2025-06-05 23:02:40 +07:00
f1752bdaf1 Health, healthicons, death 2025-06-05 14:13:47 +07:00
3a1478fb47 Fixed christmas BF and key rebinding 2025-06-05 10:48:21 +07:00
26ce959302 Fixed fenv, access game variables through game.xxxx 2025-06-05 08:54:02 +07:00
0380258c8f Perfect holdnotes and characters in env 2025-06-05 08:44:19 +07:00
c729c1c0ed Long notes (not done), animation indices 2025-06-04 18:38:37 +07:00
53cf12b7a1 New songs, new stuff, new fixes. 2025-06-04 09:34:28 +07:00
Entarno54
7ecddedc54 Proper rating system, notesplashes 2025-06-03 23:04:13 +07:00
Entarno54
bb04425fb8 Fixes for remaining songs without stages 2025-06-03 12:17:11 +07:00
Entarno54
71ad1840a3 Fixed high having normal GF and removed receptor animations ( i hate ) 2025-06-02 14:00:57 +07:00
Entarno54
1d465021c2 Image class, Sprite/Image parallax, proper stages 2025-06-02 10:15:17 +07:00
Entarno54
e3de968d97 Im dying 2025-06-01 19:41:13 +07:00
Entarno54
ab160da64b Evil 2025-06-01 19:40:37 +07:00
Entarno54
da89a077ca Caching of images ( holy fps ) 2025-06-01 14:12:37 +07:00
Entarno54
4f6082b037 Peak stability, fixed all the song positions and note positions 2025-06-01 13:31:09 +07:00
Entarno54
0736af3a5f Optimized table usage as much as possible (more fps) 2025-06-01 12:11:05 +07:00
9c2b727920 Update README.md 2025-06-01 09:24:20 +07:00
85f50b2537 Fixed quitting playstate 2025-05-31 15:22:04 +07:00
94bac4afaa Added screen bopping (screen zoom) and return to menu (esc or song end) 2025-05-31 14:52:15 +07:00
Entarno54
648528ba32 Fixed BPM changes and added obituary 2025-05-30 15:22:58 +07:00
Entarno54
9bdf31cf6c Added GF to menu and placed the text better 2025-05-30 09:30:00 +07:00
Entarno54
20d195c12b Added settings and fixed some stuff 2025-05-30 09:14:00 +07:00
Entarno54
8e0b5e6044 Added more per-song characters, fixed tankmans alt animation 2025-05-30 03:34:40 +07:00
Entarno54
d9b589feea Fixes, removed diffs for stress (not done) 2025-05-29 23:42:27 +07:00
Entarno54
4a6d7db733 Fixed receptor position 2025-05-29 23:36:19 +07:00
Entarno54
7c4338fdf5 Made the game a state, added menu 2025-05-29 23:28:13 +07:00
Entarno54
36b735f6be Test 2025-05-29 20:35:28 +07:00
Entarno54
58d8f44f9e Test 2025-05-29 20:33:45 +07:00
Entarno54
0eda2e9dbe Test 2025-05-29 20:33:18 +07:00
Entarno54
8614cc43e6 Test 2025-05-29 20:32:17 +07:00
Entarno54
dd69385669 Some evil stuff 2025-05-29 20:10:41 +07:00
Entarno54
94ae598959 Added game icon and changed README.md 2025-05-29 19:42:56 +07:00
Entarno54
7814b9cf66 Added game icon and changed README.md 2025-05-29 19:42:06 +07:00
Entarno54
2e96933c7a Second character and camera 2025-05-29 09:53:44 +07:00
Entarno54
0d31c90532 Made it so you can't hold the keys to pass the song 2025-05-29 08:06:29 +07:00
Entarno54
683406da5c Added support for LOVE being put inside the game directory on windows. 2025-05-29 07:21:29 +07:00
Entarno54
7df6c1ce7b .bat changes 2025-05-28 20:30:49 +07:00
Entarno54
32672b9ec5 Added launchers for linux and windows
(.bat and .sh files)
2025-05-28 20:25:21 +07:00
Entarno54
30936c14c0 Removed the source folder since the whole game is the source. 2025-05-28 11:24:15 +07:00
463 changed files with 393848 additions and 24247 deletions

1
.gitignore vendored
View File

@ -41,3 +41,4 @@ luac.out
*.hex
settings.json

View File

@ -1,5 +1,7 @@
{
"Lua.diagnostics.disable": [
"different-requires"
"different-requires",
"need-check-nil",
"cast-local-type"
]
}

View File

@ -1,3 +1,11 @@
# FNFLove
FNF written in Lua : Love2d
FNF written in Lua : Love2d
# HOW TO USE
1. Download ad install LOVE for your device: https://love2d.org/
2. Download the repository, unarchive it and run with your device executable:
- windows.bat (Windows)
- linux.sh (linux)

202
characters/bf-car.json Normal file
View File

@ -0,0 +1,202 @@
{
"animations": [
{
"offsets": [
0,
0
],
"loop": false,
"fps": 24,
"anim": "idle",
"indices": [],
"name": "BF idle dance"
},
{
"offsets": [
12,
-6
],
"loop": false,
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "BF NOTE LEFT"
},
{
"offsets": [
-10,
-50
],
"loop": false,
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "BF NOTE DOWN"
},
{
"offsets": [
-29,
27
],
"loop": false,
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "BF NOTE UP"
},
{
"offsets": [
-38,
-7
],
"loop": false,
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"name": "BF NOTE RIGHT"
},
{
"offsets": [
12,
24
],
"loop": false,
"fps": 24,
"anim": "singLEFTmiss",
"indices": [],
"name": "BF NOTE LEFT MISS"
},
{
"offsets": [
-11,
-19
],
"loop": false,
"fps": 24,
"anim": "singDOWNmiss",
"indices": [],
"name": "BF NOTE DOWN MISS"
},
{
"offsets": [
-29,
27
],
"loop": false,
"fps": 24,
"anim": "singUPmiss",
"indices": [],
"name": "BF NOTE UP MISS"
},
{
"offsets": [
-30,
21
],
"loop": false,
"fps": 24,
"anim": "singRIGHTmiss",
"indices": [],
"name": "BF NOTE RIGHT MISS"
},
{
"offsets": [
0,
0
],
"loop": true,
"fps": 24,
"anim": "idle-loop",
"indices": [
10,
11,
12,
13
],
"name": "BF idle dance"
},
{
"offsets": [
12,
-6
],
"loop": true,
"fps": 24,
"anim": "singLEFT-loop",
"indices": [
12,
13,
14,
15
],
"name": "BF NOTE LEFT"
},
{
"offsets": [
-38,
-7
],
"loop": true,
"fps": 24,
"anim": "singRIGHT-loop",
"indices": [
58,
59,
60,
61
],
"name": "BF NOTE RIGHT"
},
{
"offsets": [
-29,
27
],
"loop": true,
"fps": 24,
"anim": "singUP-loop",
"indices": [
11,
12,
13,
14
],
"name": "BF NOTE UP"
},
{
"offsets": [
-10,
-50
],
"loop": true,
"fps": 24,
"anim": "singDOWN-loop",
"indices": [
26,
27,
28,
29
],
"name": "BF NOTE DOWN"
}
],
"no_antialiasing": false,
"image": "sprites/characters/bfCar",
"position": [
0,
350
],
"healthicon": "bf",
"flip_x": false,
"healthbar_colors": [
49,
176,
209
],
"camera_position": [
-400,
-90
],
"sing_duration": 4,
"scale": 1
}

View File

@ -0,0 +1,133 @@
{
"animations": [
{
"loop": false,
"offsets": [
-3,
-1
],
"fps": 24,
"anim": "idle",
"indices": [],
"name": "BF idle dance"
},
{
"loop": false,
"offsets": [
12,
-6
],
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "BF NOTE LEFT"
},
{
"loop": false,
"offsets": [
-10,
-50
],
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "BF NOTE DOWN"
},
{
"loop": false,
"offsets": [
-29,
27
],
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "BF NOTE UP"
},
{
"loop": false,
"offsets": [
-38,
-7
],
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"name": "BF NOTE RIGHT"
},
{
"loop": false,
"offsets": [
12,
24
],
"fps": 24,
"anim": "singLEFTmiss",
"indices": [],
"name": "BF NOTE LEFT MISS"
},
{
"loop": false,
"offsets": [
-11,
-19
],
"fps": 24,
"anim": "singDOWNmiss",
"indices": [],
"name": "BF NOTE DOWN MISS"
},
{
"loop": false,
"offsets": [
-29,
27
],
"fps": 24,
"anim": "singUPmiss",
"indices": [],
"name": "BF NOTE UP MISS"
},
{
"loop": false,
"offsets": [
-30,
21
],
"fps": 24,
"anim": "singRIGHTmiss",
"indices": [],
"name": "BF NOTE RIGHT MISS"
},
{
"loop": false,
"offsets": [
-3,
5
],
"fps": 24,
"anim": "hey",
"indices": [],
"name": "BF HEY"
}
],
"no_antialiasing": false,
"image": "sprites/characters/bfChristmas",
"position": [
0,
350
],
"healthicon": "bf",
"flip_x": false,
"healthbar_colors": [
49,
176,
209
],
"camera_position": [
-500,
400
],
"sing_duration": 4,
"scale": 1
}

56
characters/bf-dead.json Normal file
View File

@ -0,0 +1,56 @@
{
"animations": [
{
"offsets": [
37,
11
],
"loop": false,
"fps": 24,
"anim": "firstDeath",
"indices": [],
"name": "BF dies"
},
{
"offsets": [
37,
5
],
"loop": true,
"fps": 24,
"anim": "deathLoop",
"indices": [],
"name": "BF Dead Loop"
},
{
"offsets": [
37,
69
],
"loop": false,
"fps": 24,
"anim": "deathConfirm",
"indices": [],
"name": "BF Dead confirm"
}
],
"no_antialiasing": false,
"image": "sprites/characters/BOYFRIEND_DEAD",
"position": [
0,
350
],
"healthicon": "bf",
"flip_x": false,
"healthbar_colors": [
49,
176,
209
],
"camera_position": [
700,
-300
],
"sing_duration": 4,
"scale": 1
}

View File

@ -0,0 +1,56 @@
{
"animations": [
{
"offsets": [
37,
-3
],
"indices": [],
"fps": 24,
"anim": "deathLoop",
"loop": true,
"name": "BF Dead with GF Loop"
},
{
"offsets": [
37,
14
],
"indices": [],
"fps": 24,
"anim": "firstDeath",
"loop": false,
"name": "BF Dies with GF"
},
{
"offsets": [
37,
28
],
"indices": [],
"fps": 24,
"anim": "deathConfirm",
"loop": false,
"name": "RETRY confirm holding gf"
}
],
"no_antialiasing": false,
"image": "sprites/characters/bfHoldingGF-DEAD",
"position": [
0,
350
],
"healthicon": "bf",
"flip_x": true,
"healthbar_colors": [
49,
176,
209
],
"camera_position": [
0,
0
],
"sing_duration": 4,
"scale": 1.05
}

View File

@ -0,0 +1,144 @@
{
"animations": [
{
"offsets": [
-5,
0
],
"loop": false,
"fps": 24,
"anim": "idle",
"indices": [],
"name": "BF idle dance w gf"
},
{
"offsets": [
12,
7
],
"loop": false,
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "BF NOTE LEFT"
},
{
"offsets": [
-10,
-10
],
"loop": false,
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "BF NOTE DOWN"
},
{
"offsets": [
-29,
10
],
"loop": false,
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "BF NOTE UP"
},
{
"offsets": [
-41,
23
],
"loop": false,
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"name": "BF NOTE RIGHT"
},
{
"offsets": [
12,
7
],
"loop": false,
"fps": 24,
"anim": "singLEFTmiss",
"indices": [],
"name": "BF NOTE LEFT MISS"
},
{
"offsets": [
-10,
-10
],
"loop": false,
"fps": 24,
"anim": "singDOWNmiss",
"indices": [],
"name": "BF NOTE DOWN MISS"
},
{
"offsets": [
-29,
10
],
"loop": false,
"fps": 24,
"anim": "singUPmiss",
"indices": [],
"name": "BF NOTE UP MISS"
},
{
"offsets": [
-41,
33
],
"loop": false,
"fps": 24,
"anim": "singRIGHTmiss",
"indices": [],
"name": "BF NOTE RIGHT MISS"
},
{
"loop": false,
"offsets": [
0,
96
],
"anim": "bfCatch",
"fps": 24,
"name": "BF catches GF",
"indices": []
},
{
"loop": false,
"offsets": [
0,
91
],
"anim": "hey",
"fps": 24,
"name": "BF catches GF",
"indices": []
}
],
"no_antialiasing": false,
"image": "sprites/characters/bfAndGF",
"position": [
0,
350
],
"healthicon": "bfgf",
"flip_x": false,
"healthbar_colors": [
49,
176,
209
],
"camera_position": [
-100,
40
],
"sing_duration": 4,
"scale": 1
}

View File

@ -0,0 +1,56 @@
{
"animations": [
{
"loop": false,
"offsets": [
-26,
-12
],
"fps": 24,
"anim": "deathConfirm",
"indices": [],
"name": "RETRY CONFIRM"
},
{
"loop": true,
"offsets": [
-30,
-12
],
"fps": 24,
"anim": "deathLoop",
"indices": [],
"name": "Retry Loop"
},
{
"loop": false,
"offsets": [
0,
0
],
"fps": 24,
"anim": "firstDeath",
"indices": [],
"name": "BF Dies pixel"
}
],
"no_antialiasing": true,
"image": "sprites/characters/bfPixelsDEAD",
"position": [
0,
350
],
"healthicon": "bf-pixel",
"flip_x": true,
"healthbar_colors": [
123,
214,
246
],
"camera_position": [
50,
-60
],
"sing_duration": 4,
"scale": 6
}

133
characters/bf-pixel.json Normal file
View File

@ -0,0 +1,133 @@
{
"animations": [
{
"loop": false,
"offsets": [
0,
0
],
"anim": "singLEFTmiss",
"fps": 24,
"name": "BF Left Miss",
"indices": []
},
{
"loop": false,
"offsets": [
0,
0
],
"anim": "singUPmiss",
"fps": 24,
"name": "BF Up Miss",
"indices": []
},
{
"loop": false,
"offsets": [
0,
0
],
"anim": "singLEFT",
"fps": 24,
"name": "BFLeft",
"indices": []
},
{
"loop": false,
"offsets": [
0,
0
],
"anim": "singRIGHT",
"fps": 24,
"name": "BFRight",
"indices": []
},
{
"loop": false,
"offsets": [
0,
0
],
"anim": "singDOWNmiss",
"fps": 24,
"name": "BF Down Miss",
"indices": []
},
{
"loop": false,
"offsets": [
-4,
0
],
"anim": "singRIGHTmiss",
"fps": 24,
"name": "BF Right Miss",
"indices": []
},
{
"loop": false,
"offsets": [
0,
0
],
"anim": "singDOWN",
"fps": 24,
"name": "BFDown",
"indices": []
},
{
"loop": false,
"offsets": [
0,
0
],
"anim": "idle",
"fps": 24,
"name": "BFIdle",
"indices": []
},
{
"loop": false,
"offsets": [
0,
0
],
"anim": "singUP",
"fps": 24,
"name": "BFUp",
"indices": []
},
{
"offsets": [
0,
0
],
"loop": false,
"fps": 24,
"anim": "hey",
"indices": [],
"name": "BFHey"
}
],
"no_antialiasing": true,
"image": "sprites/characters/bfPixelNew",
"position": [
-40,
360
],
"healthicon": "bf-pixel",
"flip_x": true,
"healthbar_colors": [
123,
214,
226
],
"camera_position": [
200,
-180
],
"sing_duration": 4,
"scale": 6
}

View File

@ -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,77 +56,165 @@
"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/BOYFRIEND",
"image": "sprites/characters/BF_ZERO_INDIE_CROSS_OG",
"position": [
0,
350
],
"healthicon": "bf",
"flip_x": true,
"flip_x": false,
"healthbar_colors": [
49,
176,
209
],
"camera_position": [
80,
-40
-400,
60
],
"sing_duration": 4,
"scale": 1

188
characters/bf2.json Normal file
View File

@ -0,0 +1,188 @@
{
"animations": [
{
"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": []
},
{
"offsets": [
7,
-8
],
"loop": false,
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "BF NOTE LEFT"
},
{
"offsets": [
-50,
-6
],
"loop": false,
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"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
],
"loop": false,
"fps": 24,
"anim": "Laugh",
"indices": [],
"name": "BF Laugh"
}
],
"no_antialiasing": false,
"image": "sprites/characters/BOYFRIEND",
"position": [
0,
350
],
"healthicon": "bf",
"flip_x": true,
"healthbar_colors": [
49,
176,
209
],
"camera_position": [
80,
-40
],
"sing_duration": 4,
"scale": 1
}

142
characters/dad.json Normal file
View File

@ -0,0 +1,142 @@
{
"animations": [
{
"offsets": [
-9,
10
],
"loop": false,
"anim": "singLEFT",
"fps": 24,
"name": "Dad Sing Note LEFT",
"indices": []
},
{
"offsets": [
0,
-30
],
"loop": false,
"anim": "singDOWN",
"fps": 24,
"name": "Dad Sing Note DOWN",
"indices": []
},
{
"offsets": [
-6,
50
],
"loop": false,
"anim": "singUP",
"fps": 24,
"name": "Dad Sing Note UP",
"indices": []
},
{
"offsets": [
0,
27
],
"loop": false,
"anim": "singRIGHT",
"fps": 24,
"name": "Dad Sing Note RIGHT",
"indices": []
},
{
"offsets": [
0,
0
],
"loop": false,
"anim": "idle",
"fps": 24,
"name": "Dad idle dance",
"indices": []
},
{
"offsets": [
0,
0
],
"loop": true,
"fps": 24,
"anim": "idle-loop",
"indices": [
10,
11,
12,
12
],
"name": "Dad idle dance"
},
{
"offsets": [
-9,
10
],
"loop": true,
"fps": 24,
"anim": "singLEFT-loop",
"indices": [
12,
13,
14,
15
],
"name": "Dad Sing Note LEFT"
},
{
"offsets": [
0,
27
],
"loop": true,
"fps": 24,
"anim": "singRIGHT-loop",
"indices": [
15,
16,
17,
18
],
"name": "Dad Sing Note RIGHT"
},
{
"offsets": [
-6,
50
],
"loop": true,
"fps": 24,
"anim": "singUP-loop",
"indices": [
56,
57,
58,
59
],
"name": "Dad Sing Note UP"
}
],
"no_antialiasing": false,
"image": "sprites/characters/DADDY_DEAREST",
"position": [
-200,
160
],
"healthicon": "dad",
"flip_x": false,
"healthbar_colors": [
175,
102,
206
],
"camera_position": [
-800,
0
],
"sing_duration": 6.1,
"scale": 1
}

89
characters/gf-car.json Normal file
View File

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

View File

@ -0,0 +1,193 @@
{
"animations": [
{
"loop": false,
"offsets": [
1,
0
],
"anim": "cheer",
"fps": 24,
"name": "GF Cheer",
"indices": []
},
{
"loop": false,
"offsets": [
0,
-19
],
"anim": "singLEFT",
"fps": 24,
"name": "GF left note",
"indices": []
},
{
"loop": false,
"offsets": [
0,
-20
],
"anim": "singDOWN",
"fps": 24,
"name": "GF Down Note",
"indices": []
},
{
"loop": false,
"offsets": [
0,
4
],
"anim": "singUP",
"fps": 24,
"name": "GF Up Note",
"indices": []
},
{
"loop": false,
"offsets": [
0,
-20
],
"anim": "singRIGHT",
"fps": 24,
"name": "GF Right Note",
"indices": []
},
{
"loop": false,
"offsets": [
-2,
-21
],
"anim": "sad",
"fps": 24,
"name": "gf sad",
"indices": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12
]
},
{
"loop": false,
"offsets": [
0,
-9
],
"anim": "danceLeft",
"fps": 24,
"name": "GF Dancing Beat",
"indices": [
30,
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14
]
},
{
"loop": false,
"offsets": [
0,
-9
],
"anim": "danceRight",
"fps": 24,
"name": "GF Dancing Beat",
"indices": [
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29
]
},
{
"loop": false,
"offsets": [
0,
-9
],
"anim": "hairFall",
"fps": 24,
"name": "GF Dancing Beat Hair Landing",
"indices": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
]
},
{
"loop": true,
"offsets": [
-2,
-17
],
"anim": "scared",
"fps": 24,
"name": "GF FEAR",
"indices": []
}
],
"no_antialiasing": false,
"image": "sprites/characters/gfChristmas",
"position": [
0,
0
],
"healthicon": "gf",
"flip_x": false,
"healthbar_colors": [
165,
0,
0
],
"camera_position": [
-240,
-130
],
"sing_duration": 4,
"scale": 1
}

89
characters/gf-pixel.json Normal file
View File

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

103
characters/gf-tankmen.json Normal file
View File

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

209
characters/gf.json Normal file
View File

@ -0,0 +1,209 @@
{
"animations": [
{
"loop": false,
"offsets": [
3,
0
],
"fps": 24,
"anim": "cheer",
"indices": [],
"name": "GF Cheer"
},
{
"loop": false,
"offsets": [
0,
-19
],
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "GF left note"
},
{
"loop": false,
"offsets": [
0,
-20
],
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "GF Down Note"
},
{
"loop": false,
"offsets": [
0,
4
],
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "GF Up Note"
},
{
"loop": false,
"offsets": [
0,
-20
],
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"name": "GF Right Note"
},
{
"loop": false,
"offsets": [
-2,
-21
],
"fps": 24,
"anim": "sad",
"indices": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12
],
"name": "gf sad"
},
{
"loop": false,
"offsets": [
0,
-9
],
"fps": 24,
"anim": "danceLeft",
"indices": [
30,
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14
],
"name": "GF Dancing Beat"
},
{
"loop": false,
"offsets": [
0,
-9
],
"fps": 24,
"anim": "danceRight",
"indices": [
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29
],
"name": "GF Dancing Beat"
},
{
"loop": true,
"offsets": [
45,
-8
],
"fps": 24,
"anim": "hairBlow",
"indices": [
0,
1,
2,
3
],
"name": "GF Dancing Beat Hair blowing"
},
{
"loop": false,
"offsets": [
0,
-9
],
"fps": 24,
"anim": "hairFall",
"indices": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
],
"name": "GF Dancing Beat Hair Landing"
},
{
"loop": true,
"offsets": [
-2,
-17
],
"fps": 2,
"anim": "scared",
"indices": [],
"name": "GF FEAR "
}
],
"no_antialiasing": false,
"image": "sprites/characters/GF_assets",
"position": [
0,
160
],
"healthicon": "gf",
"flip_x": false,
"healthbar_colors": [
165,
0,
77
],
"camera_position": [
0,
0
],
"sing_duration": 4,
"scale": 1
}

158
characters/mom-car.json Normal file
View File

@ -0,0 +1,158 @@
{
"animations": [
{
"offsets": [
0,
0
],
"loop": false,
"anim": "idle",
"fps": 24,
"name": "Mom Idle",
"indices": []
},
{
"offsets": [
250,
-23
],
"loop": false,
"anim": "singLEFT",
"fps": 24,
"name": "Mom Left Pose",
"indices": []
},
{
"offsets": [
10,
-60
],
"loop": false,
"anim": "singRIGHT",
"fps": 24,
"name": "Mom Pose Left",
"indices": []
},
{
"offsets": [
20,
-160
],
"loop": false,
"anim": "singDOWN",
"fps": 24,
"name": "MOM DOWN POSE",
"indices": []
},
{
"offsets": [
14,
71
],
"loop": false,
"anim": "singUP",
"fps": 24,
"name": "Mom Up Pose",
"indices": []
},
{
"offsets": [
0,
0
],
"indices": [
10,
11,
12,
13
],
"fps": 24,
"anim": "idle-loop",
"loop": true,
"name": "Mom Idle"
},
{
"offsets": [
250,
-23
],
"indices": [
6,
7,
8,
9
],
"fps": 24,
"anim": "singLEFT-loop",
"loop": true,
"name": "Mom Left Pose"
},
{
"offsets": [
14,
71
],
"indices": [
11,
12,
13,
14
],
"fps": 24,
"anim": "singUP-loop",
"loop": true,
"name": "Mom Up Pose"
},
{
"offsets": [
10,
-60
],
"indices": [
6,
7,
8,
9
],
"fps": 24,
"anim": "singRIGHT-loop",
"loop": true,
"name": "Mom Pose Left"
},
{
"offsets": [
20,
-160
],
"indices": [
11,
12,
13,
14
],
"fps": 24,
"anim": "singDOWN-loop",
"loop": true,
"name": "MOM DOWN POSE"
}
],
"no_antialiasing": false,
"image": "sprites/characters/momCar",
"position": [
-200,
160
],
"healthicon": "mom",
"flip_x": false,
"healthbar_colors": [
216,
85,
142
],
"camera_position": [
-800,
0
],
"sing_duration": 4,
"scale": 1
}

78
characters/mom.json Normal file
View File

@ -0,0 +1,78 @@
{
"animations": [
{
"loop": false,
"offsets": [
0,
0
],
"anim": "idle",
"fps": 24,
"name": "Mom Idle",
"indices": []
},
{
"loop": false,
"offsets": [
250,
-23
],
"anim": "singLEFT",
"fps": 24,
"name": "Mom Left Pose",
"indices": []
},
{
"loop": false,
"offsets": [
10,
-60
],
"anim": "singRIGHT",
"fps": 24,
"name": "Mom Pose Left",
"indices": []
},
{
"loop": false,
"offsets": [
20,
-160
],
"anim": "singDOWN",
"fps": 24,
"name": "MOM DOWN POSE",
"indices": []
},
{
"loop": false,
"offsets": [
14,
71
],
"anim": "singUP",
"fps": 24,
"name": "Mom Up Pose",
"indices": []
}
],
"no_antialiasing": false,
"image": "sprites/characters/Mom_Assets",
"position": [
0,
0
],
"healthicon": "mom",
"flip_x": false,
"healthbar_colors": [
216,
85,
142
],
"camera_position": [
0,
0
],
"sing_duration": 4,
"scale": 1
}

View File

@ -0,0 +1,153 @@
{
"animations": [
{
"offsets": [
1,
0
],
"loop": false,
"fps": 24,
"anim": "idle",
"indices": [],
"name": "monster idle"
},
{
"offsets": [
-20,
50
],
"loop": false,
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "monster up note"
},
{
"offsets": [
-30,
0
],
"loop": false,
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "Monster left note"
},
{
"offsets": [
-51,
0
],
"loop": false,
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"name": "Monster Right note"
},
{
"offsets": [
-40,
-94
],
"loop": false,
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "monster down"
},
{
"offsets": [
-20,
50
],
"indices": [
21,
22,
23
],
"fps": 24,
"anim": "singUP-loop",
"loop": true,
"name": "monster up note"
},
{
"offsets": [
-40,
-94
],
"indices": [
27,
28,
29
],
"fps": 24,
"anim": "singDOWN-loop",
"loop": true,
"name": "monster down"
},
{
"offsets": [
-51,
0
],
"indices": [
12,
13,
14
],
"fps": 24,
"anim": "singRIGHT-loop",
"loop": true,
"name": "Monster Right note"
},
{
"offsets": [
-30,
0
],
"indices": [
17,
18,
19
],
"fps": 24,
"anim": "singLEFT-loop",
"loop": true,
"name": "Monster left note"
},
{
"offsets": [
1,
0
],
"indices": [
12,
13,
14
],
"fps": 24,
"anim": "idle-loop",
"loop": true,
"name": "monster idle"
}
],
"no_antialiasing": false,
"image": "sprites/characters/monsterChristmas",
"position": [
0,
130
],
"healthicon": "monster",
"flip_x": false,
"healthbar_colors": [
243,
255,
110
],
"camera_position": [
0,
0
],
"sing_duration": 4,
"scale": 1
}

153
characters/monster.json Normal file
View File

@ -0,0 +1,153 @@
{
"animations": [
{
"loop": false,
"offsets": [
3,
0
],
"fps": 24,
"anim": "idle",
"indices": [],
"name": "monster idle"
},
{
"loop": false,
"offsets": [
-20,
94
],
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "monster up note"
},
{
"loop": false,
"offsets": [
-30,
20
],
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"name": "Monster left note"
},
{
"loop": false,
"offsets": [
-51,
30
],
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "Monster Right note"
},
{
"loop": false,
"offsets": [
-50,
-80
],
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "monster down"
},
{
"loop": true,
"offsets": [
3,
0
],
"anim": "idle-loop",
"fps": 24,
"name": "monster idle",
"indices": [
12,
13,
14
]
},
{
"loop": true,
"offsets": [
-30,
20
],
"anim": "singRIGHT-loop",
"fps": 24,
"name": "Monster left note",
"indices": [
17,
18,
19
]
},
{
"loop": true,
"offsets": [
0,
0
],
"anim": "singUP-loop",
"fps": 24,
"name": "monster up note",
"indices": [
21,
22,
23
]
},
{
"loop": true,
"offsets": [
-51,
30
],
"anim": "singLEFT-loop",
"fps": 24,
"name": "Monster Right note",
"indices": [
12,
13,
14
]
},
{
"loop": true,
"offsets": [
-50,
-80
],
"anim": "singDOWN-loop",
"fps": 24,
"name": "monster down",
"indices": [
27,
28,
29
]
}
],
"no_antialiasing": false,
"image": "sprites/characters/Monster_Assets",
"position": [
0,
100
],
"healthicon": "monster",
"flip_x": false,
"healthbar_colors": [
243,
255,
110
],
"camera_position": [
150,
0
],
"sing_duration": 4,
"scale": 1
}

View File

@ -0,0 +1,266 @@
{
"animations": [
{
"offsets": [
2,
0
],
"loop": false,
"anim": "idle",
"fps": 24,
"name": "Parent Christmas Idle",
"indices": []
},
{
"offsets": [
-47,
24
],
"loop": false,
"anim": "singUP",
"fps": 24,
"name": "Parent Up Note Dad",
"indices": []
},
{
"offsets": [
-31,
-29
],
"loop": false,
"anim": "singDOWN",
"fps": 24,
"name": "Parent Down Note Dad",
"indices": []
},
{
"offsets": [
-30,
16
],
"loop": false,
"anim": "singLEFT",
"fps": 24,
"name": "Parent Left Note Dad",
"indices": []
},
{
"offsets": [
-1,
-23
],
"loop": false,
"anim": "singRIGHT",
"fps": 24,
"name": "Parent Right Note Dad",
"indices": []
},
{
"offsets": [
-1,
-24
],
"loop": false,
"anim": "singRIGHT-alt",
"fps": 24,
"name": "Parent Right Note Mom",
"indices": []
},
{
"offsets": [
-30,
-27
],
"loop": false,
"anim": "singDOWN-alt",
"fps": 24,
"name": "Parent Down Note Mom",
"indices": []
},
{
"offsets": [
-30,
15
],
"loop": false,
"anim": "singLEFT-alt",
"fps": 24,
"name": "Parent Left Note Mom",
"indices": []
},
{
"offsets": [
-47,
24
],
"loop": false,
"anim": "singUP-alt",
"fps": 24,
"name": "Parent Up Note Mom",
"indices": []
},
{
"offsets": [
2,
0
],
"indices": [
10,
11,
12,
13
],
"fps": 24,
"anim": "idle-loop",
"loop": true,
"name": "Parent Christmas Idle"
},
{
"offsets": [
-47,
24
],
"indices": [
10,
11,
12,
13
],
"fps": 24,
"anim": "singUP-loop",
"loop": true,
"name": "Parent Up Note Dad"
},
{
"offsets": [
-30,
16
],
"indices": [
12,
13,
14,
15
],
"fps": 24,
"anim": "singLEFT-loop",
"loop": true,
"name": "Parent Left Note Dad"
},
{
"offsets": [
-31,
-29
],
"indices": [
11,
12,
13,
14
],
"fps": 24,
"anim": "singDOWN-loop",
"loop": true,
"name": "Parent Down Note Dad"
},
{
"offsets": [
-1,
-23
],
"indices": [
12,
13,
14,
15
],
"fps": 24,
"anim": "singRIGHT-loop",
"loop": true,
"name": "Parent Right Note Dad"
},
{
"offsets": [
-1,
-24
],
"indices": [
11,
12,
13,
14
],
"fps": 24,
"anim": "singRIGHT-alt-loop",
"loop": true,
"name": "Parent Right Note Mom"
},
{
"offsets": [
-47,
24
],
"indices": [
10,
11,
12,
13
],
"fps": 24,
"anim": "singUP-alt-loop",
"loop": true,
"name": "Parent Up Note Mom"
},
{
"offsets": [
-30,
15
],
"indices": [
11,
12,
13,
14
],
"fps": 24,
"anim": "singLEFT-alt-loop",
"loop": true,
"name": "Parent Left Note Mom"
},
{
"offsets": [
-30,
-27
],
"indices": [
11,
12,
13,
14
],
"fps": 24,
"anim": "singDOWN-alt-loop",
"loop": true,
"name": "Parent Down Note Mom"
}
],
"no_antialiasing": false,
"image": "sprites/characters/mom_dad_christmas_assets",
"position": [
-200,
160
],
"healthicon": "parents",
"flip_x": false,
"healthbar_colors": [
196,
94,
174
],
"camera_position": [
-1000,
0
],
"sing_duration": 4,
"scale": 1
}

265
characters/pico-player.json Normal file
View File

@ -0,0 +1,265 @@
{
"animations": [
{
"offsets": [
3,
0
],
"loop": false,
"fps": 24,
"anim": "idle",
"indices": [],
"name": "Pico Idle Dance"
},
{
"offsets": [
21,
27
],
"loop": false,
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "pico Up note0"
},
{
"offsets": [
84,
-80
],
"loop": false,
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "Pico Down Note0"
},
{
"loop": false,
"offsets": [
-48,
2
],
"anim": "singRIGHT",
"fps": 24,
"name": "Pico Note Right0",
"indices": []
},
{
"loop": false,
"offsets": [
85,
-10
],
"anim": "singLEFT",
"fps": 24,
"name": "Pico NOTE LEFT0",
"indices": []
},
{
"loop": false,
"offsets": [
3,
0
],
"anim": "firstDeath",
"fps": 24,
"name": "Pico dies",
"indices": []
},
{
"loop": true,
"offsets": [
-2,
0
],
"anim": "deathLoop",
"fps": 24,
"name": "Pico dead loop",
"indices": []
},
{
"loop": false,
"offsets": [
80,
-38
],
"anim": "singDOWNmiss",
"fps": 24,
"name": "Pico Down Miss",
"indices": []
},
{
"loop": false,
"offsets": [
83,
28
],
"anim": "singLEFTmiss",
"fps": 24,
"name": "Pico MISS LEFT",
"indices": []
},
{
"loop": false,
"offsets": [
28,
67
],
"anim": "singUPmiss",
"fps": 24,
"name": "pico Up miss",
"indices": []
},
{
"loop": false,
"offsets": [
-45,
50
],
"anim": "singRIGHTmiss",
"fps": 24,
"name": "Pico Miss Right",
"indices": []
},
{
"loop": false,
"offsets": [
-2,
33
],
"anim": "deathConfirm",
"fps": 24,
"name": "Pico Dead confirm",
"indices": []
},
{
"offsets": [
74,
-21
],
"loop": false,
"fps": 24,
"anim": "Dodge",
"indices": [],
"name": "Pico Dodge"
},
{
"loop": false,
"offsets": [
94,
-37
],
"anim": "singLEFT-alt",
"fps": 24,
"name": "Pico ALT LEFT",
"indices": []
},
{
"loop": false,
"offsets": [
-45,
6
],
"anim": "singRIGHT-alt",
"fps": 24,
"name": "Pico Alt Right",
"indices": []
},
{
"loop": false,
"offsets": [
60,
-100
],
"anim": "singDOWN-alt",
"fps": 24,
"name": "Pico Down Alt",
"indices": []
},
{
"loop": false,
"offsets": [
70,
32
],
"anim": "singUP-alt",
"fps": 24,
"name": "pico Up alt",
"indices": []
},
{
"offsets": [
82,
-40
],
"loop": false,
"fps": 24,
"anim": "singDOWNmiss-alt",
"indices": [],
"name": "Pico Down Miss"
},
{
"offsets": [
80,
26
],
"loop": false,
"fps": 24,
"anim": "singLEFTmiss-alt",
"indices": [],
"name": "Pico MISS LEFT"
},
{
"offsets": [
-41,
48
],
"loop": false,
"fps": 24,
"anim": "singRIGHTmiss-alt",
"indices": [],
"name": "Pico Miss Right"
},
{
"offsets": [
27,
72
],
"loop": false,
"fps": 24,
"anim": "singUPmiss-alt",
"indices": [],
"name": "pico Up miss"
},
{
"loop": false,
"offsets": [
3,
7
],
"anim": "hey",
"fps": 24,
"name": "picohey",
"indices": []
}
],
"no_antialiasing": false,
"image": "sprites/characters/picoSG",
"position": [
0,
300
],
"healthicon": "pico",
"flip_x": true,
"healthbar_colors": [
183,
216,
85
],
"camera_position": [
70,
-30
],
"sing_duration": 4,
"scale": 1
}

View File

@ -0,0 +1,127 @@
{
"animations": [
{
"offsets": [
0,
0
],
"loop": false,
"fps": 24,
"anim": "shoot1",
"indices": [],
"name": "Pico shoot 1"
},
{
"offsets": [
-1,
-128
],
"loop": false,
"fps": 24,
"anim": "shoot2",
"indices": [],
"name": "Pico shoot 2"
},
{
"offsets": [
412,
-64
],
"loop": false,
"fps": 24,
"anim": "shoot3",
"indices": [],
"name": "Pico shoot 3"
},
{
"offsets": [
439,
-19
],
"loop": false,
"fps": 24,
"anim": "shoot4",
"indices": [],
"name": "Pico shoot 4"
},
{
"offsets": [
412,
-64
],
"loop": true,
"fps": 24,
"anim": "shoot3-loop",
"indices": [
50,
51,
52
],
"name": "Pico shoot 3"
},
{
"offsets": [
0,
0
],
"loop": true,
"fps": 24,
"anim": "shoot1-loop",
"indices": [
23,
24,
25
],
"name": "Pico shoot 1"
},
{
"offsets": [
1,
-128
],
"loop": true,
"fps": 24,
"anim": "shoot2-loop",
"indices": [
57,
58,
59
],
"name": "Pico shoot 2"
},
{
"offsets": [
439,
-19
],
"loop": true,
"fps": 24,
"anim": "shoot4-loop",
"indices": [
50,
51,
52
],
"name": "Pico shoot 4"
}
],
"no_antialiasing": false,
"image": "sprites/characters/picoSpeaker",
"position": [
120,
-125
],
"healthicon": "pico",
"flip_x": false,
"healthbar_colors": [
183,
216,
85
],
"camera_position": [
-310,
100
],
"sing_duration": 4,
"scale": 1
}

View File

@ -0,0 +1,129 @@
{
"animations": [
{
"offsets": [
0,
0
],
"loop": false,
"fps": 24,
"anim": "danceLeft",
"indices": [],
"name": "Pico shoot ",
"random": [1, 4]
},
{
"offsets": [
-1,
-128
],
"loop": false,
"fps": 24,
"anim": "danceRight",
"indices": [],
"name": "Pico shoot 2 "
},
{
"offsets": [
412,
-64
],
"loop": false,
"fps": 24,
"anim": "shoot3",
"indices": [],
"name": "Pico shoot 3 "
},
{
"offsets": [
439,
-19
],
"loop": false,
"fps": 24,
"anim": "shoot4",
"indices": [],
"name": "Pico shoot 4 "
},
{
"offsets": [
412,
-64
],
"loop": true,
"fps": 24,
"anim": "shoot3-loop",
"indices": [
50,
51,
52
],
"name": "Pico shoot 3 "
},
{
"offsets": [
0,
0
],
"loop": true,
"fps": 24,
"anim": "shoot1-loop",
"indices": [
23,
24,
25
],
"name": "Pico shoot 1 "
},
{
"offsets": [
1,
-128
],
"loop": true,
"fps": 24,
"anim": "shoot2-loop",
"indices": [
57,
58,
59
],
"name": "Pico shoot 2 "
},
{
"offsets": [
439,
-19
],
"loop": true,
"fps": 24,
"anim": "shoot4-loop",
"indices": [
50,
51,
52
],
"name": "Pico shoot 4 "
}
],
"no_antialiasing": false,
"image": "sprites/characters/picoSpeaker",
"position": [
0,
170
],
"healthicon": "pico",
"flip_x": false,
"healthbar_colors": [
183,
216,
85
],
"camera_position": [
-310,
100
],
"sing_duration": 4,
"scale": 1,
"beats": 1
}

133
characters/pico.json Normal file
View File

@ -0,0 +1,133 @@
{
"animations": [
{
"offsets": [
0,
0
],
"loop": false,
"anim": "idle",
"fps": 24,
"name": "Pico Idle Dance",
"indices": []
},
{
"offsets": [
65,
9
],
"loop": false,
"anim": "singLEFT",
"fps": 24,
"name": "Pico Note Right0",
"indices": []
},
{
"offsets": [
-68,
-7
],
"loop": false,
"anim": "singRIGHT",
"fps": 24,
"name": "Pico NOTE LEFT0",
"indices": []
},
{
"offsets": [
-60,
41
],
"loop": false,
"anim": "singRIGHTmiss",
"fps": 24,
"name": "Pico NOTE LEFT miss",
"indices": []
},
{
"offsets": [
62,
64
],
"loop": false,
"anim": "singLEFTmiss",
"fps": 24,
"name": "Pico Note Right Miss",
"indices": []
},
{
"offsets": [
-29,
27
],
"loop": false,
"anim": "singUP",
"fps": 24,
"name": "pico Up note0",
"indices": []
},
{
"offsets": [
200,
-70
],
"loop": false,
"anim": "singDOWN",
"fps": 24,
"name": "Pico Down Note0",
"indices": []
},
{
"offsets": [
210,
-28
],
"loop": false,
"anim": "singDOWNmiss",
"fps": 24,
"name": "Pico Down Note MISS",
"indices": []
},
{
"offsets": [
-19,
67
],
"loop": false,
"anim": "singUPmiss",
"fps": 24,
"name": "pico Up note miss",
"indices": []
},
{
"offsets": [
-70,
30
],
"indices": [],
"fps": 24,
"anim": "miss",
"loop": false,
"name": "Pico NOTE LEFT miss"
}
],
"no_antialiasing": false,
"image": "sprites/characters/Pico_FNF_assetss",
"position": [
0,
300
],
"healthicon": "pico",
"flip_x": true,
"healthbar_colors": [
183,
216,
85
],
"camera_position": [
0,
0
],
"sing_duration": 4,
"scale": 1
}

56
characters/picoded.json Normal file
View File

@ -0,0 +1,56 @@
{
"animations": [
{
"offsets": [
37,
11
],
"loop": false,
"fps": 24,
"anim": "firstDeath",
"indices": [],
"name": "BF dies"
},
{
"offsets": [
37,
5
],
"loop": true,
"fps": 24,
"anim": "deathLoop",
"indices": [],
"name": "BF Dead Loop"
},
{
"offsets": [
37,
69
],
"loop": false,
"fps": 24,
"anim": "deathConfirm",
"indices": [],
"name": "BF Dead confirm"
}
],
"no_antialiasing": false,
"image": "sprites/characters/picoded",
"position": [
0,
350
],
"healthicon": "bf",
"flip_x": true,
"healthbar_colors": [
49,
176,
209
],
"camera_position": [
0,
0
],
"sing_duration": 4,
"scale": 1
}

View File

@ -0,0 +1,78 @@
{
"animations": [
{
"loop": false,
"offsets": [
2,
0
],
"fps": 24,
"anim": "idle",
"indices": [],
"name": "Angry Senpai Idle"
},
{
"loop": false,
"offsets": [
5,
37
],
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "Angry Senpai UP NOTE"
},
{
"loop": false,
"offsets": [
40,
0
],
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "Angry Senpai LEFT NOTE"
},
{
"loop": false,
"offsets": [
0,
0
],
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"name": "Angry Senpai RIGHT NOTE"
},
{
"loop": false,
"offsets": [
14,
0
],
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "Angry Senpai DOWN NOTE"
}
],
"no_antialiasing": true,
"image": "sprites/characters/senpai",
"position": [
150,
360
],
"healthicon": "senpai-angry-pixel",
"flip_x": false,
"healthbar_colors": [
255,
170,
111
],
"camera_position": [
-240,
-330
],
"sing_duration": 4,
"scale": 6
}

78
characters/senpai.json Normal file
View File

@ -0,0 +1,78 @@
{
"animations": [
{
"offsets": [
1,
0
],
"loop": false,
"anim": "idle",
"fps": 24,
"name": "Senpai Idle",
"indices": []
},
{
"offsets": [
5,
37
],
"loop": false,
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "SENPAI UP NOTE"
},
{
"offsets": [
0,
0
],
"loop": false,
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"name": "SENPAI RIGHT NOTE"
},
{
"offsets": [
40,
0
],
"loop": false,
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "SENPAI LEFT NOTE"
},
{
"offsets": [
14,
0
],
"loop": false,
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "SENPAI DOWN NOTE"
}
],
"no_antialiasing": true,
"image": "sprites/characters/senpai",
"position": [
150,
360
],
"healthicon": "senpai-pixel",
"flip_x": false,
"healthbar_colors": [
255,
170,
111
],
"camera_position": [
-240,
-330
],
"sing_duration": 4,
"scale": 6
}

78
characters/spirit.json Normal file
View File

@ -0,0 +1,78 @@
{
"animations": [
{
"offsets": [
-218,
-280
],
"loop": false,
"anim": "idle",
"fps": 24,
"name": "idle spirit_",
"indices": []
},
{
"offsets": [
-200,
-280
],
"loop": false,
"anim": "singLEFT",
"fps": 24,
"name": "left_",
"indices": []
},
{
"offsets": [
170,
110
],
"loop": false,
"anim": "singDOWN",
"fps": 24,
"name": "spirit down_",
"indices": []
},
{
"offsets": [
-220,
-280
],
"loop": false,
"anim": "singRIGHT",
"fps": 24,
"name": "right_",
"indices": []
},
{
"offsets": [
-220,
-240
],
"loop": false,
"anim": "singUP",
"fps": 24,
"name": "up_",
"indices": []
}
],
"no_antialiasing": true,
"image": "sprites/characters/spirit",
"position": [
-150,
100
],
"healthicon": "spirit-pixel",
"flip_x": false,
"healthbar_colors": [
255,
60,
110
],
"camera_position": [
0,
0
],
"sing_duration": 4,
"scale": 6
}

110
characters/spooky.json Normal file
View File

@ -0,0 +1,110 @@
{
"animations": [
{
"loop": false,
"offsets": [
59,
-20
],
"anim": "hey",
"fps": 24,
"name": "spooky kids YEAH!!",
"indices": []
},
{
"loop": false,
"offsets": [
130,
-10
],
"anim": "singLEFT",
"fps": 24,
"name": "note sing left",
"indices": []
},
{
"loop": false,
"offsets": [
-130,
-14
],
"anim": "singRIGHT",
"fps": 24,
"name": "spooky sing right",
"indices": []
},
{
"loop": false,
"offsets": [
-50,
-130
],
"anim": "singDOWN",
"fps": 24,
"name": "spooky DOWN note",
"indices": []
},
{
"loop": false,
"offsets": [
0,
0
],
"fps": 12,
"anim": "idle",
"indices": [
0,
2,
6
],
"name": "spooky dance idle"
},
{
"loop": false,
"offsets": [
0,
0
],
"fps": 12,
"anim": "danceRight",
"indices": [
8,
10,
12,
14
],
"name": "spooky dance idle"
},
{
"loop": false,
"offsets": [
-20,
26
],
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "spooky UP NOTE"
}
],
"no_antialiasing": false,
"image": "sprites/characters/spooky_kids_assets",
"position": [
-200,
270
],
"healthicon": "spooky",
"flip_x": false,
"healthbar_colors": [
213,
126,
0
],
"camera_position": [
0,
0
],
"sing_duration": 4,
"scale": 1,
"dancing": true
}

144
characters/tankman.json Normal file
View File

@ -0,0 +1,144 @@
{
"animations": [
{
"offsets": [
0,
0
],
"loop": false,
"fps": 24,
"anim": "idle",
"indices": [],
"name": "Tankman Idle Dance "
},
{
"offsets": [
54,
49
],
"loop": false,
"fps": 24,
"anim": "singUP",
"indices": [],
"name": "Tankman UP note "
},
{
"offsets": [
81,
-105
],
"loop": false,
"fps": 24,
"anim": "singDOWN",
"indices": [],
"name": "Tankman DOWN note "
},
{
"offsets": [
89,
-12
],
"loop": false,
"fps": 24,
"anim": "singLEFT",
"indices": [],
"name": "Tankman Right Note "
},
{
"offsets": [
-23,
-31
],
"loop": false,
"fps": 24,
"anim": "singRIGHT",
"indices": [],
"name": "Tankman Note Left "
},
{
"offsets": [
-14,
-8
],
"loop": false,
"fps": 24,
"anim": "singUP-alt",
"indices": [],
"name": "TANKMAN UGH "
},
{
"offsets": [
2,
16
],
"loop": false,
"fps": 24,
"anim": "singDOWN-alt",
"indices": [],
"name": "PRETTY GOOD tankman "
},
{
"offsets": [
3,
8
],
"loop": false,
"fps": 24,
"anim": "dodge",
"indices": [],
"name": "Tankman Dodg"
},
{
"loop": false,
"offsets": [
126,
117
],
"anim": "die",
"fps": 20,
"name": "Tankman Die",
"indices": []
},
{
"offsets": [
0,
0
],
"indices": [],
"fps": 24,
"anim": "",
"loop": false,
"name": ""
},
{
"offsets": [
0,
0
],
"indices": [],
"fps": 24,
"anim": "prettygood",
"loop": false,
"name": "PRETTY GOOD tankman "
}
],
"no_antialiasing": false,
"image": "sprites/characters/tankmanCaptain",
"position": [
0,
240
],
"healthicon": "tankman",
"flip_x": true,
"healthbar_colors": [
225,
225,
225
],
"camera_position": [
-900,
-20
],
"sing_duration": 4,
"scale": 1
}

BIN
charts/2hot/.DS_Store vendored Normal file

Binary file not shown.

View 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

File diff suppressed because it is too large Load Diff

6886
charts/2hot/2hot-erect.json Normal file

File diff suppressed because it is too large Load Diff

6052
charts/2hot/2hot-hard.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5045
charts/2hot/2hot.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,97 @@
-- RANK ONLY UP TILL 20, 0 MINIMUM, CHANGE THIS TO SUGGEST HOW HARD THE SONG IS, BY MARKEDAMAN
function onCreate()
if difficulty == 0 then -- easy
rank = 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
View 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

File diff suppressed because it is too large Load Diff

351
charts/2hot/rainshader.lua Normal file
View 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
View 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/blammed/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,97 @@
-- RANK ONLY UP TILL 20, 0 MINIMUM, CHANGE THIS TO SUGGEST HOW HARD THE SONG IS, BY MARKEDAMAN
function onCreate()
if difficulty == 0 then -- easy
rank = 1
elseif difficulty == 1 then -- normal
rank = 2
elseif difficulty == 2 then -- hard
rank = 3
elseif difficulty == 3 then -- erect
rank = 12
elseif difficulty == 4 then -- nightmare
rank = 13
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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

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

973
charts/blammed/events.json Normal file
View File

@ -0,0 +1,973 @@
{
"song": {
"events": [
[
46545.4545454546,
[
[
"Philly Glow",
"1",
""
],
[
"Philly Glow",
"2",
""
],
[
"Toggle Trail",
"1",
"1"
]
]
],
[
46909.0909090909,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
47272.7272727273,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
47636.3636363637,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
48000,
[
[
"Philly Glow",
"1",
""
]
]
],
[
48363.6363636364,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
48727.2727272727,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
49090.9090909091,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
49454.5454545455,
[
[
"Philly Glow",
"1",
""
],
[
"Philly Glow",
"2",
""
]
]
],
[
49818.1818181818,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
50000,
[
[
"Philly Glow",
"2",
""
]
]
],
[
50181.8181818182,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
50545.4545454546,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
50909.0909090909,
[
[
"Philly Glow",
"1",
""
]
]
],
[
51272.7272727273,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
51636.3636363637,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
52000,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
52363.6363636364,
[
[
"Philly Glow",
"1",
""
],
[
"Philly Glow",
"2",
""
]
]
],
[
52727.2727272727,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
53090.9090909091,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
53454.5454545455,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
53818.1818181818,
[
[
"Philly Glow",
"1",
""
]
]
],
[
54181.8181818182,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
54545.4545454546,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
54909.0909090909,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
55272.7272727273,
[
[
"Philly Glow",
"1",
""
],
[
"Philly Glow",
"2",
""
]
]
],
[
55636.3636363637,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
55818.1818181818,
[
[
"Philly Glow",
"2",
""
]
]
],
[
56000,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
56181.8181818182,
[
[
"Camera Follow Pos",
"570",
"550"
],
[
"Set Property",
"defaultCamZoom",
"1.22"
],
[
"Set Property",
"cameraSpeed",
"2"
]
]
],
[
56363.6363636364,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
],
[
"Camera Follow Pos",
"570",
"520"
]
]
],
[
56727.2727272728,
[
[
"Philly Glow",
"1",
""
]
],
[
[
"Camera Follow Pos",
"600",
"490"
]
]
],
[
57090.9090909091,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
57272.7272727273,
[
[
"Camera Follow Pos",
"630",
"520"
]
]
],
[
57454.5454545455,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
],
[
"Camera Follow Pos",
"600",
"490"
]
]
],
[
57818.1818181818,
[
[
"Add Camera Zoom",
"",
""
],
[
"Set Property",
"defaultCamZoom",
"1.05"
],
[
"Camera Follow Pos",
"630",
"520"
]
]
],
[
58181.8181818182,
[
[
"Philly Glow",
"1",
""
],
[
"Philly Glow",
"2",
""
],
[
"Camera Follow Pos",
"",
""
],
[
"Set Property",
"cameraSpeed",
"1"
]
]
],
[
58545.4545454546,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
58909.0909090909,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
59272.7272727273,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
59636.3636363637,
[
[
"Philly Glow",
"1",
""
]
]
],
[
60000,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
60363.6363636364,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
60727.2727272728,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
61090.9090909091,
[
[
"Philly Glow",
"1",
""
],
[
"Philly Glow",
"2",
""
]
]
],
[
61454.5454545455,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
61636.3636363637,
[
[
"Philly Glow",
"2",
""
]
]
],
[
61818.1818181819,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
62181.8181818182,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
62545.4545454546,
[
[
"Philly Glow",
"1",
""
]
]
],
[
62909.0909090909,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
63272.7272727273,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
63636.3636363637,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
64000,
[
[
"Philly Glow",
"1",
""
],
[
"Philly Glow",
"2",
""
]
]
],
[
64363.6363636364,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
64727.2727272728,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
65090.9090909091,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
65454.5454545455,
[
[
"Philly Glow",
"1",
""
]
]
],
[
65818.1818181819,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
66181.8181818182,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
66545.4545454546,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
66909.0909090909,
[
[
"Philly Glow",
"1",
""
],
[
"Philly Glow",
"2",
""
]
]
],
[
67272.7272727273,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
67454.5454545455,
[
[
"Philly Glow",
"2",
""
]
]
],
[
67636.3636363637,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
68000,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
68363.6363636364,
[
[
"Philly Glow",
"1",
""
]
]
],
[
68727.2727272728,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
69090.9090909091,
[
[
"Philly Glow",
"2",
""
],
[
"Add Camera Zoom",
"",
""
]
]
],
[
69454.5454545455,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
69818.1818181819,
[
[
"Philly Glow",
"0",
""
],
[
"Toggle Trail",
"",
""
]
]
]
]
}
}

View File

@ -0,0 +1,113 @@
-- Script made by Washo789, please, if you use it or modify it, I would like you to give me credits.
local xx = 630; -- Code to change the position of the camera to the left or right for your opponent, Less = Left (They can be negative numbers), More = Right
local yy = 520; -- Code to change the position of the camera up or down for the enemy Less = Down (They can be negative numbers), More = Up
local xx2 = 820; -- Same code as above, but for boyfriend left, right
local yy2 = 510; -- Same code as above, but for boyfriend up, down
local xx3 = 520; -- Same code as above, but for girlfriend left, right
local yy3 = 450; -- Same code as above, but for girlfriend, up, down
local ofs = 35; -- Code to adjust the intensity with which the camera moves, the more numbers, the more intense, and the fewer numbers, less intense
local followchars = true; -- This code is necessary for the script to work, don't even think about deleting it!
local del = 0;
local del2 = 0;
function onUpdate() -- The Main Code
if del > 0 then
del = del - 1
end
if del2 > 0 then
del2 = del2 - 1
end
if followchars == true then
if mustHitSection == false then -- Code for the camera to follow the poses of your opponent
if getProperty('dad.animation.curAnim.name') == 'singLEFT' then
triggerEvent('Camera Follow Pos',xx-ofs,yy)
end
if getProperty('dad.animation.curAnim.name') == 'singRIGHT' then
triggerEvent('Camera Follow Pos',xx+ofs,yy)
end
if getProperty('dad.animation.curAnim.name') == 'singUP' then
triggerEvent('Camera Follow Pos',xx,yy-ofs)
end
if getProperty('dad.animation.curAnim.name') == 'singDOWN' then
triggerEvent('Camera Follow Pos',xx,yy+ofs)
end
if getProperty('dad.animation.curAnim.name') == 'singLEFT-alt' then
triggerEvent('Camera Follow Pos',xx-ofs,yy)
end
if getProperty('dad.animation.curAnim.name') == 'singRIGHT-alt' then
triggerEvent('Camera Follow Pos',xx+ofs,yy)
end
if getProperty('dad.animation.curAnim.name') == 'singUP-alt' then
triggerEvent('Camera Follow Pos',xx,yy-ofs)
end
if getProperty('dad.animation.curAnim.name') == 'singDOWN-alt' then
triggerEvent('Camera Follow Pos',xx,yy+ofs)
end
if getProperty('dad.animation.curAnim.name') == 'idle-alt' then
triggerEvent('Camera Follow Pos',xx,yy)
end
if getProperty('dad.animation.curAnim.name') == 'idle' then
triggerEvent('Camera Follow Pos',xx,yy)
end
if gfSection == true then -- The camera follows GF when she sings, only when the "GF Section" option in the chart editor is activated.
if getProperty('gf.animation.curAnim.name') == 'singLEFT' then -- Credits to Serebeat and company for their Slaybells mod,
triggerEvent('Camera Follow Pos',xx3-ofs,yy3) -- That's where I got the gf code from.
end
if getProperty('gf.animation.curAnim.name') == 'singRIGHT' then
triggerEvent('Camera Follow Pos',xx3+ofs,yy3)
end
if getProperty('gf.animation.curAnim.name') == 'singUP' then
triggerEvent('Camera Follow Pos',xx3,yy3-ofs)
end
if getProperty('gf.animation.curAnim.name') == 'singDOWN' then
triggerEvent('Camera Follow Pos',xx3,yy3+ofs)
end
if getProperty('gf.animation.curAnim.name') == 'idle-alt' then
triggerEvent('Camera Follow Pos',xx3,yy3)
end
if getProperty('gf.animation.curAnim.name') == 'singRIGHT-alt' then
triggerEvent('Camera Follow Pos',xx3+ofs,yy3)
end
if getProperty('gf.animation.curAnim.name') == 'singUP-alt' then
triggerEvent('Camera Follow Pos',xx3,yy3-ofs)
end
if getProperty('gf.animation.curAnim.name') == 'singDOWN-alt' then
triggerEvent('Camera Follow Pos',xx3,yy3+ofs)
end
if getProperty('gf.animation.curAnim.name') == 'idle-alt' then
triggerEvent('Camera Follow Pos',xx3,yy3)
end
end
else
-- Code for the camera to follow the poses of boyfriend
if getProperty('boyfriend.animation.curAnim.name') == 'singLEFT' then
triggerEvent('Camera Follow Pos',xx2-ofs,yy2)
end
if getProperty('boyfriend.animation.curAnim.name') == 'singRIGHT' then
triggerEvent('Camera Follow Pos',xx2+ofs,yy2)
end
if getProperty('boyfriend.animation.curAnim.name') == 'singUP' then
triggerEvent('Camera Follow Pos',xx2,yy2-ofs)
end
if getProperty('boyfriend.animation.curAnim.name') == 'singDOWN' then
triggerEvent('Camera Follow Pos',xx2,yy2+ofs)
end
if getProperty('boyfriend.animation.curAnim.name') == 'singRIGHT-alt' then
triggerEvent('Camera Follow Pos',xx2+ofs,yy2)
end
if getProperty('boyfriend.animation.curAnim.name') == 'singUP-alt' then
triggerEvent('Camera Follow Pos',xx2,yy2-ofs)
end
if getProperty('boyfriend.animation.curAnim.name') == 'singDOWN-alt' then
triggerEvent('Camera Follow Pos',xx2,yy2+ofs)
end
if getProperty('boyfriend.animation.curAnim.name') == 'idle-alt' then
triggerEvent('Camera Follow Pos',xx2,yy2)
end
end
else
triggerEvent('Camera Follow Pos','','') -- Self explanatory
end
end

BIN
charts/blazin/.DS_Store vendored Normal file

Binary file not shown.

View 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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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
View 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
View File

@ -0,0 +1,26 @@
{
"song": {
"events": [
[
8000,
[
[
"Alt Idle Animation",
"bf",
"-alt"
]
]
],
[
8083.33333333333,
[
[
"Alt Idle Animation",
"dad",
"-alt"
]
]
]
]
}
}

View 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
View 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

View File

@ -0,0 +1,810 @@
{
"song": {
"player1": "bf",
"notes": [
{
"sectionNotes": [
[
0,
2,
0
],
[
600,
3,
450
],
[
1200,
3,
450
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
2400,
2,
0
],
[
3000,
3,
450
],
[
3600,
3,
450
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
4800,
1,
300
],
[
5400,
0,
300
],
[
6000,
3,
525
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
7200,
1,
300
],
[
7800,
0,
300
],
[
8400,
3,
525
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
9600,
1,
0
],
[
10200,
3,
0
],
[
10500,
0,
0
],
[
10800,
1,
600
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
12000,
1,
0
],
[
12600,
3,
0
],
[
12900,
0,
0
],
[
13200,
1,
600
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
14400,
3,
0
],
[
14700,
1,
0
],
[
15300,
0,
0
],
[
15600,
2,
600
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
16800,
3,
0
],
[
17100,
1,
0
],
[
17700,
0,
0
],
[
18000,
2,
600
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
19200,
0,
0
],
[
19500,
3,
0
],
[
19800,
1,
900
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
21600,
0,
0
],
[
21900,
3,
0
],
[
22200,
1,
900
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
24000,
1,
0
],
[
24300,
3,
0
],
[
24600,
0,
900
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
26400,
1,
0
],
[
26700,
3,
0
],
[
27000,
0,
900
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
28800,
2,
0
],
[
29100,
3,
0
],
[
29400,
0,
1125
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
31200,
2,
0
],
[
31500,
3,
0
],
[
31800,
0,
1125
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
33600,
0,
0
],
[
33900,
3,
0
],
[
34500,
2,
0
],
[
34800,
1,
600
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
36000,
0,
0
],
[
36300,
3,
0
],
[
36900,
2,
0
],
[
37200,
1,
600
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
38400,
2,
450
],
[
39000,
3,
300
],
[
39600,
0,
525
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
40800,
2,
450
],
[
41400,
3,
300
],
[
42000,
0,
525
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
43200,
1,
0
],
[
43800,
2,
0
],
[
44400,
1,
0
],
[
44700,
1,
0
],
[
45000,
2,
0
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
45600,
1,
0
],
[
46200,
2,
0
],
[
46800,
1,
0
],
[
47100,
1,
0
],
[
47400,
2,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
48000,
2,
450
],
[
48600,
3,
300
],
[
49200,
0,
450
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
50400,
2,
450
],
[
51000,
3,
300
],
[
51600,
0,
450
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
52800,
3,
1725
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
55200,
3,
1725
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
57600,
2,
0
],
[
57900,
3,
0
],
[
58200,
0,
1125
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
60000,
2,
0
],
[
60300,
3,
0
],
[
60600,
0,
1125
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
62400,
0,
0
],
[
62700,
3,
0
],
[
63300,
2,
0
],
[
63600,
1,
525
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
64800,
0,
0
],
[
65100,
3,
0
],
[
65700,
2,
0
],
[
66000,
1,
525
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
67200,
2,
0
],
[
67500,
3,
0
],
[
67800,
0,
0
],
[
68100,
2,
0
],
[
68400,
1,
525
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
69600,
2,
0
],
[
69900,
3,
0
],
[
70200,
0,
0
],
[
70500,
2,
0
],
[
70800,
1,
525
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
72000,
0,
0
],
[
72300,
3,
0
],
[
72900,
2,
0
],
[
73200,
1,
525
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
74400,
0,
0
],
[
74700,
3,
0
],
[
75300,
2,
0
],
[
75600,
1,
525
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"lengthInSteps": 16,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"changeBPM": false,
"mustHitSection": true
},
{
"lengthInSteps": 16,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"changeBPM": false,
"mustHitSection": true
},
{
"lengthInSteps": 16,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"changeBPM": false,
"mustHitSection": true
},
{
"lengthInSteps": 16,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"changeBPM": false,
"mustHitSection": true
},
{
"lengthInSteps": 16,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"changeBPM": false,
"mustHitSection": true
},
{
"lengthInSteps": 16,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"changeBPM": false,
"mustHitSection": true
}
],
"player2": "dad",
"player3": "gf",
"song": "Bopeebo",
"needsVoices": true,
"validScore": true,
"bpm": 100,
"speed": 1
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,889 @@
{
"song": {
"player1": "bf",
"events": [],
"gfVersion": "gf",
"notes": [
{
"sectionNotes": [
[
0,
2,
0
],
[
600,
1,
450
],
[
1200,
1,
450
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
2400,
2,
0
],
[
3000,
1,
450
],
[
3600,
1,
450
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
5400,
0,
450
],
[
6000,
2,
450
],
[
4800,
1,
300
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
7200,
1,
300
],
[
7800,
3,
450
],
[
8400,
2,
450
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
9600,
1,
300
],
[
10200,
3,
0
],
[
10500,
0,
0
],
[
10800,
1,
600
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
12000,
1,
300
],
[
12600,
3,
0
],
[
12900,
0,
0
],
[
13200,
1,
600
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
14400,
3,
0
],
[
15600,
2,
600
],
[
14700,
0,
0
],
[
15300,
1,
0
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
16800,
3,
0
],
[
18000,
2,
600
],
[
17100,
0,
0
],
[
17700,
1,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
19800,
1,
900
],
[
19200,
3,
0
],
[
19500,
2,
0
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
22200,
1,
900
],
[
21600,
3,
0
],
[
21900,
2,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
24000,
1,
0
],
[
24300,
3,
0
],
[
24600,
0,
900
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
26400,
1,
0
],
[
26700,
3,
0
],
[
27000,
0,
900
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
28800,
2,
0
],
[
29100,
3,
0
],
[
29400,
0,
1200
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
31200,
2,
0
],
[
31500,
3,
0
],
[
31800,
0,
1200
],
[
33300,
6,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
33600,
0,
0
],
[
33900,
3,
0
],
[
34500,
2,
0
],
[
34575,
0,
0
],
[
34800,
1,
600
],
[
35700,
6,
0
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
36000,
0,
0
],
[
36900,
2,
0
],
[
37200,
1,
600
],
[
36300,
1,
0
],
[
36975,
3,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
38400,
2,
450
],
[
39000,
3,
300
],
[
39600,
0,
600
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
40800,
2,
450
],
[
41400,
3,
300
],
[
42000,
1,
450
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
43200,
1,
0
],
[
43800,
2,
0
],
[
44700,
1,
0
],
[
45000,
2,
0
],
[
44400,
0,
0
],
[
44475,
1,
0
],
[
44625,
0,
0
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
45600,
1,
0
],
[
46200,
2,
0
],
[
47100,
1,
0
],
[
47400,
2,
0
],
[
47025,
0,
0
],
[
46725,
0,
0
],
[
46800,
1,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
48000,
2,
450
],
[
48600,
3,
300
],
[
49200,
0,
450
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
50400,
2,
450
],
[
51000,
3,
300
],
[
51600,
0,
450
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
52800,
1,
1950
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
55200,
1,
1800
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
57600,
2,
0
],
[
57900,
3,
0
],
[
58200,
0,
1200
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
60000,
2,
0
],
[
60300,
3,
0
],
[
60600,
0,
1200
],
[
62100,
6,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
63300,
2,
0
],
[
63600,
1,
600
],
[
64500,
6,
0
],
[
63375,
3,
0
],
[
62400,
0,
0
],
[
62700,
1,
0
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
64800,
0,
0
],
[
65700,
2,
0
],
[
66000,
1,
600
],
[
65100,
1,
0
],
[
65775,
3,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
67500,
3,
0
],
[
68100,
2,
0
],
[
67200,
0,
0
],
[
67800,
1,
0
],
[
68400,
0,
600
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
69900,
3,
0
],
[
70500,
2,
0
],
[
69600,
0,
0
],
[
70200,
1,
0
],
[
70800,
0,
450
],
[
71700,
6,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"sectionNotes": [
[
72000,
0,
0
],
[
72900,
2,
0
],
[
73200,
1,
600
],
[
74100,
6,
0
],
[
72300,
1,
0
],
[
72975,
3,
0
]
],
"lengthInSteps": 16,
"mustHitSection": false
},
{
"sectionNotes": [
[
74400,
0,
0
],
[
75300,
2,
0
],
[
75600,
1,
600
],
[
74700,
1,
0
],
[
75375,
3,
0
]
],
"lengthInSteps": 16,
"mustHitSection": true
},
{
"gfSection": false,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"sectionBeats": 4,
"changeBPM": false,
"mustHitSection": true
},
{
"gfSection": false,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"sectionBeats": 4,
"changeBPM": false,
"mustHitSection": true
},
{
"gfSection": false,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"sectionBeats": 4,
"changeBPM": false,
"mustHitSection": true
},
{
"gfSection": false,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"sectionBeats": 4,
"changeBPM": false,
"mustHitSection": true
},
{
"gfSection": false,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"sectionBeats": 4,
"changeBPM": false,
"mustHitSection": true
}
],
"player2": "dad",
"player3": null,
"song": "Bopeebo",
"stage": "stage",
"needsVoices": true,
"validScore": true,
"bpm": 100,
"speed": 1.3
}
}

View File

@ -0,0 +1,850 @@
{
"song": {
"player1": "bf",
"player2": "dad",
"notes": [
{
"lengthInSteps": 16,
"sectionNotes": [
[
0,
2,
0
],
[
600,
3,
600
],
[
1200,
3,
525
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
2400,
2,
0
],
[
3000,
3,
600
],
[
3600,
3,
525
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
4800,
1,
300
],
[
5400,
0,
300
],
[
6000,
3,
525
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
7200,
1,
300
],
[
7800,
0,
300
],
[
8400,
3,
525
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
9600,
1,
300
],
[
10200,
3,
0
],
[
10500,
0,
0
],
[
10800,
1,
525
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
12000,
1,
300
],
[
12600,
3,
0
],
[
12900,
0,
0
],
[
13200,
1,
525
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
14400,
3,
0
],
[
14700,
1,
0
],
[
15300,
0,
0
],
[
15600,
2,
525
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
16800,
3,
0
],
[
17100,
1,
0
],
[
17700,
0,
0
],
[
18000,
2,
525
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
19200,
0,
0
],
[
19500,
3,
0
],
[
19800,
1,
900
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
21600,
0,
0
],
[
21900,
3,
0
],
[
22200,
1,
900
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
24000,
1,
0
],
[
24300,
3,
0
],
[
24600,
0,
900
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
26400,
1,
0
],
[
26700,
3,
0
],
[
27000,
0,
900
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
28800,
2,
0
],
[
29100,
3,
0
],
[
29400,
0,
1125
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
31200,
2,
0
],
[
31500,
3,
0
],
[
31800,
0,
1125
],
[
33300,
6,
0
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
33600,
0,
0
],
[
33900,
3,
0
],
[
34500,
2,
0
],
[
34800,
1,
525
],
[
35700,
6,
0
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
36000,
0,
0
],
[
36300,
3,
0
],
[
36900,
2,
0
],
[
37200,
1,
525
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
38400,
2,
450
],
[
39000,
3,
300
],
[
39600,
0,
525
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
40800,
2,
450
],
[
41400,
3,
300
],
[
42000,
0,
525
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
43200,
1,
0
],
[
43800,
2,
0
],
[
44400,
1,
0
],
[
44550,
1,
0
],
[
44700,
1,
0
],
[
45000,
2,
0
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
45600,
1,
0
],
[
46200,
2,
0
],
[
46800,
1,
0
],
[
46950,
1,
0
],
[
47100,
1,
0
],
[
47400,
2,
0
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
48000,
2,
450
],
[
48600,
3,
300
],
[
49200,
0,
375
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
50400,
2,
450
],
[
51000,
3,
300
],
[
51600,
0,
375
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
52800,
3,
1725
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
55200,
3,
1725
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
57600,
2,
0
],
[
57900,
3,
0
],
[
58200,
0,
1125
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
60000,
2,
0
],
[
60300,
3,
0
],
[
60600,
0,
1125
],
[
62100,
6,
0
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
62400,
0,
0
],
[
62700,
3,
0
],
[
63300,
2,
0
],
[
63600,
1,
525
],
[
64500,
6,
0
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
64800,
0,
0
],
[
65100,
3,
0
],
[
65700,
2,
0
],
[
66000,
1,
525
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
67200,
2,
0
],
[
67500,
3,
0
],
[
67800,
0,
0
],
[
68100,
2,
0
],
[
68400,
1,
525
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
69600,
2,
0
],
[
69900,
3,
0
],
[
70200,
0,
0
],
[
70500,
2,
0
],
[
70800,
1,
525
],
[
71700,
6,
0
]
],
"mustHitSection": true
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
72000,
0,
0
],
[
72300,
3,
0
],
[
72900,
2,
0
],
[
73200,
1,
525
],
[
74100,
6,
0
]
],
"mustHitSection": false
},
{
"lengthInSteps": 16,
"sectionNotes": [
[
74400,
0,
0
],
[
74700,
3,
0
],
[
75300,
2,
0
],
[
75600,
1,
525
]
],
"mustHitSection": true
},
{
"sectionNotes": [],
"typeOfSection": 0,
"lengthInSteps": 16,
"altAnim": false,
"mustHitSection": true,
"changeBPM": false,
"bpm": 100
},
{
"sectionNotes": [],
"typeOfSection": 0,
"lengthInSteps": 16,
"altAnim": false,
"mustHitSection": true,
"changeBPM": false,
"bpm": 100
},
{
"sectionNotes": [],
"typeOfSection": 0,
"lengthInSteps": 16,
"altAnim": false,
"mustHitSection": true,
"changeBPM": false,
"bpm": 100
},
{
"lengthInSteps": 16,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"changeBPM": false,
"mustHitSection": true
},
{
"lengthInSteps": 16,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"changeBPM": false,
"mustHitSection": true
},
{
"lengthInSteps": 16,
"altAnim": false,
"typeOfSection": 0,
"sectionNotes": [],
"bpm": 100,
"changeBPM": false,
"mustHitSection": true
}
],
"player3": "gf",
"song": "Bopeebo",
"needsVoices": true,
"validScore": true,
"speed": 1,
"bpm": 100
}
}

View File

@ -0,0 +1,97 @@
-- RANK ONLY UP TILL 20, 0 MINIMUM, CHANGE THIS TO SUGGEST HOW HARD THE SONG IS, BY MARKEDAMAN
function onCreate()
if difficulty == 0 then -- easy
rank = 2
elseif difficulty == 1 then -- normal
rank = 2
elseif difficulty == 2 then -- hard
rank = 3
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

View File

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

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

2674
charts/cocoa/cocoa-hard.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

1
charts/cocoa/cocoa.json Normal file

File diff suppressed because one or more lines are too long

14
charts/cocoa/death.lua Normal file
View File

@ -0,0 +1,14 @@
function onGameOverStart()
precacheSound("christmasdeath")
playSound("christmasdeath", 1)
end
-- crash prevention
function onUpdate() end
function onUpdatePost() end

1
charts/cocoa/events.json Normal file
View File

@ -0,0 +1 @@
{"song":{"player1":"bf-christmas","notes":[{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[9000,-1,"Hey!","1",""]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[18600,-1,"Hey!","1",""]],"lengthInSteps":16,"mustHitSection":true},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"altAnim":true,"sectionNotes":[[28200,-1,"Hey!","1",""]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[37800,-1,"Hey!","1",""]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[85800,-1,"Hey!","1",""]],"lengthInSteps":16,"mustHitSection":true},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"altAnim":true,"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"lengthInSteps":16,"altAnim":false,"typeOfSection":0,"sectionNotes":[],"bpm":100,"changeBPM":false,"mustHitSection":true},{"lengthInSteps":16,"altAnim":false,"typeOfSection":0,"sectionNotes":[],"bpm":100,"changeBPM":false,"mustHitSection":true}],"player2":"parents-christmas","song":"Cocoa","validScore":true,"needsVoices":true,"speed":1.5,"bpm":100}}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,301 @@
{
"song": {
"events": [
[
32000,
[
[
"Dadbattle Spotlight",
"1",
""
],
[
"Camera Flash",
"2",
""
]
]
],
[
41333.3333333333,
[
[
"Set Cam Zoom",
"0.9",
""
],
[
"Camera Set Target",
"b",
""
]
]
],
[
42666.6666666667,
[
[
"Dadbattle Spotlight",
"3",
""
]
]
],
[
48000,
[
[
"Camera Flash",
"0.5",
""
],
[
"Camera Follow Pos",
"650",
"550"
],
[
"Set Cam Zoom",
"0.65",
""
]
]
],
[
48333.3333333334,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
48666.6666666667,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
49000,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
49666.6666666667,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
50000,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
50333.3333333334,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
51000,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
51333.3333333334,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
51666.6666666667,
[
[
"Add Camera Zoom",
"",
""
]
]
],
[
52000,
[
[
"Add Camera Zoom",
"0.015",
"0"
]
]
],
[
52166.6666666667,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
52333.3333333334,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
52500,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
52666.6666666667,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
52833.3333333334,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
52916.6666666667,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
53000,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
53083.3333333334,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
53166.6666666667,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
53250,
[
[
"Add Camera Zoom",
"0.03",
""
]
]
],
[
53333.3333333334,
[
[
"Dadbattle Spotlight",
"0",
""
],
[
"Set Cam Zoom",
"0.75",
"2"
],
[
"Camera Follow Pos",
"",
""
],
[
"Camera Flash",
"0.5",
""
]
]
],
[
74666.6666666667,
[
[
"Set Cam Zoom",
"0.8",
""
]
]
]
]
}
}

BIN
charts/darnell/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,97 @@
-- RANK ONLY UP TILL 20, 0 MINIMUM, CHANGE THIS TO SUGGEST HOW HARD THE SONG IS, BY MARKEDAMAN
function onCreate()
if difficulty == 0 then -- easy
rank = 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
View 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
View 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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

616
charts/darnell/events.json Normal file
View 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"
]
]
]
]
}
}

View 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

View 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

View File

@ -0,0 +1,97 @@
-- RANK ONLY UP TILL 20, 0 MINIMUM, CHANGE THIS TO SUGGEST HOW HARD THE SONG IS, BY MARKEDAMAN
function onCreate()
if difficulty == 0 then -- easy
rank = 1
elseif difficulty == 1 then -- normal
rank = 2
elseif difficulty == 2 then -- hard
rank = 3
elseif difficulty == 3 then -- erect
rank = 7
elseif difficulty == 4 then -- nightmare
rank = 8
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

Some files were not shown because too many files have changed in this diff Show More