diff --git a/Project.xml b/Project.xml
index 94233103a..3dfcb6b99 100644
--- a/Project.xml
+++ b/Project.xml
@@ -42,7 +42,8 @@
-
+
+
diff --git a/example_mods/introMod/_append/data/introText.txt b/example_mods/introMod/_append/data/introText.txt
new file mode 100644
index 000000000..45e0c08ab
--- /dev/null
+++ b/example_mods/introMod/_append/data/introText.txt
@@ -0,0 +1 @@
+swagshit--moneymoney
\ No newline at end of file
diff --git a/example_mods/modList.txt b/example_mods/modList.txt
new file mode 100644
index 000000000..3e2492595
--- /dev/null
+++ b/example_mods/modList.txt
@@ -0,0 +1 @@
+introMod
\ No newline at end of file
diff --git a/example_mods/readme.txt b/example_mods/readme.txt
new file mode 100644
index 000000000..f8d8f6e7e
--- /dev/null
+++ b/example_mods/readme.txt
@@ -0,0 +1,2 @@
+THIS MOD FOLDER DOES NOT ENTIRELY WORK JUST YET!!!
+DONT EXPECT MUCH OUT OF IT RIGHT NOW!!!
\ No newline at end of file
diff --git a/source/Character.hx b/source/Character.hx
index 85aa08bca..eb3d09299 100644
--- a/source/Character.hx
+++ b/source/Character.hx
@@ -337,6 +337,37 @@ class Character extends FlxSprite
addOffset("singLEFTmiss", 12, 24);
addOffset("singDOWNmiss", -11, -19);
+ flipX = true;
+ case 'bf-pixel':
+ frames = FlxAtlasFrames.fromSparrow('assets/images/weeb/bfPixel.png', 'assets/images/weeb/bfPixel.xml');
+ animation.addByPrefix('idle', 'BF IDLE', 24, false);
+ animation.addByPrefix('singUP', 'BF UP NOTE', 24, false);
+ animation.addByPrefix('singLEFT', 'BF LEFT NOTE', 24, false);
+ animation.addByPrefix('singRIGHT', 'BF RIGHT NOTE', 24, false);
+ animation.addByPrefix('singDOWN', 'BF DOWN NOTE', 24, false);
+ animation.addByPrefix('singUPmiss', 'BF UP MISS', 24, false);
+ animation.addByPrefix('singLEFTmiss', 'BF LEFT MISS', 24, false);
+ animation.addByPrefix('singRIGHTmiss', 'BF RIGHT MISS', 24, false);
+ animation.addByPrefix('singDOWNmiss', 'BF DOWN MISS', 24, false);
+
+ addOffset('idle');
+ addOffset("singUP");
+ addOffset("singRIGHT");
+ addOffset("singLEFT");
+ addOffset("singDOWN");
+ addOffset("singUPmiss");
+ addOffset("singRIGHTmiss");
+ addOffset("singLEFTmiss");
+ addOffset("singDOWNmiss");
+
+ setGraphicSize(Std.int(width * 6));
+ updateHitbox();
+
+ width -= 100;
+ height -= 100;
+
+ antialiasing = false;
+
flipX = true;
case 'parents-christmas':
frames = FlxAtlasFrames.fromSparrow('assets/images/christmas/mom_dad_christmas_assets.png',
@@ -364,8 +395,6 @@ class Character extends FlxSprite
addOffset("singDOWN-alt", -30, -27);
}
- antialiasing = true;
-
playAnim('singUP');
if (isPlayer)
@@ -373,7 +402,7 @@ class Character extends FlxSprite
flipX = !flipX;
// Doesn't flip for BF, since his are already in the right place???
- if (character != 'bf' && character != 'bf-car' && character != 'bf-christmas')
+ if (!curCharacter.startsWith('bf'))
{
// var animArray
var oldRight = animation.getByName('singRIGHT').frames;
@@ -432,16 +461,6 @@ class Character extends FlxSprite
{
switch (curCharacter)
{
- case 'mom':
- playAnim('idle');
- case 'mom-car':
- playAnim('idle');
- case 'bf':
- playAnim('idle');
- case 'bf-christmas':
- playAnim('idle');
- case 'bf-car':
- playAnim('idle');
case 'gf':
if (!animation.curAnim.name.startsWith('hair'))
{
@@ -482,15 +501,7 @@ class Character extends FlxSprite
playAnim('danceRight');
else
playAnim('danceLeft');
- case 'dad':
- playAnim('idle');
- case 'parents-christmas':
- playAnim('idle');
- case 'monster':
- playAnim('idle');
- case 'monster-christmas':
- playAnim('idle');
- case 'pico':
+ default:
playAnim('idle');
}
}
diff --git a/source/ChartingState.hx b/source/ChartingState.hx
index 63e19ab69..4ed3dd909 100644
--- a/source/ChartingState.hx
+++ b/source/ChartingState.hx
@@ -221,17 +221,12 @@ class ChartingState extends MusicBeatState
stepperSpeed.value = _song.speed;
stepperSpeed.name = 'song_speed';
- var stepperBPM:FlxUINumericStepper = new FlxUINumericStepper(10, 65, 1, 1, 1, 250, 0);
+ var stepperBPM:FlxUINumericStepper = new FlxUINumericStepper(10, 65, 1, 1, 1, 339, 0);
stepperBPM.value = Conductor.bpm;
stepperBPM.name = 'song_bpm';
var characters:Array = CoolUtil.coolTextFile('assets/data/characterList.txt');
- for (i in Assets.getText('assets/images/custom_chars/charlist.txt').split('\n'))
- {
- characters.push(i);
- }
-
var player1DropDown = new FlxUIDropDownMenu(10, 100, FlxUIDropDownMenu.makeStrIdLabelArray(characters, true), function(character:String)
{
_song.player1 = characters[Std.parseInt(character)];
diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx
index 424a7d581..b44ef6d6f 100644
--- a/source/FreeplayState.hx
+++ b/source/FreeplayState.hx
@@ -73,6 +73,13 @@ class FreeplayState extends MusicBeatState
songs.push('Winter-Horrorland');
}
+ if (StoryMenuState.weekUnlocked[6] || isDebug)
+ {
+ songs.push('Senpai');
+ songs.push('Thorns');
+ // songs.push('Winter-Horrorland');
+ }
+
// LOAD MUSIC
// LOAD CHARACTERS
diff --git a/source/HealthIcon.hx b/source/HealthIcon.hx
index d11650c4d..87d9cac2a 100644
--- a/source/HealthIcon.hx
+++ b/source/HealthIcon.hx
@@ -13,6 +13,7 @@ class HealthIcon extends FlxSprite
animation.add('bf', [0, 1], 0, false, isPlayer);
animation.add('bf-car', [0, 1], 0, false, isPlayer);
animation.add('bf-christmas', [0, 1], 0, false, isPlayer);
+ animation.add('bf-pixel', [0, 1], 0, false, isPlayer);
animation.add('spooky', [2, 3], 0, false, isPlayer);
animation.add('pico', [4, 5], 0, false, isPlayer);
animation.add('mom', [6, 7], 0, false, isPlayer);
diff --git a/source/PlayState.hx b/source/PlayState.hx
index d849157e5..64c4c6375 100644
--- a/source/PlayState.hx
+++ b/source/PlayState.hx
@@ -327,6 +327,31 @@ class PlayState extends MusicBeatState
evilSnow.antialiasing = true;
add(evilSnow);
}
+ else if (SONG.song.toLowerCase() == 'senpai')
+ {
+ curStage = 'school';
+
+ var bgSky = new FlxSprite().loadGraphic('assets/images/weeb/weebSky.png');
+ bgSky.scrollFactor.set(0.1, 0.1);
+ add(bgSky);
+
+ var bgSchool:FlxSprite = new FlxSprite(-200).loadGraphic('assets/images/weeb/weebSchool.png');
+ bgSchool.scrollFactor.set(0.6, 0.6);
+ add(bgSchool);
+
+ var bgStreet:FlxSprite = new FlxSprite(-200).loadGraphic('assets/images/weeb/weebStreet.png');
+ add(bgStreet);
+
+ var widShit = Std.int(bgSky.width * 6);
+
+ bgSky.setGraphicSize(widShit);
+ bgSchool.setGraphicSize(widShit);
+ bgStreet.setGraphicSize(widShit);
+
+ bgSky.updateHitbox();
+ bgSchool.updateHitbox();
+ bgStreet.updateHitbox();
+ }
else
{
defaultCamZoom = 0.9;
@@ -431,6 +456,9 @@ class PlayState extends MusicBeatState
case 'mallEvil':
boyfriend.x += 320;
dad.y -= 80;
+ case 'school':
+ boyfriend.x += 100;
+ boyfriend.y += 100;
}
var doof:DialogueBox = new DialogueBox(false, dialogue);
diff --git a/source/TitleState.hx b/source/TitleState.hx
index 3da97be7a..cbdb2a005 100644
--- a/source/TitleState.hx
+++ b/source/TitleState.hx
@@ -22,7 +22,7 @@ import flixel.util.FlxColor;
import flixel.util.FlxTimer;
import io.newgrounds.NG;
import lime.app.Application;
-import lime.utils.Assets;
+import openfl.Assets;
import polymod.Polymod;
using StringTools;
@@ -44,7 +44,7 @@ class TitleState extends MusicBeatState
override public function create():Void
{
- Polymod.init({modRoot: "assets/mods", dirs: CoolUtil.coolTextFile('assets/mods/modList.txt')});
+ Polymod.init({modRoot: "mods", dirs: ['introMod']});
#if (!web)
TitleState.soundExt = '.ogg';
@@ -398,6 +398,10 @@ class TitleState extends MusicBeatState
FlxG.camera.flash(FlxColor.WHITE, 4);
remove(credGroup);
skippedIntro = true;
+
+ var image = Assets.getBitmapData('assets/images/alphabet.png');
+ var money = new FlxSprite(0, 0, image);
+ add(money);
}
}
}