@@ -35,6 +35,7 @@ class APSettingsSubState extends MusicBeatSubstate {
3535 var fakeTransWeight : PsychUISlider ;
3636 var shieldWeight : PsychUISlider ;
3737 var MHPWeight : PsychUISlider ;
38+ var songLimit : PsychUISlider ;
3839 var gradientBar : FlxSprite ;
3940 var dim : FlxSprite ;
4041 public static function generateSongList () {
@@ -123,37 +124,8 @@ class APSettingsSubState extends MusicBeatSubstate {
123124 unlockType .list = [" Per Song" , " Per Week" ];
124125 unlockMethod .list = [" Note Checks" , " Song Completion" , " Both" ];
125126
126- gradeRequirement .list =
127- [
128- ' Any' ,
129- " MFC" ,
130- " SFC" ,
131- " GFC" ,
132- " AFC" ,
133- " FC" ,
134- " SDCB"
135- ];
136-
137- accRequirement .list =
138- [
139- " Any" ,
140- " P" ,
141- " X" ,
142- " X-" ,
143- " SS+" ,
144- " SS" ,
145- " SS-" ,
146- " S+" ,
147- " S" ,
148- " S-" ,
149- " A+" ,
150- " A" ,
151- " A-" ,
152- " B" ,
153- " C" ,
154- " D" ,
155- " E" ,
156- ];
127+ gradeRequirement .list = APInfo .gradeList ;
128+ accRequirement .list = APInfo .accuracyList ;
157129
158130 setDefaults ();
159131
@@ -179,6 +151,7 @@ class APSettingsSubState extends MusicBeatSubstate {
179151 chartmodifierchance .value = APEntryState .gameSettings .FNF .chart_modifier_change_chance ;
180152 shieldWeight .value = APEntryState .gameSettings .FNF .shieldWeight ;
181153 MHPWeight .value = APEntryState .gameSettings .FNF .MHPWeight ;
154+ songLimit .value = APEntryState .gameSettings .FNF .song_limit ;
182155 }
183156
184157 function addMainSettings ()
@@ -249,6 +222,9 @@ class APSettingsSubState extends MusicBeatSubstate {
249222 {
250223 APEntryState .gameSettings .FNF .mods_enabled = allowMods .checked ;
251224 generateSongList ();
225+ songLimit .max = globalSongList .length ;
226+ if (songLimit .value > songLimit .max )
227+ songLimit .value = songLimit .max ;
252228 });
253229
254230 objY + = 50 ;
@@ -265,9 +241,18 @@ class APSettingsSubState extends MusicBeatSubstate {
265241 trace (id );
266242 });
267243
244+ objX - = 150 ;
245+ objY + = 50 ;
246+ songLimit = new PsychUISlider (objX , objY , function (v : Float ) APEntryState .gameSettings .FNF .song_limit = Std .int (v ));
247+ songLimit .decimals = 0 ;
248+ songLimit .min = 5 ;
249+ songLimit .max = globalSongList .length ;
250+
268251 tab_group .add (new FlxText (gradeRequirement .x , gradeRequirement .y - 15 , 120 , ' Grade Requirement:' ));
269252 tab_group .add (new FlxText (accRequirement .x , accRequirement .y - 15 , 120 , ' Accuracy Requirement:' ));
253+ tab_group .add (new FlxText (songLimit .x , songLimit .y - 15 , 120 , ' Song Limit:' ));
270254 tab_group .add (allowMods );
255+ tab_group .add (songLimit );
271256 tab_group .add (accRequirement );
272257 tab_group .add (gradeRequirement );
273258 }
@@ -374,6 +359,9 @@ class APSettingsSubState extends MusicBeatSubstate {
374359 }
375360 }
376361
362+ // for that true random type beat
363+ FlxG .random .shuffle (APEntryState .gameSettings .FNF .songList );
364+
377365
378366 var mainSettings = {name : APEntryState .yamlName , description : APEntryState .gameSettings .description , game : APEntryState .gameSettings .game };
379367 var document = Yaml .render (mainSettings , Renderer .options ().setFlowLevel (1 ));
0 commit comments