From 48b1cab70584b7441dbd9f48c2a814481d84f297 Mon Sep 17 00:00:00 2001 From: Cameron Taylor <cameron.taylor.ninja@gmail.com> Date: Tue, 19 Jan 2021 21:09:47 -0500 Subject: [PATCH] charts and a bunch of christmas stuff --- source/Character.hx | 42 +++++++++++++++++++++++ source/ChartingState.hx | 12 +++---- source/FreeplayState.hx | 2 +- source/PlayState.hx | 76 ++++++++++++++++++++++++++++++++++++++++- 4 files changed, 124 insertions(+), 8 deletions(-) diff --git a/source/Character.hx b/source/Character.hx index b078778e6..eb85b3438 100644 --- a/source/Character.hx +++ b/source/Character.hx @@ -61,6 +61,37 @@ class Character extends FlxSprite playAnim('danceRight'); + case 'gf-christmas': + tex = FlxAtlasFrames.fromSparrow('assets/images/christmas/gfChristmas.png', 'assets/images/christmas/gfChristmas.xml'); + frames = tex; + animation.addByPrefix('cheer', 'GF Cheer', 24, false); + animation.addByPrefix('singLEFT', 'GF left note', 24, false); + animation.addByPrefix('singRIGHT', 'GF Right Note', 24, false); + animation.addByPrefix('singUP', 'GF Up Note', 24, false); + animation.addByPrefix('singDOWN', 'GF Down Note', 24, false); + animation.addByIndices('sad', 'gf sad', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "", 24, false); + animation.addByIndices('danceLeft', 'GF Dancing Beat', [30, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false); + animation.addByIndices('danceRight', 'GF Dancing Beat', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false); + animation.addByIndices('hairBlow', "GF Dancing Beat Hair blowing", [0, 1, 2, 3], "", 24); + animation.addByIndices('hairFall', "GF Dancing Beat Hair Landing", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "", 24, false); + animation.addByPrefix('scared', 'GF FEAR', 24); + + addOffset('cheer'); + addOffset('sad', -2, -2); + addOffset('danceLeft', 0, -9); + addOffset('danceRight', 0, -9); + + addOffset("singUP", 0, 4); + addOffset("singRIGHT", 0, -20); + addOffset("singLEFT", 0, -19); + addOffset("singDOWN", 0, -20); + addOffset('hairBlow', 45, -8); + addOffset('hairFall', 0, -9); + + addOffset('scared', -2, -17); + + playAnim('danceRight'); + case 'gf-car': tex = FlxAtlasFrames.fromSparrow('assets/images/gfCar.png', 'assets/images/gfCar.xml'); frames = tex; @@ -392,6 +423,17 @@ class Character extends FlxSprite 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')) { diff --git a/source/ChartingState.hx b/source/ChartingState.hx index 62ed05591..48b693298 100644 --- a/source/ChartingState.hx +++ b/source/ChartingState.hx @@ -114,11 +114,11 @@ class ChartingState extends MusicBeatState else { _song = { - song: 'Monster', + song: 'Test', notes: [], - bpm: 95, + bpm: 150, sections: 0, - needsVoices: false, + needsVoices: true, player1: 'bf', player2: 'dad', sectionLengths: [], @@ -180,8 +180,8 @@ class ChartingState extends MusicBeatState typingShit = UI_songTitle; var check_voices = new FlxUICheckBox(10, 25, null, null, "Has voice track", 100); - check_voices.checked = true; - _song.needsVoices = check_voices.checked; + check_voices.checked = _song.needsVoices; + // _song.needsVoices = check_voices.checked; check_voices.callback = function() { _song.needsVoices = check_voices.checked; @@ -360,7 +360,7 @@ class ChartingState extends MusicBeatState FlxG.sound.playMusic('assets/music/' + daSong + "_Inst" + TitleState.soundExt, 0.6); - // WONT WORK FOR TUTORIAL! REDO LATER + // WONT WORK FOR TUTORIAL OR TEST SONG!!! REDO LATER vocals = new FlxSound().loadEmbedded("assets/music/" + daSong + "_Voices" + TitleState.soundExt); FlxG.sound.list.add(vocals); diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx index 95dcd494b..424a7d581 100644 --- a/source/FreeplayState.hx +++ b/source/FreeplayState.hx @@ -70,7 +70,7 @@ class FreeplayState extends MusicBeatState { songs.push('Cocoa'); songs.push('Eggnog'); - // songs.push('Milf'); + songs.push('Winter-Horrorland'); } // LOAD MUSIC diff --git a/source/PlayState.hx b/source/PlayState.hx index f5f4f506b..775d2c15a 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -93,6 +93,9 @@ class PlayState extends MusicBeatState var grpLimoDancers:FlxTypedGroup<BackgroundDancer>; var fastCar:FlxSprite; + var upperBoppers:FlxSprite; + var bottomBoppers:FlxSprite; + var talking:Bool = true; var songScore:Int = 0; var scoreTxt:FlxText; @@ -247,6 +250,54 @@ class PlayState extends MusicBeatState fastCar = new FlxSprite(-300, 160).loadGraphic('assets/images/limo/fastCarLol.png'); // add(limo); } + else if (SONG.song.toLowerCase() == 'cocoa' || SONG.song.toLowerCase() == 'eggnog') + { + curStage = 'mall'; + + var bg:FlxSprite = new FlxSprite(-1000, -400).loadGraphic('assets/images/christmas/bgWalls.png'); + bg.antialiasing = true; + bg.scrollFactor.set(0.2, 0.2); + bg.active = false; + bg.setGraphicSize(Std.int(bg.width * 0.8)); + bg.updateHitbox(); + add(bg); + + upperBoppers = new FlxSprite(-130, 40); + upperBoppers.frames = FlxAtlasFrames.fromSparrow('assets/images/christmas/upperBop.png', 'assets/images/christmas/upperBop.xml'); + upperBoppers.animation.addByPrefix('bop', "Upper Crowd Bob", 24, false); + upperBoppers.antialiasing = true; + upperBoppers.scrollFactor.set(0.33, 0.33); + upperBoppers.setGraphicSize(Std.int(upperBoppers.width * 0.7)); + upperBoppers.updateHitbox(); + add(upperBoppers); + + var bgEscalator:FlxSprite = new FlxSprite(-1000, -430).loadGraphic('assets/images/christmas/bgEscalator.png'); + bgEscalator.antialiasing = true; + bgEscalator.scrollFactor.set(0.3, 0.3); + bgEscalator.active = false; + bgEscalator.setGraphicSize(Std.int(bgEscalator.width * 0.8)); + bgEscalator.updateHitbox(); + add(bgEscalator); + + var fgSnow:FlxSprite = new FlxSprite(-400, 700).loadGraphic('assets/images/christmas/fgSnow.png'); + fgSnow.active = false; + fgSnow.antialiasing = true; + add(fgSnow); + + var tree:FlxSprite = new FlxSprite(300, -250).loadGraphic('assets/images/christmas/christmasTree.png'); + tree.antialiasing = true; + tree.scrollFactor.set(0.85, 0.85); + add(tree); + + bottomBoppers = new FlxSprite(-280, 220); + bottomBoppers.frames = FlxAtlasFrames.fromSparrow('assets/images/christmas/bottomBop.png', 'assets/images/christmas/bottomBop.xml'); + bottomBoppers.animation.addByPrefix('bop', 'Bottom Level Boppers', 24, false); + bottomBoppers.antialiasing = true; + bottomBoppers.scrollFactor.set(0.9, 0.9); + bottomBoppers.setGraphicSize(Std.int(bottomBoppers.width * 0.9)); + bottomBoppers.updateHitbox(); + add(bottomBoppers); + } else { curStage = 'stage'; @@ -278,6 +329,14 @@ class PlayState extends MusicBeatState var gfVersion:String = 'gf'; + switch (curStage) + { + case 'limo': + gfVersion = 'gf-car'; + case 'mall': + gfVersion = 'gf-christmas'; + } + if (curStage == 'limo') gfVersion = 'gf-car'; @@ -315,6 +374,8 @@ class PlayState extends MusicBeatState case 'pico': camPos.x += 600; dad.y += 300; + case 'parents-christmas': + dad.x -= 500; } boyfriend = new Boyfriend(770, 450, SONG.player1); @@ -1302,8 +1363,17 @@ class PlayState extends MusicBeatState } } } - else + else if (possibleNotes[0].noteData == possibleNotes[1].noteData) + { noteCheck(controlArray[daNote.noteData], daNote); + } + else + { + for (coolNote in possibleNotes) + { + noteCheck(controlArray[coolNote.noteData], coolNote); + } + } } else // regular notes? { @@ -1700,6 +1770,10 @@ class PlayState extends MusicBeatState switch (curStage) { + case 'mall': + upperBoppers.animation.play('bop', true); + bottomBoppers.animation.play('bop', true); + case 'limo': grpLimoDancers.forEach(function(dancer:BackgroundDancer) {