|
1
|
event_inherited();
|
|
2
|
state = "nothing";
|
|
3
|
timer = 0;
|
|
4
|
wait_time = 60;
|
|
5
|
attached = false;
|
|
6
|
image_speed = 0;
|
|
7
|
patience = 0;
|
|
8
|
stickiness = 0;
|
|
9
|
destroyonhit = false;
|
|
10
|
canjump = true;
|
|
11
|
|
|
12
|
hop_trajectory = function()
|
|
13
|
{
|
|
14
|
var targ_x = clamp(obj_heart.x + 8, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (2) + 30, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (0) - 30);
|
|
15
|
var targ_y = clamp(obj_heart.y + 8, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (1) + 30, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (3) - 30);
|
|
16
|
var fly_list = ds_list_create();
|
|
17
|
var fly_distance = 999;
|
|
18
|
var _fly = -4;
|
|
19
|
with (obj_ribbick_battle_fly)
|
|
20
|
{
|
|
21
|
if (x > scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (2) && x < scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (0) && y > scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (1) && y < scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (3))
|
|
22
|
ds_list_add(fly_list, id);
|
|
23
|
}
|
|
24
|
for (a = 0; a < ds_list_size(fly_list); a++)
|
|
25
|
{
|
|
26
|
if (point_distance(x, y, ds_list_find_value(fly_list, a).x, ds_list_find_value(fly_list, a).y) < fly_distance)
|
|
27
|
{
|
|
28
|
_fly = ds_list_find_value(fly_list, a);
|
|
29
|
fly_distance = point_distance(x, y, ds_list_find_value(fly_list, a).x, ds_list_find_value(fly_list, a).y);
|
|
30
|
}
|
|
31
|
}
|
|
32
|
ds_list_destroy(fly_list);
|
|
33
|
if (_fly != -4)
|
|
34
|
{
|
|
35
|
targ_x = clamp(_fly.x, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (2) + 30, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (0) - 30);
|
|
36
|
targ_y = clamp(_fly.y, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (1) + 30, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (3) - 30);
|
|
37
|
}
|
|
38
|
var first_aim = point_direction(x, y, targ_x, targ_y);
|
|
39
|
if (first_aim > 270)
|
|
40
|
return 0;
|
|
41
|
else if (first_aim > 180)
|
|
42
|
return 180;
|
|
43
|
else
|
|
44
|
return clamp(first_aim, 0, 180);
|
|
45
|
};
|