Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_ribbick_battle_frog_Step_0

(view raw script w/o annotations or w/e)
1
if (!i_ex(obj_heart) || global.turntimer < 1)
2
{
3
    instance_destroy();
4
    exit;
5
}
6
if (y < (
scr_get_box
scr_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) + 24))
7
{
8
    y = 
scr_get_box
scr_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) + 24;
9
    image_yscale = -1;
10
    image_index = 0;
11
    vspeed = 0;
12
    hspeed = 0;
13
    gravity = 0;
14
    attached = true;
15
    patience = 30 + irandom(30);
16
    stickiness = 15;
17
    canjump = false;
18
}
19
if (y < (
scr_get_box
scr_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) && !attached)
20
{
21
    if (x < (
scr_get_box
scr_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) + 24))
22
    {
23
        x = 
scr_get_box
scr_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) + 24;
24
        attached = true;
25
        vspeed = 0.25;
26
        hspeed = 0;
27
        gravity = 0;
28
        image_index = 0;
29
        image_xscale = -1;
30
        image_yscale = 1;
31
        image_angle = -90;
32
        canjump = true;
33
    }
34
    if (x > (
scr_get_box
scr_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) - 22))
35
    {
36
        x = 
scr_get_box
scr_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) - 22;
37
        attached = true;
38
        vspeed = 0.25;
39
        hspeed = 0;
40
        gravity = 0;
41
        image_index = 0;
42
        image_xscale = 1;
43
        image_yscale = 1;
44
        image_angle = 90;
45
        canjump = true;
46
    }
47
}
48
if (y >= (
scr_get_box
scr_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) && vspeed > 0)
49
{
50
    y = 
scr_get_box
scr_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;
51
    vspeed = 0;
52
    hspeed = 0;
53
    gravity = 0;
54
    image_index = 0;
55
    attached = false;
56
    image_angle = 0;
57
    image_yscale = 1;
58
    canjump = true;
59
}
60
if (patience)
61
{
62
    patience--;
63
    stickiness = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(stickiness, 0, 1);
64
    if (patience == 0 || (stickiness == 0 && abs(x - (obj_heart.x + 8)) < 20))
65
    {
66
        patience = 0;
67
        stickiness = 0;
68
        attached = false;
69
        gravity = 0.25;
70
        vspeed = 0;
71
        image_index = 1;
72
    }
73
}
74
if (state == "jump")
75
{
76
    timer++;
77
    if (timer == 1)
78
        image_blend = c_gray;
79
    if (timer == 5)
80
        image_blend = c_white;
81
    if (timer == 10)
82
    {
83
        var aim = hop_trajectory();
84
        attached = false;
85
        image_angle = 0;
86
        image_yscale = 1;
87
        hspeed = lengthdir_x(1, aim) * 4;
88
        vspeed = (lengthdir_y(1, aim) * 6) - 2;
89
        image_index = 1;
90
        gravity = 0.25;
91
        timer = 0;
92
        state = "none";
93
        canjump = false;
94
        if (hspeed >= 0)
95
            image_xscale = 1;
96
        else
97
            image_xscale = -1;
98
    }
99
}
100
if (!attached && y != (
scr_get_box
scr_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))
101
{
102
    if (hspeed >= 0)
103
        image_xscale = 1;
104
    else
105
        image_xscale = -1;
106
}