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); } } }