Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_spamton_jumper_Step_0

(view raw script w/o annotations or w/e)
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
scr_getjumpspeed

function scr_getjumpspeed(arg0, arg1) { return sqrt(2 * arg0 * arg1); }
(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
}