1 |
box = 3154; |
2 |
c_total = 8; |
3 |
c_distance = 5; |
4 |
c_sectors = 4; |
5 |
c_width = 33; |
6 |
c_spacing = floor(0.5 + ((box.sprite_width - 10 - (c_width * c_sectors)) / (c_sectors + 1))); |
7 |
end_alarm = 20; |
8 |
no_loop_alarm = false; |
9 |
random_list = ds_list_create(); |
10 |
for (i = 1; i < (4 * c_sectors); i++) |
11 |
ds_list_add(random_list, i); |
12 |
ds_list_shuffle(random_list); |
13 |
i_add = 0; |
14 |
for (i = 0; i < c_total; i++) |
15 |
{ |
16 |
c_value = ds_list_find_value(random_list, i + i_add); |
17 |
if (i > 0) |
18 |
{ |
19 |
var increment_i = true; |
20 |
while (increment_i == true) |
21 |
{ |
22 |
increment_i = false; |
23 |
for (j = 0; j < i; j++) |
24 |
{ |
25 |
if (abs(c_value_store[j] - c_value) == (2 * c_sectors)) |
26 |
{ |
27 |
increment_i = true; |
28 |
break; |
29 |
} |
30 |
} |
31 |
if (increment_i == true) |
32 |
{ |
33 |
i_add += 1; |
34 |
c_value = ds_list_find_value(random_list, i + i_add); |
35 |
} |
36 |
} |
37 |
} |
38 |
c_value_store[i] = c_value; |
39 |
c_direction = 1; |
40 |
while (c_value > c_sectors) |
41 |
{ |
42 |
c_direction += 1; |
43 |
c_value -= c_sectors; |
44 |
} |
45 |
var c_sub = c_value - 1; |
46 |
var c_disjoint = 20 + (c_spacing * c_value) + (c_width * c_sub); |
47 |
switch (c_direction) |
48 |
{ |
49 |
case 1: |
50 |
cape_dir = 0; |
51 |
instance_create(box.bbox_right + c_distance, box.bbox_top + c_disjoint, obj_battle_enemy_attack_bowll_bull_cape); |
52 |
break; |
53 |
case 2: |
54 |
cape_dir = 90; |
55 |
instance_create(box.bbox_left + c_disjoint, box.bbox_top - c_distance, obj_battle_enemy_attack_bowll_bull_cape); |
56 |
break; |
57 |
case 3: |
58 |
cape_dir = 180; |
59 |
instance_create(box.bbox_left - c_distance, box.bbox_top + c_disjoint, obj_battle_enemy_attack_bowll_bull_cape); |
60 |
break; |
61 |
case 4: |
62 |
cape_dir = 270; |
63 |
instance_create(box.bbox_left + c_disjoint, box.bbox_bottom + c_distance, obj_battle_enemy_attack_bowll_bull_cape); |
64 |
break; |
65 |
} |
66 |
} |
67 |
ds_list_destroy(random_list); |