diff --git a/assets/data/stages/philly.hx b/assets/data/stages/philly.hx
index 6b120b510..39c5d1c29 100644
--- a/assets/data/stages/philly.hx
+++ b/assets/data/stages/philly.hx
@@ -22,6 +22,7 @@ function create() {
// defaultCamZoom = 0.5;
phillyTrain.moves = true; // Def value false in funkinsprite
light.color = colors[curColor];
+ lightGlow.color = light.color;
trainSound = FlxG.sound.load(Paths.sound("train_passes"));
}
@@ -32,6 +33,7 @@ function beatHit(curBeat:Int) {
if (newColor >= curColor) newColor++;
curColor = newColor;
light.color = colors[curColor];
+ lightGlow.color = light.color;
}
if (!trainMoving)
@@ -50,6 +52,8 @@ function update(elapsed:Float) {
else
light.alpha = 0;
+ lightGlow.alpha = light.alpha - 0.25;
+
if (trainMoving) {
updateTrainPos();
}
@@ -69,7 +73,7 @@ function updateTrainPos():Void
if (trainSound.time >= 4700)
{
startedMoving = true;
- gf.playAnim('hairBlow');
+ if (gf != null) gf.playAnim('hairBlow');
}
if (startedMoving)
@@ -100,4 +104,4 @@ function trainReset():Void
trainFinishing = false;
startedMoving = false;
phillyTrain.velocity.x = 0;
-}
\ No newline at end of file
+}
diff --git a/assets/data/stages/philly.xml b/assets/data/stages/philly.xml
index e3cc8bc3e..ec191c22b 100644
--- a/assets/data/stages/philly.xml
+++ b/assets/data/stages/philly.xml
@@ -3,7 +3,10 @@
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
diff --git a/assets/images/stages/philly/winGlow.png b/assets/images/stages/philly/winGlow.png
new file mode 100644
index 000000000..617a44242
Binary files /dev/null and b/assets/images/stages/philly/winGlow.png differ
diff --git a/assets/songs/monster/scripts/vignette.hx b/assets/songs/monster/scripts/vignette.hx
new file mode 100644
index 000000000..f7ca6ffb3
--- /dev/null
+++ b/assets/songs/monster/scripts/vignette.hx
@@ -0,0 +1,24 @@
+function create() {
+ if (!Options.gameplayShaders) {
+ disableScript();
+ return;
+ }
+ vignette = new CustomShader('coloredVignette');
+ vignette.color = [0, 0, 0];
+ vignette.amount = 1;
+ vignette.strength = 1 - (health / 2) / 1.5;
+ camGame.addShader(vignette);
+}
+
+function update(elapsed:Float) {
+ var bg = stage.stageSprites.get('bg');
+ var targetStrength:Float = 1 - (health / 2) / 1.5;
+ if (bg.animation.name == 'lightning' && !bg.animation.finished)
+ vignette.strength = 0.075;
+ else
+ vignette.strength = lerp(vignette.strength, targetStrength, 0.1);
+}
+
+function onGameOver() {
+ FlxTween.tween(vignette, {"strength": 0.075}, 1, {ease: FlxEase.quadOut});
+}