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.
294 lines
13 KiB
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);
|
|
|
|
|