Skip to content

Commit e6bf4cd

Browse files
committed
Merge branch 'Archipelago' of https://github.com/Z11Coding/Mixtape-Engine-Rework into Archipelago
2 parents cfac4a5 + 02c58d0 commit e6bf4cd

File tree

4 files changed

+150
-4
lines changed

4 files changed

+150
-4
lines changed

source/states/FreeplayState.hx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -711,7 +711,7 @@ class FreeplayState extends MusicBeatState
711711
} } else {
712712
songText = new DynamicAlphabet(90, 320, songs[i].songName, true, true);
713713
}
714-
songText.doShuffle = AprilFools.allowAF ? FlxG.random.bool(songs.length*0.2) : true;
714+
songText.doShuffle = AprilFools.allowAF ? FlxG.random.bool(10) : true;
715715
songText.targetY = i;
716716
grpSongs.add(songText);
717717

source/states/PlayState.hx

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,6 @@ class PlayState extends MusicBeatState
493493

494494
PauseSubState.songName = null; //Reset to default
495495
playbackRate = ClientPrefs.getGameplaySetting('songspeed');
496-
497496
keysArray = backend.Keybinds.fill();
498497

499498
controlArray = ['NOTE_LEFT', 'NOTE_DOWN', 'NOTE_UP', 'NOTE_RIGHT'];
@@ -1367,7 +1366,34 @@ class PlayState extends MusicBeatState
13671366
if (!inArchipelagoMode) MaxHP = 2 + (ClientPrefs.data.healthMode == "Tabi" ? 2 : 0);
13681367
initY = healthBar.y;
13691368

1370-
reverseNoteRules = FlxG.random.bool(15.7) || archipelago.APItem.activeItem?.name == "Input Reversal";
1369+
// my latest invention: THE CHAOS BRINGER
1370+
if (AprilFools.allowAF && !inArchipelagoMode) {
1371+
switch (FlxG.random.int(0, 5)) {
1372+
case 0: //Random Speed
1373+
playbackRate *= FlxG.random.float(0.1, 2);
1374+
case 1: //Reverse Input
1375+
reverseNoteRules = FlxG.random.bool(15.7) && !inArchipelagoMode || archipelago.APItem.activeItem?.name == "Input Reversal";
1376+
case 2: //Progressive Speed
1377+
FlxTween.num(playbackRate, 2, inst.length-1, {ease: FlxEase.linear,
1378+
onComplete: function(twn:FlxTween)
1379+
{
1380+
playbackRate = 1;
1381+
}},
1382+
function(num){playbackRate = num;});
1383+
case 3: //Regressive Speed
1384+
FlxTween.num(playbackRate, 0.1, inst.length-1, {ease: FlxEase.linear,
1385+
onComplete: function(twn:FlxTween)
1386+
{
1387+
playbackRate = 1;
1388+
}},
1389+
function(num){playbackRate = num;});
1390+
case 4: //Random Modchart for no reason
1391+
AprilFools.randomModchartEffect();
1392+
case 5:
1393+
//Nothing
1394+
1395+
}
1396+
}
13711397
}
13721398

13731399
function doStaticSign(lestatic:Int = 0)

