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.

131 lines
3.8 KiB

leftdoor = ds_list_create()
rightdoor = ds_list_create()
access = ds_list_create()
ds_list_add(leftdoor, 112032)
ds_list_add(leftdoor, 112630)
ds_list_add(rightdoor, 112388)
ds_list_add(rightdoor, 113152)
while (ds_list_size(leftdoor) > 0)
{
ds_list_shuffle(leftdoor)
ds_list_shuffle(rightdoor)
door1 = ds_list_find_value(leftdoor, 0)
door2 = ds_list_find_value(rightdoor, 0)
ds_list_delete(leftdoor, 0)
ds_list_delete(rightdoor, 0)
ds_map_add(global.roommap, door1, door2)
ds_map_add(global.roommap, door2, door1)
}
ds_list_add(leftdoor, 111768)
ds_list_add(leftdoor, 111770)
ds_list_add(rightdoor, 110056)
ds_list_add(rightdoor, 110058)
while (ds_list_size(leftdoor) > 0)
{
ds_list_shuffle(leftdoor)
ds_list_shuffle(rightdoor)
door1 = ds_list_find_value(leftdoor, 0)
door2 = ds_list_find_value(rightdoor, 0)
ds_list_delete(leftdoor, 0)
ds_list_delete(rightdoor, 0)
ds_map_add(global.roommap, door1, door2)
ds_map_add(global.roommap, door2, door1)
}
ds_list_add(access, 110055)
ds_list_add(access, 110049)
ds_list_add(access, 110050)
ds_list_add(access, 110054)
ds_list_add(access, 110051)
ds_list_add(leftdoor, 110141)
ds_list_add(leftdoor, 110746)
ds_list_add(leftdoor, 110050)
ds_list_add(leftdoor, 110201)
ds_list_add(leftdoor, 110264)
ds_list_add(leftdoor, 110173)
ds_list_add(leftdoor, 110054)
ds_list_add(leftdoor, 110796)
ds_list_add(leftdoor, 110869)
ds_list_add(leftdoor, 111054)
ds_list_add(leftdoor, 111186)
ds_list_add(leftdoor, 111580)
ds_list_add(leftdoor, 111533)
ds_list_add(leftdoor, 111581)
ds_list_add(leftdoor, 111275)
ds_list_add(leftdoor, 110051)
ds_list_add(rightdoor, 110055)
ds_list_add(rightdoor, 110489)
ds_list_add(rightdoor, 110200)
ds_list_add(rightdoor, 110263)
ds_list_add(rightdoor, 110172)
ds_list_add(rightdoor, 110049)
ds_list_add(rightdoor, 110794)
ds_list_add(rightdoor, 111050)
ds_list_add(rightdoor, 111183)
ds_list_add(rightdoor, 110869)
ds_list_add(rightdoor, 111242)
ds_list_add(rightdoor, 111532)
ds_list_add(rightdoor, 111187)
ds_list_add(rightdoor, 111649)
ds_list_add(rightdoor, 111241)
while (ds_list_size(leftdoor) > 0)
{
ds_list_shuffle(access)
door1 = ds_list_find_value(access, 0)
ds_list_delete(access, 0)
if (ds_list_find_index(leftdoor, door1) != -1)
{
ds_list_delete(leftdoor, ds_list_find_index(leftdoor, door1))
dir = rightdoor
}
else
{
ds_list_delete(rightdoor, ds_list_find_index(rightdoor, door1))
dir = leftdoor
}
ds_list_shuffle(dir)
i = 0
found = 0
while (i < ds_list_size(dir))
{
checkdoor = ds_list_find_value(dir, i)
if (ds_list_find_index(access, checkdoor) == -1)
{
door2 = checkdoor
room2 = ds_map_find_value(global.instancemap, string(door2))
ds_list_delete(dir, i)
ds_list_delete(access, ds_list_find_index(access, door2))
found = 1
break
}
else
{
i += 1
continue
}
}
if (found == 0)
{
door2 = ds_list_find_value(dir, 0)
room2 = ds_map_find_value(global.instancemap, string(door2))
ds_list_delete(dir, 0)
ds_list_delete(access, ds_list_find_index(access, door2))
}
for (i = 0; i < ds_list_size(leftdoor); i += 1)
{
check = ds_list_find_value(leftdoor, i)
if (ds_map_find_value(global.instancemap, string(check)) == room2)
ds_list_add(access, check)
}
for (i = 0; i < ds_list_size(rightdoor); i += 1)
{
check = ds_list_find_value(rightdoor, i)
if (ds_map_find_value(global.instancemap, string(check)) == room2)
ds_list_add(access, check)
}
ds_map_add(global.roommap, door1, door2)
ds_map_add(global.roommap, door2, door1)
}
ds_list_destroy(leftdoor)
ds_list_destroy(rightdoor)
ds_list_destroy(access)