diff --git a/assets/data/thorns/thornsDialogue.txt b/assets/data/thorns/thornsDialogue.txt new file mode 100644 index 000000000..5ca923953 --- /dev/null +++ b/assets/data/thorns/thornsDialogue.txt @@ -0,0 +1,5 @@ +:dad:Direct contact with real humans, after being trapped in here fro so long... +:dad:and HER of all people. +:dad:I'll make her father pay for what he's done to me and all the others,,,, +:dad:I'll beat you and make you take my place. +:dad:You don't mind your bodies being borrowed right? It's only fair... \ No newline at end of file diff --git a/assets/images/weeb/pixelUI/dialogueBox-evil.png b/assets/images/weeb/pixelUI/dialogueBox-evil.png new file mode 100644 index 000000000..5f0a44588 Binary files /dev/null and b/assets/images/weeb/pixelUI/dialogueBox-evil.png differ diff --git a/assets/images/weeb/pixelUI/dialogueBox-evil.xml b/assets/images/weeb/pixelUI/dialogueBox-evil.xml new file mode 100644 index 000000000..94a1fb456 --- /dev/null +++ b/assets/images/weeb/pixelUI/dialogueBox-evil.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/images/weeb/pixelUI/dialogueBox-senpaiMad.png b/assets/images/weeb/pixelUI/dialogueBox-senpaiMad.png new file mode 100644 index 000000000..5ed523897 Binary files /dev/null and b/assets/images/weeb/pixelUI/dialogueBox-senpaiMad.png differ diff --git a/assets/images/weeb/pixelUI/dialogueBox-senpaiMad.xml b/assets/images/weeb/pixelUI/dialogueBox-senpaiMad.xml new file mode 100644 index 000000000..4f247aa69 --- /dev/null +++ b/assets/images/weeb/pixelUI/dialogueBox-senpaiMad.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/assets/images/weeb/spiritFaceForward.png b/assets/images/weeb/spiritFaceForward.png new file mode 100644 index 000000000..48fc94488 Binary files /dev/null and b/assets/images/weeb/spiritFaceForward.png differ diff --git a/assets/music/LunchboxScary.mp3 b/assets/music/LunchboxScary.mp3 new file mode 100644 index 000000000..65c3b1fca Binary files /dev/null and b/assets/music/LunchboxScary.mp3 differ diff --git a/assets/music/LunchboxScary.ogg b/assets/music/LunchboxScary.ogg new file mode 100644 index 000000000..da8646a73 Binary files /dev/null and b/assets/music/LunchboxScary.ogg differ diff --git a/assets/sounds/ANGRY.mp3 b/assets/sounds/ANGRY.mp3 new file mode 100644 index 000000000..d836fedd2 Binary files /dev/null and b/assets/sounds/ANGRY.mp3 differ diff --git a/assets/sounds/ANGRY.ogg b/assets/sounds/ANGRY.ogg new file mode 100644 index 000000000..d3bdf02e3 Binary files /dev/null and b/assets/sounds/ANGRY.ogg differ diff --git a/assets/sounds/ANGRY_TEXT_BOX.mp3 b/assets/sounds/ANGRY_TEXT_BOX.mp3 new file mode 100644 index 000000000..8992eeb95 Binary files /dev/null and b/assets/sounds/ANGRY_TEXT_BOX.mp3 differ diff --git a/assets/sounds/ANGRY_TEXT_BOX.ogg b/assets/sounds/ANGRY_TEXT_BOX.ogg new file mode 100644 index 000000000..48069c07f Binary files /dev/null and b/assets/sounds/ANGRY_TEXT_BOX.ogg differ diff --git a/source/DialogueBox.hx b/source/DialogueBox.hx index f8dbfe647..62c1cb1f5 100644 --- a/source/DialogueBox.hx +++ b/source/DialogueBox.hx @@ -7,6 +7,7 @@ import flixel.graphics.frames.FlxAtlasFrames; import flixel.group.FlxSpriteGroup; import flixel.input.FlxKeyManager; import flixel.text.FlxText; +import flixel.util.FlxColor; import flixel.util.FlxTimer; using StringTools; @@ -37,8 +38,15 @@ class DialogueBox extends FlxSpriteGroup { super(); - FlxG.sound.playMusic('assets/music/Lunchbox' + TitleState.soundExt, 0); - FlxG.sound.music.fadeIn(1, 0, 0.8); + switch (PlayState.SONG.song.toLowerCase()) + { + case 'senpai': + FlxG.sound.playMusic('assets/music/Lunchbox' + TitleState.soundExt, 0); + FlxG.sound.music.fadeIn(1, 0, 0.8); + case 'thorns': + FlxG.sound.playMusic('assets/music/LunchboxScary' + TitleState.soundExt, 0); + FlxG.sound.music.fadeIn(1, 0, 0.8); + } bgFade = new FlxSprite(-200, -200).makeGraphic(Std.int(FlxG.width * 1.3), Std.int(FlxG.height * 1.3), 0xFFB3DFd8); bgFade.scrollFactor.set(); @@ -71,9 +79,32 @@ class DialogueBox extends FlxSpriteGroup portraitRight.visible = false; box = new FlxSprite(-20, 45); - box.frames = FlxAtlasFrames.fromSparrow('assets/images/weeb/pixelUI/dialogueBox-pixel.png', 'assets/images/weeb/pixelUI/dialogueBox-pixel.xml'); - box.animation.addByPrefix('normalOpen', 'Text Box Appear', 24, false); - box.animation.addByIndices('normal', 'Text Box Appear', [4], "", 24); + + switch (PlayState.SONG.song.toLowerCase()) + { + case 'senpai': + box.frames = FlxAtlasFrames.fromSparrow('assets/images/weeb/pixelUI/dialogueBox-pixel.png', + 'assets/images/weeb/pixelUI/dialogueBox-pixel.xml'); + box.animation.addByPrefix('normalOpen', 'Text Box Appear', 24, false); + box.animation.addByIndices('normal', 'Text Box Appear', [4], "", 24); + case 'roses': + FlxG.sound.play('assets/sounds/ANGRY_TEXT_BOX' + TitleState.soundExt); + + box.frames = FlxAtlasFrames.fromSparrow('assets/images/weeb/pixelUI/dialogueBox-senpaiMad.png', + 'assets/images/weeb/pixelUI/dialogueBox-senpaiMad.xml'); + box.animation.addByPrefix('normalOpen', 'SENPAI ANGRY IMPACT SPEECH', 24, false); + box.animation.addByIndices('normal', 'SENPAI ANGRY IMPACT SPEECH', [4], "", 24); + + case 'thorns': + box.frames = FlxAtlasFrames.fromSparrow('assets/images/weeb/pixelUI/dialogueBox-evil.png', 'assets/images/weeb/pixelUI/dialogueBox-evil.xml'); + box.animation.addByPrefix('normalOpen', 'Spirit Textbox spawn', 24, false); + box.animation.addByIndices('normal', 'Spirit Textbox spawn', [11], "", 24); + + var face:FlxSprite = new FlxSprite(180, 170).loadGraphic('assets/images/weeb/spiritFaceForward.png'); + face.setGraphicSize(Std.int(face.width * 6)); + add(face); + } + box.animation.play('normalOpen'); box.setGraphicSize(Std.int(box.width * PlayState.daPixelZoom * 0.9)); box.updateHitbox(); @@ -87,7 +118,7 @@ class DialogueBox extends FlxSpriteGroup if (!talkingRight) { - box.flipX = true; + // box.flipX = true; } dropText = new FlxText(242, 502, Std.int(FlxG.width * 0.6), "", 32); @@ -113,6 +144,16 @@ class DialogueBox extends FlxSpriteGroup override function update(elapsed:Float) { + // HARD CODING CUZ IM STUPDI + if (PlayState.SONG.song.toLowerCase() == 'roses') + portraitLeft.visible = false; + if (PlayState.SONG.song.toLowerCase() == 'thorns') + { + portraitLeft.color = FlxColor.BLACK; + swagDialogue.color = FlxColor.WHITE; + dropText.color = FlxColor.BLACK; + } + dropText.text = swagDialogue.text; if (box.animation.curAnim != null) @@ -141,7 +182,9 @@ class DialogueBox extends FlxSpriteGroup if (!isEnding) { isEnding = true; - FlxG.sound.music.fadeOut(2.2, 0); + + if (PlayState.SONG.song.toLowerCase() == 'senpai' || PlayState.SONG.song.toLowerCase() == 'thorns') + FlxG.sound.music.fadeOut(2.2, 0); new FlxTimer().start(0.2, function(tmr:FlxTimer) { diff --git a/source/PlayState.hx b/source/PlayState.hx index a65f9da6e..1e27b93d9 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -165,6 +165,8 @@ class PlayState extends MusicBeatState dialogue = CoolUtil.coolTextFile('assets/data/senpai/senpaiDialogue.txt'); case 'roses': dialogue = CoolUtil.coolTextFile('assets/data/roses/rosesDialogue.txt'); + case 'thorns': + dialogue = CoolUtil.coolTextFile('assets/data/thorns/thornsDialogue.txt'); } if (SONG.song.toLowerCase() == 'spookeez' || SONG.song.toLowerCase() == 'monster' || SONG.song.toLowerCase() == 'south') @@ -736,6 +738,9 @@ class PlayState extends MusicBeatState case 'senpai': schoolIntro(doof); case 'roses': + FlxG.sound.play('assets/sounds/ANGRY' + TitleState.soundExt); + schoolIntro(doof); + case 'thorns': schoolIntro(doof); default: startCountdown(); @@ -749,6 +754,8 @@ class PlayState extends MusicBeatState schoolIntro(doof); case 'roses': schoolIntro(doof); + case 'thorns': + schoolIntro(doof); default: startCountdown(); }