Merge branch 'master' of https://github.com/KadeDev/Kade-Engine
This commit is contained in:
commit
b85ebd596c
@ -407,7 +407,7 @@ class Character extends FlxSprite
|
||||
|
||||
public function loadOffsetFile(character:String)
|
||||
{
|
||||
var offset:Array<String> = CoolUtil.coolTextFile(Paths.txt('images/characters/' + character + "Offsets"));
|
||||
var offset:Array<String> = CoolUtil.coolTextFile(Paths.txt('images/characters/' + character + "Offsets", 'shared'));
|
||||
|
||||
for (i in 0...offset.length)
|
||||
{
|
||||
@ -452,13 +452,13 @@ class Character extends FlxSprite
|
||||
/**
|
||||
* FOR GF DANCING SHIT
|
||||
*/
|
||||
public function dance()
|
||||
public function dance(forced:Bool = false)
|
||||
{
|
||||
if (!debugMode)
|
||||
{
|
||||
switch (curCharacter)
|
||||
{
|
||||
case 'gf':
|
||||
case 'gf' | 'gf-christmas' | 'gf-car' | 'gf-pixel':
|
||||
if (!animation.curAnim.name.startsWith('hair'))
|
||||
{
|
||||
danced = !danced;
|
||||
@ -468,39 +468,6 @@ class Character extends FlxSprite
|
||||
else
|
||||
playAnim('danceLeft');
|
||||
}
|
||||
|
||||
case 'gf-christmas':
|
||||
if (!animation.curAnim.name.startsWith('hair'))
|
||||
{
|
||||
danced = !danced;
|
||||
|
||||
if (danced)
|
||||
playAnim('danceRight');
|
||||
else
|
||||
playAnim('danceLeft');
|
||||
}
|
||||
|
||||
case 'gf-car':
|
||||
if (!animation.curAnim.name.startsWith('hair'))
|
||||
{
|
||||
danced = !danced;
|
||||
|
||||
if (danced)
|
||||
playAnim('danceRight');
|
||||
else
|
||||
playAnim('danceLeft');
|
||||
}
|
||||
case 'gf-pixel':
|
||||
if (!animation.curAnim.name.startsWith('hair'))
|
||||
{
|
||||
danced = !danced;
|
||||
|
||||
if (danced)
|
||||
playAnim('danceRight');
|
||||
else
|
||||
playAnim('danceLeft');
|
||||
}
|
||||
|
||||
case 'spooky':
|
||||
danced = !danced;
|
||||
|
||||
@ -509,7 +476,7 @@ class Character extends FlxSprite
|
||||
else
|
||||
playAnim('danceLeft');
|
||||
default:
|
||||
playAnim('idle');
|
||||
playAnim('idle', forced);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
curt = new FlxSprite(-500, -300).loadGraphic(Paths.image('stagecurtains','shared'));
|
||||
front = new FlxSprite(-650, 600).loadGraphic(Paths.image('stagefront','shared'));
|
||||
|
||||
Conductor.changeBPM(102);
|
||||
//Conductor.changeBPM(102);
|
||||
persistentUpdate = true;
|
||||
|
||||
super.create();
|
||||
@ -193,8 +193,9 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
{
|
||||
super.beatHit();
|
||||
|
||||
bf.playAnim('idle');
|
||||
dad.dance();
|
||||
bf.playAnim('idle', true);
|
||||
dad.dance(true);
|
||||
gf.dance();
|
||||
|
||||
FlxG.camera.zoom += 0.015;
|
||||
camHUD.zoom += 0.010;
|
||||
|
@ -53,7 +53,7 @@ class Paths
|
||||
return 'assets/$file';
|
||||
}
|
||||
|
||||
inline static public function file(file:String, type:AssetType = TEXT, ?library:String)
|
||||
inline static public function file(file:String, ?library:String, type:AssetType = TEXT)
|
||||
{
|
||||
return getPath(file, type, library);
|
||||
}
|
||||
@ -142,7 +142,7 @@ class Paths
|
||||
return null;
|
||||
#end
|
||||
else
|
||||
return FlxAtlasFrames.fromSparrow(image('characters/$key'), file('images/characters/$key.xml'));
|
||||
return FlxAtlasFrames.fromSparrow(image('characters/$key', library), file('images/characters/$key.xml', library));
|
||||
return FlxAtlasFrames.fromSparrow(image(key, library), file('images/$key.xml', library));
|
||||
}
|
||||
|
||||
@ -169,7 +169,7 @@ class Paths
|
||||
return null;
|
||||
#end
|
||||
else
|
||||
return FlxAtlasFrames.fromSpriteSheetPacker(image('characters/$key'), file('images/characters/$key.txt'));
|
||||
return FlxAtlasFrames.fromSpriteSheetPacker(image('characters/$key'), file('images/characters/$key.txt', library));
|
||||
return FlxAtlasFrames.fromSpriteSheetPacker(image(key, library), file('images/$key.txt', library));
|
||||
}
|
||||
}
|
||||
|
@ -269,6 +269,8 @@ class PauseSubState extends MusicBeatSubstate
|
||||
function changeSelection(change:Int = 0):Void
|
||||
{
|
||||
curSelected += change;
|
||||
|
||||
FlxG.sound.play(Paths.sound('scrollMenu'), 0.4);
|
||||
|
||||
if (curSelected < 0)
|
||||
curSelected = menuItems.length - 1;
|
||||
@ -292,4 +294,4 @@ class PauseSubState extends MusicBeatSubstate
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -100,6 +100,7 @@ class PlayState extends MusicBeatState
|
||||
|
||||
public static var rep:Replay;
|
||||
public static var loadRep:Bool = false;
|
||||
public static var inResults:Bool = false;
|
||||
|
||||
public static var noteBools:Array<Bool> = [false, false, false, false];
|
||||
|
||||
@ -185,6 +186,8 @@ class PlayState extends MusicBeatState
|
||||
|
||||
var notesHitArray:Array<Date> = [];
|
||||
var currentFrames:Int = 0;
|
||||
var idleToBeat:Bool = true; // change if bf and dad would idle to the beat of the song
|
||||
var idleBeat:Int = 1; // how frequently bf and dad would play their idle animation(1 - every beat, 2 - every 2 beats and so on)
|
||||
|
||||
public var dialogue:Array<String> = ['dad:blah blah blah', 'bf:coolswag'];
|
||||
|
||||
@ -226,6 +229,7 @@ class PlayState extends MusicBeatState
|
||||
|
||||
var funneEffect:FlxSprite;
|
||||
var inCutscene:Bool = false;
|
||||
var usedTimeTravel:Bool = false;
|
||||
|
||||
public static var repPresses:Int = 0;
|
||||
public static var repReleases:Int = 0;
|
||||
@ -293,6 +297,7 @@ class PlayState extends MusicBeatState
|
||||
highestCombo = 0;
|
||||
repPresses = 0;
|
||||
repReleases = 0;
|
||||
inResults = false;
|
||||
|
||||
PlayStateChangeables.useDownscroll = FlxG.save.data.downscroll;
|
||||
PlayStateChangeables.safeFrames = FlxG.save.data.frames;
|
||||
@ -2453,6 +2458,45 @@ class PlayState extends MusicBeatState
|
||||
}
|
||||
#end
|
||||
}
|
||||
|
||||
if(FlxG.keys.justPressed.TWO) { //Go 10 seconds into the future, credit: Shadow Mario#9396
|
||||
if (!usedTimeTravel && Conductor.songPosition + 10000 < FlxG.sound.music.length)
|
||||
{
|
||||
usedTimeTravel = true;
|
||||
FlxG.sound.music.pause();
|
||||
vocals.pause();
|
||||
Conductor.songPosition += 10000;
|
||||
notes.forEachAlive(function(daNote:Note)
|
||||
{
|
||||
if(daNote.strumTime - 500 < Conductor.songPosition) {
|
||||
daNote.active = false;
|
||||
daNote.visible = false;
|
||||
|
||||
|
||||
daNote.kill();
|
||||
notes.remove(daNote, true);
|
||||
daNote.destroy();
|
||||
}
|
||||
});
|
||||
for (i in 0...unspawnNotes.length) {
|
||||
var daNote:Note = unspawnNotes[0];
|
||||
if(daNote.strumTime - 500 >= Conductor.songPosition) {
|
||||
break;
|
||||
}
|
||||
unspawnNotes.splice(unspawnNotes.indexOf(daNote), 1);
|
||||
}
|
||||
|
||||
FlxG.sound.music.time = Conductor.songPosition;
|
||||
FlxG.sound.music.play();
|
||||
|
||||
vocals.time = Conductor.songPosition;
|
||||
vocals.play();
|
||||
new FlxTimer().start(0.5, function(tmr:FlxTimer)
|
||||
{
|
||||
usedTimeTravel = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
#end
|
||||
|
||||
if (startingSong)
|
||||
@ -2713,34 +2757,39 @@ class PlayState extends MusicBeatState
|
||||
|
||||
if (health <= 0)
|
||||
{
|
||||
boyfriend.stunned = true;
|
||||
if (!usedTimeTravel)
|
||||
{
|
||||
boyfriend.stunned = true;
|
||||
|
||||
persistentUpdate = false;
|
||||
persistentDraw = false;
|
||||
paused = true;
|
||||
persistentUpdate = false;
|
||||
persistentDraw = false;
|
||||
paused = true;
|
||||
|
||||
vocals.stop();
|
||||
FlxG.sound.music.stop();
|
||||
vocals.stop();
|
||||
FlxG.sound.music.stop();
|
||||
|
||||
openSubState(new GameOverSubstate(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
|
||||
openSubState(new GameOverSubstate(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
|
||||
|
||||
#if windows
|
||||
// Game Over doesn't get his own variable because it's only used here
|
||||
DiscordClient.changePresence("GAME OVER -- "
|
||||
+ SONG.song
|
||||
+ " ("
|
||||
+ storyDifficultyText
|
||||
+ ") "
|
||||
+ Ratings.GenerateLetterRank(accuracy),
|
||||
"\nAcc: "
|
||||
+ HelperFunctions.truncateFloat(accuracy, 2)
|
||||
+ "% | Score: "
|
||||
+ songScore
|
||||
+ " | Misses: "
|
||||
+ misses, iconRPC);
|
||||
#end
|
||||
#if windows
|
||||
// Game Over doesn't get his own variable because it's only used here
|
||||
DiscordClient.changePresence("GAME OVER -- "
|
||||
+ SONG.song
|
||||
+ " ("
|
||||
+ storyDifficultyText
|
||||
+ ") "
|
||||
+ Ratings.GenerateLetterRank(accuracy),
|
||||
"\nAcc: "
|
||||
+ HelperFunctions.truncateFloat(accuracy, 2)
|
||||
+ "% | Score: "
|
||||
+ songScore
|
||||
+ " | Misses: "
|
||||
+ misses, iconRPC);
|
||||
#end
|
||||
|
||||
// FlxG.switchState(new GameOverState(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
|
||||
// FlxG.switchState(new GameOverState(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
|
||||
}
|
||||
else
|
||||
health = 1;
|
||||
}
|
||||
if (FlxG.save.data.resetButton)
|
||||
{
|
||||
@ -3192,10 +3241,17 @@ class PlayState extends MusicBeatState
|
||||
FlxG.sound.music.stop();
|
||||
vocals.stop();
|
||||
if (FlxG.save.data.scoreScreen)
|
||||
{
|
||||
openSubState(new ResultsScreen());
|
||||
new FlxTimer().start(1, function(tmr:FlxTimer)
|
||||
{
|
||||
inResults = true;
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
FlxG.sound.playMusic(Paths.music('freakyMenu'));
|
||||
Conductor.changeBPM(102);
|
||||
FlxG.switchState(new StoryMenuState());
|
||||
}
|
||||
|
||||
@ -3262,8 +3318,14 @@ class PlayState extends MusicBeatState
|
||||
FlxG.sound.music.stop();
|
||||
vocals.stop();
|
||||
|
||||
if (FlxG.save.data.scoreScreen)
|
||||
if (FlxG.save.data.scoreScreen)
|
||||
{
|
||||
openSubState(new ResultsScreen());
|
||||
new FlxTimer().start(1, function(tmr:FlxTimer)
|
||||
{
|
||||
inResults = true;
|
||||
});
|
||||
}
|
||||
else
|
||||
FlxG.switchState(new FreeplayState());
|
||||
}
|
||||
@ -4318,8 +4380,9 @@ class PlayState extends MusicBeatState
|
||||
// Conductor.changeBPM(SONG.bpm);
|
||||
|
||||
// Dad doesnt interupt his own notes
|
||||
if (SONG.notes[Math.floor(curStep / 16)].mustHitSection && dad.curCharacter != 'gf')
|
||||
dad.dance();
|
||||
if ((SONG.notes[Math.floor(curStep / 16)].mustHitSection || !dad.animation.curAnim.name.startsWith("sing")) && dad.curCharacter != 'gf')
|
||||
if (curBeat % idleBeat == 0)
|
||||
dad.dance(idleToBeat);
|
||||
}
|
||||
// FlxG.log.add('change bpm' + SONG.notes[Std.int(curStep / 16)].changeBPM);
|
||||
wiggleShit.update(Conductor.crochet);
|
||||
@ -4351,9 +4414,9 @@ class PlayState extends MusicBeatState
|
||||
gf.dance();
|
||||
}
|
||||
|
||||
if (!boyfriend.animation.curAnim.name.startsWith("sing"))
|
||||
if (!boyfriend.animation.curAnim.name.startsWith("sing") && curBeat % idleBeat == 0)
|
||||
{
|
||||
boyfriend.playAnim('idle');
|
||||
boyfriend.playAnim('idle', idleToBeat);
|
||||
}
|
||||
|
||||
/*if (!dad.animation.curAnim.name.startsWith("sing"))
|
||||
|
@ -54,10 +54,13 @@ class ResultsScreen extends FlxSubState
|
||||
background.scrollFactor.set();
|
||||
add(background);
|
||||
|
||||
music = new FlxSound().loadEmbedded(Paths.music('breakfast'), true, true);
|
||||
music.volume = 0;
|
||||
music.play(false, FlxG.random.int(0, Std.int(music.length / 2)));
|
||||
FlxG.sound.list.add(music);
|
||||
if (!PlayState.inResults)
|
||||
{
|
||||
music = new FlxSound().loadEmbedded(Paths.music('breakfast'), true, true);
|
||||
music.volume = 0;
|
||||
music.play(false, FlxG.random.int(0, Std.int(music.length / 2)));
|
||||
FlxG.sound.list.add(music);
|
||||
}
|
||||
|
||||
background.alpha = 0;
|
||||
|
||||
@ -168,8 +171,8 @@ class ResultsScreen extends FlxSubState
|
||||
|
||||
override function update(elapsed:Float)
|
||||
{
|
||||
if (music.volume < 0.5)
|
||||
music.volume += 0.01 * elapsed;
|
||||
if (music != null && music.volume < 0.5)
|
||||
music.volume += 0.01 * elapsed;
|
||||
|
||||
// keybinds
|
||||
|
||||
@ -194,6 +197,7 @@ class ResultsScreen extends FlxSubState
|
||||
if (PlayState.isStoryMode)
|
||||
{
|
||||
FlxG.sound.playMusic(Paths.music('freakyMenu'));
|
||||
Conductor.changeBPM(102);
|
||||
FlxG.switchState(new MainMenuState());
|
||||
}
|
||||
else
|
||||
@ -234,7 +238,6 @@ class ResultsScreen extends FlxSubState
|
||||
PlayState.SONG = Song.loadFromJson(poop, PlayState.rep.replay.songName);
|
||||
PlayState.isStoryMode = false;
|
||||
PlayState.storyDifficulty = PlayState.rep.replay.songDiff;
|
||||
PlayState.storyWeek = 0;
|
||||
LoadingState.loadAndSwitchState(new PlayState());
|
||||
}
|
||||
|
||||
@ -265,12 +268,12 @@ class ResultsScreen extends FlxSubState
|
||||
|
||||
var poop:String = Highscore.formatSong(songFormat, PlayState.storyDifficulty);
|
||||
|
||||
music.fadeOut(0.3);
|
||||
if (music != null)
|
||||
music.fadeOut(0.3);
|
||||
|
||||
PlayState.SONG = Song.loadFromJson(poop, PlayState.SONG.song);
|
||||
PlayState.isStoryMode = false;
|
||||
PlayState.storyDifficulty = PlayState.storyDifficulty;
|
||||
PlayState.storyWeek = 0;
|
||||
LoadingState.loadAndSwitchState(new PlayState());
|
||||
}
|
||||
|
||||
|
@ -272,6 +272,7 @@ class TitleState extends MusicBeatState
|
||||
// FlxG.sound.music.stop();
|
||||
|
||||
MainMenuState.firstStart = true;
|
||||
MainMenuState.finishedFunnyMove = false;
|
||||
|
||||
new FlxTimer().start(2, function(tmr:FlxTimer)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user