source/states/TitleState.hx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class TitleState extends MusicBeatState
138138
{
139139
persistentUpdate = true;
140140
if (!initialized && FlxG.sound.music == null)
141-
Constants.setMenuMusic(ClientPrefs.data.menuSong);
141+
Constants.setMenuMusic(ClientPrefs.data.menuSong, null, 0, true);
142142

143143
loadJsonData();
144144
#if TITLE_SCREEN_EASTER_EGG easterEggData(); #end

source/yutautil/AprilFools.hx

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,124 @@ class AprilFools {
1414
private static function get_allowAF():Bool {
1515
return ClientPrefs.data.aprilFools && ExtendedDate.global().isAprilFools();
1616
}
17+
18+
public static function randomModchartEffect(){
19+
switch(FlxG.random.int(0, 54)) {
20+
case 0:
21+
PlayState.instance.modManager.setValue('boost', 1);
22+
case 1:
23+
PlayState.instance.modManager.setValue('wave', 1);
24+
case 2:
25+
PlayState.instance.modManager.setValue('brake', 1);
26+
case 3:
27+
PlayState.instance.modManager.setValue('stealth', 1);
28+
case 4:
29+
PlayState.instance.modManager.setValue('sudden', 1);
30+
case 5:
31+
PlayState.instance.modManager.setValue('blink', 1);
32+
case 6:
33+
PlayState.instance.modManager.setValue('vanish', 1);
34+
case 7:
35+
PlayState.instance.modManager.setValue('beat', 1);
36+
case 8:
37+
PlayState.instance.modManager.setValue('confusion', 1);
38+
case 9:
39+
PlayState.instance.modManager.setValue('roll', 1);
40+
case 10:
41+
PlayState.instance.modManager.setValue('twirl', 1);
42+
case 11:
43+
PlayState.instance.modManager.setValue('dizzy', 1);
44+
case 12:
45+
PlayState.instance.modManager.setValue('drunk', 1);
46+
case 13:
47+
PlayState.instance.modManager.setValue('tipsy', 1);
48+
case 14:
49+
PlayState.instance.modManager.setValue('bumpy', 1);
50+
case 15:
51+
PlayState.instance.modManager.setValue('opponentSwap', 1);
52+
case 16:
53+
PlayState.instance.modManager.setValue('tornado', 1);
54+
case 17:
55+
PlayState.instance.modManager.setValue('zigzag', 1);
56+
case 18:
57+
PlayState.instance.modManager.setValue('sawtooth', 1);
58+
case 19:
59+
PlayState.instance.modManager.setValue('square', 1);
60+
case 20:
61+
PlayState.instance.modManager.setValue('bounce', 1);
62+
case 21:
63+
PlayState.instance.modManager.setValue('bounceZ', 1);
64+
case 22:
65+
PlayState.instance.modManager.setValue('tornadoTan', 1);
66+
case 23:
67+
PlayState.instance.modManager.setValue('tornadoZ', 1);
68+
case 24:
69+
PlayState.instance.modManager.setValue('tornadoTanZ', 1);
70+
case 25:
71+
PlayState.instance.modManager.setValue('itgTornado', 1);
72+
case 26:
73+
PlayState.instance.modManager.setValue('itgTornadoTan', 1);
74+
case 27:
75+
PlayState.instance.modManager.setValue('digital', 1);
76+
case 28:
77+
PlayState.instance.modManager.setValue('digitalZ', 1);
78+
case 29:
79+
PlayState.instance.modManager.setValue('receptorScroll', 1);
80+
case 30:
81+
PlayState.instance.modManager.setValue('reverse', 1);
82+
case 31:
83+
PlayState.instance.modManager.setValue('split', 1);
84+
case 32:
85+
PlayState.instance.modManager.setValue('alternate', 1);
86+
case 33:
87+
PlayState.instance.modManager.setValue('cross', 1);
88+
case 34:
89+
PlayState.instance.modManager.setValue('centered', 1);
90+
case 35:
91+
PlayState.instance.modManager.setValue('schmovinDrunk', 1);
92+
case 36:
93+
PlayState.instance.modManager.setValue('schmovinDrunkY', 1);
94+
case 37:
95+
PlayState.instance.modManager.setValue('schmovinDrunkZ', 1);
96+
case 38:
97+
PlayState.instance.modManager.setValue('schmovinTipsyX', 1);
98+
case 39:
99+
PlayState.instance.modManager.setValue('schmovinTipsyZ', 1);
100+
case 40:
101+
PlayState.instance.modManager.setValue('schmovinBumpyX', 1);
102+
case 41:
103+
PlayState.instance.modManager.setValue('schmovinBumpyY', 1);
104+
case 42:
105+
PlayState.instance.modManager.setValue('schmovinDrunkTan', 1);
106+
case 43:
107+
PlayState.instance.modManager.setValue('schmovinDrunkTanY', 1);
108+
case 44:
109+
PlayState.instance.modManager.setValue('schmovinDrunkTanZ', 1);
110+
case 45:
111+
PlayState.instance.modManager.setValue('schmovinTipsyTanX', 1);
112+
case 46:
113+
PlayState.instance.modManager.setValue('schmovinTipsyTan', 1);
114+
case 47:
115+
PlayState.instance.modManager.setValue('schmovinTipsyTanZ', 1);
116+
case 48:
117+
PlayState.instance.modManager.setValue('schmovinBumpyTanX', 1);
118+
case 49:
119+
PlayState.instance.modManager.setValue('schmovinBumpyTanY', 1);
120+
case 50:
121+
PlayState.instance.modManager.setValue('schmovinBumpyTan', 1);
122+
case 51:
123+
PlayState.instance.modManager.setValue('schmovinBumpyTan', 1);
124+
case 52:
125+
PlayState.instance.modManager.setValue('reverse', 0.5, 1);
126+
PlayState.instance.modManager.setValue('flip', 0.5, 1);
127+
PlayState.instance.modManager.setValue('schmovinSpiralX', 2, 1);
128+
PlayState.instance.modManager.setValue('schmovinSpiralY', 2, 1);
129+
PlayState.instance.modManager.setValue('transformX', -24, 1);
130+
PlayState.instance.modManager.setValue('transformY', 15, 1);
131+
case 53:
132+
PlayState.instance.modManager.setValue('flip', 1);
133+
case 54:
134+
PlayState.instance.modManager.setValue('invert', 1);
135+
}
136+
}
17137
}

0 commit comments

Comments
 (0)