Friday Night Funkin' EYY's, but GF cheers too
This commit is contained in:
parent
cef2cbde05
commit
b3c418098b
@ -157,7 +157,6 @@ class PlayState extends MusicBeatState
|
|||||||
var scoreTxt:FlxText;
|
var scoreTxt:FlxText;
|
||||||
var replayTxt:FlxText;
|
var replayTxt:FlxText;
|
||||||
|
|
||||||
|
|
||||||
public static var campaignScore:Int = 0;
|
public static var campaignScore:Int = 0;
|
||||||
|
|
||||||
var defaultCamZoom:Float = 1.05;
|
var defaultCamZoom:Float = 1.05;
|
||||||
@ -172,6 +171,12 @@ class PlayState extends MusicBeatState
|
|||||||
|
|
||||||
public static var timeCurrently:Float = 0;
|
public static var timeCurrently:Float = 0;
|
||||||
public static var timeCurrentlyR:Float = 0;
|
public static var timeCurrentlyR:Float = 0;
|
||||||
|
|
||||||
|
// Will fire once every prevent debug spam messages and broken animations
|
||||||
|
private var triggeredAlready:Bool = false;
|
||||||
|
|
||||||
|
// Will decide if she's even allowed to headbang at all depending on the song
|
||||||
|
private var allowToHeadbang:Bool = false;
|
||||||
|
|
||||||
override public function create()
|
override public function create()
|
||||||
{
|
{
|
||||||
@ -1150,42 +1155,47 @@ class PlayState extends MusicBeatState
|
|||||||
songLength = FlxG.sound.music.length;
|
songLength = FlxG.sound.music.length;
|
||||||
|
|
||||||
if (FlxG.save.data.songPosition)
|
if (FlxG.save.data.songPosition)
|
||||||
{
|
{
|
||||||
remove(songPosBG);
|
remove(songPosBG);
|
||||||
remove(songPosBar);
|
remove(songPosBar);
|
||||||
remove(songName);
|
remove(songName);
|
||||||
|
|
||||||
songPosBG = new FlxSprite(0, 10).loadGraphic(Paths.image('healthBar'));
|
songPosBG = new FlxSprite(0, 10).loadGraphic(Paths.image('healthBar'));
|
||||||
if (FlxG.save.data.downscroll)
|
if (FlxG.save.data.downscroll)
|
||||||
songPosBG.y = FlxG.height * 0.9 + 45;
|
songPosBG.y = FlxG.height * 0.9 + 45;
|
||||||
songPosBG.screenCenter(X);
|
songPosBG.screenCenter(X);
|
||||||
songPosBG.scrollFactor.set();
|
songPosBG.scrollFactor.set();
|
||||||
add(songPosBG);
|
add(songPosBG);
|
||||||
|
|
||||||
songPosBar = new FlxBar(songPosBG.x + 4, songPosBG.y + 4, LEFT_TO_RIGHT, Std.int(songPosBG.width - 8), Std.int(songPosBG.height - 8), this,
|
songPosBar = new FlxBar(songPosBG.x + 4, songPosBG.y + 4, LEFT_TO_RIGHT, Std.int(songPosBG.width - 8), Std.int(songPosBG.height - 8), this,
|
||||||
'songPositionBar', 0, songLength - 1000);
|
'songPositionBar', 0, songLength - 1000);
|
||||||
songPosBar.numDivisions = 1000;
|
songPosBar.numDivisions = 1000;
|
||||||
songPosBar.scrollFactor.set();
|
songPosBar.scrollFactor.set();
|
||||||
songPosBar.createFilledBar(FlxColor.GRAY, FlxColor.LIME);
|
songPosBar.createFilledBar(FlxColor.GRAY, FlxColor.LIME);
|
||||||
add(songPosBar);
|
add(songPosBar);
|
||||||
|
|
||||||
var songName = new FlxText(songPosBG.x + (songPosBG.width / 2) - 20,songPosBG.y,0,SONG.song, 16);
|
|
||||||
if (FlxG.save.data.downscroll)
|
|
||||||
songName.y -= 3;
|
|
||||||
songName.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
|
||||||
songName.scrollFactor.set();
|
|
||||||
add(songName);
|
|
||||||
|
|
||||||
songPosBG.cameras = [camHUD];
|
var songName = new FlxText(songPosBG.x + (songPosBG.width / 2) - 20,songPosBG.y,0,SONG.song, 16);
|
||||||
songPosBar.cameras = [camHUD];
|
if (FlxG.save.data.downscroll)
|
||||||
songName.cameras = [camHUD];
|
songName.y -= 3;
|
||||||
}
|
songName.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
||||||
|
songName.scrollFactor.set();
|
||||||
|
add(songName);
|
||||||
|
|
||||||
|
songPosBG.cameras = [camHUD];
|
||||||
|
songPosBar.cameras = [camHUD];
|
||||||
|
songName.cameras = [camHUD];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Song check real quick
|
||||||
|
if(curSong == 'Bopeebo' ||
|
||||||
|
curSong == 'Philly' ||
|
||||||
|
curSong == 'Blammed' ||
|
||||||
|
curSong == 'Cocoa' ||
|
||||||
|
curSong == 'Eggnog') allowToHeadbang = true;
|
||||||
|
else allowToHeadbang = false;
|
||||||
|
|
||||||
#if desktop
|
#if desktop
|
||||||
// Updating Discord Rich Presence (with Time Left)
|
// Updating Discord Rich Presence (with Time Left)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ") " + generateRanking(), "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ") " + generateRanking(), "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
@ -1725,9 +1735,97 @@ class PlayState extends MusicBeatState
|
|||||||
|
|
||||||
if (generatedMusic && PlayState.SONG.notes[Std.int(curStep / 16)] != null)
|
if (generatedMusic && PlayState.SONG.notes[Std.int(curStep / 16)] != null)
|
||||||
{
|
{
|
||||||
if (curBeat % 4 == 0)
|
// Make sure Girlfriend cheers only for certain songs
|
||||||
|
if(allowToHeadbang)
|
||||||
{
|
{
|
||||||
// trace(PlayState.SONG.notes[Std.int(curStep / 16)].mustHitSection);
|
// Don't animate GF if something else is already animating her (eg. train passing)
|
||||||
|
if(gf.animation.curAnim.name == 'danceLeft' || gf.animation.curAnim.name == 'danceRight' || gf.animation.curAnim.name == 'idle')
|
||||||
|
{
|
||||||
|
// Per song treatment since some songs will only have the 'Hey' at certain times
|
||||||
|
if(curSong == 'Philly')
|
||||||
|
{
|
||||||
|
// Prevent GF from starting too early or doing this endlessly
|
||||||
|
if(curBeat < 250)
|
||||||
|
{
|
||||||
|
// Stoppage times
|
||||||
|
if(curBeat != 184 && curBeat != 216)
|
||||||
|
{
|
||||||
|
if (curBeat % 16 == 8)
|
||||||
|
{
|
||||||
|
// Just a garantee that it'll trigger just once
|
||||||
|
if(!triggeredAlready)
|
||||||
|
{
|
||||||
|
gf.playAnim('cheer');
|
||||||
|
trace('Eyy ' + curBeat);
|
||||||
|
triggeredAlready = true;
|
||||||
|
}
|
||||||
|
}else triggeredAlready = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(curSong == 'Bopeebo')
|
||||||
|
{
|
||||||
|
if(curBeat > 5 && curBeat < 130)
|
||||||
|
{
|
||||||
|
if (curBeat % 8 == 7)
|
||||||
|
{
|
||||||
|
if(!triggeredAlready)
|
||||||
|
{
|
||||||
|
gf.playAnim('cheer');
|
||||||
|
trace('Eyy ' + curBeat);
|
||||||
|
triggeredAlready = true;
|
||||||
|
}
|
||||||
|
}else triggeredAlready = false;
|
||||||
|
}
|
||||||
|
}else if(curSong == 'Blammed')
|
||||||
|
{
|
||||||
|
if(curBeat > 30 && curBeat < 190)
|
||||||
|
{
|
||||||
|
if(curBeat < 90 || curBeat > 128)
|
||||||
|
{
|
||||||
|
if (curBeat % 4 == 2)
|
||||||
|
{
|
||||||
|
if(!triggeredAlready)
|
||||||
|
{
|
||||||
|
gf.playAnim('cheer');
|
||||||
|
trace('Eyy ' + curBeat);
|
||||||
|
triggeredAlready = true;
|
||||||
|
}
|
||||||
|
}else triggeredAlready = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(curSong == 'Cocoa')
|
||||||
|
{
|
||||||
|
if(curBeat < 170)
|
||||||
|
{
|
||||||
|
if(curBeat < 65 || curBeat > 130 && curBeat < 145)
|
||||||
|
{
|
||||||
|
if (curBeat % 16 == 15)
|
||||||
|
{
|
||||||
|
if(!triggeredAlready)
|
||||||
|
{
|
||||||
|
gf.playAnim('cheer');
|
||||||
|
trace('Eyy ' + curBeat);
|
||||||
|
triggeredAlready = true;
|
||||||
|
}
|
||||||
|
}else triggeredAlready = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(curSong == 'Eggnog')
|
||||||
|
{
|
||||||
|
if(curBeat > 10 && curBeat != 111 && curBeat < 220)
|
||||||
|
{
|
||||||
|
if (curBeat % 8 == 7)
|
||||||
|
{
|
||||||
|
if(!triggeredAlready)
|
||||||
|
{
|
||||||
|
gf.playAnim('cheer');
|
||||||
|
trace('Eyy ' + curBeat);
|
||||||
|
triggeredAlready = true;
|
||||||
|
}
|
||||||
|
}else triggeredAlready = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (camFollow.x != dad.getMidpoint().x + 150 && !PlayState.SONG.notes[Std.int(curStep / 16)].mustHitSection)
|
if (camFollow.x != dad.getMidpoint().x + 150 && !PlayState.SONG.notes[Std.int(curStep / 16)].mustHitSection)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user