Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_ghosthouse_jackolantern_merciful_Other_21

(view raw script w/o annotations or w/e)
1
var closest_dist = 0;
2
var closest_dist2 = 0;
3
var min_dist = 40;
4
var storex = targ_x;
5
var storey = targ_y;
6
var backupx = last_tx;
7
var backupy = last_ty;
8
var walled = false;
9
if (end_con >= 2)
10
{
11
    x = targ_x;
12
    y = targ_y;
13
    debug_print("forcing exit");
14
    exit;
15
}
16
if (mercy >= battle_end)
17
{
18
    end_con = 2;
19
    debug_print("targeting heart");
20
    targ_x = obj_heart.x + 4;
21
    targ_y = obj_heart.y + 4;
22
}
23
else if (x < (obj_growtangle.x - 200) || x > (obj_growtangle.x + 200) || y < (obj_growtangle.y - 160) || y > (obj_growtangle.y + 160))
24
{
25
    var horz = choose(0, 1);
26
    if (horz)
27
    {
28
        y = obj_growtangle.y + choose(-80, 0, 80);
29
        targ_y = y;
30
        if (choose(0, 1))
31
        {
32
            x = obj_growtangle.x + 200;
33
            targ_x = obj_growtangle.x - 200;
34
        }
35
        else
36
        {
37
            x = obj_growtangle.x - 200;
38
            targ_x = obj_growtangle.x + 200;
39
        }
40
    }
41
    else
42
    {
43
        x = obj_growtangle.x + choose(-100, 0, 100);
44
        targ_x = x;
45
        if (choose(0, 1))
46
        {
47
            y = obj_growtangle.y + 160;
48
            targ_y = obj_growtangle.y - 160;
49
        }
50
        else
51
        {
52
            y = obj_growtangle.y - 160;
53
            targ_y = obj_growtangle.y + 160;
54
        }
55
    }
56
    debug_print("teleport");
57
}
58
else
59
{
60
    var dir = point_direction(obj_heart.x + 4, obj_heart.y + 4, x, y);
61
    dir += ((random(1) * 60) - 30);
62
    targ_x = x + lengthdir_x(100, dir);
63
    targ_y = y + lengthdir_y(100, dir);
64
    debug_print("flee");
65
}
66
last_tx = storex;
67
last_ty = storey;