1 |
event_inherited(); |
2 |
if (truegravity == 0) |
3 |
{ |
4 |
destroyonhit = 0; |
5 |
truegravity = gravity * 2; |
6 |
} |
7 |
if (init == 0) |
8 |
{ |
9 |
flip = sign(gravity); |
10 |
if (gravity < 0) |
11 |
image_yscale = -1; |
12 |
if (jumper) |
13 |
depth--; |
14 |
yscale = image_yscale; |
15 |
init = 1; |
16 |
} |
17 |
if (jumpstate == 0 && jumper) |
18 |
{ |
19 |
if ((obj_heart.x + 8) <= x && (obj_heart.x + 8) > (x - 40)) |
20 |
{ |
21 |
gravity = clamp(gravity, -0.1, 0.1); |
22 |
jumpstate = -1; |
23 |
jumper = 0; |
24 |
speed = 0; |
25 |
timer = 10; |
26 |
image_speed = 0; |
27 |
image_index = 0; |
28 |
} |
29 |
} |
30 |
if (jumpstate == -1) |
31 |
{ |
32 |
timer--; |
33 |
if (timer <= 0) |
34 |
{ |
35 |
vspeed = scr_getjumpspeed(abs(truegravity), clamp(abs((obj_heart.y + 8) - y) + 10, 20, 100)) * -sign(truegravity); |
36 |
gravity = truegravity; |
37 |
hspeed = clamp(((obj_heart.x + 8) - x) / 40, -5, -1); |
38 |
jumpstate = 1; |
39 |
image_index = 1; |
40 |
} |
41 |
} |
42 |
if (jumpstate == 1) |
43 |
{ |
44 |
if (image_speed == 0 && (vspeed * gravity) > 0) |
45 |
image_speed = 1; |
46 |
if (y < ((obj_growtangle.y - (obj_growtangle.sprite_height / 2)) + 24)) |
47 |
{ |
48 |
y = (obj_growtangle.y - (obj_growtangle.sprite_height / 2)) + 24; |
49 |
gravity = 0; |
50 |
vspeed = 0; |
51 |
hspeed = -4; |
52 |
image_speed = 0.5; |
53 |
jumpstate = 0; |
54 |
} |
55 |
else if (y > ((obj_growtangle.y + (obj_growtangle.sprite_height / 2)) - 24)) |
56 |
{ |
57 |
y = (obj_growtangle.y + (obj_growtangle.sprite_height / 2)) - 24; |
58 |
gravity = 0; |
59 |
vspeed = 0; |
60 |
hspeed = -4; |
61 |
image_speed = 0.5; |
62 |
jumpstate = 0; |
63 |
} |
64 |
} |