1 |
if (init == 0) |
2 |
{ |
3 |
startcolor = image_blend |
4 |
init = 1 |
5 |
angle_offset = (startcolor == c_orange ? random_range(-15, 15) : random_range(-10, 10)) |
6 |
if platter_spawn |
7 |
{ |
8 |
type = 1 |
9 |
direction = 270 |
10 |
image_alpha = 1 |
11 |
target_speed = speed |
12 |
speed = 1 |
13 |
platterspawn = false |
14 |
if fixed_angle |
15 |
{ |
16 |
var targetdir = point_direction(x, y, (obj_heart.x + 10), (obj_heart.y + 10)) |
17 |
var centerdir = point_direction(x, y, obj_growtangle.x, obj_growtangle.y) |
18 |
var centerdir2 = scr_rotatetowards_unclamped(targetdir, centerdir, random_range(15, 30)) |
19 |
targetdir = scr_rotatetowards_unclamped(targetdir, centerdir, (-(random_range(15, 30)))) |
20 |
if (image_xscale > 0) |
21 |
targetdir = max(targetdir, 280) |
22 |
else |
23 |
targetdir = min(targetdir, 260) |
24 |
target_angle = scr_rotatetowards_unclamped(targetdir, centerdir, random_range(15, 30)) |
25 |
} |
26 |
} |
27 |
else |
28 |
{ |
29 |
type = 2 |
30 |
direction = (point_direction(xstart, ystart, (obj_heart.x + 10), (obj_heart.y + 10))) + (random_range(-5, 5)) |
31 |
debug_message(string(direction)) |
32 |
} |
33 |
} |
34 |
if (speed < target_speed) |
35 |
{ |
36 |
spawntimer++ |
37 |
if (startcolor == c_orange) |
38 |
speed = scr_movetowardsscr_movetowardsfunction scr_movetowards(argument0, argument1, argument2) //gml_Script_scr_movetowards
{
if (argument0 == argument1)
return argument0;
else if (argument0 > argument1)
return max((argument0 - argument2), argument1);
else
return min((argument0 + argument2), argument1);
} (speed, target_speed, 0.2) |
39 |
else |
40 |
speed = scr_movetowardsscr_movetowardsfunction scr_movetowards(argument0, argument1, argument2) //gml_Script_scr_movetowards
{
if (argument0 == argument1)
return argument0;
else if (argument0 > argument1)
return max((argument0 - argument2), argument1);
else
return min((argument0 + argument2), argument1);
} (speed, target_speed, 0.25) |
41 |
if fixed_angle |
42 |
direction = lerp(270, target_angle, ((speed - 1) / (target_speed - 1))) |
43 |
else |
44 |
{ |
45 |
target_angle = (point_direction(x, y, (obj_heart.x + 10), (obj_heart.y + 10))) + angle_offset |
46 |
direction = scr_rotatetowardsscr_rotatetowardsfunction scr_rotatetowards(argument0, argument1, argument2) //gml_Script_scr_rotatetowards
{
var __diff = angle_difference(argument1, argument0)
if (abs(__diff) > argument2)
return (argument0 + sign(__diff) * argument2);
else
return argument1;
}
function scr_angle_lerp(argument0, argument1, argument2) //gml_Script_scr_angle_lerp
{
__diff = angle_difference(argument1, argument0)
return (argument0 + (lerp(0, __diff, argument2)));
} (direction, target_angle, 15) |
47 |
} |
48 |
if (spawntimer == 6) |
49 |
depth -= 11 |
50 |
} |
51 |
if (type == 2) |
52 |
{ |
53 |
if (x > xstart) |
54 |
image_xscale = 1 |
55 |
else |
56 |
image_xscale = -1 |
57 |
} |