You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AM2R-TimeTrials/scripts/scr_randomizer_items.gml

294 lines
13 KiB

var temp_seed = random_get_seed();
randomize();
oControl.seed = random_get_seed();
random_set_seed(oControl.seed);
if (oControl.mod_usemanualseed == 1) {
random_set_seed(oControl.mod_seed);
oControl.seed = oControl.mod_seed;
}
var randpb = argument0;
// randpb = 0 = Bombs || Classic Mode+
// randpb = 1 = Screw Attack
// randpb = 2 = Power Bombs
var list_locations = ds_list_create();
//Technically the list holds the items. The oControl.mod variables are the locations!
ds_list_add(list_locations, 52,53,54,55,56,57,60,100,101,102,104,105,106,107,109,111,150,151,152,153,154,155,156,159,161,163); //Missiles
ds_list_add(list_locations, 202,203,204,205,208,210,211,214,250,252,255,257,259,303,304,307,308,309); //Missiles
ds_list_add(list_locations, 51,110,162,207,209,215,256,300,305); //Super Missiles
ds_list_add(list_locations, 50,103,108,157,158,200,201,251,306); //Energy Tanks
if (oControl.mod_insanitymode == 0) { ds_list_add(list_locations, 254); }
if (randpb == 0) ds_list_add(list_locations,58,59,112,160,212,213,258,301,302);
ds_list_shuffle(list_locations);
//ds_list_add(list_locations,58,59,112,160,212,213,258,301,302); //SA
//ds_list_add(list_locations,59,112,160,212,213,258,301,302); //PB
oControl.mod_101 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_102 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_104 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_105 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_106 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
if (randpb == 2)
{
oControl.mod_108 = 58;
}
else
{
oControl.mod_108 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
}
oControl.mod_109 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
if (randpb == 1)
{
ds_list_add(list_locations,58,59,112,160,212,213,258,301,302); //SA
ds_list_shuffle(list_locations);
}
oControl.mod_100 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_103 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_107 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_111 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_112 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
if (randpb == 2)
{
ds_list_add(list_locations,59,112,160,212,213,258,301,302); //PB
ds_list_shuffle(list_locations);
}
//Power Bombs
oControl.mod_58 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_59 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_160 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_212 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_213 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_258 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_301 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_302 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
//Missiles
oControl.mod_52 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_53 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_54 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_55 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_56 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_57 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_60 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_150 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_151 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_152 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_153 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_154 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_155 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_156 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_159 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_161 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_163 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_202 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_203 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_204 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_205 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_208 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_210 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_211 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_214 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_250 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_252 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_255 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_257 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_259 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_303 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_304 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_307 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_308 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_309 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
//Super Missiles
oControl.mod_51 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_110 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_162 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_207 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_209 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_215 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_256 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_300 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_305 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
//Energy Tanks
oControl.mod_50 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_157 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_158 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_200 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_201 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_251 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
if (oControl.mod_insanitymode == 0)
{
oControl.mod_254 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
}
else { oControl.mod_254 = 254; }
oControl.mod_306 = ds_list_find_value(list_locations, ds_list_size(list_locations) - 1);
ds_list_delete(list_locations, ds_list_size(list_locations) - 1);
oControl.mod_206 = 206; //SM
oControl.mod_253 = 253; // PB
ds_list_empty(list_locations);
random_set_seed(temp_seed);