diff --git a/source/Note.hx b/source/Note.hx index 6f1f944c..b43f6ffa 100644 --- a/source/Note.hx +++ b/source/Note.hx @@ -116,6 +116,7 @@ class Note extends FlxSprite public var noMissAnimation:Bool = false; public var hitCausesMiss:Bool = false; public var distance:Float = 2000; //plan on doing scroll directions soon -bb + public var scrollMult:Float = 1; public var hitsoundDisabled:Bool = false; @@ -196,9 +197,7 @@ class Note extends FlxSprite hitCausesMiss = false; hitHealth += 0.020; chartSound = 'yay'; - precacheThis = [ - ['yay', 'sound'] - ]; + precacheThis = [['yay', 'sound']]; case 'Crash Note': ignoreNote = mustPress; @@ -208,8 +207,7 @@ class Note extends FlxSprite colorSwap.saturation = 0; colorSwap.brightness = 0; hitCausesMiss = true; - precacheThis = [ - ['wiicrash', 'sound']]; + precacheThis = [['wiicrash', 'sound']]; case 'Window Note': ignoreNote = mustPress; @@ -239,6 +237,15 @@ class Note extends FlxSprite colorSwap.brightness = 0; hitCausesMiss = true; + case 'Slow Note': // just a normal note :trollface: + scrollMult = 0.56; + + case 'Fast Note': + scrollMult = 1.56; + + case 'Inverse Scroll Note': + scrollMult = -1; + case 'Alt Animation': animSuffix = '-alt'; diff --git a/source/PlayState.hx b/source/PlayState.hx index 378d7cf6..788faa4e 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -3414,15 +3414,15 @@ class PlayState extends MusicBeatState strumAngle += daNote.offsetAngle; strumAlpha *= daNote.multAlpha; - if (strumScroll) //Downscroll + if (strumScroll) //Downscroll FUCK! THIS IS THE NOTES CUSTOM SCROLL SPEED!! { - //daNote.y = (strumY + 0.45 * (Conductor.songPosition - daNote.strumTime) * songSpeed); - daNote.distance = (0.45 * (Conductor.songPosition - daNote.strumTime) * songSpeed * daNote.multSpeed); + daNote.y = (strumY + 0.45 * (Conductor.songPosition - daNote.strumTime) * songSpeed); + daNote.distance = (0.45 * (Conductor.songPosition - daNote.strumTime) * (songSpeed * daNote.scrollMult) * daNote.multSpeed); } else //Upscroll { - //daNote.y = (strumY - 0.45 * (Conductor.songPosition - daNote.strumTime) * songSpeed); - daNote.distance = (-0.45 * (Conductor.songPosition - daNote.strumTime) * songSpeed * daNote.multSpeed); + daNote.y = (strumY - 0.45 * (Conductor.songPosition - daNote.strumTime) * songSpeed); + daNote.distance = (-0.45 * (Conductor.songPosition - daNote.strumTime) * (songSpeed * daNote.scrollMult) * daNote.multSpeed); // multSpeed changes the size, scrollMult doesnt } var angleDir = strumDirection * Math.PI / 180; @@ -3515,7 +3515,7 @@ class PlayState extends MusicBeatState #if debug if(!endingSong && !startingSong) { - if (FlxG.keys.justPressed.ONE) { + if (FlxG.keys.justPressed.ONE) { // finish song :O KillNotes(); FlxG.sound.music.onComplete(); } @@ -3638,7 +3638,7 @@ class PlayState extends MusicBeatState return pressed; } - public function triggerEventNote(eventName:String, value1:String = '', value2:String = '', value3:String = '') { + public function triggerEventNote(eventName:String = '', value1:String = '', value2:String = '', value3:String = '') { var theValue1:String = value1.toLowerCase().trim(); var theValue2:String = value2.toLowerCase().trim(); var theValue3:String = value3.toLowerCase().trim(); @@ -4032,7 +4032,7 @@ class PlayState extends MusicBeatState case 'Add Shader': if(!ClientPrefs.shaders) return; - var theEffects:Array = value3.split(','); + var theEffects:Array = value3.replace(' ', '').split(','); var theFloatEffects:Array = []; for (effect in theEffects) { if(!Math.isNaN(Std.parseFloat(effect))) @@ -4369,7 +4369,7 @@ class PlayState extends MusicBeatState } var things:Array = ['sick', 'good', 'bad', 'shit', 'combo']; - for(thing in things) + for (thing in things) Paths.image(pixelShitPart1 + thing + pixelShitPart2); for (i in 0...10) @@ -4832,8 +4832,7 @@ class PlayState extends MusicBeatState doDeathCheck(true); } - - if (combo > 5 && gf != null && gf.animOffsets.exists('sad')) + if (combo > 5 && gf != null && gf.contains('sad')) { gf.playAnim('sad'); } @@ -4859,7 +4858,7 @@ class PlayState extends MusicBeatState }); */ - if(boyfriend.hasMissAnimations && boyfriend.animOffsets.exists(singAnimations[Std.int(Math.abs(direction))] + 'miss')) { + if(boyfriend.hasMissAnimations && boyfriend.contains(singAnimations[Std.int(Math.abs(direction))] + 'miss')) { boyfriend.playAnim(singAnimations[Std.int(Math.abs(direction))] + 'miss', true); } vocals.volume = 0; @@ -4911,7 +4910,7 @@ class PlayState extends MusicBeatState char = gf; } - if(char != null && char.animOffsets.exists(animToPlay)) + if(char != null && char.contains(animToPlay)) { char.playAnim(animToPlay, true); char.holdTimer = 0; @@ -5042,31 +5041,25 @@ class PlayState extends MusicBeatState } var animToPlay:String = singAnimations[Std.int(Math.abs(note.noteData))]; + var char:Character = boyfriend; + if(note.gfNote) + char = gf; - if(note.gfNote) - { - if(gf != null && gf.animOffsets.exists(animToPlay + note.animSuffix)) { - gf.playAnim(animToPlay + note.animSuffix, true); - gf.holdTimer = 0; - } - } - else + if(char != null && char.contains(animToPlay + note.animSuffix)) { - if(boyfriend.animOffsets.exists(animToPlay + note.animSuffix)) { - boyfriend.playAnim(animToPlay + note.animSuffix, true); - boyfriend.holdTimer = 0; - } + char.playAnim(animToPlay + note.animSuffix, true); + char.holdTimer = 0; } if(note.noteType == 'Hey!') { - if(boyfriend.animOffsets.exists('hey')) { + if(boyfriend.contains('hey')) { boyfriend.playAnim('hey', true); boyfriend.specialAnim = true; boyfriend.heyTimer = 0.6; } - if(gf != null && (gf.animOffsets.exists('cheer') || gf.animOffsets.exists('hey'))) { - if(gf.animOffsets.exists('cheer')) gf.playAnim('cheer', true); + if(gf != null && (gf.contains('cheer') || gf.contains('hey'))) { + if(gf.contains('cheer')) gf.playAnim('cheer', true); else gf.playAnim('hey', true); gf.specialAnim = true; @@ -5184,7 +5177,7 @@ class PlayState extends MusicBeatState if (trainSound.time >= 4700) { startedMoving = true; - if (gf != null && gf.animOffsets.exists('hairBlow')) + if (gf != null && gf.contains('hairBlow')) { gf.playAnim('hairBlow'); gf.specialAnim = true; @@ -5211,7 +5204,7 @@ class PlayState extends MusicBeatState function trainReset():Void { - if(gf != null && gf.animOffsets.exists('hairFall')) + if(gf != null && gf.contains('hairFall')) { gf.danced = false; //Sets head to the correct position once the animation ends gf.playAnim('hairFall'); diff --git a/source/editors/ChartingState.hx b/source/editors/ChartingState.hx index 8f4b77df..f9867624 100644 --- a/source/editors/ChartingState.hx +++ b/source/editors/ChartingState.hx @@ -73,6 +73,9 @@ class ChartingState extends MusicBeatState 'Healthy Note', 'Poisoned Note', 'Crash Note', //so we can actually test it -DEMOLITIONDON96 // Wait, that released right ? -Theoyeah // Wait, what do you mean? -Wither362 + 'Slow Note', + 'Fast Note', + 'Inverse Scroll Note', 'GF Sing', 'No Animation' ];