Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_bullet_super_nubert2_Alarm_5

(view raw script w/o annotations or w/e)
1
if (!nubert_done && !nubert_reverse)
2
{
3
    var _speed = nubert_speed;
4
    if (nubert_angle != nubert_angle_goal)
5
        _speed *= 0.5;
6
    ns[nr] = [nubert_x, nubert_y, nubert_angle, _speed];
7
    aaa[nr] = [nubert_x + lengthdir_x(16, nubert_angle - 90), nubert_y + lengthdir_y(16, nubert_angle - 90), nubert_x + lengthdir_x(16, nubert_angle + 90), nubert_y + lengthdir_y(16, nubert_angle + 90)];
8
    bbb[nr] = [nubert_x + lengthdir_x(18, nubert_angle - 90), nubert_y + lengthdir_y(18, nubert_angle - 90), nubert_x + lengthdir_x(18, nubert_angle + 90), nubert_y + lengthdir_y(18, nubert_angle + 90)];
9
    if (nubert_angle_goal < 90)
10
    {
11
        if ((ns[nr][0] + lengthdir_x(ns[nr][3], ns[nr][2])) > (
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; } }
(4) + 75))
12
            nubert_angle_goal = (90 - ns[nr][2]) + 90;
13
    }
14
    if (nubert_angle_goal >= 90)
15
    {
16
        if ((ns[nr][0] + lengthdir_x(ns[nr][3], ns[nr][2])) < (
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; } }
(4) - 75))
17
            nubert_angle_goal = 90 - (ns[nr][2] - 90);
18
    }
19
    nubert_angle = 
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; }
(nubert_angle, nubert_angle_goal, 30);
20
    if (nubert_angle > ns[nr][2])
21
    {
22
        nubert_x = ns[nr][0] + lengthdir_x(ns[nr][3], ns[nr][2]) + lengthdir_x(16, ns[nr][2] + 90) + lengthdir_x(16, nubert_angle - 90);
23
        nubert_y = ns[nr][1] + lengthdir_y(ns[nr][3], ns[nr][2]) + lengthdir_y(16, ns[nr][2] + 90) + lengthdir_y(16, nubert_angle - 90);
24
    }
25
    else if (nubert_angle < ns[nr][2])
26
    {
27
        nubert_x = ns[nr][0] + lengthdir_x(ns[nr][3], ns[nr][2]) + lengthdir_x(16, ns[nr][2] - 90) + lengthdir_x(16, nubert_angle + 90);
28
        nubert_y = ns[nr][1] + lengthdir_y(ns[nr][3], ns[nr][2]) + lengthdir_y(16, ns[nr][2] - 90) + lengthdir_y(16, nubert_angle + 90);
29
    }
30
    nubert_x = ns[nr][0] + lengthdir_x(ns[nr][3], ns[nr][2]);
31
    nubert_y = ns[nr][1] + lengthdir_y(ns[nr][3], ns[nr][2]);
32
    if (ns[nr][1] < (
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; } }
(5) - 155) || nubert_speed < 1)
33
    {
34
        nubert_done = true;
35
        alarm[0]
 = 4;
gml_Object_obj_bullet_super_nubert2_Alarm_0.gml

nubert_reverse = true;
36
        exit;
37
    }
38
    nr++;
39
}
40
if (nubert_reverse)
41
{
42
    nr--;
43
    if (nr == 0)
44
        instance_destroy();
45
}