|
1
|
if (live_call())
|
|
2
|
return global.live_result;
|
|
3
|
var xx = 0;
|
|
4
|
var yy = 0;
|
|
5
|
var spawn_corner = irandom_range(1, 4);
|
|
6
|
var spawn_direction = 0;
|
|
7
|
var spawn_direction_1, spawn_direction_2;
|
|
8
|
switch (spawn_corner)
|
|
9
|
{
|
|
10
|
case 1:
|
|
11
|
xx = battle_box.bbox_left - 18;
|
|
12
|
yy = battle_box.bbox_top - 18;
|
|
13
|
spawn_direction_1 = 0;
|
|
14
|
spawn_direction_2 = 270;
|
|
15
|
break;
|
|
16
|
case 2:
|
|
17
|
xx = battle_box.bbox_right + 18;
|
|
18
|
yy = battle_box.bbox_top - 18;
|
|
19
|
spawn_direction_1 = 180;
|
|
20
|
spawn_direction_2 = 270;
|
|
21
|
break;
|
|
22
|
case 3:
|
|
23
|
xx = battle_box.bbox_left - 18;
|
|
24
|
yy = battle_box.bbox_bottom + 18;
|
|
25
|
spawn_direction_1 = 0;
|
|
26
|
spawn_direction_2 = 90;
|
|
27
|
break;
|
|
28
|
case 4:
|
|
29
|
xx = battle_box.bbox_right + 18;
|
|
30
|
yy = battle_box.bbox_bottom + 18;
|
|
31
|
spawn_direction_1 = 180;
|
|
32
|
spawn_direction_2 = 90;
|
|
33
|
break;
|
|
34
|
}
|
|
35
|
do
|
|
36
|
spawn_direction = choose(spawn_direction_1, spawn_direction_2);
|
|
37
|
until (spawn_corner_last != spawn_corner || spawn_direction != spawn_direction_last);
|
|
38
|
if (spawn_corner_last != spawn_corner && ((spawn_corner < 3 && spawn_corner_last < 3) || (spawn_corner > 2 && spawn_corner_last > 2)))
|
|
39
|
{
|
|
40
|
if (spawn_direction == spawn_direction_1)
|
|
41
|
spawn_direction = spawn_direction_2;
|
|
42
|
else
|
|
43
|
spawn_direction = spawn_direction_1;
|
|
44
|
}
|
|
45
|
spawn_corner_last = spawn_corner;
|
|
46
|
spawn_direction_last = spawn_direction;
|
|
47
|
mask = instance_create_depth(xx, yy, -100, obj_ceroba_attack_bullet_trail_mask);
|
|
48
|
with (mask)
|
|
49
|
direction = spawn_direction;
|
|
50
|
alarm[0] = 45; gml_Object_obj_battle_enemy_attack_ceroba_phase_2_p1_spawner_mask_Alarm_0.gml
if (live_call())
return global.live_result;
var xx = 0;
var yy = 0;
var spawn_corner = irandom_range(1, 4);
var spawn_direction = 0;
var spawn_direction_1, spawn_direction_2;
switch (spawn_corner)
{
case 1:
xx = battle_box.bbox_left - 18;
yy = battle_box.bbox_top - 18;
spawn_direction_1 = 0;
spawn_direction_2 = 270;
break;
case 2:
xx = battle_box.bbox_right + 18;
yy = battle_box.bbox_top - 18;
spawn_direction_1 = 180;
spawn_direction_2 = 270;
break;
case 3:
xx = battle_box.bbox_left - 18;
yy = battle_box.bbox_bottom + 18;
spawn_direction_1 = 0;
spawn_direction_2 = 90;
break;
case 4:
xx = battle_box.bbox_right + 18;
yy = battle_box.bbox_bottom + 18;
spawn_direction_1 = 180;
spawn_direction_2 = 90;
break;
}
do
spawn_direction = choose(spawn_direction_1, spawn_direction_2);
until (spawn_corner_last != spawn_corner || spawn_direction != spawn_direction_last);
if (spawn_corner_last != spawn_corner && ((spawn_corner < 3 && spawn_corner_last < 3) || (spawn_corner > 2 && spawn_corner_last > 2)))
{
if (spawn_direction == spawn_direction_1)
spawn_direction = spawn_direction_2;
else
spawn_direction = spawn_direction_1;
}
spawn_corner_last = spawn_corner;
spawn_direction_last = spawn_direction;
mask = instance_create_depth(xx, yy, -100, obj_ceroba_attack_bullet_trail_mask);
with (mask)
direction = spawn_direction;
alarm[0] = 45;
|