Skip to content

Commit dd6b67a

Browse files
committed
two more achievements cuz why not
1 parent fc8c970 commit dd6b67a

File tree

5 files changed

+29
-5
lines changed

5 files changed

+29
-5
lines changed
13.1 KB
Loading
15.7 KB
Loading

source/backend/Achievements.hx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ class Achievements {
9191
createAchievement('hype', {name: "Hyperactive", description: "Finish a Song without going back to Idle."});
9292
createAchievement('two_keys', {name: "Just the Two of Us", description: "Finish a Song pressing only two keys."});
9393
createAchievement('toastie', {name: "Toaster Gamer", description: "Have you tried to run the game on a toaster?"});
94+
createAchievement('potato', {name: "The Ultimate Potato", description: "The minimum requirement to run the game on a potato."});
9495
createAchievement('debugger', {name: "Debugger", description: "Beat the \"Test\" Stage from the Chart Editor.", hidden: true});
96+
createAchievement('search_songs', {name: "The Music Lost to Time", description: "Find all 3 secret freeplay songs\n(And no, playing them in archipelago mode doesn't count)", maxScore: 3, maxDecimals: 0});
9597

9698
// Secret achievements
9799
createAchievement('pessy_easter_egg', {name: "Engine Gal Pal", description: "Teehee, you found me~!", hidden: true});
@@ -132,7 +134,7 @@ class Achievements {
132134
_firstLoad = false;
133135
}
134136
}
135-
137+
136138
public static function save():Void
137139
{
138140
FlxG.save.data.achievementsUnlocked = achievementsUnlocked;

source/states/PlayState.hx

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6217,7 +6217,7 @@ class PlayState extends MusicBeatState
62176217
#if ACHIEVEMENTS_ALLOWED
62186218
var weekNoMiss:String = WeekData.getWeekFileName() + '_nomiss';
62196219
var week:String = WeekData.getWeekFileName();
6220-
checkForAchievement([weekNoMiss, week, 'ur_bad', 'ur_good', 'hype', 'two_keys', 'toastie', 'debugger', 'play_fnf', 'pico_mixed', 'pico_stressed', 'l', 'a_freaky', 'true_funker', 'nice', 'mfc', 'sfc', 'gfc', 'afc', 'fc', 'sdcb', 'clear', 'erect', 'nightmare']);
6220+
checkForAchievement([weekNoMiss, week, 'ur_bad', 'ur_good', 'hype', 'two_keys', 'toastie', 'potato', 'debugger', 'play_fnf', 'pico_mixed', 'pico_stressed', 'l', 'a_freaky', 'true_funker', 'nice', 'mfc', 'sfc', 'gfc', 'afc', 'fc', 'sdcb', 'clear', 'erect', 'nightmare']);
62216221
#end
62226222

62236223
var ret:Dynamic = callOnScripts('onEndSong', null, true);
@@ -8132,6 +8132,25 @@ class PlayState extends MusicBeatState
81328132
case 'toastie':
81338133
unlock = (!ClientPrefs.data.shaders && ClientPrefs.data.lowQuality && !ClientPrefs.data.antialiasing);
81348134

8135+
// The ultimate potato gamer
8136+
case 'potato':
8137+
unlock = (!ClientPrefs.data.shaders
8138+
&& ClientPrefs.data.lowQuality
8139+
&& !ClientPrefs.data.antialiasing
8140+
&& ClientPrefs.data.framerate <= 30
8141+
&& !ClientPrefs.data.comboStacking
8142+
&& !ClientPrefs.data.opponentNotes
8143+
&& !ClientPrefs.data.gimmicksAllowed
8144+
&& !ClientPrefs.data.modcharts
8145+
&& ClientPrefs.data.hitsoundVolume == 0
8146+
&& !ClientPrefs.data.doubleGhosts
8147+
&& !ClientPrefs.data.stageGimmick
8148+
&& ClientPrefs.data.optimizeHolds
8149+
&& ClientPrefs.data.holdSubdivs == 1
8150+
&& ClientPrefs.data.drawDistanceModifier == 0.8
8151+
&& !ClientPrefs.data.allowVis
8152+
&& !ClientPrefs.data.allowEvents);
8153+
81358154
case 'debugger':
81368155
unlock = (songName == 'test' && !usedPractice);
81378156

source/states/freeplay/FreeplayState.hx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@ class FreeplayState extends MusicBeatState
116116

117117
var hh:Array<Chance> = [
118118
{item: "normal error", chance: 95}, // 95% chance to got the normal error screen
119-
{item: "small argument", chance: FlxG.save.data.gotsmallargument || APEntryState.inArchipelagoMode ? 0 : 5}, // 5% chance to play Small Argument if not already unlocked or in Archipelago Mode
120-
{item: "beat battle", chance: FlxG.save.data.gotbeatbattle || APEntryState.inArchipelagoMode ? 0 : 5}, // 5% chance to play Beat Battle if not already unlocked or in Archipelago Mode
121-
{item: "beat battle 2", chance: FlxG.save.data.gotbeatbattle2 || APEntryState.inArchipelagoMode ? 0 : 5} // 5% chance to do Beat Battle 2 if not already unlocked or in Archipelago Mode
119+
if (!FlxG.save.data.gotsmallargument && !APEntryState.inArchipelagoMode) {item: "small argument", chance: 5}, // 5% chance to play Small Argument if not already unlocked or in Archipelago Mode
120+
if (!FlxG.save.data.gotbeatbattle && !APEntryState.inArchipelagoMode) {item: "beat battle", chance: 5}, // 5% chance to play Beat Battle if not already unlocked or in Archipelago Mode
121+
if (!FlxG.save.data.gotbeatbattle2 && !APEntryState.inArchipelagoMode) {item: "beat battle 2", chance: 5} // 5% chance to do Beat Battle 2 if not already unlocked or in Archipelago Mode
122122
];
123123

124124
var ticketCounter:FlxText = null;
@@ -856,14 +856,17 @@ class FreeplayState extends MusicBeatState
856856
Song.loadFromJson('small-argument-hard', 'small-argument');
857857
FlxG.save.data.gotIntoAnArgument = true;
858858
FlxG.save.flush();
859+
Achievements.addScore("search_songs");
859860
case "beat battle":
860861
Song.loadFromJson('beat-battle-reasonable', 'beat-battle');
861862
FlxG.save.data.gotbeatbattle = true;
862863
FlxG.save.flush();
864+
Achievements.addScore("search_songs");
863865
case "beat battle 2":
864866
Song.loadFromJson('beat-battle-2-hard', 'beat-battle-2');
865867
FlxG.save.data.gotbeatbattle2 = true;
866868
FlxG.save.flush();
869+
Achievements.addScore("search_songs");
867870
case "normal error":
868871
trace('ERROR! NO SONGS FOUND!');
869872

0 commit comments

Comments
 (0)